commit bce7f793daec3e65ec5c5705d2457b81fe7b5725 Author: Linus Torvalds Date: Sun Jul 13 14:51:29 2008 -0700 Linux 2.6.26 commit ec229e830060091b9be63c8f873c1b2407a82821 Author: Li Zefan Date: Sun Jul 13 12:14:04 2008 -0700 devcgroup: fix permission check when adding entry to child cgroup # cat devices.list c 1:3 r # echo 'c 1:3 w' > sub/devices.allow # cat sub/devices.list c 1:3 w As illustrated, the parent group has no write permission to /dev/null, so it's child should not be allowed to add this write permission. Signed-off-by: Li Zefan Acked-by: Serge Hallyn Cc: Serge Hallyn Cc: Paul Menage Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d213f806dad629e9af36fc45f082b87ed7bceb Author: Li Zefan Date: Sun Jul 13 12:14:02 2008 -0700 devcgroup: always show positive major/minor num # echo "b $((0x7fffffff)):$((0x80000000)) rwm" > devices.allow # cat devices.list b 214748364:-21474836 rwm though a major/minor number of 0x800000000 is meaningless, we should not cast it to a negative value. Signed-off-by: Li Zefan Acked-by: Serge Hallyn Cc: Serge Hallyn Cc: Paul Menage Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0302c01b4b793cfbc5c7bf8723f6d14bf9bd7cf4 Author: Jiri Pirko Date: Sun Jul 13 12:13:59 2008 -0700 Documentation/HOWTO: correct wrong kernel bugzilla FAQ URL Signed-off-by: Jiri Pirko Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b5c6b834984b09b7b7fba6a97d3a2878a4a8e42 Merge: 9df2fe9... 3e84050... Author: Linus Torvalds Date: Sun Jul 13 11:03:59 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: cpusets, hotplug, scheduler: fix scheduler domain breakage commit 3e84050c81ffb4961ef43d20e1fb1d7607167d83 Author: Dmitry Adamushko Date: Sun Jul 13 02:10:29 2008 +0200 cpusets, hotplug, scheduler: fix scheduler domain breakage Commit f18f982ab ("sched: CPU hotplug events must not destroy scheduler domains created by the cpusets") introduced a hotplug-related problem as described below: Upon CPU_DOWN_PREPARE, update_sched_domains() -> detach_destroy_domains(&cpu_online_map) does the following: /* * Force a reinitialization of the sched domains hierarchy. The domains * and groups cannot be updated in place without racing with the balancing * code, so we temporarily attach all running cpus to the NULL domain * which will prevent rebalancing while the sched domains are recalculated. */ The sched-domains should be rebuilt when a CPU_DOWN ops. has been completed, effectively either upon CPU_DEAD{_FROZEN} (upon success) or CPU_DOWN_FAILED{_FROZEN} (upon failure -- restore the things to their initial state). That's what update_sched_domains() also does but only for !CPUSETS case. With f18f982ab, sched-domains' reinitialization is delegated to CPUSETS code: cpuset_handle_cpuhp() -> common_cpu_mem_hotplug_unplug() -> rebuild_sched_domains() Being called for CPU_UP_PREPARE and if its callback is called after update_sched_domains()), it just negates all the work done by update_sched_domains() -- i.e. a soon-to-be-offline cpu is included in the sched-domains and that makes it visible for the load-balancer while the CPU_DOWN ops. is in progress. __migrate_live_tasks() moves the tasks off a 'dead' cpu (it's already "offline" when this function is called). try_to_wake_up() is called for one of these tasks from another CPU -> the load-balancer (wake_idle()) picks up a "dead" CPU and places the task on it. Then e.g. BUG_ON(rq->nr_running) detects this a bit later -> oops. Signed-off-by: Dmitry Adamushko Tested-by: Vegard Nossum Cc: Paul Menage Cc: Max Krasnyansky Cc: Paul Jackson Cc: Peter Zijlstra Cc: miaox@cn.fujitsu.com Cc: rostedt@goodmis.org Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit 9df2fe986770bc4c76e8fe72c20b71268eec39a7 Merge: de72aa4... 5ac37f8... Author: Linus Torvalds Date: Sat Jul 12 14:34:31 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix ldt limit for 64 bit commit de72aa4c2b82a6cffe15d86a8d391ded4fb57602 Merge: 536abdb... 8df5fc0... Author: Linus Torvalds Date: Sat Jul 12 14:34:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] bsg: fix oops on remove [SCSI] fusion: default MSI to disabled for SPI and FC controllers [SCSI] ipr: Fix HDIO_GET_IDENTITY oops for SATA devices [SCSI] mptspi: fix oops in mptspi_dv_renegotiate_work() [SCSI] erase invalid data returned by device commit 536abdb0802f3fac1b217530741853843d63c281 Author: Jeff Layton Date: Sat Jul 12 13:48:00 2008 -0700 cifs: fix wksidarr declaration to be big-endian friendly The current definition of wksidarr works fine on little endian arches (since cpu_to_le32 is a no-op there), but on big-endian arches, it fails to compile with this error: error: braced-group within expression allowed only inside a function The problem is that this static declaration has cpu_to_le32 embedded within it, and that expands into a function macro. We need to use __constant_cpu_to_le32() instead. Signed-off-by: Jeff Layton Cc: Steven French Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e911d0cc877ff027d5bd09fc33148ab76f0fdf0e Author: Jeff Layton Date: Sat Jul 12 13:47:59 2008 -0700 cifs: fix inode leak in cifs_get_inode_info_unix Try this: mount a share with unix extensions create a file on it umount the share You'll get the following message in the ring buffer: VFS: Busy inodes after unmount of cifs. Self-destruct in 5 seconds. Have a nice day... ...the problem is that cifs_get_inode_info_unix is creating and hashing a new inode even when it's going to return error anyway. The first lookup when creating a file returns an error so we end up leaking this inode before we do the actual create. This appears to be a regression caused by commit 0e4bbde94fdc33f5b3d793166b21bf768ca3e098. The following patch seems to fix it for me, and fixes a minor formatting nit as well. Signed-off-by: Jeff Layton Acked-by: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3297a644a0ab784e0c810ceca6bf35a67868ad9 Author: David Howells Date: Sat Jul 12 13:47:58 2008 -0700 frv: fix irqs_disabled() to return an int, not an unsigned long Fix FRV irqs_disabled() to return an int, not an unsigned long to avoid this warning: kernel/sched.c: In function '__might_sleep': kernel/sched.c:8198: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1a5d1979702cc57b9b80f636426ec7ad1655cad Author: Robert Richter Date: Sat Jul 12 13:47:57 2008 -0700 OProfile kernel maintainership changes Cc: Philippe Elie Cc: John Levon Cc: Maynard Johnson Cc: Richard Purdie Cc: Daniel Hansel Cc: Jason Yeh Cc: Andrew Morton Signed-off-by: Robert Richter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ea9212cbd65db749543ec619e32fdff9a8b3408 Author: Jon Smirl Date: Sat Jul 12 13:47:56 2008 -0700 rtc-pcf8563: add chip id Add the rtc8564 chip entry Signed-off-by: Jon Smirl Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 876550aa3e5f6448a1abae3704cbebcc50545998 Author: Alessandro Zummo Date: Sat Jul 12 13:47:55 2008 -0700 rtc-fm3130: fix chip naming Fix chip naming from fm3031-rtc to fm3031 Signed-off-by: Alessandro Zummo Cc: Sergey Lapin Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bca5c2c550f16d2dc2d21ffb7b4712bd0a7d32a9 Author: Andres Salomon Date: Sat Jul 12 13:47:54 2008 -0700 ov7670: clean up ov7670_read semantics Cortland Setlow pointed out a bug in ov7670.c where the result from ov7670_read() was just being checked for !0, rather than <0. This made me realize that ov7670_read's semantics were rather confusing; it both fills in 'value' with the result, and returns it. This is goes against general kernel convention; so rather than fixing callers, let's fix the function. This makes ov7670_read return <0 in the case of an error, and 0 upon success. Thus, code like: res = ov7670_read(...); if (!res) goto error; ..will work properly. Signed-off-by: Cortland Setlow Signed-off-by: Andres Salomon Acked-by: Jonathan Corbet Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05d81d2222beec7b63ac8c1c8cdb5bb4f82c2bad Author: Eric W. Biederman Date: Sat Jul 12 13:47:53 2008 -0700 serial8250: sanity check nr_uarts on all paths. I had 8250.nr_uarts=16 in the boot line of a test kernel and I had a weird mysterious crash in sysfs. After taking an in-depth look I realized that CONFIG_SERIAL_8250_NR_UARTS was set to 4 and I was walking off the end of the serial8250_ports array. Ouch!!! Don't let this happen to someone else. Signed-off-by: Eric W. Biederman Acked-by: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f31ad92f34913043cf008d6e479e92dfbaf02df1 Author: Jaya Kumar Date: Sat Jul 12 13:47:51 2008 -0700 fbdev: bugfix for multiprocess defio This patch is a bugfix for how defio handles multiple processes manipulating the same framebuffer. Thanks to Bernard Blackham for identifying this bug. It occurs when two applications mmap the same framebuffer and concurrently write to the same page. Normally, this doesn't occur since only a single process mmaps the framebuffer. The symptom of the bug is that the mapping applications will hang. The cause is that defio incorrectly tries to add the same page twice to the pagelist. The solution I have is to walk the pagelist and check for a duplicate before adding. Since I needed to walk the pagelist, I now also keep the pagelist in sorted order. Signed-off-by: Jaya Kumar Cc: Bernard Blackham Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fc89e3911aa5357b55b85b60c4beaeb8a48a290 Author: Darren Jenkins Date: Sat Jul 12 13:47:50 2008 -0700 drivers/isdn/i4l/isdn_common.c fix small resource leak Coverity CID: 1356 RESOURCE_LEAK I found a very old patch for this that was Acked but did not get applied https://lists.linux-foundation.org/pipermail/kernel-janitors/2006-September/016362.html There looks to be a small leak in isdn_writebuf_stub() in isdn_common.c, when copy_from_user() returns an un-copied data length (length != 0). The below patch should be a minimally invasive fix. Signed-off-by: Darren Jenkins Acked-by: Karsten Keil Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43f77e91eadbc290eb76a08110a039c809dde6c9 Author: Darren Jenkins Date: Sat Jul 12 13:47:49 2008 -0700 drivers/char/pcmcia/ipwireless/hardware.c fix resource leak Coverity CID: 2172 RESOURCE_LEAK When pool_allocate() tries to enlarge a packet, if it can not allocate enough memory, it returns NULL without first freeing the old packet. This patch just frees the packet first. Signed-off-by: Darren Jenkins Acked-by: Jiri Kosina Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8df5fc042c8e7c08dc438c8198b62407ee1e91a0 Author: James Bottomley Date: Mon Jul 7 15:50:01 2008 -0500 [SCSI] bsg: fix oops on remove If you do a modremove of any sas driver, you run into an oops on shutdown when the host is removed (coming from the host bsg device). The root cause seems to be that there's a use after free of the bsg_class_device: In bsg_kref_release_function, this is used (to do a put_device(bcg->parent) after bcg->release has been called. In sas (and possibly many other things) bcd->release frees the queue which contains the bsg_class_device, so we get a put_device on unreferenced memory. Fix this by taking a copy of the pointer to the parent before releasing bsg. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 27898988174bb211fd962ea73b9c6dc09f888705 Author: James Bottomley Date: Thu Jul 10 22:10:55 2008 -0500 [SCSI] fusion: default MSI to disabled for SPI and FC controllers There's a fault on the FC controllers that makes them not respond correctly to MSI. The SPI controllers are fine, but are likely to be onboard on older motherboards which don't handle MSI correctly, so default both these cases to disabled. Enable by setting the module parameter mpt_msi_enable=1. For the SAS case, enable MSI by default, but it can be disabled by setting the module parameter mpt_msi_enable=0. Cc: "Prakash, Sathya" Signed-off-by: James Bottomley commit 5ac37f87ff18843aabab84cf75b2f8504c2d81fe Author: Michael Karcher Date: Fri Jul 11 18:04:46 2008 +0200 x86: fix ldt limit for 64 bit Fix size of LDT entries. On x86-64, ldt_desc is a double-sized descriptor. Signed-off-by: Michael Karcher Signed-off-by: Ingo Molnar commit a26929fb489188ff959b1715ee67f0c9f84405b5 Merge: 4d727a7... 3976df9... Author: Linus Torvalds Date: Fri Jul 11 17:00:17 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [PATCH] IPMI: return correct value from ipmi_write commit 3976df9b04c113ab19dc0268e49c6cec6baf28f7 Author: Mark Rustad Date: Thu Jul 10 14:27:11 2008 -0500 [PATCH] IPMI: return correct value from ipmi_write This patch corrects the handling of write operations to the IPMI watchdog to work as intended by returning the number of characters actually processed. Without this patch, an "echo V >/dev/watchdog" enables the watchdog if IPMI is providing the watchdog function. Signed-off-by: Mark Rustad Signed-off-by: Corey Minyard Signed-off-by: Wim Van Sebroeck commit 0ce3a7e5bd305e96c924fab1e3126480c665f017 Author: Brian King Date: Fri Jul 11 13:37:50 2008 -0500 [SCSI] ipr: Fix HDIO_GET_IDENTITY oops for SATA devices Currently, ipr does not support HDIO_GET_IDENTITY to SATA devices. An oops occurs if userspace attempts to send the command. Since hald issues the command, ensure we fail the ioctl in ipr. This is a temporary solution to the oops. Once the ipr libata EH conversion is upstream, ipr will fully support HDIO_GET_IDENTITY. Tested-by: Milton Miller Signed-off-by: Brian King Signed-off-by: James Bottomley commit 4d727a781f6c9ab8b446d6596ed2dcd6ce80bb47 Merge: 49641f1... 3c1e389... Author: Linus Torvalds Date: Fri Jul 11 11:37:55 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata-acpi: don't call sleeping function from invalid context Added Targa Visionary 1000 IDE adapter to pata_sis.c libata-acpi: filter out DIPM enable commit 49641f1acfdfd437ed9b0a70b86bf36626c02afe Author: Dave Chinner Date: Fri Jul 11 17:43:55 2008 +1000 Fix reference counting race on log buffers When we release the iclog, we do an atomic_dec_and_lock to determine if we are the last reference and need to trigger update of log headers and writeout. However, in xlog_state_get_iclog_space() we also need to check if we have the last reference count there. If we do, we release the log buffer, otherwise we decrement the reference count. But the compare and decrement in xlog_state_get_iclog_space() is not atomic, so both places can see a reference count of 2 and neither will release the iclog. That leads to a filesystem hang. Close the race by replacing the atomic_read() and atomic_dec() pair with atomic_add_unless() to ensure that they are executed atomically. Signed-off-by: Dave Chinner Reviewed-by: Tim Shimmin Tested-by: Eric Sandeen Signed-off-by: Linus Torvalds commit 3c1e3896344063273715b332b1c0534deb9b286c Author: Zhang Rui Date: Fri Jul 11 09:42:03 2008 -0400 libata-acpi: don't call sleeping function from invalid context The problem is introduced by commit 664d080c41463570b95717b5ad86e79dc1be0877. acpi_evaluate_integer is a sleeping function, and it should not be called with spin_lock_irqsave. https://bugzilla.redhat.com/show_bug.cgi?id=451399 Signed-off-by: Zhang Rui Signed-off-by: Jeff Garzik commit edb804713ffb660ddad5dda5fb8f2addea7ad8c6 Author: Kai Krakow Date: Sun Jul 6 14:22:26 2008 +0200 Added Targa Visionary 1000 IDE adapter to pata_sis.c This enables short 40-wire detection for my laptop thus enabling UDMA/100. Signed-off-by: Jeff Garzik commit b344991ace21896a83694c86d132b8494a29f3be Author: Tejun Heo Date: Sun Jul 6 23:15:03 2008 +0900 libata-acpi: filter out DIPM enable Some BIOSen enable DIPM via _GTF which causes command timeouts under certain configuration. This didn't occur on 2.6.25 because 2.6.25 defaulted to SRST, so _GTF wasn't executed during boot probe, so ahci host reset disabled DIPM and as _GTF wasn't executed after SRST, DIPM wasn't enabled. On 2.6.26, hardreset is used during probe and after probe _GTF is executed enabling DIPM and thus the failures. This patch could theoretically disable DIPM on machines which used to have it enabled on 2.6.25 but AFAIK ahci is currently the only driver which uses SATA ACPI hierarchy (_SDD) and as the host reset would have always disabled DIPM, this shouldn't happen. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 61ca9daa2ca3022dc9cb22bd98e69c1b61e412ad Author: Paul Gortmaker Date: Thu Jul 10 17:30:48 2008 -0700 rtc: fix reported IRQ rate for when HPET is enabled The IRQ rate reported back by the RTC is incorrect when HPET is enabled. Newer hardware that has HPET to emulate the legacy RTC device gets this value wrong since after it sets the rate, it returns before setting the variable used to report the IRQ rate back to users of the device -- so the set rate and the reported rate get out of sync. Signed-off-by: Paul Gortmaker Cc: Ingo Molnar Cc: David Brownell Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac310bb5db057963548e067037d68c9be41d0dd0 Author: Uwe Kleine-König Date: Thu Jul 10 17:30:46 2008 -0700 Fix name of Russell King in various comments This patch was created by git grep -E -l 'Rus(el|s?e)l King' | xargs -r -t perl -p -i -e 's/Rus(el|s?e)l King/Russell King/g' Signed-off-by: Uwe Kleine-König Most-Definitely-Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7de3902edce099e4102c1272ec0ab569c1791f7 Author: Eugene Surovegin Date: Thu Jul 10 17:30:44 2008 -0700 rapidio: fix device reference counting Fix RapidIO device reference counting. Signed-of-by: Eugene Surovegin Cc: Matt Porter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb0e7e11d017beb5f0b1fa25bc51e49e65c46d67 Author: Marcin Obara Date: Thu Jul 10 17:30:42 2008 -0700 tpm: add Intel TPM TIS device HID This patch adds Intel TPM TIS device HID: ICO0102 Signed-off-by: Marcin Obara Acked-by: Marcel Selhorst Acked-by: Rajiv Andrade Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5a5816f7875207cb0a0a7032e39a4686c5e10a4 Merge: bdb2192... e35259a... Author: Linus Torvalds Date: Thu Jul 10 17:58:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) tun: Persistent devices can get stuck in xoff state xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info ipv6: missed namespace context in ipv6_rthdr_rcv netlabel: netlink_unicast calls kfree_skb on error path by itself ipv4: fib_trie: Fix lookup error return tcp: correct kcalloc usage ip: sysctl documentation cleanup Documentation: clarify tcp_{r,w}mem sysctl docs netfilter: nf_nat_snmp_basic: fix a range check in NAT for SNMP netfilter: nf_conntrack_tcp: fix endless loop libertas: fix memory alignment problems on the blackfin zd1211rw: stop beacons on remove_interface rt2x00: Disable synchronization during initialization rc80211_pid: Fix fast_start parameter handling sctp: Add documentation for sctp sysctl variable ipv6: fix race between ipv6_del_addr and DAD timer irda: Fix netlink error path return value irda: New device ID for nsc-ircc irda: via-ircc proper dma freeing sctp: Mark the tsn as received after all allocations finish ... commit e35259a95331ae4a9146cc03ab49aad641cab957 Author: Max Krasnyansky Date: Thu Jul 10 16:59:11 2008 -0700 tun: Persistent devices can get stuck in xoff state The scenario goes like this. App stops reading from tun/tap. TX queue gets full and driver does netif_stop_queue(). App closes fd and TX queue gets flushed as part of the cleanup. Next time the app opens tun/tap and starts reading from it but the xoff state is not cleared. We're stuck. Normally xoff state is cleared when netdev is brought up. But in the case of persistent devices this happens only during initial setup. The fix is trivial. If device is already up when an app opens it we clear xoff state and that gets things moving again. Signed-off-by: Max Krasnyansky Tested-by: Christian Borntraeger Signed-off-by: David S. Miller commit ccf9b3b83d0e56fbf20c00a08b15031ce13204a7 Author: Steffen Klassert Date: Thu Jul 10 16:55:37 2008 -0700 xfrm: Add a XFRM_STATE_AF_UNSPEC flag to xfrm_usersa_info Add a XFRM_STATE_AF_UNSPEC flag to handle the AF_UNSPEC behavior for the selector family. Userspace applications can set this flag to leave the selector family of the xfrm_state unspecified. This can be used to to handle inter family tunnels if the selector is not set from userspace. Signed-off-by: Steffen Klassert Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 0ce28553cc018be5022f51e67c87997f7271534e Author: Denis V. Lunev Date: Thu Jul 10 16:54:50 2008 -0700 ipv6: missed namespace context in ipv6_rthdr_rcv Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit fe785bee05f08d37b34b7399d003b74199274ce4 Author: Denis V. Lunev Date: Thu Jul 10 16:53:39 2008 -0700 netlabel: netlink_unicast calls kfree_skb on error path by itself So, no need to kfree_skb here on the error path. In this case we can simply return. Signed-off-by: Denis V. Lunev Acked-by: Paul Moore Signed-off-by: David S. Miller commit 2e655571c618434c24ac2ca989374fdd84470d6d Author: Ben Hutchings Date: Thu Jul 10 16:52:52 2008 -0700 ipv4: fib_trie: Fix lookup error return In commit a07f5f508a4d9728c8e57d7f66294bf5b254ff7f "[IPV4] fib_trie: style cleanup", the changes to check_leaf() and fn_trie_lookup() were wrong - where fn_trie_lookup() would previously return a negative error value from check_leaf(), it now returns 0. Now fn_trie_lookup() doesn't appear to care about plen, so we can revert check_leaf() to returning the error value. Signed-off-by: Ben Hutchings Tested-by: William Boughton Acked-by: Stephen Heminger Signed-off-by: David S. Miller commit 3d8ea1fd7001f39b5cc0ad2ff51696292ea3cfbf Author: Milton Miller Date: Thu Jul 10 16:51:32 2008 -0700 tcp: correct kcalloc usage kcalloc is supposed to be called with the count as its first argument and the element size as the second. Signed-off-by: Milton Miller Signed-off-by: David S. Miller commit 4edc2f3416438a05b83a677ae7b1a78b3ca22bb9 Author: Stephen Hemminger Date: Thu Jul 10 16:50:26 2008 -0700 ip: sysctl documentation cleanup Reduced version of the spelling cleanup patch. Take out the confusing language in tcp_frto, and organize the undocumented values. Signed-off-by: Stephen Hemminger Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 53025f5efd5a1c14fca75c479b11d97d9dd958a5 Author: J. Bruce Fields Date: Thu Jul 10 16:47:41 2008 -0700 Documentation: clarify tcp_{r,w}mem sysctl docs Fix some of the defaults and attempt to clarify some language. Signed-off-by: J. Bruce Fields Signed-off-by: David S. Miller commit bdb21928512a860a60e6a24a849dc5b63cbaf96a Author: Dmitry Adamushko Date: Thu Jul 10 22:21:58 2008 +0200 slub: Fix use-after-preempt of per-CPU data structure Vegard Nossum reported a crash in kmem_cache_alloc(): BUG: unable to handle kernel paging request at da87d000 IP: [] kmem_cache_alloc+0xc7/0xe0 *pde = 28180163 *pte = 1a87d160 Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC Pid: 3850, comm: grep Not tainted (2.6.26-rc9-00059-gb190333 #5) EIP: 0060:[] EFLAGS: 00210203 CPU: 0 EIP is at kmem_cache_alloc+0xc7/0xe0 EAX: 00000000 EBX: da87c100 ECX: 1adad71a EDX: 6b6b6b6b ESI: 00200282 EDI: da87d000 EBP: f60bfe74 ESP: f60bfe54 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 and analyzed it: "The register %ecx looks innocent but is very important here. The disassembly: mov %edx,%ecx shr $0x2,%ecx rep stos %eax,%es:(%edi) <-- the fault So %ecx has been loaded from %edx... which is 0x6b6b6b6b/POISON_FREE. (0x6b6b6b6b >> 2 == 0x1adadada.) %ecx is the counter for the memset, from here: memset(object, 0, c->objsize); i.e. %ecx was loaded from c->objsize, so "c" must have been freed. Where did "c" come from? Uh-oh... c = get_cpu_slab(s, smp_processor_id()); This looks like it has very much to do with CPU hotplug/unplug. Is there a race between SLUB/hotplug since the CPU slab is used after it has been freed?" Good analysis. Yeah, it's possible that a caller of kmem_cache_alloc() -> slab_alloc() can be migrated on another CPU right after local_irq_restore() and before memset(). The inital cpu can become offline in the mean time (or a migration is a consequence of the CPU going offline) so its 'kmem_cache_cpu' structure gets freed ( slab_cpuup_callback). At some point of time the caller continues on another CPU having an obsolete pointer... Signed-off-by: Dmitry Adamushko Reported-by: Vegard Nossum Acked-by: Ingo Molnar Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 96a8e13ed44e380fc2bb6c711d74d5ba698c00b2 Author: Hugh Dickins Date: Thu Jul 10 21:19:20 2008 +0100 exec: fix stack excutability without PT_GNU_STACK Kernel Bugzilla #11063 points out that on some architectures (e.g. x86_32) exec'ing an ELF without a PT_GNU_STACK program header should default to an executable stack; but this got broken by the unlimited argv feature because stack vma is now created before the right personality has been established: so breaking old binaries using nested function trampolines. Therefore re-evaluate VM_STACK_FLAGS in setup_arg_pages, where stack vm_flags used to be set, before the mprotect_fixup. Checking through our existing VM_flags, none would have changed since insert_vm_struct: so this seems safer than finding a way through the personality labyrinth. Reported-by: pageexec@freemail.hu Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit f8804d39462dc019ae9d1a6e4d45512e9dfec2bf Merge: a26449d... e988cf1... Author: Linus Torvalds Date: Thu Jul 10 13:11:01 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Fix flags in ocfs2_file_lock commit a26449daa285c858fc68991c1d585b6927702cf5 Merge: 9cc3089... b1e3873... Author: Linus Torvalds Date: Thu Jul 10 12:34:55 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix cpu hotplug, cleanup sched: fix cpu hotplug commit b1e387348a2a70954312b102d0589c3e2ca3dba1 Author: Linus Torvalds Date: Thu Jul 10 11:25:03 2008 -0700 sched: fix cpu hotplug, cleanup Clean up __migrate_task(): to just have separate "done" and "fail" cases, instead of that "out" case with random error behavior. Signed-off-by: Ingo Molnar commit 9cc308920103a743ce9fb2c88481d6d7a676514b Merge: 70ff055... a361ee5... Author: Linus Torvalds Date: Thu Jul 10 11:19:53 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix /dev/mem compatibility under PAT commit 70ff05554f91a1edda1f11684da1dbde09e2feea Author: Nick Piggin Date: Thu Jul 10 17:25:35 2008 +1000 Fix PREEMPT_RCU without HOTPLUG_CPU PREEMPT_RCU without HOTPLUG_CPU is broken. The rcu_online_cpu is called to initially populate rcu_cpu_online_map with all online CPUs when the hotplug event handler is installed, and also to populate the map with CPUs as they come online. The former case is meant to happen with and without HOTPLUG_CPU, but without HOTPLUG_CPU, the rcu_offline_cpu function is no-oped -- while it still gets called, it does not set the rcu CPU map. With a blank RCU CPU map, grace periods get to tick by completely oblivious to active RCU read side critical sections. This results in free-before-grace bugs. Fix is obvious once the problem is known. (Also, change __devinit to __cpuinit so the function gets thrown away on !HOTPLUG_CPU kernels). Signed-off-by: Nick Piggin Reported-and-tested-by: Alexey Dobriyan Acked-by: Ingo Molnar Cc: Paul E. McKenney [ Nick is my personal hero of the day - Linus ] Signed-off-by: Linus Torvalds commit eb6d42ea17329745d7d712d3aa3bb84ec1da9c85 Author: Steven Rostedt Date: Thu Jul 10 12:46:01 2008 -0400 ftrace: Documentation This is the long awaited ftrace.txt. It explains in quite detail how to use ftrace and the various tracers. Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit b10e9ad0f1d0dc62bd444dd6761a6527bfe98959 Author: Daniel Guilak Date: Thu Jul 10 09:39:32 2008 -0700 arch/x86/kernel/.gitignore: Added vmlinux.lds to .gitignore file because it shouldn't be tracked. Signed-off-by: Daniel Guilak Signed-off-by: Linus Torvalds commit 544304b200c3869bc1312bcf941c4cf04d65b56c Author: Daniel Guilak Date: Thu Jul 10 09:38:19 2008 -0700 kernel/kprobes.c: Made kprobe_blacklist static. Signed-off-by: Daniel Guilak Signed-off-by: Linus Torvalds commit 08405b8bd1795145e0f9cb8cb13949281efe9ec2 Merge: 2283af5... 872ac87... Author: Linus Torvalds Date: Thu Jul 10 10:10:02 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: chainiv - Invoke completion function commit 2283af5b0b99565f516eacd756df2b1ddf9f4f85 Merge: 6329d30... 7a1fc53... Author: Linus Torvalds Date: Thu Jul 10 09:49:46 2008 -0700 Merge branch 'for-2.6.26' of git://neil.brown.name/md * 'for-2.6.26' of git://neil.brown.name/md: md: ensure all blocks are uptodate or locked when syncing commit e988cf1cfed4ed80bf40528e655fe18bed6a38b6 Author: Mark Fasheh Date: Thu Jul 10 09:25:39 2008 -0700 ocfs2: Fix flags in ocfs2_file_lock The stack-glue merge changed the way we use flags in dlmglue in that we now use the fs/dlm equivalents. Unfortunately, a merge error left the new flock code only partially updated. This took a while to show up though, because the lock level constants are actually identical between o2dlm and fs/dlm. The *_CONVERT and *_NOQUEUE flags have different values though, which is eventually causing a crash in flags_to_o2dlm(). Signed-off-by: Mark Fasheh commit 872ac8743cb400192a9fce4ba2d3ffd7bb309685 Author: Herbert Xu Date: Thu Jul 10 17:42:36 2008 +0800 crypto: chainiv - Invoke completion function When chainiv postpones requests it never calls their completion functions. This causes symptoms such as memory leaks when IPsec is in use. Signed-off-by: Herbert Xu commit a361ee5cb8011763ece7b4add393e206439db8b3 Author: Venkatesh Pallipadi Date: Thu Jul 10 10:09:59 2008 +0200 x86: fix /dev/mem compatibility under PAT Add ioremap_default(), which gives a sane mapping without worrying about type conflicts. Use it in /dev/mem read in place of ioremap(), as with ioremap(), any mapping of the region (other than UC_MINUS) will cause a conflict and failure of /dev/mem read. Should address the vbetest failure reported at: http://bugzilla.kernel.org/show_bug.cgi?id=11057 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit dc7fab8b3bb388c57c6c4a43ba68c8a32ca25204 Author: Dmitry Adamushko Date: Thu Jul 10 00:32:40 2008 +0200 sched: fix cpu hotplug I think we may have a race between try_to_wake_up() and migrate_live_tasks() -> move_task_off_dead_cpu() when the later one may end up looping endlessly. Interrupts are enabled on other CPUs when migration_call(CPU_DEAD, ...) is called so we may get a race between try_to_wake_up() and migrate_live_tasks() -> move_task_off_dead_cpu(). The former one may push a task out of a dead CPU causing the later one to loop endlessly. Heiko Carstens observed: | That's exactly what explains a dump I got yesterday. Thanks for fixing! :) Signed-off-by: Dmitry Adamushko Cc: miaox@cn.fujitsu.com Cc: Lai Jiangshan Cc: Heiko Carstens Cc: Peter Zijlstra Cc: Avi Kivity Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 7a1fc53c5adb910751a9b212af90302eb4ffb527 Author: Dan Williams Date: Thu Jul 10 04:54:57 2008 -0700 md: ensure all blocks are uptodate or locked when syncing Remove the dubious attempt to prefer 'compute' over 'read'. Not only is it wrong given commit c337869d (md: do not compute parity unless it is on a failed drive), but it can trigger a BUG_ON in handle_parity_checks5(). Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown commit 2ddddb98694af847f70463dbdc69aa491d9f477a Merge: 252815b... 814feef... Author: David S. Miller Date: Wed Jul 9 15:10:09 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 252815b0cfe711001eff0327872209986b36d490 Author: David Howells Date: Wed Jul 9 15:06:45 2008 -0700 netfilter: nf_nat_snmp_basic: fix a range check in NAT for SNMP Fix a range check in netfilter IP NAT for SNMP to always use a big enough size variable that the compiler won't moan about comparing it to ULONG_MAX/8 on a 64-bit platform. Signed-off-by: David Howells Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b69fe0c73c0f5a8dacf8f889db3cc9adee53649 Author: Patrick McHardy Date: Wed Jul 9 15:06:12 2008 -0700 netfilter: nf_conntrack_tcp: fix endless loop When a conntrack entry is destroyed in process context and destruction is interrupted by packet processing and the packet is an attempt to reopen a closed connection, TCP conntrack tries to kill the old entry itself and returns NF_REPEAT to pass the packet through the hook again. This may lead to an endless loop: TCP conntrack repeatedly finds the old entry, but can not kill it itself since destruction is already in progress, but destruction in process context can not complete since TCP conntrack is keeping the CPU busy. Drop the packet in TCP conntrack if we can't kill the connection ourselves to avoid this. Reported by: hemao77@gmail.com [ Kernel bugzilla #11058 ] Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6329d3021bcfa9038621e6e917d98929421d8ec8 Merge: b72e9eb... 5e19cf6... Author: Linus Torvalds Date: Wed Jul 9 14:16:23 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/cxgb3: Fix regression caused by class_device -> device conversion commit 814feefa859a736d29d0700d49debf13904b429f Author: Ihar Hrachyshka Date: Wed Jul 9 09:29:58 2008 +0300 libertas: fix memory alignment problems on the blackfin Fixing unaligned memory access on the blackfin architecture. Signed-off-by: Ihar Hrachyshka Signed-off-by: John W. Linville commit 86229f0c7b4e065f51b5572a8a61801e281740a0 Author: Luis Carlos Cobo Date: Tue Jul 8 16:19:21 2008 +0200 zd1211rw: stop beacons on remove_interface If a mesh or ad-hoc interface is brought up and later it is replaced by managed interface, the managed interface will keep transmitting the beacons that were configured for the former interface. This patch fixes that behaviour. Signed-off-by: John W. Linville commit 1f90916264049a7d9e6106fd60d289c9a775d24f Author: Ivo van Doorn Date: Tue Jul 8 13:45:20 2008 +0200 rt2x00: Disable synchronization during initialization As soon as init_registers() was called, the rt2400/rt2500 would start raising beacondone interrupts. Since this is highly premature since no beacons were provided yet, we should initialize the synchronization register to 0. This will make all drivers initialize it to 0 regardless if they are raising beacondone interrupts or not, since it only makes sense to have it completely disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit adeed48090fc370afa0db8d007748ee72a40b578 Author: Mattias Nissler Date: Mon Jul 7 23:08:19 2008 +0200 rc80211_pid: Fix fast_start parameter handling This removes the fast_start parameter from the rc_pid parameters information and instead uses the parameter macro when initializing the rc_pid state. Since the parameter is only used on initialization, there is no point of making exporting it via debugfs. This also fixes uninitialized memory references to the fast_start and norm_offset parameters detected by the kmemcheck utility. Thanks to Vegard Nossum for reporting the bug. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville commit b72e9ebe7efa5754aa53bbdb0040a2d6eeb34db3 Merge: ba0fc70... 18c6ac3... Author: Linus Torvalds Date: Tue Jul 8 21:48:26 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: [PATCH] ocfs2/dlm: Fixes oops in dlm_new_lockres() commit ba0fc709e197415aadd46b9ec208dc4abaa21edd Author: Vitaly Bordug Date: Wed Jul 9 13:13:38 2008 +1000 powerpc: Add missing reference to coherent_dma_mask There is dma_mask in of_device upon of_platform_device_create() but we don't actually set coherent_dma_mask. This may cause weird behavior of USB subsystem using of_device USB host drivers. Signed-off-by: Vitaly Bordug Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit f1d407efbe59ff1a450f0ec7a486a768acaa2949 Merge: 7683c57... dbb018c... Author: Linus Torvalds Date: Tue Jul 8 18:10:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: tcrypt - Fix memory leak in test_cipher commit 7683c57c489bd17795945f4ae1c1d73e7c7b38e3 Author: Daniel Guilak Date: Tue Jul 8 15:02:06 2008 -0700 kernel/printk.c: Made printk_recursion_bug_msg static. Signed-off-by: Daniel Guilak Acked-by: Josh Triplett Signed-off-by: Linus Torvalds commit 32e8d4948bb0b5f3f0ac5cdb71d0ac8e305b29a5 Author: Vlad Yasevich Date: Tue Jul 8 16:43:29 2008 -0700 sctp: Add documentation for sctp sysctl variable Signed-off-by: Vlad Yasevich Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit b2238566401f01eb796e75750213c7b0fce396b2 Author: Andrey Vagin Date: Tue Jul 8 15:13:31 2008 -0700 ipv6: fix race between ipv6_del_addr and DAD timer Consider the following scenario: ipv6_del_addr(ifp) ipv6_ifa_notify(RTM_DELADDR, ifp) ip6_del_rt(ifp->rt) after returning from the ipv6_ifa_notify and enabling BH-s back, but *before* calling the addrconf_del_timer the ifp->timer fires and: addrconf_dad_timer(ifp) addrconf_dad_completed(ifp) ipv6_ifa_notify(RTM_NEWADDR, ifp) ip6_ins_rt(ifp->rt) then return back to the ipv6_del_addr and: in6_ifa_put(ifp) inet6_ifa_finish_destroy(ifp) dst_release(&ifp->rt->u.dst) After this we have an ifp->rt inserted into fib6 lists, but queued for gc, which in turn can result in oopses in the fib6_run_gc. Maybe some other nasty things, but we caught only the oops in gc so far. The solution is to disarm the ifp->timer before flushing the rt from it. Signed-off-by: Andrey Vagin Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5e19cf663be534c7c15a35a86fa7ddc9f797e4f4 Author: Steve Wise Date: Tue Jul 8 14:40:05 2008 -0700 RDMA/cxgb3: Fix regression caused by class_device -> device conversion The change to iwch_provider.c in commit f4e91eb4 ("IB: convert struct class_device to struct device") undid the fix done in commit 7f049f2f ("RDMA/cxgb3: Hold rtnl_lock() around ethtool get_drvinfo call"). It removed the calls to rtnl_lock() that serialized the iw_cxgb3 ethtool ops calls into the cxgb3 driver. This locking is needed to avoid messing up the internal state of the cxgb3 driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 48948a3e237ff47823d414704aeb8604a4c61ad0 Author: Takashi Iwai Date: Tue Jul 8 18:41:17 2008 +0200 Fix broken fix for fsl-diu-db On 2.6.26-rc9, the commit 05946bce839b4fed5442dbfab77060fb75e051f3 ("fsl_diu_fb: fix build with CONFIG_PM=y, plus fix some warnings") breaks its previous fix f969c5672b16b857e5231ad3c78f08d8ef3305aa ("fsl-diu-db: compile fix") This patch reverts the broken part. Signed-off-by: Takashi Iwai Acked-by: Anton Vorontsov Signed-off-by: Linus Torvalds commit f57e91682d141ea50d8c6d42cdc251b6256a3755 Merge: e914475... 803a906... Author: Linus Torvalds Date: Tue Jul 8 12:40:57 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: SUNRPC: Fix an rpcbind breakage for the case of IPv6 lookups SUNRPC: Fix a double-free in rpcbind NFS: Fix readdir cache invalidation commit e9144754867b9ef431d54ea2a156f78feb196c34 Merge: eb35c21... 14defd9... Author: Linus Torvalds Date: Tue Jul 8 12:40:19 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix 32bit kernels on R4k with 128 byte cache line size [MIPS] Atlas, decstation: Fix section mismatches triggered by defconfigs commit eb35c218d83ec0780d9db869310f2e333f628702 Author: Jeff Mahoney Date: Tue Jul 8 14:37:06 2008 -0400 reiserfs: discard prealloc in reiserfs_delete_inode With the removal of struct file from the xattr code, reiserfs_file_release() isn't used anymore, so the prealloc isn't discarded. This causes hangs later down the line. This patch adds it to reiserfs_delete_inode. In most cases it will be a no-op due to it already having been called, but will avoid hangs with xattrs. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit 803a9067e19714ea7b7da760fe92f0d53bfa6994 Author: Trond Myklebust Date: Tue Jul 1 15:20:55 2008 -0400 SUNRPC: Fix an rpcbind breakage for the case of IPv6 lookups Now that rpcb_next_version has been split into an IPv4 version and an IPv6 version, we Oops when rpcb_call_async attempts to look up the IPv6-specific RPC procedure in rpcb_next_version. Fix the Oops simply by having rpcb_getport_async pass the correct RPC procedure as an argument. Signed-off-by: Trond Myklebust commit 0d3a34b48c87a374b37d7a21a60d257d076484f3 Author: Trond Myklebust Date: Mon Jul 7 12:18:52 2008 -0400 SUNRPC: Fix a double-free in rpcbind It is wrong to be freeing up the rpcbind arguments if the call to rpcb_call_async() fails, since they should already have been freed up by rpcb_map_release(). Signed-off-by: Trond Myklebust commit 2aac05a91971fbd1bf6cbed78b8731eb7454b9b7 Author: Trond Myklebust Date: Mon Jul 7 13:26:10 2008 -0400 NFS: Fix readdir cache invalidation invalidate_inode_pages2_range() takes page offset arguments, not byte ranges. Another thought is that individual pages might perhaps get evicted by VM pressure, in which case we might perhaps want to re-read not only the evicted page, but all subsequent pages too (in case the server returns more/less data per page so that the alignment of the next entry changes). We should therefore remove the condition that we only do this on page->index==0. Signed-off-by: Trond Myklebust commit 14defd90f5281da8a1bf43bc789efbafe5991cd8 Author: Thomas Bogendoerfer Date: Tue Jul 8 14:46:34 2008 +0200 [MIPS] Fix 32bit kernels on R4k with 128 byte cache line size The generated copy_page for R4k CPU with a 128 byte cache line size used Create Dirty Exclusive cache line operations even if only part of the cache line was filled. This change avoids generating cache operations, if only part of the cache line size is copied in one loop. It also increases the maxmimum loop size, because the generated code even fits into the available space for r4k CPUs with 128 byte cache line size. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit b32dfbb9c54393af32761add16e249664193621f Author: Shane McDonald Date: Sat Jul 5 17:19:42 2008 -0600 [MIPS] Atlas, decstation: Fix section mismatches triggered by defconfigs Resolve these mismatches by defining affected functions with the __cpuinit attribute, rather than __init. Signed-off-by: Shane McDonald Signed-off-by: Ralf Baechle commit 90621ed829ac64eb25b4d1214e9a5155e5c67ff2 Merge: 9c0fc4e... be30504... Author: Linus Torvalds Date: Tue Jul 8 11:19:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: it8213: fix return value in it8213_init_one() palm_bk3710: fix IDECLK period calculation ide: add __ide_default_irq() inline helper commit be305042b7a01a1ab03a8adfa95f57bc63e012e1 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 8 19:27:23 2008 +0200 it8213: fix return value in it8213_init_one() Signed-off-by: Bartlomiej Zolnierkiewicz commit ffab6cf44e9058fe75a33aa86386b22e616a8f6f Author: Sergei Shtylyov Date: Tue Jul 8 19:27:22 2008 +0200 palm_bk3710: fix IDECLK period calculation The driver uses completely bogus rounding formula for calculating period from the IDECLK frequency which gives one-off period values (e.g. 11 ns with 100 MHz IDECLK) which in turn can lead to overclocked IDE transfer timings. Actually, rounding is just wrong in this case, so use a mere division for a safe result. While at it, also: - give 'ide_palm_clk' variable a more suitable name; - get rid of the useless 'ideclkp' variable; - drop the LISP stype 'p' postfix from the 'clkp' variable's name. :-) Signed-off-by: Sergei Shtylyov Cc: mcherkashin@ru.mvista.com Signed-off-by: Bartlomiej Zolnierkiewicz commit a861beb1401d65e3f095fee074c13645ab06490e Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 8 19:27:22 2008 +0200 ide: add __ide_default_irq() inline helper Add __ide_default_irq() inline helper and use it instead of ide_default_irq() in ide-probe.c and ns87415.c (all host drivers except IDE PCI ones always setup hwif->irq so it is enough to check only for I/O bases 0x1f0 and 0x170). This fixes post-2.6.25 regression since ide_default_irq() define could shadow ide_default_irq() inline. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9c0fc4e28b57c5a6da7b58d60f71476c64d457a6 Merge: 86df864... 138c902... Author: Linus Torvalds Date: Tue Jul 8 09:29:34 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] protect _PAGE_SPECIAL bit against mprotect commit 86df86424939d316b1f6cfac1b6204f0c7dee317 Author: David Gibson Date: Tue Jul 8 15:58:16 2008 +1000 Correct hash flushing from huge_ptep_set_wrprotect() As Andy Whitcroft recently pointed out, the current powerpc version of huge_ptep_set_wrprotect() has a bug. It just calls ptep_set_wrprotect() which in turn calls pte_update() then hpte_need_flush() with the 'huge' argument set to 0. This will cause hpte_need_flush() to flush the wrong hash entries (of any). Andy's fix for this is already in the powerpc tree as commit 016b33c4958681c24056abed8ec95844a0da80a3. I have confirmed this is a real bug, not masked by some other synchronization, with a new testcase for libhugetlbfs. A process write a (MAP_PRIVATE) hugepage mapping, fork(), then alter the mapping and have the child incorrectly see the second write. Therefore, this should be fixed for 2.6.26, and for the stable tree. Here is a suitable patch for 2.6.26, which I think will also be suitable for the stable tree (neither of the headers in question has been changed much recently). It is cut down slighlty from Andy's original version, in that it does not include a 32-bit version of huge_ptep_set_wrprotect(). Currently, hugepages are not supported on any 32-bit powerpc platform. When they are, a suitable 32-bit version can be added - the only 32-bit hardware which supports hugepages does not use the conventional hashtable MMU and so will have different needs anyway. Signed-off-by: Andy Whitcroft Signed-off-by: David Gibson Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 081a5bcb39b455405d58f79bb3c9398a9d4477ed Author: James Bottomley Date: Mon Jul 7 11:24:06 2008 -0500 [SCSI] mptspi: fix oops in mptspi_dv_renegotiate_work() The problem here is that if the ioc faults too early in the bring up sequence (as it usually does for an irq routing problem), ioc_reset gets called before the scsi host is even allocated. This causes an oops when it later schedules a renegotiation. Fix this by checking ioc->sh before trying to renegotiate. Cc: "Moore, Eric" Cc: Stable Tree Signed-off-by: James Bottomley commit 07035fc1bbf931a06e47583cddd2cea2907ac0db Author: Julius Volz Date: Tue Jul 8 03:07:43 2008 -0700 irda: Fix netlink error path return value Fix an incorrect return value check of genlmsg_put() in irda_nl_get_mode(). genlmsg_put() does not use ERR_PTR() to encode return values, it just returns NULL on error. Signed-off-by: Julius Volz Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 02307080622da0312f2ede0f9c0ac779a1cc4f9a Author: Ville Syrjala Date: Tue Jul 8 03:07:16 2008 -0700 irda: New device ID for nsc-ircc HP OmniBook 500's DSDT code changes the HID of the FIR device from NSC6001 to HWPC224 when run under an "NT" operating system. Add the new ID to the pnp device id table. Signed-off-by: Ville Syrjala Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 568b4933a9902aed0f51e2e1bea3da157fb18833 Author: Wang Chen Date: Tue Jul 8 03:06:46 2008 -0700 irda: via-ircc proper dma freeing 1. dma should be freed when dma2 request fail. 2. dma2 should be freed too when device close. Signed-off-by: Wang Chen Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 138c9021ca68d6f8a6fac3418995fee102a3cc22 Author: Nick Piggin Date: Tue Jul 8 11:31:06 2008 +0200 [S390] protect _PAGE_SPECIAL bit against mprotect Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which caused oops thereafter when vm_normal_page thought X's abnormal was normal. Debugged-by: Ryan Hope Debugged-by: Zan Lynx Acked-by: Hugh Dickins Signed-off-by: Nick Piggin Signed-off-by: Martin Schwidefsky commit 3888e9efc9bf05e60504d2a420be7a527ff43678 Author: Vlad Yasevich Date: Tue Jul 8 02:28:39 2008 -0700 sctp: Mark the tsn as received after all allocations finish If we don't have the buffer space or memory allocations fail, the data chunk is dropped, but TSN is still reported as received. This introduced a data loss that can't be recovered. We should only mark TSNs are received after memory allocations finish. The one exception is the invalid stream identifier, but that's due to user error and is reported back to the user. This was noticed by Michael Tuexen. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit dbb018cd8a0fd073eaabf9de5a93f62d98bd7723 Author: Darren Jenkins Date: Tue Jul 8 15:51:44 2008 +0800 crypto: tcrypt - Fix memory leak in test_cipher Coverity CID: 2306 & 2307 RESOURCE_LEAK In the second for loop in test_cipher(), data is allocated space with kzalloc() and is only ever freed in an error case. Looking at this loop, data is written to this memory but nothing seems to read from it. So here is a patch removing the allocation, I think this is the right fix. Only compile tested. Signed-off-by: Darren Jenkins Signed-off-by: Herbert Xu commit 7b51ba38d9baca207152d1c97ec793cfb673a6cd Merge: 4f81c53... 739db07... Author: Linus Torvalds Date: Mon Jul 7 16:59:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: Revert "PCI: Correct last two HP entries in the bfsort whitelist" commit 6e43829bb69bf1d584a592075f1357590eb49b1a Author: Vladimir Koutny Date: Mon Jul 7 14:23:01 2008 +0200 mac80211: don't report selected IBSS when not found Don't report a 'selected' IBSS in sta_find_ibss when none was found. Signed-off-by: Vladimir Koutny Signed-off-by: John W. Linville commit 9e095a687b3561972272063260e14ab1bc21de08 Author: Michael Buesch Date: Fri Jul 4 23:44:37 2008 +0200 ssb-pcicore: Fix IRQ-vector init on embedded devices On embedded devices we must not route the interrupts through the PCI core, if our host-bus is not PCI. Reported-by: Steve Brown Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9dfd55008e3863dcd93219c74bf05b09e5c549e2 Author: Firat Birlik Date: Fri Jul 4 04:31:50 2008 +0100 zd1211rw: add ID for AirTies WUS-201 I would like to inform you of our zd1211 based usb wifi adapter (AirTies WUS-201), which works with the zd1211rw driver with the following device id definition. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ea0c925370b33baf168bb33782c613468c1aa119 Author: Ivo van Doorn Date: Thu Jul 3 19:02:44 2008 +0200 mac80211: Only flush workqueue when last interface was removed Currently the ieee80211_hw->workqueue is flushed each time an interface is being removed. However most scheduled work is not interface specific but device specific, for example things like periodic work for link tuners. This patch will move the flush_workqueue() call to directly behind the call to ops->stop() to make sure the workqueue is only flushed when all interfaces are gone and there really shouldn't be any scheduled work in the drivers left. Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8db9369ff92b1cd93566baadd8bd2992f025fdd0 Author: Guy Cohen Date: Thu Jul 3 19:56:13 2008 +0300 mac80211: move netif_carrier_on to after ieee80211_bss_info_change_notify Putting netif_carrier_on before configuring the driver/device with the new association state may cause a race (tx frames may be sent before configuration is done) Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0ff1cca0e272045b9c11a2ff94bd3e6893c9308c Author: Darren Jenkins Date: Thu Jul 3 09:41:38 2008 +1000 drivers/net/wireless/iwlwifi/iwl-3945.c Fix type issue on 64bit Coverity CID: 2265 NEGATIVE_RETURNS "rate" is of an unsigned type, and the code requires a signed type. The following patch makes it so. Signed-off-by: Darren Jenkins Signed-off-by: John W. Linville commit fcee7a01ad7516eeb8dfdd0a17ef04cd2ee30757 Author: John W. Linville Date: Wed Jul 2 11:04:24 2008 -0400 hostap_cs: correct poor NULL checks in suspend/resume routines This corrects this kernel.org bug: http://bugzilla.kernel.org/show_bug.cgi?id=9701 Signed-off-by: John W. Linville commit 739db07f82767e7634176d18af2acbe77b11fd42 Author: Jesse Barnes Date: Mon Jul 7 09:55:26 2008 -0700 Revert "PCI: Correct last two HP entries in the bfsort whitelist" This reverts commit a1676072558854b95336c8f7db76b0504e909a0a. It duplicates the change from 8d64c781f0c5fbfdf8016bd1634506ff2ad1376a and only one should be applied, otherwise some of the Dell quirks are lost. Thanks to Tony Camuso for catching this. Acked-by: Tony Camuso Signed-off-by: Jesse Barnes commit 18c6ac383f3e46cfce08d0bf972705852a4e1268 Author: Sunil Mushran Date: Mon Jul 7 10:06:29 2008 -0700 [PATCH] ocfs2/dlm: Fixes oops in dlm_new_lockres() Patch fixes a race that can result in an oops while adding a lockres to the dlm lockres tracking list. Bug introduced by mainline commit 29576f8bb54045be944ba809d4fca1ad77c94165. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 4f81c5350b44bcc501ab6f8a089b16d064b4d2f6 Author: Jeff Dike Date: Mon Jul 7 13:36:56 2008 -0400 [UML] fix gcc ICEs and unresolved externs There are various constraints on the use of unit-at-a-time: - i386 uses no-unit-at-a-time for pre-4.0 (not 4.3) - x86_64 uses unit-at-a-time always Uli reported a crash on x86_64 with gcc 4.1.2 with unit-at-a-time, resulting in commit c0a18111e571138747a98af18b3a2124df56a0d1 Ingo reported a gcc internal error with gcc 4.3 with no-unit-at-a-timem, resulting in 22eecde2f9034764a3fd095eecfa3adfb8ec9a98 Benny Halevy is seeing extern inlines not resolved with gcc 4.3 with no-unit-at-a-time This patch reintroduces unit-at-a-time for gcc >= 4.0, bringing back the possibility of Uli's crash. If that happens, we'll debug it. I started seeing both the internal compiler errors and unresolved inlines on Fedora 9. This patch fixes both problems, without so far reintroducing the crash reported by Uli. Signed-off-by: Jeff Dike Cc: Benny Halevy Cc: Adrian Bunk Cc: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Linus Torvalds commit b2798bf0ec2cb5a17bfc1430c5ba6d971c436a03 Merge: 3bc5ab9... 7f2d38e... Author: Linus Torvalds Date: Mon Jul 7 09:24:28 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: can: add sanity checks fs_enet: restore promiscuous and multicast settings in restart() ibm_newemac: Fixes entry of short packets ibm_newemac: Fixes kernel crashes when speed of cable connected changes pasemi_mac: Access iph->tot_len with correct endianness ehea: Access iph->tot_len with correct endianness ehea: fix race condition ehea: add MODULE_DEVICE_TABLE ehea: fix might sleep problem forcedeth: fix lockdep warning on ethtool -s Add missing skb->dev assignment in Frame Relay RX code bridge: fix use-after-free in br_cleanup_bridges() tcp: fix a size_t < 0 comparison in tcp_read_sock tcp: net/ipv4/tcp.c needs linux/scatterlist.h libertas: support USB persistence on suspend/resume (resend) iwlwifi: drop skb silently for Tx request in monitor mode iwlwifi: fix incorrect 5GHz rates reported in monitor mode commit 3bc5ab9b7f2760d2892fd0a0589e1077e869d4f5 Author: Benjamin Herrenschmidt Date: Mon Jul 7 16:39:50 2008 +1000 powerpc: Fix unterminated of_device_id array in legacy_serial.c A recent patch to legacy_serial.c factored out some code by using the of_match_node() facility to match a node against an array of possible matches. However, the patch didn't properly terminate the array causing potential crashes in cases where no match is found. In addition, the name of the array was poorly chosen for a static symbol making debugging harder. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2 Author: Linus Torvalds Date: Sun Jul 6 16:43:12 2008 -0700 vsprintf: add support for '%pS' and '%pF' pointer formats They print out a pointer in symbolic format, if possible (ie using symbolic KALLSYMS information). The '%pS' format is for regular direct pointers (which can point to data or code and that you find on the stack during backtraces etc), while '%pF' is for C function pointer types. On most architectures, the two mean exactly the same thing, but some architectures use an indirect pointer for C function pointers, where the function pointer points to a function descriptor (which in turn contains the actual pointer to the code). The '%pF' code automatically does the appropriate function descriptor dereference on such architectures. Signed-off-by: Linus Torvalds commit 4d8a743cdd2690c0bc8d1b8cbd02cffb1ead849f Author: Linus Torvalds Date: Sun Jul 6 16:24:57 2008 -0700 vsprintf: add infrastructure support for extended '%p' specifiers This expands the kernel '%p' handling with an arbitrary alphanumberic specifier extension string immediately following the '%p'. Right now it's just being ignored, but the next commit will start adding some specific pointer type extensions. NOTE! The reason the extension is appended to the '%p' is to allow minimal gcc type checking: gcc will still see the '%p' and will check that the argument passed in is indeed a pointer, and yet will not complain about the extended information that gcc doesn't understand about (on the other hand, it also won't actually check that the pointer type and the extension are compatible). Alphanumeric characters were chosen because there is no sane existing use for a string format with a hex pointer representation immediately followed by alphanumerics (which is what such a format string would have traditionally resulted in). Signed-off-by: Linus Torvalds commit 78a8bf69b32980879975f7e31d30386c50bfe851 Author: Linus Torvalds Date: Sun Jul 6 16:16:15 2008 -0700 vsprintf: split out '%p' handling logic The actual code is the same, just split out into a helper function. This makes it easier to read, and allows for simple future extension of %p handling. Signed-off-by: Linus Torvalds commit 0f9bfa569d46f2346a53a940b2b9e49a38635732 Author: Linus Torvalds Date: Sun Jul 6 16:06:25 2008 -0700 vsprintf: split out '%s' handling logic The actual code is the same, just split out into a helper function. This makes it easier to read, and allows for future sharing of the string code. Signed-off-by: Linus Torvalds commit 1b40a895df6c7d5a80e71f65674060b03d84bbef Merge: 97f8571... 35baff2... Author: Linus Torvalds Date: Sun Jul 6 11:16:23 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: IOAPIC: Fix level-triggered irq injection hang x86: KVM guest: Add memory clobber to hypercalls commit 97f8571e663c808ad2d01a396627235167291556 Author: Philipp Zabel Date: Sun Jul 6 01:15:34 2008 +0200 pxamci: fix byte aligned DMA transfers The pxa27x DMA controller defaults to 64-bit alignment. This caused the SCR reads to fail (and, depending on card type, error out) when card->raw_scr was not aligned on a 8-byte boundary. For performance reasons all scatter-gather addresses passed to pxamci_request should be aligned on 8-byte boundaries, but if this can't be guaranteed, byte aligned DMA transfers in the have to be enabled in the controller to get correct behaviour. Signed-off-by: Philipp Zabel Signed-off-by: Pierre Ossman Signed-off-by: Linus Torvalds commit 09ca8adbe9f724a7e96f512c0039c4c4a1c5dcc0 Author: Linus Torvalds Date: Sun Jul 6 10:27:25 2008 -0700 Revert "USB: don't explicitly reenable root-hub status interrupts" This reverts commit e872154921a6b5256a3c412dd69158ac0b135176. Andrey Borzenkov reports that it resulted in a totally hung machine for him when loading the OHCI driver. Extensive netconsole capture with SysRq output shows that modprobe gets stuck in ohci_hub_status_data() when probing and enabling the OHCI controller, see for example http://lkml.org/lkml/2008/7/5/236 for an analysis. The problem appears to be an interrupt flood triggered by the commit that gets reverted, and Andrey confirmed that the revert makes things work for him again. Reported-and-tested-by: Andrey Borzenkov Acked-by: Alan Stern Acked-by: David Brownell Cc: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit bdb2b8cab4392ce41ddfbd6773a3da3334daf836 Author: Alan Stern Date: Tue Jun 24 14:03:14 2008 -0400 [SCSI] erase invalid data returned by device This patch (as1108) fixes a problem that can occur with certain USB mass-storage devices: They return invalid data together with a residue indicating that the data should be ignored. Rather than leave the invalid data in a transfer buffer, where it can get misinterpreted, the patch clears the invalid portion of the buffer. This solves a problem (wrong write-protect setting detected) reported by Maciej Rutecki and Peter Teoh. Signed-off-by: Alan Stern Tested-by: Peter Teoh Signed-off-by: James Bottomley commit 35baff256d8fe1eec0b8988fcb5cde80df7bfa1a Author: Mark McLoughlin Date: Fri Jul 4 18:23:15 2008 +0100 KVM: IOAPIC: Fix level-triggered irq injection hang The "remote_irr" variable is used to indicate an interrupt which has been received by the LAPIC, but not acked. In our EOI handler, we unset remote_irr and re-inject the interrupt if the interrupt line is still asserted. However, we do not set remote_irr here, leading to a situation where if kvm_ioapic_set_irq() is called, then we go ahead and call ioapic_service(). This means that IRR is re-asserted even though the interrupt is currently in service (i.e. LAPIC IRR is cleared and ISR/TMR set) The issue with this is that when the currently executing interrupt handler finishes and writes LAPIC EOI, then TMR is unset and EOI sent to the IOAPIC. Since IRR is now asserted, but TMR is not, then when the second interrupt is handled, no EOI is sent and if there is any pending interrupt, it is not re-injected. This fixes a hang only seen while running mke2fs -j on an 8Gb virtio disk backed by a fully sparse raw file, with aliguori "avoid fragmented virtio-blk transfers by copying" changes. Signed-off-by: Mark McLoughlin Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ca3739327b89bb4053a62ac41b67b106c1967ab0 Author: Anthony Liguori Date: Thu Jul 3 19:02:36 2008 +0300 x86: KVM guest: Add memory clobber to hypercalls Hypercalls can modify arbitrary regions of memory. Make sure to indicate this in the clobber list. This fixes a hang when using KVM_GUEST kernel built with GCC 4.3.0. This was originally spotted and analyzed by Marcelo. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 7f2d38eb7a42bea1c1df51bbdaa2ca0f0bdda07f Author: Oliver Hartkopp Date: Sat Jul 5 23:38:43 2008 -0700 can: add sanity checks Even though the CAN netlayer only deals with CAN netdevices, the netlayer interface to the userspace and to the device layer should perform some sanity checks. This patch adds several sanity checks that mainly prevent userspace apps to send broken content into the system that may be misinterpreted by some other userspace application. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Acked-by: Andre Naujoks Signed-off-by: David S. Miller commit b7279469d66b55119784b8b9529c99c1955fe747 Author: Linus Torvalds Date: Sat Jul 5 15:53:22 2008 -0700 Linux 2.6.26-rc9 commit 5d7e0d2bd98ef4f5a16ac9da1987ae655368dd6a Author: Andrew Morton Date: Sat Jul 5 01:02:01 2008 -0700 Fix pagemap_read() use of struct mm_walk Fix some issues in pagemap_read noted by Alexey: - initialize pagemap_walk.mm to "mm" , so the code starts working as advertised - initialize ->private to "&pm" so it wouldn't immediately oops in pagemap_pte_hole() - unstatic struct pagemap_walk, so two threads won't fsckup each other (including those started by root, including flipping ->mm when you don't have permissions) - pagemap_read() contains two calls to ptrace_may_attach(), second one looks unneeded. - avoid possible kmalloc(0) and integer wraparound. Cc: Alexey Dobriyan Cc: Matt Mackall Signed-off-by: Andrew Morton [ Personally, I'd just remove the functionality entirely - Linus ] Signed-off-by: Linus Torvalds commit ca31e146d5c2fe51498e619eb3a64782d02e310a Author: Eduard - Gabriel Munteanu Date: Sat Jul 5 12:14:23 2008 +0300 Move _RET_IP_ and _THIS_IP_ to include/linux/kernel.h These two macros are useful beyond lock debugging. Moved definitions from include/linux/debug_locks.h to include/linux/kernel.h, so code that needs them does not have to include the former, which would have been a less intuitive choice of a header. Signed-off-by: Eduard - Gabriel Munteanu Acked-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 84df87b7ebdcbbc0f59df9526f4e63fda70647d3 Merge: 537388b... 3b72532... Author: Linus Torvalds Date: Sat Jul 5 13:09:31 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: print a module list on being stuck commit 537388bb6563bfde7c0307b95ecc1f7a1ae39b02 Merge: 20cbc97... a1716d5... Author: Linus Torvalds Date: Sat Jul 5 13:08:38 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86 ACPI: fix resume from suspend to RAM on uniprocessor x86-64 x86 ACPI: normalize segment descriptor register on resume commit 20cbc972617069c1ed434f62151e4de57d26ea46 Author: Andrew Morton Date: Sat Jul 5 12:29:05 2008 -0700 Fix clear_refs_write() use of struct mm_walk Don't use a static entry, so as to prevent races during concurrent use of this function. Reported-by: Alexey Dobriyan Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbe0825752dc34b505777fd59cde4a6ce832eb16 Merge: d28f87a... 2b54ed9... Author: Linus Torvalds Date: Sat Jul 5 13:06:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: ide_unregister() locking bugfix ide: ide_unregister() warm-plug bugfix ide: fix hwif->gendev refcounting commit d28f87aa87ce8b196349d7c306a7e6fe3abd7155 Author: Tejun Heo Date: Sat Jul 5 13:10:50 2008 +0900 ahci: give another shot at clearing all bits in irq_stat Commit ea0c62f7cf70f13a67830471b613337bd0c9a62e tried to clear all bits in irq_stat but it didn't actually achieve that as irq_stat was anded with port_map right after read. This patch makes ahci driver always use the unmasked value to clear irq_status. While at it, add explanation on the peculiarities of ahci IRQ clearing. This was spotted by Linus Torvalds. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit 2b54ed9467697b0ce2d60d89e5e4253c9e322c26 Author: Bartlomiej Zolnierkiewicz Date: Sat Jul 5 20:30:51 2008 +0200 ide: ide_unregister() locking bugfix Holding ide_lock for ide_release_dma_engine() call is unnecessary and triggers WARN_ON(irqs_disabled()) in dma_free_coherent(). Signed-off-by: Bartlomiej Zolnierkiewicz commit bd8a59e29726b2a5ff7baefe995febdc63044a61 Author: Bartlomiej Zolnierkiewicz Date: Sat Jul 5 20:30:51 2008 +0200 ide: ide_unregister() warm-plug bugfix Fix ide_unregister() to work for ports with no devices attached to them. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cd95f56cb61f5348d062527c9d3653196f6e629 Author: Bartlomiej Zolnierkiewicz Date: Sat Jul 5 20:30:51 2008 +0200 ide: fix hwif->gendev refcounting class->dev_release is called by device_release() iff dev->release is not present so ide_port_class_release() is never called and the last hwif->gendev reference is not dropped. Fix it by removing ide_port_class_release() and get_device() call from ide_register_port() (device_create_drvdata() takes a hwif->gendev reference anyway). This patch fixes hang on wait_for_completion(&hwif->gendev_rel_comp) in ide_unregister() reported by Pavel Machek. Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: Greg KH Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b7253238801a7b97b3929d8db2fa7a0721fb17b Author: Arjan van de Ven Date: Mon Jun 16 15:51:08 2008 -0700 softlockup: print a module list on being stuck Most places in the kernel that go BUG: print a module list (which is very useful for doing statistics and finding patterns), however the softlockup detector does not do this yet. This patch adds the one line change to fix this gap. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit a1716d508abf77e4bd02c275ab9293b9866929f3 Merge: 64e83b5... 4b4f728... Author: Ingo Molnar Date: Sat Jul 5 08:42:45 2008 +0200 Merge branch 'x86/s2ram-fix' into x86/urgent commit 64e83b5a919a65eb35b63dd7e07c188379ff8ce6 Author: Rafael J. Wysocki Date: Sat Jul 5 00:05:30 2008 +0200 x86 ACPI: fix resume from suspend to RAM on uniprocessor x86-64 Since the trampoline code is now used for ACPI resume from suspend to RAM, the trampoline page tables have to be fixed up during boot not only on SMP systems, but also on UP systems that use the trampoline. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=10923 Reported-by: Dionisus Torimens Signed-off-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Andrew Morton Cc: pm list Signed-off-by: Ingo Molnar commit 4b4f7280d7fd1feeff134c2cf2db32fd583b6c29 Author: H. Peter Anvin Date: Tue Jun 24 23:03:48 2008 +0200 x86 ACPI: normalize segment descriptor register on resume Some Dell laptops enter resume with apparent garbage in the segment descriptor registers (almost certainly the result of a botched transition from protected to real mode.) The only way to clean that up is to enter protected mode ourselves and clean out the descriptor registers. This fixes resume on Dell XPS M1210 and Dell D620. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=10927 Signed-off-by: H. Peter Anvin Cc: Andrew Morton Cc: Pavel Machek Cc: pm list Cc: Len Brown Signed-off-by: Ingo Molnar Tested-by: Kirill A. Shutemov Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit d79df630f622806c4d0e116fbaf6ebf6baf53461 Author: David Rientjes Date: Fri Jul 4 12:24:13 2008 -0700 mempolicy: mask off internal flags for userspace API Flags considered internal to the mempolicy kernel code are stored as part of the "flags" member of struct mempolicy. Before exposing a policy type to userspace via get_mempolicy(), these internal flags must be masked. Flags exposed to userspace, however, should still be returned to the user. Signed-off-by: David Rientjes Signed-off-by: Linus Torvalds commit b8a0b6ccf2ba2519ace65d782b41ee91bf3c3778 Merge: bf5b193... d8355ac... Author: Linus Torvalds Date: Fri Jul 4 10:46:46 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: xen: fix address truncation in pte mfn<->pfn conversion arch/x86/mm/init_64.c: early_memtest(): fix types x86: fix Intel Mac booting with EFI commit bf5b1935d8e42b36a34645788eb261461fe07f2e Author: Pierre Ossman Date: Fri Jul 4 12:51:20 2008 +0200 mmc: don't use DMA on newer ENE controllers Even the newer ENE controllers have bugs in their DMA engine that make it too dangerous to use. Disable it until someone has figured out under which conditions it corrupts data. This has caused problems at least once, and can be found as bug report 10925 in the kernel bugzilla. Signed-off-by: Pierre Ossman Signed-off-by: Linus Torvalds commit 46b6d94eb04a718730c73b83db889341aad0515e Author: Paul Jackson Date: Fri Jul 4 10:00:09 2008 -0700 doc: document the relax_domain_level kernel boot argument Document the kernel boot parameter: relax_domain_level=. Signed-off-by: Paul Jackson Cc: Michael Kerrisk Reviewed-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d823f6bfec2844493c05961133895de21fa0e02d Author: Li Zefan Date: Fri Jul 4 10:00:07 2008 -0700 devcgroup: fix odd behaviour when writing 'a' to devices.allow # cat /devcg/devices.list a *:* rwm # echo a > devices.allow # cat /devcg/devices.list a *:* rwm a 0:0 rwm This is odd and maybe confusing. With this patch, writing 'a' to devices.allow will add 'a *:* rwm' to the whitelist. Also a few fixes and updates to the document. Signed-off-by: Li Zefan Cc: Pavel Emelyanov Cc: Serge E. Hallyn Cc: Paul Menage Cc: Balbir Singh Cc: James Morris Cc: Chris Wright Cc: Stephen Smalley Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26ff8c697a2c8f6974c2357d3f01cca91b20c964 Author: Rajiv Andrade Date: Fri Jul 4 10:00:06 2008 -0700 Update MAINTAINERS file for the TPM device driver Acked-By: Debora Velarde Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d5c1be8870383622809c25935fff00d2630c7a5 Author: John Blackwood Date: Fri Jul 4 10:00:05 2008 -0700 mm: switch node meminfo Active & Inactive pages to Kbytes There is a bug in the output of /sys/devices/system/node/node[n]/meminfo where the Active and Inactive values are in pages instead of Kbytes. Looks like this occurred back in 2.6.20 when the code was changed over to use node_page_state(). Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acb7669c125676e63cf96582455509216c39745e Author: Stephen Rothwell Date: Fri Jul 4 10:00:05 2008 -0700 cpumask: introduce new APIs In linux-next there is a commit ("x86: Add performance variants of cpumask operators") which, as part of the 4096 cpu support work adds some new APIs for dealing with cpu masks. Add trivial versions of these now so that subsystems can update in a timely manner and avoid conflicts in linux-next and the next merge window. Cc: Mike Travis Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 603ded16a308d0a7a17738c973e3c8cbcd5db7dd Author: Andres Salomon Date: Fri Jul 4 10:00:04 2008 -0700 olpc: sdhci: add quirk for the Marvell CaFe's interrupt timeout The CaFe chip has a hardware bug that ends up with us getting a timeout value that's too small, causing the following sorts of problems: [ 60.525138] mmcblk0: error -110 transferring data [ 60.531477] end_request: I/O error, dev mmcblk0, sector 1484353 [ 60.533371] Buffer I/O error on device mmcblk0p2, logical block 181632 [ 60.533371] lost page write due to I/O error on mmcblk0p2 Presumably this is an off-by-one error in the hardware. Incrementing the timeout count value that we stuff into the TIMEOUT_CONTROL register gets us a value that works. This bug was originally discovered by Pierre Ossman, I believe. [thanks to Robert Millan for proving that this was still a problem] Signed-off-by: Andres Salomon Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e08c1694d9e2138204f2b79b73f0f159074ce2f5 Author: Andres Salomon Date: Fri Jul 4 10:00:03 2008 -0700 olpc: sdhci: add quirk for the Marvell CaFe's vdd/powerup issue This has been sitting around unloved for way too long.. The Marvell CaFe chip's SD implementation chokes during card insertion if one attempts to set the voltage and power up in the same SDHCI_POWER_CONTROL register write. This adds a quirk that does that particular dance in two steps. It also adds an entry to pci_ids.h for the CaFe chip's SD device. Signed-off-by: Andres Salomon Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 491539982aa01fa71de93c2a06ac5d890d4cf1e2 Author: Mike Miller Date: Fri Jul 4 10:00:02 2008 -0700 cciss: read config to obtain max outstanding commands per controller This patch changes the way we determine the maximum number of outstanding commands for each controller. Most Smart Array controllers can support up to 1024 commands, the notable exceptions are the E200 and E200i. The next generation of controllers which were just added support a mode of operation called Zero Memory Raid (ZMR). In this mode they only support 64 outstanding commands. In Full Function Raid (FFR) mode they support 1024. We have been setting the queue depth by arbitrarily assigning some value for each controller. We needed a better way to set the queue depth to avoid lots of annoying "fifo full" messages. So we made the driver a little smarter. We now read the config table and subtract 4 from the returned value. The -4 is to allow some room for ioctl calls which are not tracked the same way as io commands are tracked. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8deacee4f5a64a79a626479ba5d05e5643467513 Author: Geert Uytterhoeven Date: Fri Jul 4 10:00:01 2008 -0700 MAINTAINERS: update the email address of Andreas Dilger The old one bounces. Signed-off-by: Geert Uytterhoeven Cc: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 985ee7f224cca8a0d622b24ec399f364c63fc274 Author: Paul Jackson Date: Fri Jul 4 10:00:01 2008 -0700 cpusets: document proc status cpus and mems allowed lists Provide a little documentation for the two new fields, Cpus_allowed_list and Mems_allowed_list, that were added to each /proc//status file a while back. Signed-off-by: Paul Jackson Acked-by: Michael Kerrisk Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51597acfd3c09073aeea94a0e6f76a931f8c22d2 Author: Bastian Blank Date: Fri Jul 4 10:00:00 2008 -0700 Alpha Linux kernel fails with inconsistent kallsyms data The build of the Alpha Linux kernel currently fails[1] with inconsistent kallsyms data. As I never saw that before, I thought about hardware problems. But in fact it is a bug in the Linux kernel. The end of the rodata section is marked with the "__end_rodata" symbol. This symbol have different aligning constraints than the inittext parts and therefor the start marked "_sinittext". Because of that the __end_rodata symbol shifts between < _sinittext and == _sinittext. The later variant is seen as a code symbol and recorded in the kallsyms data. On fix would be to move the exception table a little bit and get some space between that two areas. [1]: http://buildd.debian.org/fetch.cgi?pkg=linux-2.6&arch=alpha&ver=2.6.25-5&stamp=1213919009&file=log&as=raw Cc: maximilian attems Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1209726ce942047c9fefe7cd427dc36f8e9ded53 Author: Andrew G. Morgan Date: Fri Jul 4 09:59:59 2008 -0700 security: filesystem capabilities: fix CAP_SETPCAP handling The filesystem capability support meaning for CAP_SETPCAP is less powerful than the non-filesystem capability support. As such, when filesystem capabilities are configured, we should not permit CAP_SETPCAP to 'enhance' the current process through strace manipulation of a child process. Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 086f7316f0d400806d76323beefae996bb3849b1 Author: Andrew G. Morgan Date: Fri Jul 4 09:59:58 2008 -0700 security: filesystem capabilities: fix fragile setuid fixup code This commit includes a bugfix for the fragile setuid fixup code in the case that filesystem capabilities are supported (in access()). The effect of this fix is gated on filesystem capability support because changing securebits is only supported when filesystem capabilities support is configured.) [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abbaeff38c00cb7f6817ec1cef406b27081ebedd Author: Randy Dunlap Date: Fri Jul 4 09:59:57 2008 -0700 doc: doc maintainers Maintain the kernel's Documentation/ tree. This includes tree layout and contents, although not much in terms of new content production. That will usually have to be done by someone familiar with the software, at least in some rough form. Includes review and editorial assistance for people contributing changes to /Documentation. Also includes prodding people for content if something is in need of documentation. Signed-off-by: Randy Dunlap Acked-by: Michael Kerrisk Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b1295b0df28cffd40e6c6d7c4b88dec7af1eb76 Author: Sebastian Siewior Date: Fri Jul 4 09:59:56 2008 -0700 spi: fix the read path in spidev This got broken by the recent "fix rmmod $spi_driver while spidev-user is active". I tested the rmmod & write path but didn't check the read path. I am sorry. The read logic changed and spidev_sync_read() + spidev_sync_write() do not return zero on success anymore but the number of bytes that has been transfered over the bus. This patch changes the logic and copy_to_user() gets called again. The write path returns the number of bytes which are written to the underlying device what may be less than the requested size. This patch makes the same change to the read path or else we request a read of 20 bytes, get 10, don't call copy to user and report to the user that we read 10 bytes. [akpm@linux-foundation.org: remove test of known-to-be-zero local] Signed-off-by: Sebastian Siewior Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bef67c5a7d3a9c45e091e36625c09c0c811e2672 Author: Li Zefan Date: Fri Jul 4 09:59:55 2008 -0700 cgroups: document the effect of attaching PID 0 to a cgroup Document that a pid of zero(0) can be used to refer to the current task when attaching a task to a cgroup, as in the following usage: # echo 0 > /dev/cgroup/tasks This is consistent with existing cpuset behavior. Signed-off-by: Li Zefan Acked-by: Paul Jackson Acked-by: Dhaval Giani Cc: Paul Menage Cc: Balbir Singh Cc: Andrea Righi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e0d13cbb71de2b1baf71ddd3c14f7ba8da810e5 Author: Samuel Ortiz Date: Fri Jul 4 09:59:53 2008 -0700 MFD maintainer We probably need someone to look after the few drivers/mfd patches coming every now and then. As agreed with Andrew, I'm ok to do so and my employer is fine with me spending a few working hours on it, if needed. Ben, Philipp, feel free to add your names there too if you wish. Signed-off-by: Samuel Ortiz Cc: "pHilipp Zabel" Cc: Ian Molton Cc: Ben Dooks Cc: Dmitry Baryshkov Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c8d95f8c9ff83e4e4d8a90523d891427964c79 Author: Philipp Zabel Date: Fri Jul 4 09:59:53 2008 -0700 w100fb: add 80 MHz modeline This is needed for HTC Blueangel (w3200). At 96MHz its screen flickers. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5dd3cbd81aad69bdf773ab63c06fbaabc2b767a Author: Philipp Zabel Date: Fri Jul 4 09:59:52 2008 -0700 w100fb: do not depend on SHARPSL Apart from Sharp SL-Cxx series, there are a few other devices that have ATI Imageon chips, among them HP iPAQ hx4700. Signed-off-by: Philipp Zabel Acked-by: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d1029b56329b1cc9b7233e5333c1a48ddbbfad8 Author: Akinobu Mita Date: Fri Jul 4 09:59:51 2008 -0700 add kernel-doc for simple_read_from_buffer and memory_read_from_buffer Add kernel-doc comments describing simple_read_from_buffer and memory_read_from_buffer. Signed-off-by: Akinobu Mita Cc: Christoph Hellwig Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 337e2ab5d1efca56c6fdd57bffaea7e7899e7283 Author: Jess Guerrero Date: Fri Jul 4 09:59:50 2008 -0700 ntfs: update help text The url in the help text for ntfs should be updated. Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c76a58783d7bb2190872c5431e5ee44da7143fad Author: Michael Kerrisk Date: Fri Jul 4 09:59:49 2008 -0700 man-pages is supported Starting last month, I reached a long-time goal: man-pages finally has a paid, full-time maintainer, thanks to a fellowship from the Linux Foundation. It's still a little unclear how long the LF money will last for the fellowship, but for the foreseeable future, I'll be working on: * Properly documenting every new Linux kernel-userland (and glibc) API, and every API change, that is released into the mainline kernel, ideally before actual release. (That's the ideal, but there's a quite a backlog, so I'm not going to achieve the ideal immediately.) * Testing new APIs, again ideally before they are released into the mainline kernel, and probably doing some light bug fixing while I'm at it (e.g., the recent utimensat() work). * Design review of new APIs, which of course can only usefully be done before they are released into the mainline kernel. * And of course accepting patches and dealing with bug reports for existing man pages. Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93921f5c2ce7427cc30341c86882527d1d1d8770 Author: Stephen Rothwell Date: Fri Jul 4 09:59:48 2008 -0700 Introduce rculist.h In linux-next there is a commit ("rcu: split list.h and move rcu-protected lists into rculist.h") that moved the rcu related list iterators from list.h to rculist.h. Add a trivial version of the file now so that various subsystem trees can start using it now for -next changes and so reduce the build errors caused by adding uses of the moved functions. Cc: Franck Bui-Huu Acked-by: Paul E. McKenney Cc: Josh Triplett Acked-by: Ingo Molnar Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc26361ef0fbcad0406475fc6006fa4f09e60dce Author: David Howells Date: Fri Jul 4 09:59:47 2008 -0700 mn10300: provide __ucmpdi2() for MN10300 Provide __ucmpdi2() for MN10300 so that allmodconfig can be built. Signed-off-by: David Howells Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc7228c0be9007f0e6a32c8a8ae340ea6246056 Author: David Howells Date: Fri Jul 4 09:59:46 2008 -0700 mn10300: export certain arch symbols required to build allmodconfig Export kernel_thread() and empty_zero_page so that allmodconfig can be built for MN10300. Signed-off-by: David Howells Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 292d73551d0aa19526c3417e791c529b49ebadf3 Author: maximilian attems Date: Fri Jul 4 09:59:43 2008 -0700 hdaps: add support for various newer Lenovo thinkpads Adds R61, T61p, X61s, X61, Z61m, Z61p models to whitelist. Fixes this: cullen@lenny:~$ sudo modprobe hdaps FATAL: Error inserting hdaps (/lib/modules/2.6.22-10-generic/kernel/drivers/hwmon/hdaps.ko): No such device [25192.888000] hdaps: supported laptop not found! [25192.888000] hdaps: driver init failed (ret=-19)! Originally based on an Ubuntu patch that got it wrong, the dmidecode output of the corresponding laptops shows LENOVO as the manufacturer. https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/133636 tested on X61s: [ 184.893588] hdaps: inverting axis readings. [ 184.893588] hdaps: LENOVO ThinkPad X61s detected. [ 184.893588] input: hdaps as /class/input/input12 [ 184.924326] hdaps: driver successfully loaded. Cc: Klaus S. Madsen Cc: Chuck Short Cc: Jean Delvare Cc: Tim Gardner Signed-off-by: maximilian attems Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71f77055deeab9708c00717352bec05aa125c713 Author: Pavel Machek Date: Fri Jul 4 09:59:43 2008 -0700 Doc*/kernel-parameters.txt: fix stale references Fix stale references to source files in kernel-parameters.txt. Signed-off-by: Pavel Machek Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abc5f23a32919f3196d3fa22d5216ab192db236b Author: Balbir Singh Date: Fri Jul 4 09:59:42 2008 -0700 delay accounting: maintainer update Update the delay accounting and taskstats maintainer to Balbir Singh. I spoke to Shailabh and he is now busy with other things. Cc: Shailabh Nagar Cc: Shailabh Nagar Signed-off-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77b96bd7e5ee0b44aed1b77fef5949bc19e8301f Author: Stephen M. Cameron Date: Fri Jul 4 09:59:40 2008 -0700 cciss: fix regression that no device nodes are created if no logical drives are configured. Fix regression in cciss driver that if no logical drives are configured, no device nodes at all get created. Signed-off-by: Stephen M. Cameron Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f93f18cd94626108021c4e681f48d2d99bca5b90 Author: Hiroshi Shimamoto Date: Fri Jul 4 09:59:39 2008 -0700 Update taskstats-struct document for scaled time accounting Update Documentation/accounting/taskstats-struct.txt for TASKSTATS_VERSION 6, adding scaled time accounting. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05946bce839b4fed5442dbfab77060fb75e051f3 Author: Anton Vorontsov Date: Fri Jul 4 09:59:38 2008 -0700 fsl_diu_fb: fix build with CONFIG_PM=y, plus fix some warnings This patch fixes following build error when CONFIG_PM is set. CC drivers/video/fsl-diu-fb.o drivers/video/fsl-diu-fb.c: In function 'fsl_diu_suspend': drivers/video/fsl-diu-fb.c:1327: error: 'ofdev' undeclared (first use in this function) drivers/video/fsl-diu-fb.c:1327: error: (Each undeclared identifier is reported only once drivers/video/fsl-diu-fb.c:1327: error: for each function it appears in.) drivers/video/fsl-diu-fb.c: In function 'fsl_diu_resume': drivers/video/fsl-diu-fb.c:1337: error: 'ofdev' undeclared (first use in this function) While I'm at it, also fix this warning: drivers/video/fsl-diu-fb.c: In function 'fsl_diu_alloc': drivers/video/fsl-diu-fb.c:314: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'phys_addr_t' And these section mismatches: ..from the function fsl_diu_remove() to the function .exit.text:uninstall_fb() ..from the function fsl_diu_remove() to the function .exit.text:uninstall_fb() ..from the function install_fb() to the variable .devinit.data:fsl_diu_mode_db ..from the function install_fb() to the variable .devinit.data:fsl_diu_mode_db ..from the function fsl_diu_probe() to the function .exit.text:uninstall_fb() ..from the function fsl_diu_probe() to the function .exit.text:uninstall_fb() Also, some sparse fixes: make two functions static, and use NULL where appropriate. There are still a lot of sparse warnings, mainly wrt absence of __iomem annotations, but some will require ugly __force stuff. I'll leave them for now, since proper fix would be not that trivial as few one-liners below. Signed-off-by: Anton Vorontsov Cc: Timur Tabi Cc: Antonino Daplas Cc: York Sun Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7059d4b08eba2ad046395a04b02e34ca27304d8f Author: David Brownell Date: Fri Jul 4 09:59:37 2008 -0700 gpio: pca953x (i2c) handles max7310 too The pca953x driver can handle another 8-bit I/O expander, the max7310. This patch adds that chip to the list of supported IDs in that driver, and expands the Kconfig helptext accordingly. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da9eac8990dc614ab4756f2a3d84870b675f1f1e Author: Paul Mundt Date: Fri Jul 4 09:59:36 2008 -0700 lib: taint kernel in common report_bug() WARN path. Commit 95b570c9cef3b12356454c7112571b7e406b4b51 ("Taint kernel after WARN_ON(condition)") introduced a TAINT_WARN that was implemented for all architectures using the generic warn_on_slowpath(), which excluded any architecture that set HAVE_ARCH_WARN_ON. As all of the architectures that implement their own WARN_ON() all go through the report_bug() path (specifically handling BUG_TRAP_TYPE_WARN), taint the kernel there as well for consistency. Tested on avr32 and sh. Also relevant for s390, parisc, and powerpc. Signed-off-by: Haavard Skinnemoen Signed-off-by: Paul Mundt Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4a2d7fbec3029c8891a3ad5fceec2992096a3b7 Author: Michael Halcrow Date: Fri Jul 4 09:59:35 2008 -0700 ecryptfs: remove unnecessary mux from ecryptfs_init_ecryptfs_miscdev() The misc_mtx should provide all the protection required to keep the daemon hash table sane during miscdev registration. Since this mutex is causing gratuitous lockdep warnings, this patch removes it. Signed-off-by: Michael Halcrow Reported-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10dd08dc04c881dcc9f7f19e2a3ad8e0778e4db5 Author: Jan Kara Date: Fri Jul 4 09:59:34 2008 -0700 reiserfs: add missing unlock to an error path in reiserfs_quota_write() When write in reiserfs_quota_write() fails, we have to properly release i_mutex. One error path has been missing the unlock... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d04e4fbf8fc9f5136a64d45e2c20de095c08efb Author: Jan Kara Date: Fri Jul 4 09:59:34 2008 -0700 ext4: add missing unlock to an error path in ext4_quota_write() When write in ext4_quota_write() fails, we have to properly release i_mutex. One error path has been missing the unlock... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c8f7dae75e1e6bb3200fc61302e4d5e2df3dc2 Author: Jan Kara Date: Fri Jul 4 09:59:33 2008 -0700 ext3: add missing unlock to error path in ext3_quota_write() When write in ext3_quota_write() fails, we have to properly release i_mutex. One error path has been missing the unlock... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 450c622e9ff19888818d4e2c4d31adb97a5242b2 Author: Miguel Ojeda Date: Fri Jul 4 09:59:33 2008 -0700 Miguel Ojeda has moved Signed-off-by: Miguel Ojeda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66d715c95a39e84cd25204a665915621457d9691 Author: Tejun Heo Date: Fri Jul 4 09:59:32 2008 -0700 pci: VT3336 can't do MSI either It seems VT3336 can't do msi either as with its bro 3351. Disable it. Reported in the following SUSE bug. https://bugzilla.novell.com/show_bug.cgi?id=300001 Signed-off-by: Tejun Heo Acked-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cce3ce89c1abde1298dd0e769ab9c14ea95d7384 Author: Huacai Chen Date: Fri Jul 4 09:59:31 2008 -0700 rtc: fix CMOS time error after writing /proc/acpi/alarm When writing /proc/acpi/alarm in adjust mode, e.g. echo "+0000-00-00 00:00:15" >/proc/acpi/alarm The "century" field should be read and added to "year" field before writing, otherwise the CMOS time will go back to 2000 years ago, e.g. # cat /proc/acpi/alarm 0008-06-21 11:38:46 Then the system time may be reset to the date of manufacture after rebooting. This patch fixed this issue. Signed-off-by: Huacai Chen Acked-by: Pavel Machek Acked-by: Zhao Yakui Acked-by: Alessandro Zummo Acked-by: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471d47e3223311d2638755717f97dc9a298f6dc9 Author: Michael Hamel Date: Fri Jul 4 09:59:30 2008 -0700 rtc-x1205: Fix alarm set I have discovered that the current version of rtc-x1205.c does not work correctly when asked to set the alarm time by the RTC_WKALM_SET ioctl() call. This happens because the alarm registers do not behave like the current-time registers. They are non-volatile. Two things go wrong: - the X1205 requires a 10 msec delay after any attempt to write to the non-volatile registers. The x1205_set_datetime() routine does the write as 8 single-byte writes without any delay. Only the first write succeeds. The second is NAKed because the chip is busy. - the X1205 resets the RWEL bit after any write to the non-volatile registers. This would lock out any further writes after the first even with a 10msec delay. I fix this by doing a single 8-byte write and then waiting 10msec for the chip to be ready. A side effect of this change is that it will speed up x1205_rtc_set_time() which uses the same code. I have also implemented the 'enable' bit in the rtc_wkalm structure, which the existing driver does not attempt to do. I have modified both x1205_rtc_set_alarm() to set the AL0E bit, and x1205_rtc_read_alarm() to return it. I have tested this patch on a LinkSys NSLU2 under OpenWRT, but on no other hardware. On the NSLU2 the X1205 correctly asserts its IRQ pin when the alarm time matches the current time. [akpm@linux-foundation.org: clean up over-parenthesisation] Signed-off-by: Michael Hamel Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a36a752d006f6874049da510297eeb7f09d92a7 Author: Oleg Nesterov Date: Fri Jul 4 09:59:28 2008 -0700 get_user_pages(): fix possible page leak on oom get_user_pages() must not return the error when i != 0. When pages != NULL we have i get_page()'ed pages. Signed-off-by: Oleg Nesterov Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ca796f492a11f9408e661c8f22cd8c4f486b8e5 Author: Guennadi Liakhovetski Date: Fri Jul 4 09:59:28 2008 -0700 serial: fix serial_match_port() for dynamic major tty-device numbers As reported by Vipul Gandhi, the current serial_match_port() doesn't work for tty-devices using dynamic major number allocation. Fix it. It oopses if you suspend a serial port with _dynamic_ major number. ATM, I think, there's only the drivers/serial/jsm/jsm_driver.c driver, that does it in-tree. Signed-off-by: Guennadi Liakhovetski Tested-by: Vipul Gandhi Cc: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69d44a1835ec8163a82c4ee57367f87ae0f85c2e Author: James Bottomley Date: Fri Jul 4 09:59:27 2008 -0700 firmware: fix the request_firmware() dummy > the build (.config attached) failed, make ends with : > ... > UPD include/linux/compile.h > CC init/version.o > LD init/built-in.o > LD vmlinux > drivers/built-in.o: In function `sas_request_addr': > (.text+0x33bab): undefined reference to `request_firmware' > drivers/built-in.o: In function `sas_request_addr': > (.text+0x33c3f): undefined reference to `release_firmware' > make: *** [vmlinux] Error 1 There's a slight fault in the stub logic. It fails for FW_LOADER=m and the user =y. This should fix it. This patch fixes the following 2.6.26-rc regression: http://bugzilla.kernel.org/show_bug.cgi?id=10730 Reviewed-by: Toralf Foerster Signed-off-by: Adrian Bunk Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a01cc6570326c01e70619bf6540fb32139947c33 Author: David Brownell Date: Fri Jul 4 09:59:26 2008 -0700 rtc: rtc_read_alarm() handles wraparound While 0e36a9a4a788e4e92407774df76c545910810d35 ("rtc: fix readback from /sys/class/rtc/rtc?/wakealarm") made sure that active alarms were never returned with invalid "wildcard" fields (negative), it can still report (wrongly) that the alarm triggers in the past. Example, if it's now 10am, an alarm firing at 5am will be triggered TOMORROW not today. (Which may also be next month or next year...) This updates that alarm handling in three ways: * Handle alarm rollover in the common cases of RTCs that don't support matching on all date fields. * Skip the invalid-field logic when it's not needed. * Minor bugfix ... tm_isdst should be ignored, it's one of the fields Linux doesn't maintain. A warning is emitted for some of the unhandled rollover cases, but the possible combinations are a bit too numerous to handle every bit of potential hardware and firmware braindamage. Signed-off-by: David Brownell Cc: Mark Lord Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 251b97f552b1ad414cc5a9ccc8e4e94503edd5fc Author: Peter Zijlstra Date: Fri Jul 4 09:59:24 2008 -0700 mm: dirty page accounting vs VM_MIXEDMAP Dirty page accounting accurately measures the amound of dirty pages in writable shared mappings by mapping the pages RO (as indicated by vma_wants_writenotify). We then trap on first write and call set_page_dirty() on the page, after which we map the page RW and continue execution. When we launder dirty pages, we call clear_page_dirty_for_io() which clears both the dirty flag, and maps the page RO again before we start writeout so that the story can repeat itself. vma_wants_writenotify() excludes VM_PFNMAP on the basis that we cannot do the regular dirty page stuff on raw PFNs and the memory isn't going anywhere anyway. The recently introduced VM_MIXEDMAP mixes both !pfn_valid() and pfn_valid() pages in a single mapping. We can't do dirty page accounting on !pfn_valid() pages as stated above, and mapping them RO causes them to be COW'ed on write, which breaks VM_SHARED semantics. Excluding VM_MIXEDMAP in vma_wants_writenotify() would mean we don't do the regular dirty page accounting for the pfn_valid() pages, which would bring back all the head-aches from inaccurate dirty page accounting. So instead, we let the !pfn_valid() pages get mapped RO, but fix them up unconditionally in the fault path. Signed-off-by: Peter Zijlstra Cc: Nick Piggin Acked-by: Hugh Dickins Cc: "Jared Hulbert" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cde53535991fbb5c34a1566f25955297c1487b8d Author: Christoph Lameter Date: Fri Jul 4 09:59:22 2008 -0700 Christoph has moved Remove all clameter@sgi.com addresses from the kernel tree since they will become invalid on June 27th. Change my maintainer email address for the slab allocators to cl@linux-foundation.org (which will be the new email address for the future). Signed-off-by: Christoph Lameter Signed-off-by: Christoph Lameter Cc: Pekka Enberg Cc: Stephen Rothwell Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a926c063738f31c8c8b5c2b883812a40e7868072 Merge: 638944a... c7843e8... Author: Linus Torvalds Date: Fri Jul 4 09:52:54 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_mv: safer logic for limit_warnings libata-sff: improve HSM violation reporting ahci: always clear all bits in irq_stat sata_sil24: add DID for another adaptec flavor sata_uli: hardreset is broken commit 638944adc169b3164399a7c1aa98bb48fa070e41 Merge: 3ea9eed... 5095202... Author: Linus Torvalds Date: Fri Jul 4 09:51:51 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix bug in atomic_sub_if_positive. commit 3ea9eed49346eb80f17f1c6539c47dc508be1173 Merge: 852bb9f... 41d54d3... Author: Linus Torvalds Date: Fri Jul 4 09:48:21 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: Do not use 192 byte sized cache if minimum alignment is 128 byte commit 852bb9f594e0ea737f83487962a040ad210e8a13 Author: Paul Mackerras Date: Fri Jul 4 21:04:42 2008 +1000 Update maintainers for powerpc This updates the MAINTAINERS entries for powerpc. It adds Ben H to the overall Linux for PowerPC entry and makes it clear this covers both 32-bit and 64-bit machines. It removes the separate entry we had for Linux on 64-bit PowerPC where Anton and I were listed as maintainers - Anton hasn't been involved in the day-to-day maintenance of the code for several years. Finally, it removes the entry for the Linux for PowerPC boot code where Tom Rini was listed as the maintainer. That code got completely rewritten when we merged 32-bit and 64-bit, and I and the various platform maintainers have been maintaining that code since. Signed-off-by: Paul Mackerras Acked-by: Tom Rini Signed-off-by: Linus Torvalds commit c7843e8f565f624b0cff7cad1370fad4cb84dfbc Author: Mark Lord Date: Wed Jun 18 21:57:42 2008 -0400 sata_mv: safer logic for limit_warnings There is a miniscule chance that two separate host controllers might be in sata_mv at the same time and manage to decrement the static limit_warnings variable below zero. Fix the comparison to deal with it. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a836d3e882161c562b3ddacee5d8842a033c5b2c Author: Tejun Heo Date: Sat Jun 28 01:39:43 2008 +0900 libata-sff: improve HSM violation reporting Improve SFF HSM violation reporting such that each HSM violation can be distinguished using ehi_desc. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ea0c62f7cf70f13a67830471b613337bd0c9a62e Author: Tejun Heo Date: Sat Jun 28 01:49:02 2008 +0900 ahci: always clear all bits in irq_stat Some AHCI controllers (ICH7 was reported) set pending bit in HOST_IRQ_STAT for non-existent ports and when it's not cleared falls into IRQ storm. Always clear full irq_stat instead of only the bits that are handled. As nothing changes for recognized ports, the risk of breaking things is pretty low. Reported and verified by Philipp Thomas in the following suse bugzilla. https://bugzilla.novell.com/attachment.cgi?id=215692 Signed-off-by: Tejun Heo Cc: Philipp Thomas Signed-off-by: Jeff Garzik commit 464b3286b4aa459059c6fda85ba55185fd21d9fc Author: Tejun Heo Date: Wed Jul 2 17:50:23 2008 +0900 sata_sil24: add DID for another adaptec flavor There's another DID used for Adaptec card. Add it. Reported by Travis Read. Signed-off-by: Tejun Heo Cc: Travis Read Signed-off-by: Jeff Garzik commit c5a78ac00c400df29645e59938700301efb371d0 Author: Laurent Pinchart Date: Thu Jun 26 11:48:22 2008 +0200 fs_enet: restore promiscuous and multicast settings in restart() The restart() function is called when the link state changes and resets multicast and promiscuous settings. This patch restores those settings at the end of restart(). Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit 6c688f4294dec3f2228fd46be67604508177a1c3 Author: Sathya Narayanan Date: Tue Jul 1 10:58:19 2008 +0200 ibm_newemac: Fixes entry of short packets Short packets has to be discarded by the driver. So this patch addresses the issue of discarding the short packets of size lesser then ethernet header size. Signed-off-by: Sathya Narayanan Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit ab9b30cc3ec868fab8764d710193107fbeedbd0f Author: Sathya Narayanan Date: Tue Jul 1 10:58:05 2008 +0200 ibm_newemac: Fixes kernel crashes when speed of cable connected changes The descriptor pointers were not initialized to NIL values, so it was poiniting to some random addresses which was completely invalid. This fix takes care of initializing the descriptor to NIL values and clearing the valid descriptors on clean ring operation. Signed-off-by: Sathya Narayanan Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit 773212337941c5e26a05989532943877d72a2c83 Author: Roland Dreier Date: Tue Jul 1 10:22:45 2008 -0700 pasemi_mac: Access iph->tot_len with correct endianness iph->tot_len is stored in network byte order, so access it using ntohs(). This doesn't have any real world impact on pasemi_mac, since the device only exists as part of a big-endian system-on-chip, but fixing this gets rid of a sparse warning and avoids having a bad example in the tree. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 3ff2cd230de31e3b7bf2efd254e0393e5fc1d15d Author: Roland Dreier Date: Tue Jul 1 10:20:33 2008 -0700 ehea: Access iph->tot_len with correct endianness iph->tot_len is stored in network byte order, so access it using ntohs(). This doesn't have any real world impact on ehea, since ehea only exists for big-endian platfroms (at the moment at least) but fixing this gets rid of a sparse warning and avoids having a bad example in the tree. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 2f69ae01c83a94af5dc3c20e8135b974687ed004 Author: Jan-Bernd Themann Date: Thu Jul 3 15:18:51 2008 +0100 ehea: fix race condition When ehea_stop is called the function cancel_work_sync(&port->reset_task) is used to ensure that the reset task is not running anymore. We need an additional flag to ensure that it can not be scheduled after this call again for a certain time. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit b0afffe89be619f42ae4215554ed66e67de7bb0e Author: Jan-Bernd Themann Date: Thu Jul 3 15:18:48 2008 +0100 ehea: add MODULE_DEVICE_TABLE Required to allow distros to easily detect when ehea module needs to be loaded Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 5c2cec143ac54c1960e54bc320fa7d13ac8e0f4a Author: Jan-Bernd Themann Date: Thu Jul 3 15:18:45 2008 +0100 ehea: fix might sleep problem A mutex has to be replaced by spinlocks as it can be called from a context which does not allow sleeping. The kzalloc flag GFP_KERNEL has to be replaced by GFP_ATOMIC for the same reason. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 97bff0953dd45a633fa69e1a650d612f5610a60b Author: Tobias Diedrich Date: Thu Jul 3 23:54:56 2008 -0700 forcedeth: fix lockdep warning on ethtool -s After enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING I get the following warning when ethtool -s is first called on one of the forcedeth ports: ================================= [ INFO: inconsistent lock state ] 2.6.26-rc4 #28 --------------------------------- inconsistent {in-hardirq-W} -> {hardirq-on-W} usage. ethtool/1985 [HC0[0]:SC0[1]:HE1:SE0] takes: (&np->lock){++..}, at: [] nv_set_settings+0xc8/0x3de [forcedeth] {in-hardirq-W} state was registered at: [] 0xffffffffffffffff irq event stamp: 3606 hardirqs last enabled at (3605): [] _spin_unlock_irqrestore+0x3f/0x68 hardirqs last disabled at (3604): [] _spin_lock_irqsave+0x13/0x46 softirqs last enabled at (3534): [] __do_softirq+0xbc/0xc5 softirqs last disabled at (3606): [] _spin_lock_bh+0x11/0x41 other info that might help us debug this: 2 locks held by ethtool/1985: #0: (rtnl_mutex){--..}, at: [] rtnl_lock+0x12/0x14 #1: (_xmit_ETHER){-+..}, at: [] nv_set_settings+0xb3/0x3de [forcedeth] stack backtrace: Pid: 1985, comm: ethtool Not tainted 2.6.26-rc4 #28 Call Trace: [] print_usage_bug+0x162/0x173 [] mark_lock+0x231/0x41f [] __lock_acquire+0x4e7/0xcac [] ? trace_hardirqs_on+0xf1/0x115 [] ? disable_irq_nosync+0x6f/0x7b [] lock_acquire+0x55/0x6e [] ? :forcedeth:nv_set_settings+0xc8/0x3de [] _spin_lock+0x2f/0x3c [] :forcedeth:nv_set_settings+0xc8/0x3de [] dev_ethtool+0x186/0xea3 [] ? mutex_lock_nested+0x243/0x275 [] ? debug_mutex_free_waiter+0x46/0x4a [] ? mutex_lock_nested+0x266/0x275 [] dev_ioctl+0x4eb/0x600 [] ? _spin_unlock_irqrestore+0x3f/0x68 [] sock_ioctl+0x1f5/0x202 [] vfs_ioctl+0x2a/0x77 [] do_vfs_ioctl+0x25b/0x270 [] ? trace_hardirqs_on_thunk+0x35/0x3a [] sys_ioctl+0x42/0x65 [] system_call_after_swapgs+0x7b/0x80 This is caused by the following snippet in nv_set_settings: netif_carrier_off(dev); if (netif_running(dev)) { nv_disable_irq(dev); netif_tx_lock_bh(dev); spin_lock(&np->lock); /* stop engines */ nv_stop_rxtx(dev); spin_unlock(&np->lock); netif_tx_unlock_bh(dev); } Because of nv_disable_irq this is probably not really a problem though (I guess) and replacing the spin_lock with spin_lock_irqsave could keep interrupts disabled for a longer period of time because of delays in nv_stop_rx and nv_stop_tx. Signed-off-by: Tobias Diedrich Cc: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 54364b752ef0c91fe92684df000cc4593d1e8963 Author: Krzysztof Halasa Date: Sun Jun 29 21:48:11 2008 +0200 Add missing skb->dev assignment in Frame Relay RX code Commit 4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 ([ETH]: Make eth_type_trans set skb->dev like the other *_type_trans) removed skb->dev assignment from hdlc_fr.c:fr_rx(). Unfortunately it was also needed for cases other than eth_type_trans(). Adding it back. It's quite serious and may be a security risk as it causes a wrong input interface indication (the physical hdlcX instead of logical pvcX). Probably -stable class fix. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit d8355aca23863be659ec5b7e0393cfbfa91ec221 Author: Jeremy Fitzhardinge Date: Thu Jul 3 22:10:18 2008 -0700 xen: fix address truncation in pte mfn<->pfn conversion When converting the page number in a pte/pmd/pud/pgd between machine and pseudo-physical addresses, the converted result was being truncated at 32-bits. This caused failures on machines with more than 4G of physical memory. Signed-off-by: Jeremy Fitzhardinge Cc: "Christopher S. Aker" Cc: Ian Campbell Signed-off-by: Ingo Molnar commit 50952026036c7b4212b90091bf23a264c0ccc1fb Author: Ralf Baechle Date: Thu Jul 3 23:28:35 2008 +0100 [MIPS] Fix bug in atomic_sub_if_positive. The branch optimization fixes in 2.6.21 introduced a bug in atomic_sub_if_positive that causes it to return even when the sc instruction fails. The result is that e.g. down_trylock becomes unreliable as the semaphore counter is not always decremented. Original MUA-shredded patch from Morten Larsen . Signed-off-by: Ralf Baechle commit bf9127c36341573dc47a9c2fc003dcf13bbbf246 Merge: b620754... b89cbb8... Author: Linus Torvalds Date: Thu Jul 3 21:29:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: adding comment for ipaq forcing number of ports USB: fix Oops on loading ipaq module since 2.6.26 USB: add a pl2303 device id USB: another option device id USB: don't lose disconnections during suspend USB: fix interrupt disabling for HCDs with shared interrupt handlers USB: New device ID for ftdi_sio driver sisusbvga: Fix oops on disconnect. USB: mass storage: new id for US_SC_CYP_ATACB USB: ohci - record data toggle after unlink USB: ehci - fix timer regression USB: fix cdc-acm resume() OHCI: Fix problem if SM501 and another platform driver is selected commit b89cbb81aec2015b4020221564ced1569e1a8900 Author: Oliver Neukum Date: Thu Jul 3 17:14:16 2008 +0200 USB: adding comment for ipaq forcing number of ports The reason for forcing a number of ports should be documented. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 4edb966b375dfbabfc96b580a164c5ae90584aa0 Author: Oliver Neukum Date: Thu Jul 3 10:05:57 2008 +0200 USB: fix Oops on loading ipaq module since 2.6.26 Fixes bugzilla.kernel.org #10868 Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 727df3569b358ef440683787c2b9fe8cc55a0954 Author: Greg Kroah-Hartman Date: Wed Jul 2 15:25:41 2008 -0500 USB: add a pl2303 device id As reported by Ken A Scott Cc: Ken A Scott Signed-off-by: Greg Kroah-Hartman commit d2e2affba4a3619df203d3be8d655ec48d00e3ec Author: Greg Kroah-Hartman Date: Tue Jul 1 13:11:56 2008 +0530 USB: another option device id Thanks to umesh b for the information here. Cc: umesh b Signed-off-by: Greg Kroah-Hartman commit 1236edf1c70107a0d31b3fba0b2a8783615d0d24 Author: Alan Stern Date: Tue Jul 1 10:45:51 2008 -0400 USB: don't lose disconnections during suspend This patch (as1111) fixes a bug in the hub driver. When a hub resumes, disconnections that occurred while the hub was suspended are lost. A completely different fix for this problem has already been accepted for 2.6.27; however the problem still needs to be handled in 2.6.26. Signed-off-by: Alan Stern Tested-by: Lukas Hejtmanek Signed-off-by: Greg Kroah-Hartman commit de85422b94ddb23c021126815ea49414047c13dc Author: Stefan Becker Date: Tue Jul 1 19:19:22 2008 +0300 USB: fix interrupt disabling for HCDs with shared interrupt handlers USB: fix interrupt disabling for HCDs with shared interrupt handlers As has been discussed several times on LKML, IRQF_SHARED | IRQF_DISABLED doesn't work reliably, i.e. a shared interrupt handler CAN'T be certain to be called with interrupts disabled. Most USB HCD handlers use IRQF_DISABLED and therefore havoc can break out if they share their interrupt with a handler that doesn't use it. On my test machine the yenta_socket interrupt handler (no IRQF_DISABLED) was registered before ehci_hcd and one uhci_hcd instance. Therefore all usb_hcd_irq() invocations for ehci_hcd and for one uhci_hcd instance happened with interrupts enabled. That led to random lockups as USB core HCD functions that acquire the same spinlock could be called twice from interrupt handlers. This patch updates usb_hcd_irq() to always disable/restore interrupts. usb_add_hcd() will silently remove any IRQF_DISABLED requested from HCD code. Signed-off-by: Stefan Becker Cc: stable Acked-by: David Brownell Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2542335ccf34cfb442d3fd842d7e78ca5e649951 Author: Jon K Hellan Date: Tue Jun 24 11:43:13 2008 +0200 USB: New device ID for ftdi_sio driver Here's a new device ID for the ftdio_sio driver. The diff is with linus's tree as of this morning. The device is the RigExpert Tiny USB Soundcard Transceiver Interface for ham radio. (I didn't actually test this. A fellow ham couldn't get the device to work, and I suggested binding the device ID using sysfs - see "http://jk.ufisa.uninett.no/usb/". However, he had had moved on to other things by then. I guess adding the device ID to the kernel "on spec" won't hurt. The relevant part of cat /proc/bus/usb/devices shows: T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0403 ProdID=ed22 Rev= 5.00 S: Manufacturer=FTDI S: Product=MixW RigExpert Tiny S: SerialNumber=00000000 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms ) From: Jon K Hellan Signed-off-by: Greg Kroah-Hartman commit f15e39739a1d7dfaa2173a91707a74c11a246648 Author: Will Newton Date: Fri Jun 27 13:08:08 2008 +0100 sisusbvga: Fix oops on disconnect. Remove dev_info call on disconnect. The sisusb_dev pointer may have been set to zero by sisusb_delete at this point causing an oops. The message does not provide any extra information over the standard USB subsystem output so removing it does not affect functionality. Signed-off-by: Will Newton Signed-off-by: Greg Kroah-Hartman commit e72616f429a6aaa720a2d90b8fe94869f3c3ff4b Author: matthieu castet Date: Mon Jun 16 19:49:06 2008 +0200 USB: mass storage: new id for US_SC_CYP_ATACB CY7C68310 chip also support cypress atacb "ATA command" pass_thru. Signed-off-by: Matthieu CASTET Signed-off-by: Greg Kroah-Hartman commit 29c8f6a727a683b5988877dd80dbdefd49e64a51 Author: David Brownell Date: Fri Jun 13 23:59:54 2008 -0700 USB: ohci - record data toggle after unlink This patch fixes a problem with OHCI where canceling bulk or interrupt URBs may lose track of the right data toggle. This seems to be a longstanding bug, possibly dating back to the Linux 2.4 kernel, which stayed hidden because (a) about half the time the data toggle bit was correct; (b) canceling such URBs is unusual; and (c) the few drivers which cancel these URBs either [1] do it only as part of shutting down, or [2] have fault recovery logic, which recovers. For those transfer types, the toggle is normally written back into the ED when each TD is retired. But canceling bypasses the mechanism used to retire TDs ... so on average, half the time the toggle bit will be invalid after cancelation. The fix is simple: the toggle state of any canceled TDs are propagated back to the ED in the finish_unlinks function. (Issue found by leonidv11@gmail.com ...) Signed-off-by: David Brownell Cc: Leonid Cc: stable Signed-off-by: Greg Kroah-Hartman commit 056761e55c8687ddf3db14226213f2e8dc2689bc Author: David Brownell Date: Fri Jun 13 23:56:48 2008 -0700 USB: ehci - fix timer regression This patch fixes a regression in the EHCI driver's TIMER_IO_WATCHDOG behavior. The patch "USB: EHCI: add separate IAA watchdog timer" changed how that timer is handled, so that short timeouts on the remaining timer (unfortunately, overloaded) would never be used. This takes a more direct approach, reorganizing the code slightly to be explicit about only the I/O watchdog role now being overridable. It also replaces a now-obsolete comment describing older timer behavior. Signed-off-by: David Brownell Cc: Alan Stern Cc: Leonid Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4b828abed217527ca815727a1a251334bd8e5e04 Author: Oliver Neukum Date: Tue Jun 17 22:30:48 2008 +0200 USB: fix cdc-acm resume() cdc-acm has - a memory leak in resume() - will fail to reactivate the read code path if this is needed. his corrects it by deleting the useless relict code. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 3ee38d8bf46b364b1ca364ddb7c379a4afcd8bbb Author: Ben Dooks Date: Sun Jun 8 17:20:11 2008 +0100 OHCI: Fix problem if SM501 and another platform driver is selected If the SM501 and another platform driver, such as the SM501 then we end up defining PLATFORM_DRIVER twice. This patch seperated the SM501 onto a seperate define of SM501_OHCI_DRIVER so that it can be selected without overwriting the original definition. Signed-off-by: Ben Dooks Acked-by: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit b620754bfeb8b0e0c6622b03d5ee2f1af1d3082f Author: J. Bruce Fields Date: Thu Jul 3 15:26:35 2008 -0400 svcrpc: fix handling of garbage args To return garbage_args, the accept_stat must be 0, and we must have a verifier. So we shouldn't be resetting the write pointer as we reject the call. Also, we must add the two placeholder words here regardless of success of the unwrap, to ensure the output buffer is left in a consistent state for svcauth_gss_release(). This fixes a BUG() in svcauth_gss.c:svcauth_gss_release(). Thanks to Aime Le Rouzic for bug report, debugging help, and testing. Signed-off-by: J. Bruce Fields Tested-by: Aime Le Rouzic Signed-off-by: Linus Torvalds commit 97055a915720fe1aff9ac71c17fae60e929d4ed6 Merge: ee3ece8... 8986d2f... Author: Linus Torvalds Date: Thu Jul 3 11:37:19 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] cevt-txx9: Reset timer counter on initialization [MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES [MIPS] IP32: Fix unexpected irq 71 commit ee3ece830f6db9837f7ac67008f532a8c1e755f4 Author: Steven Rostedt Date: Thu Jul 3 14:31:26 2008 -0400 hrtimer: prevent migration for raising softirq Due to a possible deadlock, the waking of the softirq was pushed outside of the hrtimer base locks. See commit 0c96c5979a522c3323c30a078a70120e29b5bdbc Unfortunately this allows the task to migrate after setting up the softirq and raising it. Since softirqs run a queue that is per-cpu we may raise the softirq on the wrong CPU and this will keep the queued softirq task from running. To solve this issue, this patch disables preemption around the releasing of the hrtimer lock and raising of the softirq. Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 8986d2f50e1a9ba63f64ccbf59181886aa7898c3 Author: Atsushi Nemoto Date: Tue Jun 24 23:26:38 2008 +0900 [MIPS] cevt-txx9: Reset timer counter on initialization The txx9_tmr_init() will not clear a timer counter register in a certain case. The counter register is cleared on 1->0 transition of TCE bit if CRE=1. So just clearing the TCE bit is not enough. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 7e3297dc280f88ec0c6619a895f3d449776f952e Author: Thomas Bogendoerfer Date: Fri Jun 27 23:52:26 2008 +0200 [MIPS] IP22: Fix crashes due to wrong L1_CACHE_BYTES The introduction of a real dma cache invalidate makes it important to have a correct cache line size, otherwise the kernel will gives out two memory segment, which might share one cache line. The R4400 Indy/Indigo2 CPU modules are using a second level cache line size of 128 bytes, so MIPS_L1_CACHE_SHIFT needs to be bumped up to 7 for IP22. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1faf7f25b2aa4fcd2ae0ec2fd2e9fb9ff4bfee10 Author: Thomas Bogendoerfer Date: Tue Jun 24 00:48:05 2008 +0200 [MIPS] IP32: Fix unexpected irq 71 It's possible that the crime interrupt handler is called without pending interrupts (probably a hardware issue). To avoid irritating "unexpected irq 71" messages, we now just ignore the spurious crime interrupts. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 6beef7eb0c16b5216814148b04838cfa963d2cb4 Merge: 494de90... 2e4bef4... Author: Linus Torvalds Date: Thu Jul 3 09:28:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: fix O_APPEND in legacy mode commit 494de90098784b8e2797598cefdd34188884ec2e Author: Mel Gorman Date: Thu Jul 3 05:27:51 2008 +0100 Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr The non-NUMA case of build_zonelist_cache() would initialize the zlcache_ptr for both node_zonelists[] to NULL. Which is problematic, since non-NUMA only has a single node_zonelists[] entry, and trying to zero the non-existent second one just overwrote the nr_zones field instead. As kswapd uses this value to determine what reclaim work is necessary, the result is that kswapd never reclaims. This causes processes to stall frequently in low-memory situations as they always direct reclaim. This patch initialises zlcache_ptr correctly. Signed-off-by: Mel Gorman Tested-by: Dan Williams [ Simplified patch a bit ] Signed-off-by: Linus Torvalds commit 41d54d3bf83f62d3ff5948cb788fe6007e66a0d0 Author: Christoph Lameter Date: Thu Jul 3 09:14:26 2008 -0500 slub: Do not use 192 byte sized cache if minimum alignment is 128 byte The 192 byte cache is not necessary if we have a basic alignment of 128 byte. If it would be used then the 192 would be aligned to the next 128 byte boundary which would result in another 256 byte cache. Two 256 kmalloc caches cause sysfs to complain about a duplicate entry. MIPS needs 128 byte aligned kmalloc caches and spits out warnings on boot without this patch. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 2e4bef41a0f7df31be140ef354b9c12f2299016a Author: Eric Van Hensbergen Date: Tue Jun 24 17:39:39 2008 -0500 9p: fix O_APPEND in legacy mode The legacy protocol's open operation doesn't handle an append operation (it is expected that the client take care of it). We were incorrectly passing the extended protocol's flag through even in legacy mode. This was reported in bugzilla report #10689. This patch fixes the problem by disallowing extended protocol open modes from being passed in legacy mode and implemented append functionality on the client side by adding a seek after the open. Signed-off-by: Eric Van Hensbergen commit ab1b20467cd2214ad89a95d007047cd2a6b5bf5d Author: Patrick McHardy Date: Thu Jul 3 03:53:42 2008 -0700 bridge: fix use-after-free in br_cleanup_bridges() Unregistering a bridge device may cause virtual devices stacked on the bridge, like vlan or macvlan devices, to be unregistered as well. br_cleanup_bridges() uses for_each_netdev_safe() to iterate over all devices during cleanup. This is not enough however, if one of the additionally unregistered devices is next in the list to the bridge device, it will get freed as well and the iteration continues on the freed element. Restart iteration after each bridge device removal from the beginning to fix this, similar to what rtnl_link_unregister() does. Signed-off-by: Patrick McHardy Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 374e7b59498ce0785b3727794b351221528a5159 Author: Octavian Purdila Date: Thu Jul 3 03:31:21 2008 -0700 tcp: fix a size_t < 0 comparison in tcp_read_sock should be of type int (not size_t) since recv_actor can return negative values and it is also used in a < 0 comparison. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 81b23b4a7acd9b37a269c62d02479d4f645dd20a Author: Andrew Morton Date: Thu Jul 3 03:22:02 2008 -0700 tcp: net/ipv4/tcp.c needs linux/scatterlist.h alpha: net/ipv4/tcp.c: In function 'tcp_calc_md5_hash': net/ipv4/tcp.c:2479: error: implicit declaration of function 'sg_init_table' net/ipv4/tcp.c:2482: error: implicit declaration of function 'sg_set_buf' net/ipv4/tcp.c:2507: error: implicit declaration of function 'sg_mark_end' Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 27df66a406a171308b138bd84938cb735392e15c Author: Andrew Morton Date: Thu Jul 3 10:14:10 2008 +0200 arch/x86/mm/init_64.c: early_memtest(): fix types fix this warning: arch/x86/mm/init_64.c: In function 'early_memtest': arch/x86/mm/init_64.c:524: warning: passing argument 2 of 'find_e820_area_size' from incompatible pointer type Signed-off-by: Ingo Molnar commit 216705d2720dedf630b55d641737f430ead0c228 Author: Hugh Dickins Date: Wed Jul 2 22:48:03 2008 +0100 x86: fix Intel Mac booting with EFI Fedora reports that mem_init()'s zap_low_mappings(), extended to SMP in 61165d7a035f6571c7576e7f51e7230157724c8d x86: fix app crashes after SMP resume causes 32-bit Intel Mac machines to reboot very early when booting with EFI. The EFI code appears to manage low mappings for itself when needed; but like many before it, confuses PSE with PAE. So it has only been mapping half the space it needed when PSE but not PAE. This remained unnoticed until we moved the SMP zap_low_mappings() before efi_enter_virtual_mode(). Presumably could have been noticed years ago if anyone ran a UP kernel on such machines? Reported-by: Peter Jones Signed-off-by: Hugh Dickins Cc: Peter Jones Cc: Glauber Costa Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar Tested-by: Peter Jones commit 2fff58fce14701e27d5e8a50fa73caef9a6907f5 Merge: c461a97... 7b58ccf... Author: David S. Miller Date: Wed Jul 2 22:13:20 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c461a973118346d5c103aaaddd62e53939fd7c67 Merge: 9ad4107... a13307c... Author: Linus Torvalds Date: Wed Jul 2 19:29:16 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: acpiphp: cleanup notify handler on all root bridges PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. PCI: Restrict VPD read permission to root commit 9ad4107ba137f743fc531f9f4ceb81b122f9ff25 Merge: 0e77a07... d150a4b... Author: Linus Torvalds Date: Wed Jul 2 19:26:38 2008 -0700 Merge branch 'i2c-fix' of git://aeryn.fluff.org.uk/bjdooks/linux * 'i2c-fix' of git://aeryn.fluff.org.uk/bjdooks/linux: I2C: S3C2410: Add MODULE_ALIAS() for s3c2440 device. I2C: S3C2410: Fixup error codes returned rom a transfer. I2C: S3C2410: Check ACK on byte transmission commit 0e77a07ff9d18cdfc6c1fdd5b3c667ae79895489 Merge: 23c0e4a... 18ce375... Author: Linus Torvalds Date: Wed Jul 2 19:25:36 2008 -0700 Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block: Properly notify block layer of sync writes block: Fix the starving writes bug in the anticipatory IO scheduler commit 23c0e4a2257051113a99e1377c49af224bd27bc8 Merge: 3a57a78... 3a677d2... Author: Linus Torvalds Date: Wed Jul 2 19:24:48 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] export account_system_vtime [IA64] Bugfix for system with 32 cpus commit 3a57a788757738b8f80a82d4f5101fefb8fd7a58 Merge: a16b4bc... 06f3ed23... Author: Linus Torvalds Date: Wed Jul 2 19:23:52 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (8178): uvc: Fix compilation breakage for the other drivers, if uvc is selected V4L/DVB (8145a): USB Video Class driver commit a16b4bcd31a73a81b6d2b8ffa6b5f6ed01cf6d64 Merge: 15895b9... 4283e1b... Author: Linus Torvalds Date: Wed Jul 2 19:22:54 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix /proc/ide/ide?/mate reporting Revert "BAST: Remove old IDE driver" commit 15895b932b8a047a1db7006a4f9ca74485d5a826 Merge: 3e2a078... 08383ef... Author: Linus Torvalds Date: Wed Jul 2 19:22:25 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5131/1: Annotate platform_secondary_init with trace_hardirqs_off [ARM] 5117/1: pxafb: fix __devinit/exit annotations [ARM] Export dma_sync_sg_for_device() [ARM] 5109/1: Mark rtc sa1100 driver as wakeup source before registering it [ARM] 5116/1: pxafb: cleanup and fix order of failure handling [ARM] 5115/1: pxafb: fix ifdef for command line option handling ARM: OMAP: Correcting the gpmc prefetch control register address ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq commit 3e2a078ca6a0d3122bbf2b904cd7ccf21a5ca21d Author: Alan Cox Date: Mon Jun 30 17:40:08 2008 +0100 tty: Fix inverted logic in send_break Not sure how this came to get inverted but it appears to have been my mess up. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit b2a4a7ce3a995b83f59792ec9981d20ac550ccb0 Merge: f7572da... 619b048... Author: Linus Torvalds Date: Wed Jul 2 19:12:53 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix divide error when trying to configure rt_period to zero commit f7572da502916e6abac06d698c0b6a7119cea0c1 Merge: c000131... 8e29da9... Author: Linus Torvalds Date: Wed Jul 2 19:00:29 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Fix bad hint about irqs in i2c.h i2c: Documentation: fix device matching description commit c000131c711f68cb68712e6553ddce5fa6ad5c5c Merge: 041924e... 8558f8f... Author: Linus Torvalds Date: Wed Jul 2 18:59:45 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: fix hotplug vs rcu race commit 041924ec2f40efa6a3163144a5481a000804199d Merge: f36b7a2... efac418... Author: Linus Torvalds Date: Wed Jul 2 18:58:56 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix NODES_SHIFT Kconfig range commit f36b7a2c170ff1dbbb38d235817e04020b196950 Merge: cefcade... ec5e69f... Author: Linus Torvalds Date: Wed Jul 2 18:57:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] esp: tidy up target reference counting [SCSI] esp: Fix OOPS in esp_reset_cleanup(). [SCSI] ses: Fix timeout commit cefcade9e7b2331110fdd709b5871ebcc5f9a40f Merge: c6b96d1... c7f1b20... Author: Linus Torvalds Date: Wed Jul 2 18:55:17 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm crypt: use cond_resched commit c6b96d195a0fd132d6e8c783216d1d3f686e5ba8 Merge: 79ff1ad... 9bbbca3... Author: Linus Torvalds Date: Wed Jul 2 18:47:10 2008 -0700 Merge branch 'for-2.6.26' of git://neil.brown.name/md * 'for-2.6.26' of git://neil.brown.name/md: Fix error paths if md_probe fails. Don't acknowlege that stripe-expand is complete until it really is. Ensure interrupted recovery completed properly (v1 metadata plus bitmap) commit 79ff1ad2eec1c106962241f6346958b9641e34f3 Merge: 821b03f... 781c74b... Author: Linus Torvalds Date: Wed Jul 2 18:45:29 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc/mpc5200: Fix lite5200b suspend/resume powerpc/legacy_serial: Bail if reg-offset/shift properties are present powerpc/bootwrapper: update for initrd with simpleImage commit 821b03ffac8851d6bc1d5530183d2ed25adae35d Merge: 3d25802... 2fe195c... Author: Linus Torvalds Date: Wed Jul 2 18:43:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits) net: fib_rules: fix error code for unsupported families netdevice: Fix wrong string handle in kernel command line parsing net: Tyop of sk_filter() comment netlink: Unneeded local variable net-sched: fix filter destruction in atm/hfsc qdisc destruction net-sched: change tcf_destroy_chain() to clear start of filter list ipv4: fix sysctl documentation of time related values mac80211: don't accept WEP keys other than WEP40 and WEP104 hostap: fix sparse warnings hostap: don't report useless WDS frames by default textsearch: fix Boyer-Moore text search bug netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid ACK ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags. netlabel: Fix a problem when dumping the default IPv6 static labels net/inet_lro: remove setting skb->ip_summed when not LRO-able inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild CONNECTOR: add a proc entry to list connectors netlink: Fix some doc comments in net/netlink/attr.c tcp: /proc/net/tcp rto,ato values not scaled properly (v2) include/linux/netdevice.h: don't export MAX_HEADER to userspace ... commit 3d25802e3ba7c82457b5c12bbfeefe391d8a333e Author: Jesse Barnes Date: Tue Jul 1 12:32:52 2008 -0700 DRM/i915: only use tiled blits on 965+ When scheduled swaps occur, we need to blit between front & back buffers. If the buffers are tiled, we need to set the appropriate XY_SRC_COPY tile bit, but only on 965 chips, since it will cause corruption on pre-965 (e.g. 945). Bug reported by and fix tested by Tomas Janousek . Signed-off-by: Jesse Barnes Acked-by: Dave Airlie Signed-off-by: Linus Torvalds commit 83680cdbcecd1fd284ad4df060d12bf214bb63a8 Author: Geert Uytterhoeven Date: Tue Jul 1 13:55:25 2008 +0200 drivers/input/ff-core.c needs Commit 656acd2bbc4ce7f224de499ee255698701396c48 ("Input: fix locking in force-feedback core") causes the following regression on m68k: | linux/drivers/input/ff-core.c: In function 'input_ff_upload': | linux/drivers/input/ff-core.c:172: error: dereferencing pointer to incomplete type | linux/drivers/input/ff-core.c: In function 'erase_effect': | linux/drivers/input/ff-core.c:197: error: dereferencing pointer to incomplete type | linux/drivers/input/ff-core.c:204: error: dereferencing pointer to incomplete type | make[4]: *** [drivers/input/ff-core.o] Error 1 As the incomplete type is `struct task_struct', including fixes it. Signed-off-by: Geert Uytterhoeven Acked-by: Dmitry Torokhov Signed-off-by: Linus Torvalds commit 781c74b1e660d045c2e380b4ada02534f415685c Merge: 1e6d1f2... 18d76ac... Author: Paul Mackerras Date: Thu Jul 3 10:05:59 2008 +1000 Merge branch 'for-2.6.26' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge commit 7b58ccfe32f40eca8c8ca29aa723a5d0e814f0c9 Author: andrey@cozybit.com Date: Tue Jul 1 11:43:53 2008 -0700 libertas: support USB persistence on suspend/resume (resend) Handle .reset_resume() so that libertas can survive suspend/resume without reloading the firmware. Signed-off-by: Andrey Yurovsky Acked-by: Deepak Saxena Acked-by: Dan Williams Signed-off-by: John W. Linville commit 6afe6828b19b4567768264831d101026cb5510ff Author: Zhu Yi Date: Tue Jul 1 09:20:34 2008 +0800 iwlwifi: drop skb silently for Tx request in monitor mode This patch fixes the problem to keep mac80211 resubmitting SKBs when Tx request cannot be met in monitor mode. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ec04fd60fd74a9db9c63fe11d519be3642cabfdd Author: Rick Farrington Date: Tue Jul 1 09:20:33 2008 +0800 iwlwifi: fix incorrect 5GHz rates reported in monitor mode This patch fixes the rates reported in monitor mode operation (Wireshark) for iwlwifi. Previously, packets with rates of 6M..24M would be reported incorrectly and packets with rates of 36M..54M would not passed up the stack. Signed-off-by: Rick Farrington Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a13307cef8bf51990ef1d525b1cbdcc2cfe07e2a Author: Alex Chiang Date: Tue Jul 1 20:02:23 2008 -0600 PCI: acpiphp: cleanup notify handler on all root bridges During the development of the physical PCI slot patch series, Gary Hade kept on reporting strange oopses due to interactions between pci_slot and acpiphp. http://lkml.org/lkml/2007/11/28/319 find_root_bridges() unconditionally installs handle_hotplug_event_bridge() as an ACPI_SYSTEM_NOTIFY handler for all root bridges. However, during module cleanup, remove_bridge() will only remove the notify handler iff the root bridge had a hot-pluggable slot directly underneath. That is: root bridge -> hotplug slot But, if the topology looks like either of the following: root bridge -> non-hotplug slot root bridge -> p2p bridge -> hotplug slot Then we currently do not remove the notify handler from that root bridge. This can cause a kernel oops if we modprobe acpiphp later and it gets loaded somewhere else in memory. If the root bridge then receives a hotplug event, it will then attempt to call a stale, non-existent notify handler and we blow up. Much thanks goes to Gary Hade for his persistent debugging efforts. Signed-off-by: Alex Chiang Signed-off-by: Gary Hade Signed-off-by: Jesse Barnes commit 99cb233d60cbe644203f19938c729ea2bb004d70 Author: Benjamin Li Date: Wed Jul 2 10:59:04 2008 -0700 PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev. For Broadcom 5706, 5708, 5709 rev. A nics, any read beyond the VPD end tag will hang the device. This problem was initially observed when a vpd entry was created in sysfs ('/sys/bus/pci/devices//vpd'). A read to this sysfs entry will dump 32k of data. Reading a full 32k will cause an access beyond the VPD end tag causing the device to hang. Once the device is hung, the bnx2 driver will not be able to reset the device. We believe that it is legal to read beyond the end tag and therefore the solution is to limit the read/write length. A majority of this patch is from Matthew Wilcox who gave code for reworking the PCI vpd size information. A PCI quirk added for the Broadcom NIC's to limit the read/write's. Signed-off-by: Benjamin Li Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 06f3ed23b1e1038da649c4836b51fe035f5536bd Author: Mauro Carvalho Chehab Date: Wed Jul 2 11:03:33 2008 -0300 V4L/DVB (8178): uvc: Fix compilation breakage for the other drivers, if uvc is selected UVC makefile defines obj as: obj-$(CONFIG_USB_VIDEO_CLASS) := uvcvideo.o Instead of: obj-$(CONFIG_USB_VIDEO_CLASS) += uvcvideo.o Due to that, if uvc is selected, all obj-y or obj-m that were added to compilation were forget. This breaks a proper kernel build. Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit c7f1b2044191a82e7f0a1a674751ed582289e2e0 Author: Milan Broz Date: Wed Jul 2 09:34:28 2008 +0100 dm crypt: use cond_resched Add cond_resched() to prevent monopolising CPU when processing large bios. dm-crypt processes encryption of bios in sector units. If the bio request is big it can spend a long time in the encryption call. Signed-off-by: Milan Broz Tested-by: Yan Li Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit 2fe195cfe3e53c144d247b2768e37732e8eae4d8 Author: Patrick McHardy Date: Tue Jul 1 19:59:37 2008 -0700 net: fib_rules: fix error code for unsupported families The errno code returned must be negative. Fixes "RTNETLINK answers: Unknown error 18446744073709551519". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 93b3cff9915322d6fa36bac0064714a7076230e4 Author: Wang Chen Date: Tue Jul 1 19:57:19 2008 -0700 netdevice: Fix wrong string handle in kernel command line parsing v1->v2: Use strlcpy() to ensure s[i].name be null-termination. 1. In netdev_boot_setup_add(), a long name will leak. ex. : dev=21,0x1234,0x1234,0x2345,eth123456789verylongname......... 2. In netdev_boot_setup_check(), mismatch will happen if s[i].name is a substring of dev->name. ex. : dev=...eth1 dev=...eth11 [ With feedback from Ben Hutchings. ] Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8fde8a076940969d32805b853efdce8b988d7dda Author: Wang Chen Date: Tue Jul 1 19:55:40 2008 -0700 net: Tyop of sk_filter() comment Parameter "needlock" no long exists. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 8487460720fd03a0f4ecd032f017b0a8468028da Author: Wang Chen Date: Tue Jul 1 19:55:09 2008 -0700 netlink: Unneeded local variable We already have a variable, which has the same capability. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit a4aebb83cf0da0363684f1c339f7e6149a3e74c1 Author: Patrick McHardy Date: Tue Jul 1 19:53:09 2008 -0700 net-sched: fix filter destruction in atm/hfsc qdisc destruction Filters need to be destroyed before beginning to destroy classes since the destination class needs to still be alive to unbind the filter. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff31ab56c0e900235f653e375fc3b01ba2d8d6a3 Author: Patrick McHardy Date: Tue Jul 1 19:52:38 2008 -0700 net-sched: change tcf_destroy_chain() to clear start of filter list Pass double tcf_proto pointers to tcf_destroy_chain() to make it clear the start of the filter list for more consistency. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 77a538d5aa25a8866606a1faa4300c9aa2a59dfc Author: Stephen Hemminger Date: Tue Jul 1 17:22:48 2008 -0700 ipv4: fix sysctl documentation of time related values These sysctl values are time related and all use the same routine (proc_dointvec_jiffies) that internally converts from seconds to jiffies. The code is fine, the documentation is just wrong. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 18d76ac9a47742558bca3bbc2f7c41870ac744c8 Author: Tim Yamin Date: Tue Jun 17 09:33:14 2008 +0100 powerpc/mpc5200: Fix lite5200b suspend/resume Suspend/resume ("echo mem > /sys/power/state") does not work with vanilla kernels -- the system does not suspend correctly and just hangs. This patch fixes this so suspend/resume works: 1) of_iomap does not map the whole 0xC000 of the MPC5200 immr so saving registers does not work. 2) PCI registers need to be saved and restored. Signed-off-by: Tim Yamin Signed-off-by: Grant Likely commit 1e6d1f260611387a7b4e6eae4d1dd6f62e53714d Author: John Linn Date: Tue Jul 1 10:52:41 2008 -0700 powerpc/legacy_serial: Bail if reg-offset/shift properties are present The legacy serial driver does not work with an 8250 type UART that is described in the device tree with the reg-offset and reg-shift properties. This change makes legacy_serial ignore these devices. Signed-off-by: John Linn Signed-off-by: Grant Likely commit 8e29da9ee8958cc17e27f4053420f1c982614793 Author: Wolfram Sang Date: Tue Jul 1 22:38:18 2008 +0200 i2c: Fix bad hint about irqs in i2c.h i2c.h mentions -1 as a not-issued irq. This false hint was taken by of_i2c and caused crashes. Don't give any advice as 'no irq' is not consistent across all architectures yet and it is not needed internally by the i2c-core. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 2260e63a2f313f416b31af80d02f02ef92d20d78 Author: Ben Dooks Date: Tue Jul 1 22:38:18 2008 +0200 i2c: Documentation: fix device matching description The matching process described for new style clients in Documentation/i2c/writing-clients is classed as out-of-date as it requires the presence of an .id_table entry in the driver's i2c_driver entry. Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit 5d1a04110bfc40a86e1387b5f4382addd9aa7fbb Author: John Linn Date: Tue Jul 1 14:17:18 2008 -0600 powerpc/bootwrapper: update for initrd with simpleImage This change to the makefile corrects the build of a simpleImage with initrd. Signed-off-by: John Linn Signed-off-by: Grant Likely commit a94c248113b86bbbc47d027a4004b70f2be298b1 Author: Ben Hutchings Date: Tue Jul 1 17:18:17 2008 +0100 PCI: Restrict VPD read permission to root Some PCI devices will lock up if we attempt to read from VPD addresses beyond some device-dependent limit. Until we can identify these devices and adjust the file size accordingly, only let root read VPD through sysfs to prevent a DoS by normal users. Signed-off-by: Ben Hutchings Signed-off-by: Jesse Barnes commit d150a4bbd0e5c6427e66086b139953428680160b Author: Ben Dooks Date: Tue Jul 1 11:59:43 2008 +0100 I2C: S3C2410: Add MODULE_ALIAS() for s3c2440 device. Add a MODULE_ALIAS() statement for the i2c-s3c2410 controller to ensure that it can be autoloaded on the S3C2440 systems that we support. Signed-off-by: Ben Dooks commit 63f5c2891eae6b4dd0538ef094e5f256d6150d7b Author: Ben Dooks Date: Tue Jul 1 11:59:42 2008 +0100 I2C: S3C2410: Fixup error codes returned rom a transfer. The driver should be returning -ENXIO for transfers that do not pass the initial address byte stage. Note, also small tidyups to the driver comments in the area. Signed-off-by: Ben Dooks commit 2709781be6141798162f1089df728fb218a590df Author: Ben Dooks Date: Tue Jul 1 11:59:41 2008 +0100 I2C: S3C2410: Check ACK on byte transmission We should check for the reception of an ACK after transmitting each data byte. The address send has been correctly checking this, but the data write byte state should have also been checking for these failures. As part of the same fix, we remove the ACK checking from the receive path where it should not have been checking for an ACK which our hardware was sending. Signed-off-by: Ben Dooks commit 8558f8f81680a43d383abd1b5f23d3501fedfa65 Author: Gautham R Shenoy Date: Fri Jun 27 10:17:38 2008 +0530 rcu: fix hotplug vs rcu race Dhaval Giani reported this warning during cpu hotplug stress-tests: | On running kernel compiles in parallel with cpu hotplug: | | WARNING: at arch/x86/kernel/smp.c:118 | native_smp_send_reschedule+0x21/0x36() | Modules linked in: | Pid: 27483, comm: cc1 Not tainted 2.6.26-rc7 #1 | [...] | [] native_smp_send_reschedule+0x21/0x36 | [] force_quiescent_state+0x47/0x57 | [] call_rcu+0x51/0x6d | [] __fput+0x130/0x158 | [] fput+0x17/0x19 | [] filp_close+0x4d/0x57 | [] sys_close+0x5c/0x97 IMHO the warning is a spurious one. cpu_online_map is updated by the _cpu_down() using stop_machine_run(). Since force_quiescent_state is invoked from irqs disabled section, stop_machine_run() won't be executing while a cpu is executing force_quiescent_state(). Hence the cpu_online_map is stable while we're in the irq disabled section. However, a cpu might have been offlined _just_ before we disabled irqs while entering force_quiescent_state(). And rcu subsystem might not yet have handled the CPU_DEAD notification, leading to the offlined cpu's bit being set in the rcp->cpumask. Hence cpumask = (rcp->cpumask & cpu_online_map) to prevent sending smp_reschedule() to an offlined CPU. Here's the timeline: CPU_A CPU_B -------------------------------------------------------------- cpu_down(): . . . . . stop_machine(): /* disables preemption, . * and irqs */ . . . . . take_cpu_down(); . . . . . . . cpu_disable(); /*this removes cpu . *from cpu_online_map . */ . . . . . restart_machine(); /* enables irqs */ . ------WINDOW DURING WHICH rcp->cpumask is stale --------------- . call_rcu(); . /* disables irqs here */ . .force_quiescent_state(); .CPU_DEAD: .for_each_cpu(rcp->cpumask) . . smp_send_reschedule(); . . . . WARN_ON() for offlined CPU! . . . rcu_cpu_notify: . -------- WINDOW ENDS ------------------------------------------ rcu_offline_cpu() /* Which calls cpu_quiet() * which removes * cpu from rcp->cpumask. */ If a new batch was started just before calling stop_machine_run(), the "tobe-offlined" cpu is still present in rcp-cpumask. During a cpu-offline, from take_cpu_down(), we queue an rt-prio idle task as the next task to be picked by the scheduler. We also call cpu_disable() which will disable any further interrupts and remove the cpu's bit from the cpu_online_map. Once the stop_machine_run() successfully calls take_cpu_down(), it calls schedule(). That's the last time a schedule is called on the offlined cpu, and hence the last time when rdp->passed_quiesc will be set to 1 through rcu_qsctr_inc(). But the cpu_quiet() will be on this cpu will be called only when the next RCU_SOFTIRQ occurs on this CPU. So at this time, the offlined CPU is still set in rcp->cpumask. Now coming back to the idle_task which truely offlines the CPU, it does check for a pending RCU and raises the softirq, since it will find rdp->passed_quiesc to be 0 in this case. However, since the cpu is offline I am not sure if the softirq will trigger on the CPU. Even if it doesn't the rcu_offline_cpu() will find that rcp->completed is not the same as rcp->cur, which means that our cpu could be holding up the grace period progression. Hence we call cpu_quiet() and move ahead. But because of the window explained in the timeline, we could still have a call_rcu() before the RCU subsystem executes it's CPU_DEAD notification, and we send smp_send_reschedule() to offlined cpu while trying to force the quiescent states. The appended patch adds comments and prevents checking for offlined cpu everytime. cpu_online_map is updated by the _cpu_down() using stop_machine_run(). Since force_quiescent_state is invoked from irqs disabled section, stop_machine_run() won't be executing while a cpu is executing force_quiescent_state(). Hence the cpu_online_map is stable while we're in the irq disabled section. Reported-by: Dhaval Giani Signed-off-by: Gautham R Shenoy Acked-by: Dhaval Giani Cc: Dipankar Sarma Cc: laijs@cn.fujitsu.com Cc: Peter Zijlstra Cc: Rusty Russel Cc: "Paul E. McKenney" Signed-off-by: Ingo Molnar commit 18ce3751ccd488c78d3827e9f6bf54e6322676fb Author: Jens Axboe Date: Tue Jul 1 09:07:34 2008 +0200 Properly notify block layer of sync writes fsync_buffers_list() and sync_dirty_buffer() both issue async writes and then immediately wait on them. Conceptually, that makes them sync writes and we should treat them as such so that the IO schedulers can handle them appropriately. This patch fixes a write starvation issue that Lin Ming reported, where xx is stuck for more than 2 minutes because of a large number of synchronous IO in the system: INFO: task kjournald:20558 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. kjournald D ffff810010820978 6712 20558 2 ffff81022ddb1d10 0000000000000046 ffff81022e7baa10 ffffffff803ba6f2 ffff81022ecd0000 ffff8101e6dc9160 ffff81022ecd0348 000000008048b6cb 0000000000000086 ffff81022c4e8d30 0000000000000000 ffffffff80247537 Call Trace: [] kobject_get+0x12/0x17 [] getnstimeofday+0x2f/0x83 [] sync_buffer+0x0/0x3f [] io_schedule+0x5d/0x9f [] sync_buffer+0x3b/0x3f [] __wait_on_bit+0x40/0x6f [] sync_buffer+0x0/0x3f [] out_of_line_wait_on_bit+0x6c/0x78 [] wake_bit_function+0x0/0x23 [] sync_dirty_buffer+0x98/0xcb [] journal_commit_transaction+0x97d/0xcb6 [] lock_timer_base+0x26/0x4b [] kjournald+0xc1/0x1fb [] autoremove_wake_function+0x0/0x2e [] kjournald+0x0/0x1fb [] kthread+0x47/0x74 [] schedule_tail+0x28/0x5d [] child_rip+0xa/0x12 [] kthread+0x0/0x74 [] child_rip+0x0/0x12 Lin Ming confirms that this patch fixes the issue. I've run tests with it for the past week and no ill effects have been observed, so I'm proposing it for inclusion into 2.6.26. Signed-off-by: Jens Axboe commit d585d0b9d73ed999cc7b8cf3cac4a5b01abb544e Author: Divyesh Shah Date: Mon Jun 16 18:37:08 2008 +0200 block: Fix the starving writes bug in the anticipatory IO scheduler AS scheduler alternates between issuing read and write batches. It does the batch switch only after all requests from the previous batch are completed. When switching to a write batch, if there is an on-going read request, it waits for its completion and indicates its intention of switching by setting ad->changed_batch and the new direction but does not update the batch_expire_time for the new write batch which it does in the case of no previous pending requests. On completion of the read request, it sees that we were waiting for the switch and schedules work for kblockd right away and resets the ad->changed_data flag. Now when kblockd enters dispatch_request where it is expected to pick up a write request, it in turn ends the write batch because the batch_expire_timer was not updated and shows the expire timestamp for the previous batch. This results in the write starvation for all the cases where there is the intention for switching to a write batch, but there is a previous in-flight read request and the batch gets reverted to a read_batch right away. This also holds true in the reverse case (switching from a write batch to a read batch with an in-flight write request). I've checked that this bug exists on 2.6.11, 2.6.18, 2.6.24 and linux-2.6-block git HEAD. I've tested the fix on x86 platforms with SCSI drives where the driver asks for the next request while a current request is in-flight. This patch is based off linux-2.6-block git HEAD. Bug reproduction: A simple scenario which reproduces this bug is: - dd if=/dev/hda3 of=/dev/null & - lilo The lilo takes forever to complete. This can also be reproduced fairly easily with the earlier dd and another test program doing msync(). The example test program below should print out a message after every iteration but it simply hangs forever. With this bugfix it makes forward progress. ==== Example test program using msync() (thanks to suleiman AT google DOT com) inline uint64_t rdtsc(void) { int64_t tsc; __asm __volatile("rdtsc" : "=A" (tsc)); return (tsc); } int main(int argc, char **argv) { struct stat st; uint64_t e, s, t; char *p, q; long i; int fd; if (argc < 2) { printf("Usage: %s \n", argv[0]); return (1); } if ((fd = open(argv[1], O_RDWR | O_NOATIME)) < 0) err(1, "open"); if (fstat(fd, &st) < 0) err(1, "fstat"); p = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); t = 0; for (i = 0; i < 1000; i++) { *p = 0; msync(p, 4096, MS_SYNC); s = rdtsc(); *p = 0; __asm __volatile(""::: "memory"); e = rdtsc(); if (argc > 2) printf("%d: %lld cycles %jd %jd\n", i, e - s, (intmax_t)s, (intmax_t)e); t += e - s; } printf("average time: %lld cycles\n", t / 1000); return (0); } Cc: Acked-by: Nick Piggin Signed-off-by: Jens Axboe commit efac41894df57d32b483ac622d03541b5b2692c0 Author: Thomas Gleixner Date: Tue Jul 1 08:56:32 2008 +0200 x86: fix NODES_SHIFT Kconfig range commit 4323838215184f5a2f081e0d17b8d60731b03164 x86: change size of node ids from u8 to s16 set the range for NODES_SHIFT to 1..15. The possible range is 1..9 Fixes Bugzilla #10726 Reported-by: Dave Jones Signed-off-by: Thomas Gleixner commit 619b0488038224391e64fa03854651ca0f5efe56 Author: Raistlin Date: Thu Jun 26 18:54:09 2008 +0200 sched: fix divide error when trying to configure rt_period to zero Here it is another little Oops we found while configuring invalid values via cgroups: echo 0 > /dev/cgroups/0/cpu.rt_period_us or echo 4294967296 > /dev/cgroups/0/cpu.rt_period_us [ 205.509825] divide error: 0000 [#1] [ 205.510151] Modules linked in: [ 205.510151] [ 205.510151] Pid: 2339, comm: bash Not tainted (2.6.26-rc8 #33) [ 205.510151] EIP: 0060:[] EFLAGS: 00000293 CPU: 0 [ 205.510151] EIP is at div64_u64+0x5f/0x70 [ 205.510151] EAX: 0000389f EBX: 00000000 ECX: 00000000 EDX: 00000000 [ 205.510151] ESI: d9800000 EDI: 00000000 EBP: c6cede60 ESP: c6cede50 [ 205.510151] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 205.510151] Process bash (pid: 2339, ti=c6cec000 task=c79be370 task.ti=c6cec000) [ 205.510151] Stack: d9800000 0000389f c05971a0 d9800000 c6cedeb4 c0214dbd 00000000 00000000 [ 205.510151] c6cede88 c0242bd8 c05377c0 c7a41b40 00000000 00000000 00000000 c05971a0 [ 205.510151] c780ed20 c7508494 c7a41b40 00000000 00000002 c6cedebc c05971a0 ffffffea [ 205.510151] Call Trace: [ 205.510151] [] ? __rt_schedulable+0x1cd/0x240 [ 205.510151] [] ? cgroup_file_open+0x18/0xe0 [ 205.510151] [] ? tg_set_bandwidth+0xa4/0xf0 [ 205.510151] [] ? sched_group_set_rt_period+0x36/0x50 [ 205.510151] [] ? cpu_rt_period_write_uint+0xe/0x10 [ 205.510151] [] ? cgroup_file_write+0x125/0x160 [ 205.510151] [] ? hrtimer_interrupt+0x155/0x190 [ 205.510151] [] ? security_file_permission+0xf/0x20 [ 205.510151] [] ? rw_verify_area+0x48/0xc0 [ 205.510151] [] ? dupfd+0x104/0x130 [ 205.510151] [] ? vfs_write+0x9c/0x160 [ 205.510151] [] ? cgroup_file_write+0x0/0x160 [ 205.510151] [] ? sys_write+0x3d/0x70 [ 205.510151] [] ? sysenter_past_esp+0x6a/0x91 [ 205.510151] ======================= [ 205.510151] Code: 0f 45 de 31 f6 0f ad d0 d3 ea f6 c1 20 0f 45 c2 0f 45 d6 89 45 f0 89 55 f4 8b 55 f4 31 c9 8b 45 f0 39 d3 89 c6 77 08 89 d0 31 d2 f3 89 c1 83 c4 08 89 f0 f7 f3 89 ca 5b 5e 5d c3 55 89 e5 56 [ 205.510151] EIP: [] div64_u64+0x5f/0x70 SS:ESP 0068:c6cede50 The attached patch solves the issue for me. I'm checking as soon as possible for the period not being zero since, if it is, going ahead is useless. This way we also save a mutex_lock() and a read_lock() wrt doing it inside tg_set_bandwidth() or __rt_schedulable(). Signed-off-by: Dario Faggioli Signed-off-by: Michael Trimarchi Signed-off-by: Ingo Molnar commit 3a677d216445dba3332a000063405de3fc135859 Author: Doug Chapman Date: Mon Jun 30 15:06:48 2008 -0700 [IA64] export account_system_vtime The symbol account_system_vtime is used by the kvm module but not exported. This breaks building with CONFIG_VIRT_CPU_ACCOUNTING and CONFIG_KVM=m. Signed-off-by: Doug Chapman Acked-by: Hidetosho Seto Signed-off-by: Tony Luck commit dd4f0888f8b42a97c93a66617a4f9acaff3089d6 Author: Tony Luck Date: Mon Jun 30 15:03:14 2008 -0700 [IA64] Bugfix for system with 32 cpus On a system where there are no hot pluggable cpus "additional_cpus" is still set to -1 at the point where we call per_cpu_scan_finalize(). If we didn't find an SRAT table and so pick the default "32" for the number of cpus, when we get to: high_cpu = min(high_cpu + reserve_cpus, NR_CPUS); we will end up initializing for just 31 cpus ... and so we will die horribly when bringing up cpu#32. Problem introduced by: 2c6e6db41f01b6b4eb98809350827c9678996698 "Minimize per_cpu reservations." Acked-by: Robin Holt Signed-off-by: Tony Luck commit c0efd232929c2cd87238de2cccdaf4e845be5b0c Author: Laurent Pinchart Date: Mon Jun 30 15:04:50 2008 -0300 V4L/DVB (8145a): USB Video Class driver This driver supports video input devices compliant with the USB Video Class specification. This means lots of currently manufactured webcams, and probably most of the future ones. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 2a64cc4b793f8a84969401afe5a28bd08bc20c9b Merge: aebb6a8... 23976ef... Author: David S. Miller Date: Mon Jun 30 13:18:53 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 23976efedd5ecb420b87455787c537eb4aed1981 Author: Emmanuel Grumbach Date: Sat Jun 28 02:50:13 2008 +0300 mac80211: don't accept WEP keys other than WEP40 and WEP104 This patch makes mac80211 refuse a WEP key whose length is not WEP40 nor WEP104. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1bcca3c463e4930cef9986b05165bb0b3eb46f63 Author: Pavel Roskin Date: Fri Jun 27 16:19:58 2008 -0400 hostap: fix sparse warnings Rewrite AID calculation in handle_pspoll() to avoid truncating bits. Make hostap_80211_header_parse() static, don't export it. Avoid shadowing variables. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 15ea0ebc5b7305cc75189cb6b7924d0db5278e0c Author: Pavel Roskin Date: Fri Jun 27 16:19:52 2008 -0400 hostap: don't report useless WDS frames by default DEBUG_EXTRA is reported to the kernel log by default, but DEBUG_EXTRA2 is not. Unrelated WDS frames pollute the log unnecessarily. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit aebb6a849cfe7d89bcacaaecc20a480dfc1180e7 Author: Joonwoo Park Date: Mon Jun 30 12:42:23 2008 -0700 textsearch: fix Boyer-Moore text search bug The current logic has a bug which cannot find matching pattern, if the pattern is matched from the first character of target string. for example: pattern=abc, string=abcdefg pattern=a, string=abcdefg Searching algorithm should return 0 for those things. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 84ebe1cdae56707b9aa1b40ae5aa7d817ba745f5 Author: Jozsef Kadlecsik Date: Mon Jun 30 12:41:30 2008 -0700 netfilter: nf_conntrack_tcp: fixing to check the lower bound of valid ACK Lost connections was reported by Thomas Bätzler (running 2.6.25 kernel) on the netfilter mailing list (see the thread "Weird nat/conntrack Problem with PASV FTP upload"). He provided tcpdump recordings which helped to find a long lingering bug in conntrack. In TCP connection tracking, checking the lower bound of valid ACK could lead to mark valid packets as INVALID because: - We have got a "higher or equal" inequality, but the test checked the "higher" condition only; fixed. - If the packet contains a SACK option, it could occur that the ACK value was before the left edge of our (S)ACK "window": if a previous packet from the other party intersected the right edge of the window of the receiver, we could move forward the window parameters beyond accepting a valid ack. Therefore in this patch we check the rightmost SACK edge instead of the ACK value in the lower bound of valid (S)ACK test. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4283e1babe167e0ba856bb5d039465358e90785c Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 30 20:14:45 2008 +0200 ide: fix /proc/ide/ide?/mate reporting Now that we support warm-plug mate port will be registered even if there are no devices attached to it. Signed-off-by: Bartlomiej Zolnierkiewicz commit a529b59060862b36a4dae968534e090c6c77272e Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 30 20:13:31 2008 +0200 Revert "BAST: Remove old IDE driver" This reverts commit ac1623625c5818bbdf5c68973098ba386ba7a004. It was premature to remove it now, we will do it post-2.6.26. Thanks to Russell King for noticing the issue. Signed-off-by: Bartlomiej Zolnierkiewicz commit 08383ef29faa7fa247962e6b8662c8683e34da01 Author: Catalin Marinas Date: Fri Jun 27 15:15:12 2008 +0100 [ARM] 5131/1: Annotate platform_secondary_init with trace_hardirqs_off This patch annotates the platform_secondary_init function in arch/arm/mach-realview/platsmp.c with trace_hardirqs_off to avoid a warning when LOCKDEP and TRACE_IRQFLAGS are enabled. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit e1441b9a41c33aa9236008a7cfe49a8e723fb397 Merge: 70c8505... 656acd2... Author: Linus Torvalds Date: Mon Jun 30 08:58:09 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: fix locking in force-feedback core Input: add KEY_MEDIA_REPEAT definition commit 70c85057e0bde35eb56352a293ecb5d1641a0334 Merge: e6100f2... d7ee560... Author: Linus Torvalds Date: Mon Jun 30 08:57:43 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debugobjects: fix lockdep warning commit e6100f23375c0c71ce595d04551fa6553b611918 Merge: bbad5d4... 79c5379... Author: Linus Torvalds Date: Mon Jun 30 08:57:19 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix cpu hotplug commit bbad5d4750ab3b44a196f9bdd982972e41b7e520 Merge: 1702b52... 11dbc96... Author: Linus Torvalds Date: Mon Jun 30 08:56:57 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ptrace GET/SET FPXREGS broken x86: fix cpu hotplug crash x86: section/warning fixes x86: shift bits the right way in native_read_tscp commit 656acd2bbc4ce7f224de499ee255698701396c48 Author: Dmitry Torokhov Date: Thu Jun 26 11:30:02 2008 -0400 Input: fix locking in force-feedback core The newly added event_lock spinlock in the input core disallows sleeping and therefore using mutexes in event handlers. Convert force-feedback core to rely on event_lock instead of mutex to protect slots allocated for fore-feedback effects. The original mutex is still used to serialize uploading and erasing of effects. Reported-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 4bbff7e408a54cce88d26191191e8bcda2a60d55 Author: Bastien Nocera Date: Thu Jun 26 09:13:48 2008 -0400 Input: add KEY_MEDIA_REPEAT definition This patch adds the Repeat key to the input layer. The usage in the HUT is 0xBC (listed under "15.7 Transport Controls"). Signed-off-by: Dmitry Torokhov commit 11dbc963a8f6128595d0f6ecf138dc369e144997 Author: TAKADA Yoshihito Date: Mon Jun 30 13:44:45 2008 +0900 ptrace GET/SET FPXREGS broken When I update kernel 2.6.25 from 2.6.24, gdb does not work. On 2.6.25, ptrace(PTRACE_GETFPXREGS, ...) returns ENODEV. But 2.6.24 kernel's ptrace() returns EIO. It is issue of compatibility. I attached test program as pt.c and patch for fix it. #include #include #include #include #include #include #include struct user_fxsr_struct { unsigned short cwd; unsigned short swd; unsigned short twd; unsigned short fop; long fip; long fcs; long foo; long fos; long mxcsr; long reserved; long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ long padding[56]; }; int main(void) { pid_t pid; pid = fork(); switch(pid){ case -1:/* error */ break; case 0:/* child */ child(); break; default: parent(pid); break; } return 0; } int child(void) { ptrace(PTRACE_TRACEME); kill(getpid(), SIGSTOP); sleep(10); return 0; } int parent(pid_t pid) { int ret; struct user_fxsr_struct fpxregs; ret = ptrace(PTRACE_GETFPXREGS, pid, 0, &fpxregs); if(ret < 0){ printf("%d: %s.\n", errno, strerror(errno)); } kill(pid, SIGCONT); wait(pid); return 0; } /* in the kerel, at kernel/i387.c get_fpxregs() */ Signed-off-by: Ingo Molnar commit fcb43042ef55d2f46b0efa5d7746967cef38f056 Author: Zhang, Yanmin Date: Tue Jun 24 16:06:23 2008 +0800 x86: fix cpu hotplug crash Vegard Nossum reported crashes during cpu hotplug tests: http://marc.info/?l=linux-kernel&m=121413950227884&w=4 In function _cpu_up, the panic happens when calling __raw_notifier_call_chain at the second time. Kernel doesn't panic when calling it at the first time. If just say because of nr_cpu_ids, that's not right. By checking the source code, I found that function do_boot_cpu is the culprit. Consider below call chain: _cpu_up=>__cpu_up=>smp_ops.cpu_up=>native_cpu_up=>do_boot_cpu. So do_boot_cpu is called in the end. In do_boot_cpu, if boot_error==true, cpu_clear(cpu, cpu_possible_map) is executed. So later on, when _cpu_up calls __raw_notifier_call_chain at the second time to report CPU_UP_CANCELED, because this cpu is already cleared from cpu_possible_map, get_cpu_sysdev returns NULL. Many resources are related to cpu_possible_map, so it's better not to change it. Below patch against 2.6.26-rc7 fixes it by removing the bit clearing in cpu_possible_map. Signed-off-by: Zhang Yanmin Tested-by: Vegard Nossum Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 1702b52092e9a6d05398d3f9581ddc050ef00d06 Merge: 0acbbee... a178987... Author: Linus Torvalds Date: Sun Jun 29 12:22:55 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (42 commits) V4L/DVB (8108): Fix open/close race in saa7134 V4L/DVB (8100): V4L/vivi: fix possible memory leak in vivi_fillbuff V4L/DVB (8097): xc5000: check device hardware state to determine if firmware download is needed V4L/DVB (8096): au8522: prevent false-positive lock status V4L/DVB (8092): videodev: simplify and fix standard enumeration V4L/DVB (8075): stv0299: Uncorrected block count and bit error rate fixed V4L/DVB (8074): av7110: OSD transfers should not be interrupted V4L/DVB (8073): av7110: Catch another type of ARM crash V4L/DVB (8071): tda10023: Fix possible kernel oops during initialisation V4L/DVB (8069): cx18: Fix S-Video and Compsite inputs for the Yuan MPC718 and enable card entry V4L/DVB (8068): cx18: Add I2C slave reset via GPIO upon initialization V4L/DVB (8067): cx18: Fix firmware load for case when digital capture happens first V4L/DVB (8066): cx18: Fix audio mux input definitions for HVR-1600 Line In 2 and FM radio V4L/DVB (8063): cx18: Fix unintended auto configurations in cx18-av-core V4L/DVB (8061): cx18: only select tuner / frontend modules if !DVB_FE_CUSTOMISE V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506 V4L/DVB (8044): au8522: tuning optimizations V4L/DVB (8043): au0828: add support for additional USB device id's V4L/DVB (8042): DVB-USB UMT-010 channel scan oops V4L/DVB (8040): soc-camera: remove soc_camera_host_class class ... commit 0acbbee440fadf45164cc9537ee7d528d045f2d6 Merge: 535e49f... c4e6a2e... Author: Linus Torvalds Date: Sun Jun 29 12:22:30 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled. ACPI: don't walk tables if ACPI was disabled thermal: Create CONFIG_THERMAL_HWMON=n commit 535e49f48e2fc95a6de8efb366ca8af35d424642 Merge: 0b20715... b660398... Author: Linus Torvalds Date: Sun Jun 29 12:21:02 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix a.out.h export to userspace with O= build. commit 0b20715f3f83141ab5a2bb14b844b7c3c8bcf1aa Merge: 7476064... 0e3e2ea... Author: Linus Torvalds Date: Sun Jun 29 12:20:11 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-sbp2: fix parsing of logical unit directories commit 747606464bc1eb1a2c3588b3b06ef7538f12deac Merge: f72e9df... 19fd426... Author: Linus Torvalds Date: Sun Jun 29 12:19:02 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix regression in UDF anchor block detection commit f72e9df0e04c0ea7b5c97e6db5b114234bf3c36f Author: Eduard - Gabriel Munteanu Date: Thu Jun 26 10:54:34 2008 +0300 Fix and clean top .gitignore Removed vmlinux* rule because it matches too many useful files, replacing it with rules matching filetype by filename (e.g. *.gz). Also unignored .mailmap from the top directory. Added a comment telling the user how to check for tracked files being ignored. Signed-off-by: Eduard - Gabriel Munteanu Signed-off-by: Linus Torvalds commit db6c24fdf19bd7ee25c86ddd8021ec648b76d5ae Merge: a4480ac... 8d0a600... Author: Linus Torvalds Date: Sun Jun 29 12:16:07 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin arch: fix up section mismatch warning Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock debugging enabled commit a4480ac4f966384f9d2db98bffec223e4eaf6150 Merge: 4f46acc... d8de724... Author: Linus Torvalds Date: Sun Jun 29 12:15:10 2008 -0700 Merge branch 'audit.b52' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b52' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] remove useless argument type in audit_filter_user() [PATCH] audit: fix kernel-doc parameter notation [PATCH] kernel/audit.c: nlh->nlmsg_type is gotten more than once commit 4f46accee45d74a408e417c04c0ed1543a7c51e9 Merge: 543cf4c... cdd16d0... Author: Linus Torvalds Date: Sun Jun 29 12:14:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [patch 2/3] vfs: dcache cleanups [patch 1/3] vfs: dcache sparse fixes [patch 3/3] vfs: make d_path() consistent across mount operations [patch 4/4] flock: remove unused fields from file_lock_operations [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink [patch 2/4] fs: make struct file arg to d_path const [patch 1/4] vfs: path_{get,put}() cleanups [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens() [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec == UTIME_OMIT or UTIME_NOW [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for immutable and append-only files [PATCH] fix cgroup-inflicted breakage in block_dev.c commit 79c537998d143b127c8c662a403c3356cb885f1c Author: Dmitry Adamushko Date: Sun Jun 29 00:16:56 2008 +0200 sched: fix cpu hotplug the CPU hotplug problems (crashes under high-volume unplug+replug tests) seem to be related to migrate_dead_tasks(). Firstly I added traces to see all tasks being migrated with migrate_live_tasks() and migrate_dead_tasks(). On my setup the problem pops up (the one with "se == NULL" in the loop of pick_next_task_fair()) shortly after the traces indicate that some has been migrated with migrate_dead_tasks()). btw., I can reproduce it much faster now with just a plain cpu down/up loop. [disclaimer] Well, unless I'm really missing something important in this late hour [/desclaimer] pick_next_task() is not something appropriate for migrate_dead_tasks() :-) the following change seems to eliminate the problem on my setup (although, I kept it running only for a few minutes to get a few messages indicating migrate_dead_tasks() does move tasks and the system is still ok) Signed-off-by: Ingo Molnar commit d420895efb259a78dda50f95289571faa6e10e41 Author: YOSHIFUJI Hideaki Date: Fri Jun 27 20:14:54 2008 -0700 ipv6 route: Convert rt6_device_match() to use RT6_LOOKUP_F_xxx flags. The commit 77d16f450ae0452d7d4b009f78debb1294fb435c ("[IPV6] ROUTE: Unify RT6_F_xxx and RT6_SELECT_F_xxx flags") intended to pass various routing lookup hints around RT6_LOOKUP_F_xxx flags, but conversion was missing for rt6_device_match(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 59d88c00cafe5192b058abf4f3ce17c2e27d1c09 Author: Paul Moore Date: Fri Jun 27 20:12:32 2008 -0700 netlabel: Fix a problem when dumping the default IPv6 static labels There is a missing "!" in a conditional statement which is causing entries to be skipped when dumping the default IPv6 static label entries. This can be demonstrated by running the following: # netlabelctl unlbl add default address:::1 \ label:system_u:object_r:unlabeled_t:s0 # netlabelctl -p unlbl list ... you will notice that the entry for the IPv6 localhost address is not displayed but does exist (works correctly, causes collisions when attempting to add duplicate entries, etc.). Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 251a4b320f2352598f84e4452ab538aa8064af52 Author: Eli Cohen Date: Fri Jun 27 20:09:00 2008 -0700 net/inet_lro: remove setting skb->ip_summed when not LRO-able When an SKB cannot be chained to a session, the current code attempts to "restore" its ip_summed field from lro_mgr->ip_summed. However, lro_mgr->ip_summed does not hold the original value; in fact, we'd better not touch skb->ip_summed since it is not modified by the code in the path leading to a failure to chain it. Also use a cleaer comment to the describe the ip_summed field of struct net_lro_mgr. Issue raised by Or Gerlitz Signed-off-by: Eli Cohen Signed-off-by: David S. Miller commit 9a375803feaadb6c34e0807bd9325885dcca5c00 Author: Pavel Emelyanov Date: Fri Jun 27 20:06:08 2008 -0700 inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild The problem is that while we work w/o the inet_frags.lock even read-locked the secret rebuild timer may occur (on another CPU, since BHs are still disabled in the inet_frag_find) and change the rnd seed for ipv4/6 fragments. It was caused by my patch fd9e63544cac30a34c951f0ec958038f0529e244 ([INET]: Omit double hash calculations in xxx_frag_intern) late in the 2.6.24 kernel, so this should probably be queued to -stable. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a0a61a604c60c14accc3962ecfeee9acc7a3c08a Author: Li Zefan Date: Fri Jun 27 20:03:24 2008 -0700 CONNECTOR: add a proc entry to list connectors I got a problem when I wanted to check if the kernel supports process event connector, and It seems there's no way to do this check. At best I can check if the kernel supports connector or not, by looking into /proc/net/netlink, or maybe checking the return value of bind() to see if it's ENOENT. So it would be useful to add /proc/net/connector to list all supported connectors: # cat /proc/net/connector Name ID connector 4294967295:4294967295 cn_proc 1:1 w1 3:1 Changelog: - fix memory leak: s/seq_release/single_release - use spin_lock_bh instead of spin_lock_irqsave Signed-off-by: Li Zefan Acked-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 10b595aff138961b520bfed51d664fd99980f6e9 Author: Julius Volz Date: Fri Jun 27 20:02:14 2008 -0700 netlink: Fix some doc comments in net/netlink/attr.c Fix some doc comments to match function and attribute names in net/netlink/attr.c. Signed-off-by: Julius Volz Signed-off-by: David S. Miller commit 7be87351a1f6430426e88b4fcde353ab3330caff Author: Stephen Hemminger Date: Fri Jun 27 20:00:19 2008 -0700 tcp: /proc/net/tcp rto,ato values not scaled properly (v2) I found another case where we are sending information to userspace in the wrong HZ scale. This should have been fixed back in 2.5 :-( This means an ABI change but as it stands there is no way for an application like ss to get the right value. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c88e6f51c2154c7606f7e281bcca2d1a2c89d7b2 Author: Adrian Bunk Date: Fri Jun 27 19:54:54 2008 -0700 include/linux/netdevice.h: don't export MAX_HEADER to userspace Due to the CONFIG_'s the value is anyway not correct in userspace. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit ede16af4cdbd21fa15d4178beb7c6fcbcccd07e9 Author: Adrian Bunk Date: Fri Jun 27 19:54:05 2008 -0700 pkt_sched: Remove CONFIG_NET_SCH_RR Commit d62733c8e437fdb58325617c4b3331769ba82d70 ([SCHED]: Qdisc changes and sch_rr added for multiqueue) added a NET_SCH_RR option that was unused since the code went unconditionally into sch_prio. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 01e123d79a23000f85c4cfb12a957908c0b2c3d8 Author: WANG Cong Date: Fri Jun 27 19:51:35 2008 -0700 pkt_sched: ERR_PTR() ususally encodes an negative errno, not positive. Note, in the following patch, 'err' is initialized as: int err = -ENOBUFS; Signed-off-by: WANG Cong Signed-off-by: David S. Miller commit 5dbaec5dc6a4895db8bf9765a867418481ed7311 Author: Wang Chen Date: Fri Jun 27 19:35:16 2008 -0700 netdevice: Fix typo of dev_unicast_add() comment Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit ec0d215f9420564fc8286dcf93d2d068bb53a07e Author: Rainer Weikusat Date: Fri Jun 27 19:34:18 2008 -0700 af_unix: fix 'poll for write'/connected DGRAM sockets For n:1 'datagram connections' (eg /dev/log), the unix_dgram_sendmsg routine implements a form of receiver-imposed flow control by comparing the length of the receive queue of the 'peer socket' with the max_ack_backlog value stored in the corresponding sock structure, either blocking the thread which caused the send-routine to be called or returning EAGAIN. This routine is used by both SOCK_DGRAM and SOCK_SEQPACKET sockets. The poll-implementation for these socket types is datagram_poll from core/datagram.c. A socket is deemed to be writeable by this routine when the memory presently consumed by datagrams owned by it is less than the configured socket send buffer size. This is always wrong for PF_UNIX non-stream sockets connected to server sockets dealing with (potentially) multiple clients if the abovementioned receive queue is currently considered to be full. 'poll' will then return, indicating that the socket is writeable, but a subsequent write result in EAGAIN, effectively causing an (usual) application to 'poll for writeability by repeated send request with O_NONBLOCK set' until it has consumed its time quantum. The change below uses a suitably modified variant of the datagram_poll routines for both type of PF_UNIX sockets, which tests if the recv-queue of the peer a socket is connected to is presently considered to be 'full' as part of the 'is this socket writeable'-checking code. The socket being polled is additionally put onto the peer_wait wait queue associated with its peer, because the unix_dgram_recvmsg routine does a wake up on this queue after a datagram was received and the 'other wakeup call' is done implicitly as part of skb destruction, meaning, a process blocked in poll because of a full peer receive queue could otherwise sleep forever if no datagram owned by its socket was already sitting on this queue. Among this change is a small (inline) helper routine named 'unix_recvq_full', which consolidates the actual testing code (in three different places) into a single location. Signed-off-by: Rainer Weikusat Signed-off-by: David S. Miller commit db43a282d3ec92ea45109c5551fff3dcc5afef02 Author: Octavian Purdila Date: Fri Jun 27 17:27:21 2008 -0700 tcp: fix for splice receive when used with software LRO If an skb has nr_frags set to zero but its frag_list is not empty (as it can happen if software LRO is enabled), and a previous tcp_read_sock has consumed the linear part of the skb, then __skb_splice_bits: (a) incorrectly reports an error and (b) forgets to update the offset to account for the linear part Any of the two problems will cause the subsequent __skb_splice_bits call (the one that handles the frag_list skbs) to either skip data, or, if the unadjusted offset is greater then the size of the next skb in the frag_list, make tcp_splice_read loop forever. Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 57413ebc4e0f1e471a3b4db4aff9a85c083d090e Author: Miquel van Smoorenburg Date: Fri Jun 27 17:23:57 2008 -0700 tcp: calculate tcp_mem based on low memory instead of all memory The tcp_mem array which contains limits on the total amount of memory used by TCP sockets is calculated based on nr_all_pages. On a 32 bits x86 system, we should base this on the number of lowmem pages. Signed-off-by: Miquel van Smoorenburg Signed-off-by: David S. Miller commit 479798211967cd828e09ce27775b8cbfe99462ab Author: Andre Haupt Date: Fri Jun 27 17:22:08 2008 -0700 hamradio: remove unused variable Signed-off-by: Andre Haupt Signed-off-by: David S. Miller commit 9bbbca3a0ee09293108b67835c6bdf6196d7bcb3 Author: Neil Brown Date: Sat Jun 28 08:31:17 2008 +1000 Fix error paths if md_probe fails. md_probe can fail (e.g. alloc_disk could fail) without returning an error (as it alway returns NULL). So when we call mddev_find immediately afterwards, we need to check that md_probe actually succeeded. This means checking that mdev->gendisk is non-NULL. cc: Cc: Dave Jones Signed-off-by: Neil Brown commit efe311431869b40d67911820a309f9a1a41306f3 Author: Neil Brown Date: Sat Jun 28 08:31:14 2008 +1000 Don't acknowlege that stripe-expand is complete until it really is. We shouldn't acknowledge that a stripe has been expanded (When reshaping a raid5 by adding a device) until the moved data has actually been written out. However we are currently acknowledging (by calling md_done_sync) when the POST_XOR is complete and before the write. So track in s.locked whether there are pending writes, and don't call md_done_sync yet if there are. Note: we all set R5_LOCKED on devices which are are about to read from. This probably isn't technically necessary, but is usually done when writing a block, and justifies the use of s.locked here. This bug can lead to a crash if an array is stopped while an reshape is in progress. Cc: Signed-off-by: Neil Brown commit 8c2e870a625bd336b2e7a65a97c1836acef07322 Author: Neil Brown Date: Sat Jun 28 08:30:52 2008 +1000 Ensure interrupted recovery completed properly (v1 metadata plus bitmap) If, while assembling an array, we find a device which is not fully in-sync with the array, it is important to set the "fullsync" flags. This is an exact analog to the setting of this flag in hot_add_disk methods. Currently, only v1.x metadata supports having devices in an array which are not fully in-sync (it keep track of how in sync they are). The 'fullsync' flag only makes a difference when a write-intent bitmap is being used. In this case it tells recovery to ignore the bitmap and recovery all blocks. This fix is already in place for raid1, but not raid5/6 or raid10. So without this fix, a raid1 ir raid4/5/6 array with version 1.x metadata and a write intent bitmaps, that is stopped in the middle of a recovery, will appear to complete the recovery instantly after it is reassembled, but the recovery will not be correct. If you might have an array like that, issueing echo repair > /sys/block/mdXX/md/sync_action will make sure recovery completes properly. Cc: Signed-off-by: Neil Brown commit b660398101cd0622325480a67ac88bb4d33d553a Author: David Woodhouse Date: Fri Jun 27 14:39:42 2008 +0100 kbuild: fix a.out.h export to userspace with O= build. We need to check for existence of the a.out.h header in the source tree, not the object tree, if we want it to get the right answer with O=. Signed-off-by: David Woodhouse Signed-off-by: Sam Ravnborg commit 0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554 Author: Richard Sharpe Date: Tue Jun 24 19:11:13 2008 -0700 firewire: fw-sbp2: fix parsing of logical unit directories There is a small off-by-one bug in firewire-sbp2. This causes problems when a device exports multiple LUN Directories. I found it when trying to talk to a SONY DVD Jukebox. Signed-off-by: Richard Sharpe Acked-by: Kristian Høgsberg Signed-off-by: Stefan Richter (op. order, changelog) commit 00eb7fe77eb455f807c396f9917f0f623d4c84bb Author: Emmanuel Grumbach Date: Thu Jun 26 12:13:46 2008 +0300 mac80211: fix an oops in several failure paths in key allocation This patch fixes an oops in several failure paths in key allocation. This Oops occurs when freeing a key that has not been linked yet, so the key->sdata is not set. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5f4a6fae46a214c4dce3bd63a6219a5f1c818c78 Author: Harvey Harrison Date: Wed Jun 25 14:20:37 2008 -0700 prism: islpci_eth.c endianness fix clock is already cpu-endian (see le32_to_cpu slightly before), so le64_to_cpu doesn't make much sense. Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 980dfcb93232907034a2c92d62d3a7d6ac7bef44 Author: Ivo van Doorn Date: Wed Jun 25 21:27:00 2008 +0200 rt2x00: Fix lock dependency errror This fixes a circular locking dependency in the workqueue handling. The interface work task uses the mac80211 function ieee80211_iterate_active_interfaces() which grabs the RTNL lock. However when the interface is brough down, this happens under the RTNL lock as well, this causes problems because mac80211 will flush the workqueue during the ifdown event. This causes mac80211 to wait until the driver has completed all work which can't finish because it is waiting on the RTNL lock. This is fixed by moving rt2x00 workqueue tasks on a different workqueue, this workqueue can be flushed when the ieee80211_hw structure is removed by the driver (when the driver is unloaded) which does not happen under the RTNL lock. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7ac3b02536c9ccfcc8aabc4c135a371ac4641805 Merge: 3e3cda9... 66b5004... Author: David S. Miller Date: Fri Jun 27 04:26:58 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit d7ee56059b335e27c3c6db34f7efe5a705d65b1c Merge: 1b7558e... 50db04d... Author: Ingo Molnar Date: Fri Jun 27 10:36:21 2008 +0200 Merge branch 'core/debugobjects' into core/urgent commit 70a3143af87c6ca188107cbd49ab5eec2c86c456 Author: Tejun Heo Date: Sat Jun 21 16:07:32 2008 +0900 sata_uli: hardreset is broken sata_uli can't do hardresets reliably and lock up. This went unnoticed till now as softreset was the default and hardreset was only used after softreset failed. Reported by Christian Casteyde in bz#10860. Signed-off-by: Tejun Heo Cc: Christian Casteyde Signed-off-by: Jeff Garzik commit 3e3cda96d014b69f7723d1d4507897e5be6aceb7 Author: Ben Hutchings Date: Tue May 6 19:41:48 2008 +0100 Hold RTNL while calling dev_close() dev_close() must be called holding the RTNL. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit c81ec80bc86f4eacd5f48229c1de623865acbb92 Author: Ben Hutchings Date: Tue May 6 19:36:26 2008 +0100 qla3xxx: Hold RTNL while calling dev_close() dev_close() must be called holding the RTNL. Compile-tested only. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 64c42f697661e27c9688a32c1ba61d0228e81d84 Author: Andi Kleen Date: Wed Jun 18 13:58:36 2008 +0200 [netdrvr] Fix IOMMU overflow checking in s2io.c s2io has IOMMU overflow checking, but unfortunately it is wrong. It didn't use the standard macros, which meant that it only worked on POWER and SPARC because only those define DMA_ERROR_CODE. Convert it to use the standard macros instead. I also commented two more bugs in the IOMMU handling. It assumes that 0 DMA addresses cannot happen, but that's not true in all IOMMU setups. The information if a buffer has been already mapped needs to be stored elsewhere. Didn't fix those because it needs careful checking of the buffer handling by the maintainers. Cc: ram.vepa@neterion.com Cc: santosh.rastapur@neterion.com Cc: sivakumar.subramani@neterion.com Cc: sreenivasa.honnur@neterion.com Signed-off-by: Andi Kleen Signed-off-by: Jeff Garzik commit 581abbc26a7adb693fb8b913f1be18d1c349c1ab Author: Andy Gospodarek Date: Thu Jun 19 17:19:02 2008 -0400 e1000: only enable TSO6 via ethtool when using correct hardware When enabling TSO via ethool on e1000, it is possible to set NETIF_F_TSO6 on hardware that does not support it. Setting TSO via ethtool now matches the settings used when the hardware is probed. Signed-off-by: Andy Gospodarek Signed-off-by: Jeff Garzik commit 1923815d855e1daec931fc9f2221fb73ca708870 Author: Kevin Hao Date: Sat Jun 21 18:20:35 2008 +0800 e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx The E100 device can't work on current kernel (2.6.26-rc6) and will cause kernel corruption on intel ixdp4xx. Signed-off-by: Jeff Garzik commit 70081ac55df939363b27c1ebd27c51f510129139 Author: Al Viro Date: Mon Jun 23 02:04:50 2008 +0100 [netdrvr] netxen: fix netxen_pci_tbl[] breakage PCI_DEVICE_CLASS sets .device and .vendor to PCI_ANY_DEV, which overrides the effect of preceding PCI_DEVICE() and makes all elements of netxen_pci_tbl[] identical. Introduced in the commit dcd56fdbaeae1008044687b973c4a3e852e8a726. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c5643cab7bf663ae049b11be43de8819683176dd Author: Ingo Molnar Date: Mon Jun 23 10:41:23 2008 +0200 [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable Original Author: Michael Buesch net, vortex: fix lockup Ingo Molnar reported: -tip testing found that Johannes Berg's "softirq: remove irqs_disabled warning from local_bh_enable" enhancement to lockdep triggers a new warning on an old testbox that uses 3c59x vortex and netlogging: -----> calling vortex_init+0x0/0xb0 PCI: Found IRQ 10 for device 0000:00:0b.0 PCI: Sharing IRQ 10 with 0000:00:0a.0 PCI: Sharing IRQ 10 with 0000:00:0b.1 3c59x: Donald Becker and others. 0000:00:0b.0: 3Com PCI 3c556 Laptop Tornado at e0800400. PCI: Enabling bus mastering for device 0000:00:0b.0 initcall vortex_init+0x0/0xb0 returned 0 after 47 msecs ... calling init_netconsole+0x0/0x1b0 netconsole: local port 4444 netconsole: local IP 10.0.1.9 netconsole: interface eth0 netconsole: remote port 4444 netconsole: remote IP 10.0.1.16 netconsole: remote ethernet address 00:19:xx:xx:xx:xx netconsole: device eth0 not up yet, forcing it eth0: setting half-duplex. eth0: setting full-duplex. ------------[ cut here ]------------ WARNING: at kernel/softirq.c:137 local_bh_enable_ip+0xd1/0xe0() Pid: 1, comm: swapper Not tainted 2.6.26-rc6-tip #2091 [] warn_on_slowpath+0x4f/0x70 [] ? release_console_sem+0x1b4/0x1d0 [] ? vprintk+0x2a0/0x450 [] ? __mod_timer+0xa5/0xc0 [] ? mdio_sync+0x3d/0x50 [] ? marker_probe_cb+0x46/0xa0 [] ? printk+0x27/0x50 [] ? vortex_set_duplex+0x43/0xc0 [] ? vortex_set_duplex+0xa1/0xc0 [] ? vortex_timer+0xe2/0x3e0 [] local_bh_enable_ip+0xd1/0xe0 [] _spin_unlock_bh+0x2f/0x40 [] vortex_timer+0xe2/0x3e0 [] ? trace_hardirqs_on+0xb/0x10 [] ? trace_hardirqs_on_caller+0x88/0x160 [] run_timer_softirq+0x162/0x1c0 [] ? vortex_timer+0x0/0x3e0 [] local_bh_enable_ip+0xd1/0xe0 [] _spin_unlock_bh+0x2f/0x40 [] vortex_timer+0xe2/0x3e0 [] ? trace_hardirqs_on+0xb/0x10 [] ? trace_hardirqs_on_caller+0x88/0x160 [] run_timer_softirq+0x162/0x1c0 [] ? vortex_timer+0x0/0x3e0 [] ? vortex_timer+0x0/0x3e0 [] __do_softirq+0x9a/0x160 [] ? __do_softirq+0x0/0x160 [] call_on_stack+0x15/0x30 [] ? irq_exit+0x55/0x60 [] ? do_IRQ+0x85/0xd0 [] ? trace_hardirqs_on_caller+0xc1/0x160 [] ? common_interrupt+0x28/0x30 [] ? mutex_unlock+0x8/0x10 [] ? _cond_resched+0x10/0x30 [] ? netpoll_setup+0x117/0x390 [] ? init_netconsole+0x14e/0x1b0 [] ? ktime_get+0x19/0x40 [] ? kernel_init+0x1b2/0x2c0 [] ? init_netconsole+0x0/0x1b0 [] ? trace_hardirqs_on_thunk+0xc/0x10 [] ? restore_nocheck_notrace+0x0/0xe [] ? kernel_init+0x0/0x2c0 [] ? kernel_init+0x0/0x2c0 [] ? kernel_thread_helper+0x7/0x10 ======================= ---[ end trace 37f9c502aff112e0 ]--- console [netcon0] enabled netconsole: network logging started initcall init_netconsole+0x0/0x1b0 returned 0 after 2914 msecs looking at the driver I think the bug is real and the fix actually is trivial. vp->lock is also taken in hardware IRQ context, so we _have_ to always use irqsafe locking. As we run in a timer with IRQs disabled, we can simply use spin_lock. Cc: Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit e8399fed7e9f2e76eb65852612b16732129b9f3f Author: Pekka Enberg Date: Mon Jun 23 14:34:50 2008 +0300 ipg: use NULL, not zero, for pointers Fixes a sparse warning in a code block that's hidden under JUMBO_FRAME #ifdef. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit ecfecfb5e39165b3f7f6d93aacd268edfe7c3524 Author: Pekka Enberg Date: Mon Jun 23 14:34:29 2008 +0300 ipg: fix jumbo frame compilation Make jumbo frame support compile again. It was broken by the cleanup series before the merge because the code is hidden under JUMBO_FRAME #ifdef. Tested-by: Andrew Savchenko Signed-off-by: Pekka Enberg Signed-off-by: Jeff Garzik commit 3f6602ad56dc538a846367bd6a05ac7ac4d3e641 Author: Julia Lawall Date: Mon Jun 23 23:12:31 2008 +0200 drivers/net/r6040.c: Eliminate double sizeof Taking sizeof the result of sizeof is quite strange and does not seem to be what is wanted here. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; @@ - sizeof ( sizeof (E) - ) // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit 54299ef7e9ae4b5d47b02f3abea168cdc62a6f70 Author: Komuro Date: Sat Jun 7 21:37:56 2008 +0900 pcnet_cs, axnet_cs: clear bogus interrupt before request_irq Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 52cc30862a8f90c98be8eb527d00e5e06d398b22 Author: Jeff Kirsher Date: Tue Jun 24 17:01:29 2008 -0700 e1000e: fix EEH recovery during reset on PPC EEH is not recovering in a reasonable amount of time on PPC during e1000e_down(). Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit 3023682e74bc17debc6aa5e234ae1d0b0e198719 Author: Jeff Kirsher Date: Tue Jun 24 17:01:15 2008 -0700 igb: fix EEH recovery during reset on PPC EEH is not recovering in a reasonable amount of time on PPC during igb_down(). Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit 6f4a0e45c6392f84436004d4c04d31b8ff5071c5 Author: Paul Larson Date: Tue Jun 24 17:00:56 2008 -0700 ixgbe: fix EEH recovery during reset on PPC EEh is not recovering in a resonable amount of time on PPC during ixgbe_down(). Signed-off-by: Paul Larson Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit ccc57aac9c9532b4540968632a8c4a0b946dbcc4 Author: Atsushi Nemoto Date: Thu Jun 26 17:14:15 2008 +0900 tc35815: Fix receiver hangup on Rx FIFO overflow On Rx FIFO overflow error, the controller consume a buffer descriptor but currently the driver does not give it back to the controller. This results unrecoverable 'Buffer List Exhausted' condition. This patch fix this problem by moving a "fbl_count--" line to proper place. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 59524a37446e18a672188d86d23c8c76fd488621 Author: Atsushi Nemoto Date: Wed Jun 25 11:41:01 2008 +0900 tc35815: Mark carrier-off before starting PHY Call netif_carrier_off() before starting PHY device. This is a behavior before converting to generic PHY layer. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit f471f92339860c35b561cf45ad563ab1ff07c386 Author: Michal Schmidt Date: Thu Jun 26 16:06:19 2008 +0200 s2io: fix documentation about intr_type The documentation for intr_type module parameter of the s2io driver is not consistent with the code. The comments in drivers/net/s2io.c are OK, but Documentation/networking/s2io.txt is wrong. Pointed out by Andrew Hecox. Signed-off-by: Michal Schmidt Signed-off-by: Jeff Garzik commit a17898737eaed4ef41f273da7b830c632e06613e Author: Arjan van de Ven Date: Sun Jun 22 17:03:02 2008 -0300 V4L/DVB (8108): Fix open/close race in saa7134 The saa7134 driver uses a (non-atomic) variable in an attempt to only allow one opener of the device (how it deals with sending the fd over unix sockets I don't know). Unfortunately, the release function first decrements this variable, and THEN goes on to disable more of the device. This allows for a race where another opener of the device comes in after the decrement of the variable, configures the hardware just to then see the hardware be disabled by the rest of the release function. This patch makes the release function use the same lock as the open function to protect the hardware as well as the variable (which now at least has some locking to protect it). Signed-off-by: Arjan van de Ven Signed-off-by: Mauro Carvalho Chehab commit 5c554e6b984ce6b36488b93a7ec8e2752233e7cb Author: Marcin Slusarz Date: Sun Jun 22 09:11:40 2008 -0300 V4L/DVB (8100): V4L/vivi: fix possible memory leak in vivi_fillbuff Move allocation after first check and fix memory leak. Noticed-by: Daniel Marjamäki Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit e470d8177ed6ae56f4310ce793a57bcb2fed1749 Author: Steven Toth Date: Sat Jun 21 21:06:02 2008 -0300 V4L/DVB (8097): xc5000: check device hardware state to determine if firmware download is needed This patch ensures that the xc5000 will have firmware loaded as needed if the part is powered down or reset via gpio from the host. An example of this, in some cases, could be after the system resumes from standby or hibernate modes. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 836c28584d4629fdc85365f083b84e1298e14312 Author: Steven Toth Date: Sat Jun 21 19:32:41 2008 -0300 V4L/DVB (8096): au8522: prevent false-positive lock status This decreases scan time in Queens, New York from 28 minutes to 7 minutes, with the exact same services found. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7fa8e6fa1519194fc0c931f40d530fb55137bad9 Author: Hans Verkuil Date: Sat Jun 21 13:23:27 2008 -0300 V4L/DVB (8092): videodev: simplify and fix standard enumeration VIDIOC_ENUMSTD did not return all the PAL/SECAM/NTSC variants: it just returned one single PAL/SECAM/NTSC standard without separate entries for the trickier standards like NTSC-JP. Changed the code so that it behaves better. Also simplified the if/switch statements into a common standards lookup table. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7876ad75b1a3b7dc3d5d765d0be086d89fd2e663 Author: Oliver Endriss Date: Thu Jun 19 23:25:04 2008 -0300 V4L/DVB (8075): stv0299: Uncorrected block count and bit error rate fixed Fix uncorrected block counter and bit error rate to follow DVB API spec: - Unsupported controls return -ENOSYS. - UNC must never be set to 0. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0b915e74ac10b65da930aa430837d4338f5deb65 Author: Oliver Endriss Date: Thu Jun 19 23:10:14 2008 -0300 V4L/DVB (8074): av7110: OSD transfers should not be interrupted OSD transfers should not be interrupted. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit edabaffc7e7fccdeadac6273704102adc2b604ae Author: Oliver Endriss Date: Thu Jun 19 23:04:27 2008 -0300 V4L/DVB (8073): av7110: Catch another type of ARM crash Catch another type of ARM crash. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c9fa2b1eee9d10c2455d3cd148cf13b34d91bdef Author: Oliver Endriss Date: Thu Jun 19 22:45:55 2008 -0300 V4L/DVB (8071): tda10023: Fix possible kernel oops during initialisation If the i2c write fails during initialisation, an oops happens because state->frontend.dvb is still undefined. Fixed. Thanks to Sigmund Augdal for reporting this bug, and to Hartmut Birr for suggesting the fix. Thanks-to: Sigmund Augdal Thanks-to: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ad907fa39517ca35b46912fbfe2b77cd89e1d56a Author: Andy Walls Date: Sun Jun 22 02:00:09 2008 -0300 V4L/DVB (8069): cx18: Fix S-Video and Compsite inputs for the Yuan MPC718 and enable card entry cx18: Fix S-Video and Compsite input settings for the Yuan MPC718 per user reports from Yuri Warczynski and Brian Hope and enable the card entry. The tuner reset GPIO pin is likely incorrect as the tuner firmware cannot be reloaded without a reboot. It is likely the audio routing is done via GPIO which is not implemented yet, as users report audio doesn't work for some inputs. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1f09e8a25c9aaa4066b4593c1bf99a4cbcc38120 Author: Andy Walls Date: Sun Jun 22 01:27:00 2008 -0300 V4L/DVB (8068): cx18: Add I2C slave reset via GPIO upon initialization cx18: Add I2C slave reset via GPIO upon initialization. One user, Michael , has reported this allows his HVR-1600 EEPROM to be consistently recognized when using (long,) 100 msec delays. The delays in this commit are nominal (10 & 40 msec) and need testing/tuning on boards with I2C problems to find the right values. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 08cf7b2ed172cc83f3d2f44b712b3d54e6cc4ae6 Author: Andy Walls Date: Sun Jun 22 00:04:21 2008 -0300 V4L/DVB (8067): cx18: Fix firmware load for case when digital capture happens first This is a fix for the case when a digital capture from dvr0 happens first after modprobe, before access to any cx18 v4l2 device nodes. The initial dvb feed start has been changed to load the firmware if not already loaded. Also fixed a use counter to correct dvb feed accounting if starting the transport DMA fails. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 46195b555aa3edd265b4e765e4edff59b253b55e Author: Andy Walls Date: Thu Jun 19 23:17:05 2008 -0300 V4L/DVB (8066): cx18: Fix audio mux input definitions for HVR-1600 Line In 2 and FM radio Fix the cx18-cards.c structures for the HVR-1600 to reflect that audio Line In 2 and FM radio audio go to AIN3 and AIN4 of the CS5345 mux respectively. Verified by physical inspection of an HVR-1600MCE, by listening to FM broadcasts with the HVR-1600MCE, and by comparing with the card definition for a PVR-150 in ivtv. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 527629fb7c35ad93389ab132823d19139dd88e70 Author: Andy Walls Date: Sat Jun 14 03:58:08 2008 -0300 V4L/DVB (8063): cx18: Fix unintended auto configurations in cx18-av-core Change the cx18-av-core code so that accesses to cx23418 av core that cause auto-configuration will be adjusted to emulate the auto-configuration behavior of the cx25843. This fixes the VBI displayed as video at the top of the frame for NTSC and probably other things. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit beb31e636501f39e853ac5d0ffd3fbb910d19d5c Author: Michael Krufky Date: Tue Jun 17 17:37:51 2008 -0300 V4L/DVB (8061): cx18: only select tuner / frontend modules if !DVB_FE_CUSTOMISE The automatic Kconfig selection for tuners and frontends should be conditional, based on !DVB_FE_CUSTOMISE. This patch corrects the selection for VIDEO_CX18 on MEDIA_TUNER_MXL5005S and DVB_S5H1409 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6e501a3f4a7259b1c04aa6cbdfe64376afc9f59c Author: Tim Farrington Date: Sun Jun 15 13:33:42 2008 -0300 V4L/DVB (8048): saa7134: Fix entries for Avermedia A16d and Avermedia E506 Also, adds IR table for Avermedia A16d Signed-off-by: Tim Farrington Signed-off-by: Mauro Carvalho Chehab commit 74d50724a02d7cdc7f7887411518ec43d0251b97 Author: Michael Krufky Date: Fri Jun 13 20:33:23 2008 -0300 V4L/DVB (8044): au8522: tuning optimizations If the current modulation and frequency is already set to the desired parameters, then don't re-tune. Don't store current frequency until after we've tuned successfully. Force a re-tune after resume from standby. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 104fe9a2d2a56f25fb95800a7ab0f7600dd6879c Author: Michael Krufky Date: Fri Jun 13 03:29:43 2008 -0300 V4L/DVB (8043): au0828: add support for additional USB device id's Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3b9408870757bd9e07fd03ac6318258f22b8dfa3 Author: Austin Lund Date: Fri Jun 13 11:02:43 2008 -0300 V4L/DVB (8042): DVB-USB UMT-010 channel scan oops In the umt-010 driver the struct umt_properties sets the number of URBs for transfer to 20. But in dvb-usb.h MAX_NO_URBS_FOR_DATA_STREAM is set to 10. Not surprisingly this causes an oops for all devices which use the umt-010 chipset when they are inserted. fix on Kaffeine channel scan for Initialize stream count using MAX_NO_URBS_FOR_DATA_STREAM. Signed-off-by: Tim Gardner Signed-off-by: maximilian attems Signed-off-by: Mauro Carvalho Chehab commit 3cfdc7f25b3116d57e91427caada74dd69bfbc06 Author: Guennadi Liakhovetski Date: Fri Jun 13 09:11:01 2008 -0300 V4L/DVB (8040): soc-camera: remove soc_camera_host_class class Devices can either be class devices or bus devices, not both at the same time. Soc-camera host devices usually have a platform device as their parent. Trying to also register them with a class crashes the kernel, when linked statically. Interestingly, it works when built as a module. Thanks to Paulius Zaleckas for reporting. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 02da465945ae0a277aadf2bf37965a9e6c28f8c3 Author: Guennadi Liakhovetski Date: Fri Jun 13 09:03:45 2008 -0300 V4L/DVB (8039): pxa-camera: fix platform_get_irq() error handling. platform_get_irq() returns a negative value on error, not 0. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7ae1ac4c1db5a3647604acb00d736f17af6999b7 Author: Michael Krufky Date: Wed Jun 11 13:52:49 2008 -0300 V4L/DVB (8037): tda18271: ensure that the thermometer is off during channel configuration Having the thermometer on during channel configuration could cause tuning instability. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 51858d13612a06494beb08616f8a93bdb2688e4c Author: Michael Krufky Date: Mon Jun 9 02:03:31 2008 -0300 V4L/DVB (8036): tda18271: toggle rf agc speed mode on TDA18271HD/C2 only Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 119a7c7e34b5e5fa65051960ca05000a19dbce85 Author: Michael Krufky Date: Sun Jun 8 22:12:37 2008 -0300 V4L/DVB (8035): tda18271: dont touch EB14 if rf_cal lookup is out of range The TDA18271HD/C1 rf_cal map lookup is expected to go out of range outside of the frequency window 41 MHz - 61.1 MHz. In these cases, the internal RF tracking filters calibration mechanism is used. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 44e645c20304bbe0a72cb994d9baf4b5727d7cec Author: Michael Krufky Date: Sun Jun 8 20:10:29 2008 -0300 V4L/DVB (8034): tda18271: fix IF notch frequency handling The IF notch bit gets unset when we update the Main Post Div register value, before we have a chance to write the desired IF notch setting to the tuner. Move the IF notch configuration to after we update MPD. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e7830b50b20fcc25f21f79b7734102284d7c8f9 Author: Mauro Carvalho Chehab Date: Sat Jun 14 11:27:34 2008 -0300 V4L/DVB (8029): Improve error message at tda1004x_attach When an error occurs at firmware loading, sometimes, tda1004x stops answering. Instead of reporting such error, attach code were assuming that the device were answering an invalid ID (0xff). This can be seen when enabling debug options: tda1004x: tda1004x_read_byte: reg=0x0 tda1004x: tda1004x_read_byte: error reg=0x0, ret=-5 Now, instead of reporting an invalid ID, it will report the correct error: tda10046: chip is not answering. Giving up. saa7133[0]/dvb: failed to attach tda10046 saa7133[0]/dvb: frontend initialization failed A possible improvement would be trying to reset the device. Signed-off-by: Mauro Carvalho Chehab commit bc36ec746409e4e4719b94a86dc0d8cbeb6f439f Author: Mauro Carvalho Chehab Date: Sat Jun 14 10:44:04 2008 -0300 V4L/DVB (8028): Improve error messages for tda1004x attach A fresh copy of v.29 firmware, using get_firmware, is leading to an invalid firmware: DVB: registering new adapter (saa7133[0]) DVB: registering frontend 0 (Philips TDA10046H DVB-T)... tda1004x: setting up plls for 48MHz sampling clock tda1004x: found firmware revision ff -- invalid tda1004x: trying to boot from eeprom tda1004x: found firmware revision ff -- invalid tda1004x: waiting for firmware upload... tda1004x: Error during firmware upload tda1004x: found firmware revision ff -- invalid tda1004x: firmware upload failed Sometimes, loading/unloading this firmware makes tda1004x to return an invalid ID. However, there were no printk messages to help to identify what were the cause for the error. With this patch, it will now print: Invalid tda1004x ID = 0xff. Can't proceed saa7133[0]/dvb: failed to attach tda10046 saa7133[0]/dvb: frontend initialization failed Tested with LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB Signed-off-by: Mauro Carvalho Chehab commit b25fed115a8bd8d39d14ce0d03e808272a401d67 Author: Matthias Schwarzott Date: Fri Jun 13 19:28:17 2008 -0300 V4L/DVB (8027): saa7134: Avermedia A700: only s-video and composite input are working Describe exactly that only s-video and composite input are working on Avermedia A700 Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 83ee87a31dc43a5fd6dee3562c146033c3a4cb39 Author: Mauro Carvalho Chehab Date: Sat Jun 14 09:41:18 2008 -0300 V4L/DVB (8026): Avoids an OOPS if dev struct can't be successfully recovered On some alsa versions, it seems that snd_pcm_substream_chip(substream) is returning a NULL pointer. This causes an OOPS, as reported by: https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/212271 https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/212960 This patch avoids the OOPS by not letting and open() succeed. Signed-off-by: Mauro Carvalho Chehab commit 913f5fc209247b607b1994a710315966f4f9d358 Author: Marcin Slusarz Date: Tue Jun 10 15:18:16 2008 -0300 V4L/DVB (8022): saa7134: fix race between opening and closing the device decrementing dev->empress_users should be done as last action of ts_release, because it sleeps and write access to dev->empress_started is not protected in any way (additionally closing thread could mute audio after opening thread unmuted it) Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit a14fe9605bfdfe360b97acc9ef912779eb860507 Author: Dmitri Belimov Date: Tue Jun 10 14:19:31 2008 -0300 V4L/DVB (8020): Fix callbacks functions of saa7134_empress If I try v4l2-ctl --all -d /dev/video1 or v4l2-ctl --streamon -d /dev/video1 modules crashed: *pde = 00000000 Modules linked in: ac battery loop saa7134_empress(F) saa6752hs(F) tuner_simple(F) tuner_types(F) tea5767(F) tda9887(F) tda8290(F) tea5761(F) tuner(F) snd_cmipci snd_pcm snd_page_alloc snd_opl3_lib saa7134(F) snd_mpu401 parport_pc parport snd_timer snd_hwdep snd_mpu401_uart floppy rtc psmouse videodev(F) v4l1_compat(F) compat_ioctl32(F) v4l2_common(F) videobuf_dma_sg(F) videobuf_core(F) snd_rawmidi snd_seq_device via_ircc pcspkr snd ir_kbd_i2c(F) irda soundcore ir_common(F) crc_ccitt tveeprom(F) i2c_viapro i2c_core button via_agp agpgart evdev ext3 jbd mbcache ide_cd_mod cdrom ide_disk 8139cp via82cxxx ide_core 8139too mii ehci_hcd uhci_hcd usbcore thermal processor fan EIP is at __mutex_lock_slowpath+0x29/0x7b DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process v4l2-ctl (pid: 2742, ti=ced7e000 task=cf325260 task.ti=ced7e000) d08e5411 00000000 ced7fed4 00000000 d0975acb 40045612 cfa86ee0 ffffffcd cf2b7000 ced7febc c03858d6 00000019 00000292 d089e4ec cf37b2a0 d089e4a0 Call Trace: [] mutex_lock+0xa/0xb [] videobuf_streamon+0xf/0x9a [videobuf_core] [] __video_do_ioctl+0x136a/0x2d68 [videodev] [] task_end_request+0x40/0x51 [ide_core] [] ide_intr+0x187/0x192 [ide_core] [] mntput_no_expire+0x11/0x64 [] path_walk+0x90/0x98 [] video_ioctl2+0x173/0x239 [videodev] [] filemap_fault+0x202/0x370 [] __do_fault+0x2c3/0x2fe [] handle_mm_fault+0x22a/0x49f [] vfs_ioctl+0x47/0x5d [] do_vfs_ioctl+0x245/0x258 [] sys_ioctl+0x41/0x5b [] sysenter_past_esp+0x5f/0x85 ======================= After this fix all of that commands works without problem: v4l2-ctl --all -d /dev/video1 Driver Info: Driver name : saa7134 Card type : Beholder BeholdTV M6 Extra Bus info : PCI:0000:00:0d.0 Driver version: 526 Capabilities : 0x05000001 Video Capture Read/Write Streaming Format Video Capture: Width/Height : 720/576 Pixel Format : MPEG Field : Any Bytes per Line: 0 Size Image : 58656 Colorspace : Unknown (00000000) Video input : 0 (CCIR656) Video Standard = 0x000000ff PAL-B/B1/G/H/I/D/D1/K P.S. data from /dev/video1 is not correct :(( . Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit a8a1f8cc0cae07c209f13857adbdd4b87b36cdde Author: Devin Heitmueller Date: Tue Jun 10 12:35:42 2008 -0300 V4L/DVB (8018): Add em2860 chip ID em28xx-cards.c em28xx-reg.h - Add em2860 chip ID (seen on Pointnix Intra-Oral Camera) http://www.pointnix.com/ENG/dental/product_02.asp Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit df619181631217e3166bb6c7538f981e0272617f Author: Devin Heitmueller Date: Tue Jun 10 12:34:35 2008 -0300 V4L/DVB (8017): Ensure em28xx extensions only get run against devs that support them em28xx-audio.c em28xx-dvb.c - Em28xx extensions should ensure they are being only loaded against devices that support them. Deals with case where there are multiple em28xx devices, some of which have DVB (or ALSA) support and some do not. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 1a78db826973b9fa658d72291ec2007889e2faf7 Author: Antti Palosaari Date: Tue Jun 10 11:41:58 2008 -0300 V4L/DVB (8015): gl861: replace non critical msleep(0) with msleep(1) to be on the safe side - change msleep(0) to msleep(1) Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ea3a13b7a19f0d7d7344494047c9aa8bb32b6678 Author: Antti Palosaari Date: Wed May 28 22:04:12 2008 -0300 V4L/DVB (8013): gl861: remove useless identify_state - remove useless identify_state - device is always warm Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit f56ebe16b045861d26b81ef6683445c0144362b8 Author: Antti Palosaari Date: Wed May 28 21:55:06 2008 -0300 V4L/DVB (8012): gl861: sleep a little to avoid I2C errors - add little sleep to avoid I2C errors arising on faster CPUs Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit b38cc642000f0a262db367ffb95cd02ca2ead59b Author: Devin Heitmueller Date: Mon Jun 9 14:59:05 2008 -0300 V4L/DVB (8011): em28xx: enable DVB for HVR-900 em28xx-cards.c - DVB support is supposed to be enabled for the first generation HVR-900. This device was confirmed with DVB by mkrufky when we did the original work in April, but I guess we forgot to set the flag. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0367ca1bc7346d9ea89a4b4f1b9220489bda65a3 Author: Devin Heitmueller Date: Mon Jun 9 14:58:04 2008 -0300 V4L/DVB (8010): em28xx: Properly register extensions for already attached devices em28xx-video.c - Properly handle loading of the module when multiple devices are already connected (such as at bootup). Before we were only calling dvb_init() against the last device in the list, so while we were handling subsequent adds properly, if there were multiple devices present on driver load, everybody except the last device would not get initialized. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d3d9b803eead0a536d28ffc31c5fadae976991cc Author: Hans Verkuil Date: Sun Jun 8 06:05:18 2008 -0300 V4L/DVB (8008): cx18: remove duplicate audio and video input enums cx18-cards.h had a copy of the audio and video input enums from cx18-av-core.h, but with different prefixes. Removed that copy and used the ones from cx18-av-core.h. Thanks to Andy Walls for the report. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 45270a1531a2aa90dd890666913c25a1e6f5e8eb Author: Hans Verkuil Date: Sat Jun 7 11:18:17 2008 -0300 V4L/DVB (8007): cx18/cx25840: the S-Video LUMA input can use all In1-In8 inputs The S-Video LUMA input was restricted to the In1-In4 inputs, but it turns out that it can use the full range of In1-In8. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bf67cac1314ba29676fbac2decde0e2e0a8170f8 Author: Mauro Carvalho Chehab Date: Sat Jun 7 15:54:10 2008 -0300 V4L/DVB (8005): Fix OOPS if frontend is null Thanks to timf and Mike Galbraith to report this issue. Signed-off-by: Mauro Carvalho Chehab commit fde60748d2f0345cabff20d25458c67d4ac06034 Author: Mauro Carvalho Chehab Date: Thu Jun 5 18:59:08 2008 -0300 V4L/DVB (8004): Fix INPUT dependency at budget-ci As reported by Ingo Molnar: MODPOST 346 modules ERROR: "input_free_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined! ERROR: "input_register_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined! ERROR: "input_allocate_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined! ERROR: "input_unregister_device" [drivers/media/dvb/ttpci/budget-ci.ko] undefined! ERROR: "input_event" [drivers/media/common/ir-common.ko] undefined! This occurs when: CONFIG_INPUT=n CONFIG_VIDEO_IR=m CONFIG_DVB_BUDGET_CI=m Thanks-to: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 0b1faeef5f9243bb5fc5713a34bbf1ceab0de562 Author: Daniel J Blueman Date: Sun Jun 15 12:32:15 2008 +0100 x86: section/warning fixes WARNING: arch/x86/mm/built-in.o(.text+0x3a1): Section mismatch in reference from the function set_pte_phys() to the function .init.text:spp_getpage() The function set_pte_phys() references the function __init spp_getpage(). This is often because set_pte_phys lacks a __init annotation or the annotation of spp_getpage is wrong. arch/x86/mm/init_64.c: In function 'early_memtest': arch/x86/mm/init_64.c:520: warning: passing argument 2 of 'find_e820_area_size' from incompatible pointer type Signed-off-by: Daniel J Blueman Cc: "Linus Torvalds" Signed-off-by: Ingo Molnar commit 41aefdcc98fdba47459eab67630293d67e855fc3 Author: Max Asbock Date: Wed Jun 25 14:45:28 2008 -0700 x86: shift bits the right way in native_read_tscp native_read_tscp shifts the bits in the high order value in the wrong direction, the attached patch fixes that. Signed-off-by: Max Asbock Acked-by: Glauber Costa Signed-off-by: Ingo Molnar commit c4e6a2e64e948de42473e9c829181d768b1258c3 Merge: 816c2ed... 16d7523... Author: Len Brown Date: Thu Jun 26 01:56:35 2008 -0400 Merge branches 'release', 'acpi_disabled' and 'bugzilla-10958' into release commit 816c2eda3ce8fa7eb62f22e01e2ec7a3f7d677c0 Author: Len Brown Date: Tue Jun 24 22:57:12 2008 -0400 dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled. Signed-off-by: Len Brown commit 4389ed2ff61de2b1485b31bf342da913dd342f59 Author: Vegard Nossum Date: Fri Jun 20 15:39:09 2008 +0200 ACPI: don't walk tables if ACPI was disabled Ingo Molnar wrote: > -tip auto-testing started triggering this spinlock corruption message > yesterday: > > [ 3.976213] calling acpi_rtc_init+0x0/0xd3 > [ 3.980213] ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread F7C50000 could not acquire Mutex [3] [20080321] > [ 3.992213] BUG: spinlock bad magic on CPU#0, swapper/1 > [ 3.992213] lock: c2508dc4, .magic: 00000000, .owner: swapper/1, .owner_cpu: 0 This is apparently because some parts of ACPI, including mutexes, are not initialized when acpi=off is passed to the kernel. Reported-by: Ingo Molnar Signed-off-by: Vegard Nossum Signed-off-by: Len Brown commit 16d752397301b95abaa95cbaf9e785d221872311 Author: Rene Herman Date: Tue Jun 24 19:38:56 2008 +0200 thermal: Create CONFIG_THERMAL_HWMON=n A bug in libsensors <= 2.10.6 is exposed when this new hwmon I/F is enabled. Create CONFIG_THERMAL_HWMON=n until some time after libsensors 2.10.7 ships so those users can run the latest kernel. libsensors 3.x is already fixed -- those users can use CONFIG_THERMAL_HWMON=y now. Signed-off-by: Rene Herman Acked-by: Mark M. Hoffman Signed-off-by: Len Brown commit 9e6c29768fc05d32ba1342b9348957b24bc476c2 Author: Jaya Kumar Date: Sun Jun 22 04:27:27 2008 +0100 [ARM] 5117/1: pxafb: fix __devinit/exit annotations This patch fixes pxafb's init/exit annotations. It uses __devinit/exit for probe functions and __init for init functions. g_options is left as __devinitdata since it is used by both. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit ec5e69f6d3f4350681d6f7eaae515cf014be9276 Author: James Bottomley Date: Mon Jun 23 14:52:09 2008 -0500 [SCSI] esp: tidy up target reference counting The esp driver currently does hand rolled reference counting of its target. It's much easier to do what it needs to do if it's plugged into the mid-layer callbacks (target_alloc and target_destroy) which were designed for this case, so do it this way and get rid of the internal target reference count. Acked-by: David S. Miller Cc: Stable Tree Signed-off-by: James Bottomley commit 66b5004d85164a6439d3ba1e7757734472ee2cac Author: Ron Rindjunsky Date: Wed Jun 25 16:46:31 2008 +0800 iwlwifi: improve scanning band selection management This patch modifies the band selection management when scanning, so bands are now scanned according to HW band support. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 99ade2597e3f7f0ad463c489aaccd6cc605e242c Author: Ivo van Doorn Date: Fri Jun 20 22:11:00 2008 +0200 rt2x00: Fix unbalanced mutex locking The usb_cache_mutex was not correctly released under all circumstances. Both rt73usb as rt2500usb didn't release the mutex under certain conditions when the register access failed. Obviously such failure would lead to deadlocks. In addition under similar circumstances when the bbp register couldn't be read the value must be set to 0xff to indicate that the value is wrong. This too didn't happen under all circumstances. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2f9ec47d0954f9d2e5a00209c2689cbc477a8c89 Author: Michael Buesch Date: Fri Jun 20 11:40:46 2008 +0200 b43legacy: Fix possible NULL pointer dereference in DMA code This fixes a possible NULL pointer dereference in an error path of the DMA allocation error checking code. This is also necessary for a future DMA API change that is on its way into the mainline kernel that adds an additional dev parameter to dma_mapping_error(). Signed-off-by: Michael Buesch Cc: stable Signed-off-by: John W. Linville commit 7b3abfc87ec13a81b255012b6e1bd4caeeb05aec Author: Michael Buesch Date: Sun Jun 15 16:01:24 2008 +0200 b43: Fix possible MMIO access while device is down This fixes a possible MMIO access while the device is still down from a suspend cycle. MMIO accesses with the device powered down may cause crashes on certain devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 664f200610a3c9641ff58fc91b986b804cb1cc2d Author: Michael Buesch Date: Sun Jun 15 15:27:49 2008 +0200 b43legacy: Do not return TX_BUSY from op_tx Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet. Drop the packet and return TX_OK. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c9e8eae0935f03e2d03a7ad7af80d8fc6c53e68c Author: Michael Buesch Date: Sun Jun 15 15:17:29 2008 +0200 b43: Do not return TX_BUSY from op_tx Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet. Drop the packet and return TX_OK. This will fix the resume hang. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 59d393ad92f719d9ef36b96eae56d4817a7eeb10 Author: Tony Vroon Date: Wed Jun 11 16:23:56 2008 -0400 mac80211: implement EU regulatory domain Implement missing EU regulatory domain for mac80211. Based on the information in IEEE 802.11-2007 (specifically pages 1142, 1143 & 1148) and ETSI 301 893 (V1.4.1). With thanks to Johannes Berg. Signed-off-by: Tony Vroon Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8d0a60032ffd472f0f7821ff388e9f438c06077a Author: Bryan Wu Date: Wed Jun 25 12:41:51 2008 +0800 Blackfin arch: fix up section mismatch warning -- WARNING: vmlinux.o(.text+0x721a): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_code_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_code_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x7238): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_code_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_code_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x7250): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_code_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_code_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x7264): Section mismatch in reference from the function ___fill_code_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_code_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_code_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x72a2): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_data_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_data_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x72bc): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_data_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_data_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x72d4): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_data_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_data_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. WARNING: vmlinux.o(.text+0x72e8): Section mismatch in reference from the function ___fill_data_cplbtab() to the function .init.text:_fill_cplbtab() The function ___fill_data_cplbtab() references the function __init _fill_cplbtab(). This is often because ___fill_data_cplbtab lacks a __init annotation or the annotation of _fill_cplbtab is wrong. -- Signed-off-by: Bryan Wu commit 71a7d1556264c1ad84b1bcf5f7a9cbc980b1e1fd Author: Sonic Zhang Date: Wed Jun 25 12:02:07 2008 +0800 Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock debugging enabled Initialize the lock of bad_irq_desc properly. The content of irq_desc array is replaced by bad_irq_desc in blackfin arch irqchip init code. So, do it properly as common irq init code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit d8de72473effd674a3c1fe9621821f406f5587c9 Author: Peng Haitao Date: Tue May 20 09:13:02 2008 +0800 [PATCH] remove useless argument type in audit_filter_user() The second argument "type" is not used in audit_filter_user(), so I think that type can be removed. If I'm wrong, please tell me. Signed-off-by: Peng Haitao Signed-off-by: Al Viro commit 9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc Author: Randy Dunlap Date: Mon May 19 15:09:21 2008 -0700 [PATCH] audit: fix kernel-doc parameter notation Fix auditfilter kernel-doc misssing parameter description: Warning(lin2626-rc3//kernel/auditfilter.c:1551): No description found for parameter 'sessionid' Signed-off-by: Randy Dunlap Signed-off-by: Al Viro commit 13d5ef97f0675d789f559cfebc1df9d5e2b1879c Author: Peng Haitao Date: Fri May 16 10:15:04 2008 +0800 [PATCH] kernel/audit.c: nlh->nlmsg_type is gotten more than once The first argument "nlh->nlmsg_type" of audit_receive_filter() should be modified to "msg_type" in audit_receive_msg(). Signed-off-by: Peng Haitao Signed-off-by: Al Viro commit 543cf4cb3fe6f6cae3651ba918b9c56200b257d0 Author: Linus Torvalds Date: Tue Jun 24 18:58:20 2008 -0700 Linux 2.6.26-rc8 commit bd8c540fe867c070810a3ef55541f41f7c189c9a Merge: 035cfc6... e2569b7... Author: Linus Torvalds Date: Tue Jun 24 18:12:33 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte() [IA64] Handle count==0 in sn2_ptc_proc_write() [IA64] Fix boot failure on ia64/sn2 commit 035cfc61a523343fe0bee5ec54348e26f330a06c Merge: 919c0d1... 5af4e7a... Author: Linus Torvalds Date: Tue Jun 24 18:09:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: [GFS2] fix gfs2 block allocation (cleaned up) [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000 commit 919c0d14ae93073a3957c018a6d86ceb1e2e454b Merge: de08341... 6b1ed90... Author: Linus Torvalds Date: Tue Jun 24 18:09:06 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: Remove now unused structs from kvm_para.h x86: KVM guest: Use the paravirt clocksource structs and functions KVM: Make kvm host use the paravirt clocksource structs x86: Make xen use the paravirt clocksource structs and functions x86: Add structs and functions for paravirt clocksource KVM: VMX: Fix host msr corruption with preemption enabled KVM: ioapic: fix lost interrupt when changing a device's irq KVM: MMU: Fix oops on guest userspace access to guest pagetable KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend) KVM: MMU: Fix rmap_write_protect() hugepage iteration bug KVM: close timer injection race window in __vcpu_run KVM: Fix race between timer migration and vcpu migration commit eadc49b1a8d09480f14caea292142f103a89c77a Author: David S. Miller Date: Tue Jun 17 23:53:22 2008 -0700 [SCSI] esp: Fix OOPS in esp_reset_cleanup(). OOPS reported by Friedrich Oslage The problem here is that tp->starget is set every time a lun is allocated for a particular target so we can catch the sdev_target parent value. The reset handler uses the NULL'ness of this value to determine which targets are active. But esp_slave_destroy() does not NULL out this value when appropriate. So for every target that doesn't respond, the SCSI bus scan causes a stale pointer to be left here, with ensuing crashes like you're seeing. Signed-off-by: David S. Miller Cc: Stable Tree Signed-off-by: James Bottomley commit 88a6f4ad76be425f47df7f892baf913bcd466fb3 Author: Patrick McHardy Date: Tue Jun 24 13:30:45 2008 -0700 netfilter: ip6table_mangle: don't reroute in LOCAL_IN Rerouting should only happen in LOCAL_OUT, in INPUT its useless since the packet has already chosen its final destination. Noticed by Alexey Dobriyan . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de08341a0ef747d607542af3ae441b286f503e35 Merge: 9bf8a94... 63842cc... Author: Linus Torvalds Date: Tue Jun 24 11:23:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: Revert "[WATCHDOG] hpwdt: Add CFLAGS to get driver working" commit 9bf8a943ad79a3bb15597fe0275f8b1cf26e2010 Merge: 3b968b7... 2849914... Author: Linus Torvalds Date: Tue Jun 24 11:21:47 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: xen: remove support for non-PAE 32-bit commit 3b968b7c10b3d81eb83380655484f2bb5b240dc6 Merge: ea7b44c... aabdc3b... Author: Linus Torvalds Date: Tue Jun 24 11:20:59 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: sparse fix kgdb: documentation update - remove kgdboe commit ea7b44c8e6baa1a4507f05ba2c0009ac21c3fe0b Author: Jie Luo Date: Tue Jun 24 10:38:31 2008 -0700 enable bus mastering on i915 at resume time On 9xx chips, bus mastering needs to be enabled at resume time for much of the chip to function. With this patch, vblank interrupts will work as expected on resume, along with other chip functions. Fixes kernel bugzilla #10844. Signed-off-by: Jie Luo Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 6b1ed9086592fd4b066daae222751bb6757ca5eb Author: Gerd Hoffmann Date: Tue Jun 3 16:17:33 2008 +0200 KVM: Remove now unused structs from kvm_para.h The kvm_* structs are obsoleted by the pvclock_* ones. Now all users have been switched over and the old structs can be dropped. Signed-off-by: Gerd Hoffmann Signed-off-by: Avi Kivity commit f6e16d5ad463d15f285666f588cfe49495c692d9 Author: Gerd Hoffmann Date: Tue Jun 3 16:17:32 2008 +0200 x86: KVM guest: Use the paravirt clocksource structs and functions This patch updates the kvm host code to use the pvclock structs and functions, thereby making it compatible with Xen. The patch also fixes an initialization bug: on SMP systems the per-cpu has two different locations early at boot and after CPU bringup. kvmclock must take that in account when registering the physical address within the host. Signed-off-by: Gerd Hoffmann Signed-off-by: Avi Kivity commit 50d0a0f987b83a8dadb1134d834e35ec410392b5 Author: Gerd Hoffmann Date: Tue Jun 3 16:17:31 2008 +0200 KVM: Make kvm host use the paravirt clocksource structs This patch updates the kvm host code to use the pvclock structs. It also makes the paravirt clock compatible with Xen. Signed-off-by: Gerd Hoffmann Signed-off-by: Avi Kivity commit 1c7b67f7576c4ca2a344379a4a29eec8fe8e7935 Author: Gerd Hoffmann Date: Tue Jun 3 16:17:30 2008 +0200 x86: Make xen use the paravirt clocksource structs and functions This patch updates the xen guest to use the pvclock structs and helper functions. Signed-off-by: Gerd Hoffmann Acked-by: Jeremy Fitzhardinge Signed-off-by: Avi Kivity commit 7af192c954017499ec163bc9dbaaee2e593d7ef2 Author: Gerd Hoffmann Date: Tue Jun 3 16:17:29 2008 +0200 x86: Add structs and functions for paravirt clocksource This patch adds structs for the paravirt clocksource ABI used by both xen and kvm (pvclock-abi.h). It also adds some helper functions to read system time and wall clock time from a paravirtual clocksource (pvclock.[ch]). They are based on the xen code. They are enabled using CONFIG_PARAVIRT_CLOCK. Subsequent patches of this series will put the code in use. Signed-off-by: Gerd Hoffmann Acked-by: Jeremy Fitzhardinge Signed-off-by: Avi Kivity commit 5af4e7a0bea715f2dd7190859a43eb2258b1f388 Author: Benjamin Marzinski Date: Tue Jun 24 12:53:38 2008 -0500 [GFS2] fix gfs2 block allocation (cleaned up) This patch fixes bz 450641. This patch changes the computation for zero_metapath_length(), which it renames to metapath_branch_start(). When you are extending the metadata tree, The indirect blocks that point to the new data block must either diverge from the existing tree either at the inode, or at the first indirect block. They can diverge at the first indirect block because the inode has room for 483 pointers while the indirect blocks have room for 509 pointers, so when the tree is grown, there is some free space in the first indirect block. What metapath_branch_start() now computes is the height where the first indirect block for the new data block is located. It can either be 1 (if the indirect block diverges from the inode) or 2 (if it diverges from the first indirect block). Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit e2569b7e572c0e6782380b3fdda901deb175d75a Author: Julia Lawall Date: Tue Jun 24 10:22:05 2008 +0200 [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte() As noted by Akinobu Mita alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. Signed-off-by: Julia Lawall Signed-off-by: Tony Luck commit 8097110d179b874d91c6495330c2b96c991e8c6e Author: Cliff Wickman Date: Tue Jun 24 10:20:06 2008 -0700 [IA64] Handle count==0 in sn2_ptc_proc_write() The fix applied in e0c6d97c65e0784aade7e97b9411f245a6c543e7 "security hole in sn2_ptc_proc_write" didn't take into account the case where count==0 (which results in a buffer underrun when adding the trailing '\0'). Thanks to Andi Kleen for pointing this out. Signed-off-by: Cliff Wickman Signed-off-by: Tony Luck commit 2826f8c0f4c97b7db33e2a680f184d828eb7a785 Author: Jes Sorensen Date: Tue Jun 24 11:30:09 2008 -0400 [IA64] Fix boot failure on ia64/sn2 Call check_sal_cache_flush() after platform_setup() as check_sal_cache_flush() now relies on being able to call platform vector code. Problem was introduced by: 3463a93def55c309f3c0d0a8aaf216be3be42d64 "Update check_sal_cache_flush to use platform_send_ipi()" Signed-off-by: Jes Sorensen Tested-by: Alex Chiang: Signed-off-by: Tony Luck commit c95e62ce8905aab62fed224eaaa9b8558a0ef652 Author: Matthew Wilcox Date: Mon Jun 23 09:14:31 2008 -0600 [SCSI] ses: Fix timeout Timeouts are measured in jiffies, not in seconds. Signed-off-by: Matthew Wilcox Cc: Stable Tree Signed-off-by: James Bottomley commit aabdc3b8c3b3d081f1532454e344208338478e29 Author: Jason Wessel Date: Tue Jun 24 10:52:55 2008 -0500 kgdb: sparse fix - Fix warning reported by sparse kernel/kgdb.c:1502:6: warning: symbol 'kgdb_console_write' was not declared. Should it be static? Signed-off-by: Jason Wessel commit a606b5e24b7e2937604f4c85023d8d9c5ab0a28b Author: Jason Wessel Date: Tue Jun 24 10:52:55 2008 -0500 kgdb: documentation update - remove kgdboe kgdboe is not presently included kgdb, and there should be no references to it. Also fix the tcp port terminal connection example. Signed-off-by: Jason Wessel commit 28499143933f19b28008a556ed59255d6009391a Author: Jeremy Fitzhardinge Date: Fri May 9 12:05:57 2008 +0100 xen: remove support for non-PAE 32-bit Non-PAE operation has been deprecated in Xen for a while, and is rarely tested or used. xen-unstable has now officially dropped non-PAE support. Since Xen/pvops' non-PAE support has also been broken for a while, we may as well completely drop it altogether. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 17c15da00c0e7289375ad57e8fea0c7892b74aa0 Author: Bob Peterson Date: Wed Jun 18 11:30:40 2008 -0500 [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000 This patch fixes bugzilla bug bz448866: gfs2: BUG: unable to handle kernel paging request at ffff81002690e000. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 63842cccb285259345f52025ef57bdfd79657a2d Author: Wim Van Sebroeck Date: Tue Jun 24 13:09:26 2008 +0000 Revert "[WATCHDOG] hpwdt: Add CFLAGS to get driver working" After Linus fixed the inline assembly, the CFLAGS option is not needed anymore. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 19fd426a18b48a0446ba4b54ac66264916dcb7f3 Merge: e8183c2... 62786b9... Author: Jan Kara Date: Tue Jun 24 11:43:00 2008 +0200 Merge branch 'master' into for_mm commit e8183c2452041326c95258ecc7865b6fcd91c730 Author: Tomas Janousek Date: Mon Jun 23 15:12:35 2008 +0200 udf: Fix regression in UDF anchor block detection In some cases it could happen that some block passed test in udf_check_anchor_block() even though udf_read_tagged() refused to read it later (e.g. because checksum was not correct). This patch makes udf_check_anchor_block() use udf_read_tagged() so that the checking is stricter. This fixes the regression (certain disks unmountable) caused by commit 423cf6dc04eb79d441bfda2b127bc4b57134b41d. Signed-off-by: Tomas Janousek Signed-off-by: Jan Kara commit a9b21b622958afc3f3bc5a23d266dd9ed1171fd3 Author: Avi Kivity Date: Tue Jun 24 11:48:49 2008 +0300 KVM: VMX: Fix host msr corruption with preemption enabled Switching msrs can occur either synchronously as a result of calls to the msr management functions (usually in response to the guest touching virtualized msrs), or asynchronously when preempting a kvm thread that has guest state loaded. If we're unlucky enough to have the two at the same time, host msrs are corrupted and the machine goes kaput on the next syscall. Most easily triggered by Windows Server 2008, as it does a lot of msr switching during bootup. Signed-off-by: Avi Kivity commit 4fa6b9c5dc4134bdeac341d731a87783cc11ca10 Author: Avi Kivity Date: Tue Jun 17 15:36:36 2008 -0700 KVM: ioapic: fix lost interrupt when changing a device's irq The ioapic acknowledge path translates interrupt vectors to irqs. It currently uses a first match algorithm, stopping when it finds the first redirection table entry containing the vector. That fails however if the guest changes the irq to a different line, leaving the old redirection table entry in place (though masked). Result is interrupts not making it to the guest. Fix by always scanning the entire redirection table. Signed-off-by: Avi Kivity commit 6bf6a9532fd03ad719f0c86654f16ef777b78fc6 Author: Avi Kivity Date: Thu Jun 12 16:54:41 2008 +0300 KVM: MMU: Fix oops on guest userspace access to guest pagetable KVM has a heuristic to unshadow guest pagetables when userspace accesses them, on the assumption that most guests do not allow userspace to access pagetables directly. Unfortunately, in addition to unshadowing the pagetables, it also oopses. This never triggers on ordinary guests since sane OSes will clear the pagetables before assigning them to userspace, which will trigger the flood heuristic, unshadowing the pagetables before the first userspace access. One particular guest, though (Xenner) will run the kernel in userspace, triggering the oops. Since the heuristic is incorrect in this case, we can simply remove it. Signed-off-by: Avi Kivity commit 3094538739415a9225afd2a6c78cb0fe1c1f641b Author: Marcelo Tosatti Date: Wed Jun 11 20:32:40 2008 -0300 KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend) kvm_mmu_pte_write() does not handle 32-bit non-PAE large page backed guests properly. It will instantiate two 2MB sptes pointing to the same physical 2MB page when a guest large pte update is trapped. Instead of duplicating code to handle this, disallow directory level updates to happen through kvm_mmu_pte_write(), so the two 2MB sptes emulating one guest 4MB pte can be correctly created by the page fault handling path. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414 Author: Marcelo Tosatti Date: Sun Jun 8 01:48:53 2008 -0300 KVM: MMU: Fix rmap_write_protect() hugepage iteration bug rmap_next() does not work correctly after rmap_remove(), as it expects the rmap chains not to change during iteration. Fix (for now) by restarting iteration from the beginning. Signed-off-by: Avi Kivity commit 06e05645661211b9eaadaf6344c335d2e80f0ba2 Author: Marcelo Tosatti Date: Fri Jun 6 16:37:36 2008 -0300 KVM: close timer injection race window in __vcpu_run If a timer fires after kvm_inject_pending_timer_irqs() but before local_irq_disable() the code will enter guest mode and only inject such timer interrupt the next time an unrelated event causes an exit. It would be simpler if the timer->pending irq conversion could be done with IRQ's disabled, so that the above problem cannot happen. For now introduce a new vcpu requests bit to cancel guest entry. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d4acf7e7abe45457e751525a2a4d5b693dfdd597 Author: Marcelo Tosatti Date: Fri Jun 6 16:37:35 2008 -0300 KVM: Fix race between timer migration and vcpu migration A guest vcpu instance can be scheduled to a different physical CPU between the test for KVM_REQ_MIGRATE_TIMER and local_irq_disable(). If that happens, the timer will only be migrated to the current pCPU on the next exit, meaning that guest LAPIC timer event can be delayed until a host interrupt is triggered. Fix it by cancelling guest entry if any vcpu request is pending. This has the side effect of nicely consolidating vcpu->requests checks. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 72c6e251ed84b3a9cdfde6711191155c47bb2b9c Author: Thorsten Kranzkowski Date: Mon Jun 23 20:57:22 2008 +0000 alpha: fix compile error in arch/alpha/mm/init.c Commit 9267b4b3880d00dc2dab90f1d817c856939114f7 ("alpha: fix module load failures on smp (bug #10926)") causes a regression for my ev4 uniprocessor build: CC arch/alpha/mm/init.o /export/data/repositories/linux-2.6/arch/alpha/mm/init.c:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typeof’ make[2]: *** [arch/alpha/mm/init.o] Error 1 make[1]: *** [arch/alpha/mm] Error 2 make: *** [sub-make] Error 2 This fixes it for me (compile and boot tested): Signed-off-by: Thorsten Kranzkowski Acked-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 62786b9e81a2dbe9c073a2ade52d33a2627d6d85 Merge: 27f4837... 03fa9e8... Author: Linus Torvalds Date: Mon Jun 23 16:25:11 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: nfs_updatepage(): don't mark page as dirty if an error occurred NFS: Fix filehandle size comparisons in the mount code NFS: Reduce the NFS mount code stack usage. commit 03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8 Author: Trond Myklebust Date: Thu Jun 5 16:02:35 2008 -0400 NFS: nfs_updatepage(): don't mark page as dirty if an error occurred Signed-off-by: Trond Myklebust commit b7e2445737ff69cef892b6fd9cd71cae2c9e9515 Author: Trond Myklebust Date: Thu Jun 19 15:21:11 2008 -0400 NFS: Fix filehandle size comparisons in the mount code Fix a sign issue in xdr_decode_fhstatus3() Fix incorrect comparison in nfs_validate_mount_data() Signed-off-by: Trond Myklebust commit 33852a1f2bb014e4047a844556c0d76a2f790c37 Author: Trond Myklebust Date: Thu Jun 19 14:20:11 2008 -0400 NFS: Reduce the NFS mount code stack usage. This appears to fix the Oops reported in http://bugzilla.kernel.org/show_bug.cgi?id=10826 Signed-off-by: Trond Myklebust commit 27f4837cbfd87126e733d098824544b6841a4eb8 Merge: 0e05373... 1b7558e... Author: Linus Torvalds Date: Mon Jun 23 12:49:22 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futexes: fix fault handling in futex_lock_pi commit 0e053738b50836e9d1e94b2295ef2942eb471078 Merge: ee5c2ab... 198bb97... Author: Linus Torvalds Date: Mon Jun 23 12:48:50 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: refactor wait_for_completion_timeout() sched: fix wait_for_completion_timeout() spurious failure under heavy load sched: rt: dont stop the period timer when there are tasks wanting to run commit ee5c2ab09b79d3aba3515a3eae7c5cf1e2cbc569 Merge: f6837bf... ebb9cfe... Author: Linus Torvalds Date: Mon Jun 23 12:48:17 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: xen: don't drop NX bit xen: mask unwanted pte bits in __supported_pte_mask xen: Use wmb instead of rmb in xen_evtchn_do_upcall(). x86: fix NULL pointer deref in __switch_to commit f6837bfa6506892e889ec79d8ab29931b4468826 Merge: 8dca7ff... 87afd44... Author: Linus Torvalds Date: Mon Jun 23 12:45:49 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mthca: Clear ICM pages before handing to FW commit 8dca7ffe2cdbcf8a2f188c8230044c3225b70418 Merge: 945754a... 3e14b50... Author: Linus Torvalds Date: Mon Jun 23 12:18:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: sb - Fix wrong assertions ALSA: aw2 - Fix Oops at initialization commit 945754a1754f9d4c2974a8241ad4f92fad7f3a6a Author: Nick Piggin Date: Mon Jun 23 14:30:30 2008 +0200 mm: fix race in COW logic There is a race in the COW logic. It contains a shortcut to avoid the COW and reuse the page if we have the sole reference on the page, however it is possible to have two racing do_wp_page()ers with one causing the other to mistakenly believe it is safe to take the shortcut when it is not. This could lead to data corruption. Process 1 and process2 each have a wp pte of the same anon page (ie. one forked the other). The page's mapcount is 2. Then they both attempt to write to it around the same time... proc1 proc2 thr1 proc2 thr2 CPU0 CPU1 CPU3 do_wp_page() do_wp_page() trylock_page() can_share_swap_page() load page mapcount (==2) reuse = 0 pte unlock copy page to new_page pte lock page_remove_rmap(page); trylock_page() can_share_swap_page() load page mapcount (==1) reuse = 1 ptep_set_access_flags (allow W) write private key into page read from page ptep_clear_flush() set_pte_at(pte of new_page) Fix this by moving the page_remove_rmap of the old page after the pte clear and flush. Potentially the entire branch could be moved down here, but in order to stay consistent, I won't (should probably move all the *_mm_counter stuff with one patch). Signed-off-by: Nick Piggin Acked-by: Hugh Dickins Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 672ca28e300c17bf8d792a2a7a8631193e580c74 Author: Linus Torvalds Date: Mon Jun 23 11:21:37 2008 -0700 Fix ZERO_PAGE breakage with vmware Commit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f ("Reinstate ZERO_PAGE optimization in 'get_user_pages()' and fix XIP") broke vmware, as reported by Jeff Chua: "This broke vmware 6.0.4. Jun 22 14:53:03.845: vmx| NOT_IMPLEMENTED /build/mts/release/bora-93057/bora/vmx/main/vmmonPosix.c:774" and the reason seems to be that there's an old bug in how we handle do FOLL_ANON on VM_SHARED areas in get_user_pages(), but since it only triggered if the whole page table was missing, nobody had apparently hit it before. The recent changes to 'follow_page()' made the FOLL_ANON logic trigger not just for whole missing page tables, but for individual pages as well, and exposed this problem. This fixes it by making the test for when FOLL_ANON is used more careful, and also makes the code easier to read and understand by moving the logic to a separate inline function. Reported-and-tested-by: Jeff Chua Signed-off-by: Linus Torvalds commit 96a331b1d6426726c37242ddbe939ee14b255790 Author: Gustavo Fernando Padovan Date: Mon Jun 23 12:07:06 2008 +0100 removed unused var real_tty on n_tty_ioctl() I noted that the 'struct tty_struct *real_tty' is not used in this function, so I removed the code about 'real_tty'. Signed-off-by: Gustavo Fernando Padovan Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 36c7343b4ecac2432430f5393314f1bdc2c219a5 Author: Alan Cox Date: Mon Jun 23 12:06:52 2008 +0100 tty_driver: Update required method documentation Some of the requirement rules are now more relaxed. Also correct a contradiction in the previous update Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit cdd16d0265c9234228fd37fbbad844d7e894b278 Author: Miklos Szeredi Date: Mon Jun 23 18:11:53 2008 +0200 [patch 2/3] vfs: dcache cleanups Comment from Al Viro: add prepend_name() wrapper. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 31f3e0b3a18c6d48196c40a82a3b8c01f4ff6b23 Author: Miklos Szeredi Date: Mon Jun 23 18:11:52 2008 +0200 [patch 1/3] vfs: dcache sparse fixes Fix the following sparse warnings: fs/dcache.c:2183:19: warning: symbol 'filp_cachep' was not declared. Should it be static? fs/dcache.c:115:3: warning: context imbalance in 'dentry_iput' - unexpected unlock fs/dcache.c:188:2: warning: context imbalance in 'dput' - different lock contexts for basic block fs/dcache.c:400:2: warning: context imbalance in 'prune_one_dentry' - different lock contexts for basic block fs/dcache.c:431:22: warning: context imbalance in 'prune_dcache' - different lock contexts for basic block fs/dcache.c:563:2: warning: context imbalance in 'shrink_dcache_sb' - different lock contexts for basic block fs/dcache.c:1385:6: warning: context imbalance in 'd_delete' - wrong count at exit fs/dcache.c:1636:2: warning: context imbalance in '__d_unalias' - unexpected unlock fs/dcache.c:1735:2: warning: context imbalance in 'd_materialise_unique' - different lock contexts for basic block Signed-off-by: Miklos Szeredi Reviewed-by: Matthew Wilcox Acked-by: Christoph Hellwig Signed-off-by: Al Viro commit be285c712bbbe5db43e503782fbef2bfeaa345f9 Author: Andreas Gruenbacher Date: Mon Jun 16 13:28:07 2008 +0200 [patch 3/3] vfs: make d_path() consistent across mount operations The path that __d_path() computes can become slightly inconsistent when it races with mount operations: it grabs the vfsmount_lock when traversing mount points but immediately drops it again, only to re-grab it when it reaches the next mount point. The result is that the filename computed is not always consisent, and the file may never have had that name. (This is unlikely, but still possible.) Fix this by grabbing the vfsmount_lock for the whole duration of __d_path(). Signed-off-by: Andreas Gruenbacher Signed-off-by: John Johansen Signed-off-by: Miklos Szeredi Acked-by: Christoph Hellwig Signed-off-by: Al Viro commit 87afd448b186c885d67a08b7417cd46253b6a9d6 Author: Eli Cohen Date: Mon Jun 23 09:29:58 2008 -0700 IB/mthca: Clear ICM pages before handing to FW Current memfree FW has a bug which in some cases, assumes that ICM pages passed to it are cleared. This patch uses __GFP_ZERO to allocate all ICM pages passed to the FW. Once firmware with a fix is released, we can make the workaround conditional on firmware version. This fixes the bug reported by Arthur Kepner here: http://lists.openfabrics.org/pipermail/general/2008-May/050026.html Cc: Signed-off-by: Eli Cohen [ Rewritten to be a one-liner using __GFP_ZERO instead of vmap()ing ICM memory and memset()ing it to 0. - Roland ] Signed-off-by: Roland Dreier commit f9f48ec72bfc9489a30bc6ddbfcf27d86a8bc651 Author: Denis V. Lunev Date: Mon Jun 9 16:40:38 2008 -0700 [patch 4/4] flock: remove unused fields from file_lock_operations fl_insert and fl_remove are not used right now in the kernel. Remove them. Signed-off-by: Denis V. Lunev Cc: Matthew Wilcox Cc: Alexander Viro Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 694a1764d657e0f7a9b139bc7269c8d5f5a2534b Author: Marcin Slusarz Date: Mon Jun 9 16:40:37 2008 -0700 [patch 3/4] vfs: fix ERR_PTR abuse in generic_readlink generic_readlink calls ERR_PTR for negative and positive values (vfs_readlink returns length of "link"), but it should not (not an errno) and does not need to. Signed-off-by: Marcin Slusarz Cc: Al Viro Cc: Christoph Hellwig Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 20d4fdc1a788e4ca0aaf2422772ba668e7e10839 Author: Jan Engelhardt Date: Mon Jun 9 16:40:36 2008 -0700 [patch 2/4] fs: make struct file arg to d_path const Signed-off-by: Jan Engelhardt Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit c8e7f449b225ee6c87454ac069f0a041035c5140 Author: Jan Blunck Date: Mon Jun 9 16:40:35 2008 -0700 [patch 1/4] vfs: path_{get,put}() cleanups Here are some more places where path_{get,put}() can be used instead of dput()/mntput() pair. Signed-off-by: Jan Blunck Cc: Al Viro Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit c70f84417429f41519be0197a1092a53c2201f47 Author: Michael Kerrisk Date: Mon Jun 9 21:16:09 2008 -0700 [patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens() The POSIX.1 draft spec for futimens()/utimensat() says: Only a process with the effective user ID equal to the user ID of the file, *or with write access to the file*, or with appropriate privileges may use futimens() or utimensat() with a null pointer as the times argument or with both tv_nsec fields set to the special value UTIME_NOW. The important piece here is "with write access to the file", and this matters for futimens(), which deals with an argument that is a file descriptor referring to the file whose timestamps are being updated, The standard is saying that the "writability" check is based on the file permissions, not the access mode with which the file is opened. (This behavior is consistent with the semantics of FreeBSD's futimes().) However, Linux is currently doing the latter -- futimens(fd, times) is a library function implemented as utimensat(fd, NULL, times, 0) and within the utimensat() implementation we have the code: f = fget(dfd); // dfd is 'fd' ... if (f) { if (!(f->f_mode & FMODE_WRITE)) goto mnt_drop_write_and_out; The check should instead be based on the file permissions. Thanks to Miklos for pointing out how to do this check. Miklos also pointed out a simplification that could be made to my first version of this patch, since the checks for the pathname and file descriptor cases can now be conflated. Acked-by: Miklos Szeredi Cc: Al Viro Cc: Ulrich Drepper Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 4cca92264e61a90b43fc4e076cd25b7f4e16dc61 Author: Michael Kerrisk Date: Mon Jun 9 21:16:08 2008 -0700 [patch for 2.6.26 3/4] vfs: utimensat(): fix error checking for {UTIME_NOW,UTIME_OMIT} case The POSIX.1 draft spec for utimensat() says: Only a process with the effective user ID equal to the user ID of the file or with appropriate privileges may use futimens() or utimensat() with a non-null times argument that does not have both tv_nsec fields set to UTIME_NOW and does not have both tv_nsec fields set to UTIME_OMIT. If this condition is violated, then the error EPERM should result. However, the current implementation does not generate EPERM if one tv_nsec field is UTIME_NOW while the other is UTIME_OMIT. It should give this error for that case. This patch: a) Repairs that problem. b) Removes the now unneeded nsec_special() helper function. c) Adds some comments to explain the checks that are being performed. Thanks to Miklos, who provided comments on the previous iteration of this patch. As a result, this version is a little simpler and and its logic is better structured. Miklos suggested an alternative idea, migrating the is_owner_or_cap() checks into fs/attr.c:inode_change_ok() via the use of an ATTR_OWNER_CHECK flag. Maybe we could do that later, but for now I've gone with this version, which is IMO simpler, and can be more easily read as being correct. Acked-by: Miklos Szeredi Cc: Al Viro Cc: Ulrich Drepper Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 94c70b9ba7e9c1036284e779e2fef5be89021533 Author: Michael Kerrisk Date: Mon Jun 9 21:16:05 2008 -0700 [patch for 2.6.26 1/4] vfs: utimensat(): ignore tv_sec if tv_nsec == UTIME_OMIT or UTIME_NOW The POSIX.1 draft spec for utimensat() says that if a times[n].tv_nsec field is UTIME_OMIT or UTIME_NOW, then the value in the corresponding tv_sec field is ignored. See the last sentence of this para, from the spec: If the tv_nsec field of a timespec structure has the special value UTIME_NOW, the file's relevant timestamp shall be set to the greatest value supported by the file system that is not greater than the current time. If the tv_nsec field has the special value UTIME_OMIT, the file's relevant timestamp shall not be changed. In either case, the tv_sec field shall be ignored. However the current Linux implementation requires the tv_sec value to be zero (or the EINVAL error results). This requirement should be removed. Acked-by: Miklos Szeredi Cc: Al Viro Cc: Ulrich Drepper Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 12fd0d3088d27867be68655bcab2b074f2835f60 Author: Michael Kerrisk Date: Mon Jun 9 21:16:07 2008 -0700 [patch for 2.6.26 2/4] vfs: utimensat(): be consistent with utime() for immutable and append-only files This patch fixes utimensat() to make its behavior consistent with that of utime()/utimes() when dealing with files marked immutable and append-only. The current utimensat() implementation also returns EPERM if 'times' is non-NULL and the tv_nsec fields are both UTIME_NOW. For consistency, the (times != NULL && times[0].tv_nsec == UTIME_NOW && times[1].tv_nsec == UTIME_NOW) case should be treated like the traditional utimes() case where 'times' is NULL. That is, the call should succeed for a file marked append-only and should give the error EACCES if the file is marked as immutable. The simple way to do this is to set 'times' to NULL if (times[0].tv_nsec == UTIME_NOW && times[1].tv_nsec == UTIME_NOW). This is also the natural approach, since POSIX.1 semantics consider the times == {{x, UTIME_NOW}, {y, UTIME_NOW}} to be exactly equivalent to the case for times == NULL. (Thanks to Miklos for pointing this out.) Patch 3 in this series relies on the simplification provided by this patch. Acked-by: Miklos Szeredi Cc: Al Viro Cc: Ulrich Drepper Signed-off-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit fe6e9c1f25ac01f848bd084ee0ee62a5a0966ff3 Author: Al Viro Date: Mon Jun 23 08:30:55 2008 -0400 [PATCH] fix cgroup-inflicted breakage in block_dev.c devcgroup_inode_permission() expects MAY_FOO, not FMODE_FOO; kindly keep your misdesign consistent if you positively have to inflict it on the kernel. Signed-off-by: Al Viro commit 1b7558e457ed0de61023cfc913d2c342c7c3d9f2 Author: Thomas Gleixner Date: Mon Jun 23 11:21:58 2008 +0200 futexes: fix fault handling in futex_lock_pi This patch addresses a very sporadic pi-futex related failure in highly threaded java apps on large SMP systems. David Holmes reported that the pi_state consistency check in lookup_pi_state triggered with his test application. This means that the kernel internal pi_state and the user space futex variable are out of sync. First we assumed that this is a user space data corruption, but deeper investigation revieled that the problem happend because the pi-futex code is not handling a fault in the futex_lock_pi path when the user space variable needs to be fixed up. The fault happens when a fork mapped the anon memory which contains the futex readonly for COW or the page got swapped out exactly between the unlock of the futex and the return of either the new futex owner or the task which was the expected owner but failed to acquire the kernel internal rtmutex. The current futex_lock_pi() code drops out with an inconsistent in case it faults and returns -EFAULT to user space. User space has no way to fixup that state. When we wrote this code we thought that we could not drop the hash bucket lock at this point to handle the fault. After analysing the code again it turned out to be wrong because there are only two tasks involved which might modify the pi_state and the user space variable: - the task which acquired the rtmutex - the pending owner of the pi_state which did not get the rtmutex Both tasks drop into the fixup_pi_state() function before returning to user space. The first task which acquired the hash bucket lock faults in the fixup of the user space variable, drops the spinlock and calls futex_handle_fault() to fault in the page. Now the second task could acquire the hash bucket lock and tries to fixup the user space variable as well. It either faults as well or it succeeds because the first task already faulted the page in. One caveat is to avoid a double fixup. After returning from the fault handling we reacquire the hash bucket lock and check whether the pi_state owner has been modified already. Reported-by: David Holmes Signed-off-by: Thomas Gleixner Cc: Andrew Morton Cc: David Holmes Cc: Peter Zijlstra Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Signed-off-by: Ingo Molnar kernel/futex.c | 93 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 73 insertions(+), 20 deletions(-) commit 3e14b50dd4a3178f4f635267a2706b5d4f8c61ee Author: Takashi Iwai Date: Mon Jun 23 11:58:06 2008 +0200 ALSA: sb - Fix wrong assertions snd_assert() in save_mixer() and restore_mixer() in sb_mixer.c is just wrong. The debug code wasn't tested at all, obviously... Signed-off-by: Takashi Iwai commit 44e051773da465f8c92127914bc784770e0e2a28 Author: Takashi Iwai Date: Mon Jun 23 11:54:05 2008 +0200 ALSA: aw2 - Fix Oops at initialization The irq handler may be called before the proper initialization of hardware. Call snd_aw2_saa7146_setup() before the irq handler registration. Signed-off-by: Takashi Iwai commit 198bb971e256e4167e45e7df643c13ea66f67e3a Merge: ea71a54... 481c534... Author: Ingo Molnar Date: Mon Jun 23 11:00:26 2008 +0200 Merge branch 'linus' into sched/urgent commit 55d8538498f62ec72b5ba67aa386c7726f630475 Author: Linus Torvalds Date: Sun Jun 22 12:23:15 2008 -0700 Fix performance regression on lmbench select benchmark Christian Borntraeger reported that reinstating cond_resched() with CONFIG_PREEMPT caused a performance regression on lmbench: For example select file 500: 23 microseconds 32 microseconds and that's really because we totally unnecessarily do the cond_resched() in the innermost loop of select(), which is just silly. This moves it out from the innermost loop (which only ever loops ove the bits in a single "unsigned long" anyway), which makes the performance regression go away. Reported-and-tested-by: Christian Borntraeger Signed-off-by: Linus Torvalds commit fc6e14f4fb50bc734d08e65eb8a5798d54a2ad77 Author: Russell King Date: Sun Jun 22 15:41:30 2008 +0100 [ARM] Export dma_sync_sg_for_device() Noticed by Martin Michlmayr, this missing export prevents IEEE1394 from building with: ERROR: "dma_sync_sg_for_device" [drivers/ieee1394/ieee1394.ko] undefined! Signed-off-by: Russell King commit c907310fb0a5dd69a7fe11c08368abb0d34a35cb Merge: e5a2c9c... 15e02a3... Author: Russell King Date: Sun Jun 22 15:03:20 2008 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit e5a2c9ccb3e849fed70674ac6880536eaf553dba Author: Uli Luckas Date: Wed Jun 18 09:54:03 2008 +0100 [ARM] 5109/1: Mark rtc sa1100 driver as wakeup source before registering it Mark rtc sa1100 driver as wakeup source before registering it. rtc_device_register evaluates device_can_wakeup(rtc->dev.parent) and supresses the creation of /sys/class/rtc/rtcX/wakealarm if device_can_wakeup is not (yet) true. Signed-off-by: Uli Luckas Signed-off-by: Russell King commit ee98476bbc565f8fe42e198602e647288b6a258d Author: Jaya Kumar Date: Sun Jun 22 04:27:26 2008 +0100 [ARM] 5116/1: pxafb: cleanup and fix order of failure handling This issue was found by Krzysztof Helt and Eric Miao. pxafb had issues in the order with which it cleaned up if errors occurred during a probe. This patch reorders the failure handling sequence and also frees the cmap and clk. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit f1edfc420ac7beb90b27bf822036cbbfa32483f1 Author: Jaya Kumar Date: Sun Jun 22 04:27:25 2008 +0100 [ARM] 5115/1: pxafb: fix ifdef for command line option handling This bug was found and fixed by Lothar Wassmann. Previously, the use of ifndef CONFIG_MODULES made it such that pxafb command line option parsing was dependent on whether the kernel was built with module support. The ifndef should be MODULE so that parsing is dependent only on whether the driver is built-in or not. Signed-off-by: Jaya Kumar Acked-by: Krzysztof Helt Acked-by: Eric Miao Signed-off-by: Russell King commit 481c5346d0981940ee63037eb53e4e37b0735c10 Author: Christoph Lameter Date: Sat Jun 21 16:46:35 2008 -0700 Slab: Fix memory leak in fallback_alloc() The zonelist patches caused the loop that checks for available objects in permitted zones to not terminate immediately. One object per zone per allocation may be allocated and then abandoned. Break the loop when we have successfully allocated one object. Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds commit 62a8efe632be1815b544845db643f1fcd9afcfb0 Merge: bec95aa... 2856922... Author: Linus Torvalds Date: Sat Jun 21 16:43:56 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: Ext4: Fix online resize block group descriptor corruption commit bec95aab8c056ab490fe7fa54da822938562443d Merge: 71c2742... bcccc3a... Author: Linus Torvalds Date: Sat Jun 21 12:31:02 2008 -0700 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (lm75) sensor reading bugfix hwmon: (abituguru3) update driver detection hwmon: (w83791d) new maintainer hwmon: (abituguru3) Identify Abit AW8D board as such hwmon: Update the sysfs interface documentation hwmon: (adt7473) Initialize max_duty_at_overheat before use hwmon: (lm85) Fix function RANGE_TO_REG() commit 71c2742f5e6348d76ee62085cf0a13e5eff0f00e Author: Bernhard Walle Date: Sat Jun 21 19:01:02 2008 +0200 Add return value to reserve_bootmem_node() This patch changes the function reserve_bootmem_node() from void to int, returning -ENOMEM if the allocation fails. This fixes a build problem on x86 with CONFIG_KEXEC=y and CONFIG_NEED_MULTIPLE_NODES=y Signed-off-by: Bernhard Walle Reported-by: Adrian Bunk Signed-off-by: Linus Torvalds commit a19214430d27a3af6f1672ec26f3c893ef899ede Merge: b732d96... b9f75f4... Author: Linus Torvalds Date: Sat Jun 21 08:44:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: netns: Don't receive new packets in a dead network namespace. sctp: Make sure N * sizeof(union sctp_addr) does not overflow. pppoe: warning fix ipv6: Drop packets for loopback address from outside of the box. ipv6: Remove options header when setsockopt's optlen is 0 mac80211: detect driver tx bugs commit b9f75f45a6b46a0ab4eb0857d437a0845871f314 Author: Eric W. Biederman Date: Fri Jun 20 22:16:51 2008 -0700 netns: Don't receive new packets in a dead network namespace. Alexey Dobriyan writes: > Subject: ICMP sockets destruction vs ICMP packets oops > After icmp_sk_exit() nuked ICMP sockets, we get an interrupt. > icmp_reply() wants ICMP socket. > > Steps to reproduce: > > launch shell in new netns > move real NIC to netns > setup routing > ping -i 0 > exit from shell > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 > IP: [] icmp_sk+0x17/0x30 > PGD 17f3cd067 PUD 17f3ce067 PMD 0 > Oops: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC > CPU 0 > Modules linked in: usblp usbcore > Pid: 0, comm: swapper Not tainted 2.6.26-rc6-netns-ct #4 > RIP: 0010:[] [] icmp_sk+0x17/0x30 > RSP: 0018:ffffffff8057fc30 EFLAGS: 00010286 > RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff81017c7db900 > RDX: 0000000000000034 RSI: ffff81017c7db900 RDI: ffff81017dc41800 > RBP: ffffffff8057fc40 R08: 0000000000000001 R09: 000000000000a815 > R10: 0000000000000000 R11: 0000000000000001 R12: ffffffff8057fd28 > R13: ffffffff8057fd00 R14: ffff81017c7db938 R15: ffff81017dc41800 > FS: 0000000000000000(0000) GS:ffffffff80525000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b > CR2: 0000000000000000 CR3: 000000017fcda000 CR4: 00000000000006e0 > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > Process swapper (pid: 0, threadinfo ffffffff8053a000, task ffffffff804fa4a0) > Stack: 0000000000000000 ffff81017c7db900 ffffffff8057fcf0 ffffffff803fcfe4 > ffffffff804faa38 0000000000000246 0000000000005a40 0000000000000246 > 000000000001ffff ffff81017dd68dc0 0000000000005a40 0000000055342436 > Call Trace: > [] icmp_reply+0x44/0x1e0 > [] ? ip_route_input+0x23a/0x1360 > [] icmp_echo+0x65/0x70 > [] icmp_rcv+0x180/0x1b0 > [] ip_local_deliver+0xf4/0x1f0 > [] ip_rcv+0x33b/0x650 > [] netif_receive_skb+0x27a/0x340 > [] process_backlog+0x9d/0x100 > [] net_rx_action+0x18d/0x250 > [] __do_softirq+0x75/0x100 > [] call_softirq+0x1c/0x30 > [] do_softirq+0x65/0xa0 > [] irq_exit+0x97/0xa0 > [] do_IRQ+0xa8/0x130 > [] ? mwait_idle+0x0/0x60 > [] ret_from_intr+0x0/0xf > [] ? mwait_idle+0x4c/0x60 > [] ? mwait_idle+0x43/0x60 > [] ? cpu_idle+0x57/0xa0 > [] ? rest_init+0x70/0x80 > Code: 10 5b 41 5c 41 5d 41 5e c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 53 > 48 83 ec 08 48 8b 9f 78 01 00 00 e8 2b c7 f1 ff 89 c0 <48> 8b 04 c3 48 83 c4 08 > 5b c9 c3 66 66 66 66 66 2e 0f 1f 84 00 > RIP [] icmp_sk+0x17/0x30 > RSP > CR2: 0000000000000000 > ---[ end trace ea161157b76b33e8 ]--- > Kernel panic - not syncing: Aiee, killing interrupt handler! Receiving packets while we are cleaning up a network namespace is a racy proposition. It is possible when the packet arrives that we have removed some but not all of the state we need to fully process it. We have the choice of either playing wack-a-mole with the cleanup routines or simply dropping packets when we don't have a network namespace to handle them. Since the check looks inexpensive in netif_receive_skb let's just drop the incoming packets. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 735ce972fbc8a65fb17788debd7bbe7b4383cc62 Author: David S. Miller Date: Fri Jun 20 22:04:34 2008 -0700 sctp: Make sure N * sizeof(union sctp_addr) does not overflow. As noticed by Gabriel Campana, the kmalloc() length arg passed in by sctp_getsockopt_local_addrs_old() can overflow if ->addr_num is large enough. Therefore, enforce an appropriate limit. Signed-off-by: David S. Miller commit 2645a3c3761ac25498db2e627271016c849c68e1 Author: Stephen Hemminger Date: Fri Jun 20 21:58:02 2008 -0700 pppoe: warning fix Fix warning: drivers/net/pppoe.c: In function 'pppoe_recvmsg': drivers/net/pppoe.c:945: warning: comparison of distinct pointer types lacks a cast because skb->len is unsigned int and total_len is size_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b732d9680b7a2968823851f1163507ad9c45c8cb Merge: a744e01... e0c6d97... Author: Linus Torvalds Date: Fri Jun 20 17:10:04 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] SN2: security hole in sn2_ptc_proc_write commit a744e0160ac5804b763449aa34d3991dc21af0be Author: Ivan Kokshaysky Date: Sat Jun 21 03:28:54 2008 +0400 alpha: resurrect Cypress IDE quirk Which was removed in the hope that generic legacy IDE quirk in drivers/pci/probe.c is sufficient for Cypress IDE. It isn't, as this controller has non-standard BAR layout: secondary channel registers are in the BAR0-1 of the second PCI function - not in the BAR2-3 of the same function, as the generic quirk routine assumes. Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit d559d4a24a3fed75bd890abcc1f95cd8d8dad6e1 Author: Ivan Kokshaysky Date: Sat Jun 21 03:28:31 2008 +0400 alpha: fix compile failures with gcc-4.3 (bug #10438) Vast majority of these build failures are gcc-4.3 warnings about static functions and objects being referenced from non-static (read: "extern inline") functions, in conjunction with our -Werror. We cannot just convert "extern inline" to "static inline", as people keep suggesting all the time, because "extern inline" logic is crucial for generic kernel build. So - just make sure that all callees of critical "extern inline" functions are also "extern inline"; - use "static inline", wherever it's possible. traps.c: work around gcc-4.3 being too smart about array bounds-checking. TODO: add "gnu_inline" attribute to all our "extern inline" functions to ensure desired behaviour with future compilers. Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit ede426923b25414f5ec9c00fefe6727d9721dd13 Author: Ivan Kokshaysky Date: Sat Jun 21 03:26:21 2008 +0400 alpha: link failure fix With built-in scsi disk driver, the final link fails with a following error: `.exit.text' referenced in section `.rodata' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o This happens with -Os (CONFIG_CC_OPTIMIZE_FOR_SIZE=y) with all gcc-4 versions, and also with -O2 and gcc-4.3. The problem is in sd.c:sd_major() being inlined into __exit function exit_sd(), and the compiler generating a jump table in .rodata section for the 'switch' statement in sd_major(). So we have references to discarded section. Fixed with a big hammer in the form of -fno-jump-tables. Note that jump tables vs. discarded sections is a generic problem, other architectures are just lucky not to suffer from it. But with a slightly more complex switch/case statement it can be reproduced on x86 as well. So maybe at some point we should consider -fno-jump-tables as a generic compile option... Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 9267b4b3880d00dc2dab90f1d817c856939114f7 Author: Ivan Kokshaysky Date: Sat Jun 21 03:25:39 2008 +0400 alpha: fix module load failures on smp (bug #10926) To calculate addresses of locally defined variables, GCC uses 32-bit displacement from the GP. Which doesn't work for per cpu variables in modules, as an offset to the kernel per cpu area is way above 4G. The workaround is to force allocation of a GOT entry for per cpu variable using ldq instruction with a 'literal' relocation. I had to use custom asm/percpu.h, as a required argument magic doesn't work with asm-generic/percpu.h macros. Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2 Author: Linus Torvalds Date: Fri Jun 20 16:19:44 2008 -0700 Linux 2.6.26-rc7 commit 06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb Merge: d5545fa... ac16236... Author: Linus Torvalds Date: Fri Jun 20 12:46:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: BAST: Remove old IDE driver pcmcia ide kingston compactflash's have a new manufacturer id pcmcia: add another pata/ide ID pcmcia: add an pata/ide ID ide: increase timeout in wait_drive_not_busy() palm_bk3710: fix resource management commit d5545fa0056ff2982f8a6419bd9a6ba2674deefd Merge: 77a189c... 9499fe2... Author: Linus Torvalds Date: Fri Jun 20 12:41:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: Kconfig menu touch-up firewire: Kconfig menu touch-up firewire: deadline for PHY config transmission firewire: fw-ohci: unify printk prefixes firewire: fill_bus_reset_event needs lock protection firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID firewire: fw-ohci: disable PHY packet reception into AR context firewire: fw-ohci: use of uninitialized data in AR handler firewire: don't panic on invalid AR request buffer commit 77a189c28b44035ff1b6841df32c43af8a9e8399 Merge: 9aef85c... 5a87f7f... Author: Linus Torvalds Date: Fri Jun 20 12:39:12 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: no AC status notification ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device commit 9aef85cc58f54f01bbbafdb3c87af4465f4257c0 Merge: fdfe6d3... 858a368... Author: Linus Torvalds Date: Fri Jun 20 12:38:18 2008 -0700 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) drm: only trust core drm ioctls - driver ioctls are a mess. drm/i915: add support for Intel series 4 chipsets. drm/radeon: add hier-z registers for r300 and r500 chipsets drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT drm/radeon: switch IGP gart to use radeon_write_agp_base() drm/radeon: Restore sw interrupt on resume drm/r500: add support for AGP based cards. drm/radeon: fix texture uploads with large 3d textures (bug 13980) drm/radeon: add initial r500 support. drm/radeon: init pipe setup in kernel code. drm/radeon: fixup radeon_do_engine_reset drm/radeon: fix pixcache and purge/cache flushing registers drm/radeon: write AGP_BASE_2 on chips that support it. drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support drm/radeon: IGP clean up register and magic numbers. drm/rs690: set base 2 to 0. drm/rs690: set all of gart base address. radeon: add production microcode from AMD drm: pcigart use proper pci map interfaces. drm: the sg alloc ioctl should write back the handle to userspace ... commit fdfe6d3d000775b50fb1adbc278ba0a34c3007c7 Merge: 1f1e2ce... 7d15ddf... Author: Linus Torvalds Date: Fri Jun 20 12:37:55 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: [agp]: fixup chipset flush for new Intel G4x. agp: brown paper bag patch - put back the two lines it took out. commit 1f1e2ce8a55bac60ff165d353c6b882e750c9092 Merge: e570dc2... 9c106c1... Author: Linus Torvalds Date: Fri Jun 20 12:37:13 2008 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression rcupreempt: remove export of rcu_batches_completed_bh cpuset: limit the input of cpuset.sched_relax_domain_level commit e570dc2a503f8334b700e8483082c675394f53fd Merge: b1ae8d3... d4abc23... Author: Linus Torvalds Date: Fri Jun 20 12:36:55 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue sched: CPU hotplug events must not destroy scheduler domains created by the cpusets sched: rt-group: fix RR buglet sched: rt-group: heirarchy aware throttle sched: rt-group: fix hierarchy sched: NULL pointer dereference while setting sched_rt_period_us sched: fix defined-but-unused warning commit b1ae8d3a00530c035ef97fa4d97f4bee9be75c43 Merge: 5501792... ffe6e1d... Author: Linus Torvalds Date: Fri Jun 20 12:36:38 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, geode: add a VSA2 ID for General Software x86: use BOOTMEM_EXCLUSIVE on 32-bit x86, 32-bit: fix boot failure on TSC-less processors x86: fix NULL pointer deref in __switch_to x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. commit 55017923f699471f68c1469d5f3ff141dd416ab4 Merge: b4eea67... f30ac0c... Author: Linus Torvalds Date: Fri Jun 20 12:34:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. Blackfin arch: fix typo error in bf548 serial header file commit b4eea67a129423fe423c5d8d26a0aaa9d68ed600 Merge: 1f6ef23... 9a3b103... Author: Linus Torvalds Date: Fri Jun 20 12:31:03 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: sis can't do PMP ata_piix: add TECRA M4 to broken suspend list LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver sata_mv: warn on PIO with multiple DRQs sata_mv: enable async_notify for 60x1 Rev.C0 and higher libata: don't check whether to use DMA or not for no data commands ahci: jmb361 has only one port commit 1f6ef2342972dc7fd623f360f84006e2304eb935 Author: Linus Torvalds Date: Fri Jun 20 12:19:28 2008 -0700 [watchdog] hpwdt: fix use of inline assembly The inline assembly in drivers/watchdog/hpwdt.c was incredibly broken, and included all the function prologue and epilogue stuff, even though it was itself then inside a C function where the compiler would add its own prologue and epilogue on top of it all. This then just _happened_ to work if you had exactly the right compiler version and exactly the right compiler flags, so that gcc just happened to not create any prologue at all (the gcc-generated epilogue wouldn't matter, since it would never be reached). But the more proper way to fix it is to simply not do this. Move the inline asm to the top level, with no surrounding function at all (the better alternative would be to remove the prologue and make it actually use proper description of the arguments to the inline asm, but that's a bigger change than the one I'm willing to make right now). Tested-by: S.Çağlar Onur Acked-by: Thomas Mingarelli Signed-off-by: Linus Torvalds commit e0c6d97c65e0784aade7e97b9411f245a6c543e7 Author: Cliff Wickman Date: Fri Jun 20 12:02:00 2008 -0700 [IA64] SN2: security hole in sn2_ptc_proc_write Security hole in sn2_ptc_proc_write It is possible to overrun a buffer with a write to this /proc file. Signed-off-by: Cliff Wickman Signed-off-by: Tony Luck commit ac1623625c5818bbdf5c68973098ba386ba7a004 Author: Ben Dooks Date: Fri Jun 20 20:53:35 2008 +0200 BAST: Remove old IDE driver Remove the old BAST IDE driver, as we are now using the platform-pata support. Signed-off-by: Ben Dooks Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a49c06bfe48c43b4fea4d3789807d8393828ca8a Author: Christophe Niclaes Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia ide kingston compactflash's have a new manufacturer id Up to now, Kingston compactflash cards (ab)used the Toshiba Manufacturer's ID, In their new CF cards, they use a new one. Let's the ide subsystem recognize CF cards with the new id. Signed-off-by: Christophe Niclaes Acked-by: Philippe De Muyter Cc: Alan Cox Cc: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit a17bf220231a5061a29a27a99a273246eb3b156e Author: Kristoffer Ericson Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia: add another pata/ide ID Addition of Transcend 1GB 45x id so that it is properly detected. [bart: fix typo in ide-cs's ID spotted by Alan Cox] Signed-off-by: William Peters Signed-off-by: Kristoffer Ericson CC: Alan Cox CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit 74e23386b7818c7edb1252f6661806dd34042db1 Author: Matt Reimer Date: Fri Jun 20 20:53:34 2008 +0200 pcmcia: add an pata/ide ID Add an id for: product info: "M-Systems", "CF300", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) Signed-off-by: Matt Reimer CC: Alan Cox CC: linux-ide@vger.kernel.org Signed-off-by: Dominik Brodowski Signed-off-by: Bartlomiej Zolnierkiewicz commit f54feafa6d47d0aa1a96adefdc763b708b02f94f Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 20 20:53:33 2008 +0200 ide: increase timeout in wait_drive_not_busy() Some ATAPI devices take longer than the current max timeout value to become ready (i.e. TEAC DV-W28ECW takes 6 ms) so increase the timeout value to 10 ms. This fixes kernel.org bugzilla bug #10887: http://bugzilla.kernel.org/show_bug.cgi?id=10887 Reported-by: Masanari Iida Signed-off-by: Bartlomiej Zolnierkiewicz commit ce42a54946db338e43be9a89c0f7927e02aa3a16 Author: Sergei Shtylyov Date: Fri Jun 20 20:53:32 2008 +0200 palm_bk3710: fix resource management The driver expected a *virtual* address in the IDE platform device's memory resource and didn't request the memory region for the register block. Fix this taking into account the fact that DaVinci SoC devices are fixed-mapped to the virtual memory early and we can get their virtual addresses using IO_ADDRESS() macro, not having to call ioremap()... While at it, also do some cosmetic changes... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f Author: Linus Torvalds Date: Fri Jun 20 11:18:25 2008 -0700 Reinstate ZERO_PAGE optimization in 'get_user_pages()' and fix XIP KAMEZAWA Hiroyuki and Oleg Nesterov point out that since the commit 557ed1fa2620dc119adb86b34c614e152a629a80 ("remove ZERO_PAGE") removed the ZERO_PAGE from the VM mappings, any users of get_user_pages() will generally now populate the VM with real empty pages needlessly. We used to get the ZERO_PAGE when we did the "handle_mm_fault()", but since fault handling no longer uses ZERO_PAGE for new anonymous pages, we now need to handle that special case in follow_page() instead. In particular, the removal of ZERO_PAGE effectively removed the core file writing optimization where we would skip writing pages that had not been populated at all, and increased memory pressure a lot by allocating all those useless newly zeroed pages. This reinstates the optimization by making the unmapped PTE case the same as for a non-existent page table, which already did this correctly. While at it, this also fixes the XIP case for follow_page(), where the caller could not differentiate between the case of a page that simply could not be used (because it had no "struct page" associated with it) and a page that just wasn't mapped. We do that by simply returning an error pointer for pages that could not be turned into a "struct page *". The error is arbitrarily picked to be EFAULT, since that was what get_user_pages() already used for the equivalent IO-mapped page case. [ Also removed an impossible test for pte_offset_map_lock() failing: that's not how that function works ] Acked-by: Oleg Nesterov Acked-by: Nick Piggin Cc: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Andrew Morton Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Linus Torvalds commit 2856922c158605514ec5974a03097eaec91f4c0d Author: Frederic Bohe Date: Fri Jun 20 11:48:48 2008 -0400 Ext4: Fix online resize block group descriptor corruption This is the patch for the group descriptor table corruption during online resize pointed out by Theodore Tso. The problem was caused by the fact that the ext4 group descriptor can be either 32 or 64 bytes long. Only the 64 bytes structure was taken into account. Signed-off-by: Frederic Bohe Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ea71a546706dfdad72462624394e1e472c6bf34f Author: Oleg Nesterov Date: Fri Jun 20 18:32:20 2008 +0400 sched: refactor wait_for_completion_timeout() Simplify the code and fix the boundary condition of wait_for_completion_timeout(,0). We can kill the first __remove_wait_queue() as well. Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra commit ebb9cfe20fe167f29960a5e913193a684fac50bf Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:56 2008 -0700 xen: don't drop NX bit Because NX is now enforced properly, we must put the hypercall page into the .text segment so that it is executable. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit 05345b0f006ac226d0d25d48fcb2d792ac44a071 Author: Jeremy Fitzhardinge Date: Mon Jun 16 15:01:53 2008 -0700 xen: mask unwanted pte bits in __supported_pte_mask [ Stable: this isn't a bugfix in itself, but it's a pre-requiste for "xen: don't drop NX bit" ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit 46539383791a0e59a4af7412056dfbfc5240af0a Author: Isaku Yamahata Date: Mon Jun 16 14:58:13 2008 -0700 xen: Use wmb instead of rmb in xen_evtchn_do_upcall(). This patch is ported one from 534:77db69c38249 of linux-2.6.18-xen.hg. Use wmb instead of rmb to enforce ordering between evtchn_upcall_pending and evtchn_pending_sel stores in xen_evtchn_do_upcall(). Cc: Samuel Thibault Signed-off-by: Isaku Yamahata Cc: Nick Piggin Cc: the arch/x86 maintainers Signed-off-by: Ingo Molnar commit 54481cf88bc59923ea30f2ca345a73c60155e901 Author: Suresh Siddha Date: Thu Jun 19 09:41:22 2008 -0700 x86: fix NULL pointer deref in __switch_to I am able to reproduce the oops reported by Simon in __switch_to() with lguest. My debug showed that there is at least one lguest specific issue (which should be present in 2.6.25 and before aswell) and it got exposed with a kernel oops with the recent fpu dynamic allocation patches. In addition to the previous possible scenario (with fpu_counter), in the presence of lguest, it is possible that the cpu's TS bit it still set and the lguest launcher task's thread_info has TS_USEDFPU still set. This is because of the way the lguest launcher handling the guest's TS bit. (look at lguest_set_ts() in lguest_arch_run_guest()). This can result in a DNA fault while doing unlazy_fpu() in __switch_to(). This will end up causing a DNA fault in the context of new process thats getting context switched in (as opossed to handling DNA fault in the context of lguest launcher/helper process). This is wrong in both pre and post 2.6.25 kernels. In the recent 2.6.26-rc series, this is showing up as NULL pointer dereferences or sleeping function called from atomic context(__switch_to()), as we free and dynamically allocate the FPU context for the newly created threads. Older kernels might show some FPU corruption for processes running inside of lguest. With the appended patch, my test system is running for more than 50 mins now. So atleast some of your oops (hopefully all!) should get fixed. Please give it a try. I will spend more time with this fix tomorrow. Reported-by: Simon Holm Thøgersen Reported-by: Patrick McHardy Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit bb10ed0994927d433f6dbdf274fdb26cfcf516b7 Author: Roland Dreier Date: Thu Jun 19 15:04:07 2008 -0700 sched: fix wait_for_completion_timeout() spurious failure under heavy load It seems that the current implementaton of wait_for_completion_timeout() has a small problem under very high load for the common pattern: if (!wait_for_completion_timeout(&done, timeout)) /* handle failure */ because the implementation very roughly does (lots of code deleted to show the basic flow): static inline long __sched do_wait_for_common(struct completion *x, long timeout, int state) { if (x->done) return timeout; do { timeout = schedule_timeout(timeout); if (!timeout) return timeout; } while (!x->done); return timeout; } so if the system is very busy and x->done is not set when do_wait_for_common() is entered, it is possible that the first call to schedule_timeout() returns 0 because the task doing wait_for_completion doesn't get rescheduled for a long time, even if it is woken up early enough. In this case, wait_for_completion_timeout() returns 0 without even checking x->done again, and the code above falls into its failure case purely for scheduler reasons, even if the hardware event or whatever was being waited for happened early enough. It would make sense to add an extra test to do_wait_for() in the timeout case and return 1 if x->done is actually set. A quick audit (not exhaustive) of wait_for_completion_timeout() callers seems to indicate that no one actually cares about the return value in the success case -- they just test for 0 (timed out) versus non-zero (wait succeeded). Signed-off-by: Ingo Molnar commit 8a8cde163ea724baf74e7752a31a69d3121a240e Author: Peter Zijlstra Date: Thu Jun 19 14:22:28 2008 +0200 sched: rt: dont stop the period timer when there are tasks wanting to run So if the group ever gets throttled, it will never wake up again. Reported-by: "Daniel K." Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit 5a87f7f5e523030aa6fe732ec338fd53c9a11c42 Merge: 7b09f27... d385c2a... Author: Len Brown Date: Fri Jun 20 02:47:16 2008 -0400 Merge branch 'bugzilla-9761' into release commit 7b09f27891476c668d058926b90539e4068fbda2 Merge: 9bedbcb... f163ff5... Author: Len Brown Date: Fri Jun 20 02:45:05 2008 -0400 Merge branch 'bugzilla-10695' into release commit 858a3685bcf3ac199128e4aa85eaae2fb9d191b5 Author: Dave Airlie Date: Fri Jun 20 15:42:38 2008 +1000 drm: only trust core drm ioctls - driver ioctls are a mess. So driver ioctls need a full auditing before we can make this change. Signed-off-by: Dave Airlie commit d3adbc0c582b767ba1561ffa38313e905cc917ea Author: Zhenyu Wang Date: Fri Jun 20 12:12:56 2008 +1000 drm/i915: add support for Intel series 4 chipsets. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 7d15ddf79ec35ce79093832c80b86c0888eb5bce Author: Zhenyu Wang Date: Fri Jun 20 11:48:06 2008 +1000 [agp]: fixup chipset flush for new Intel G4x. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit f630e43a215a3129d0c1173cae0bce6ea4855cf7 Author: YOSHIFUJI Hideaki Date: Thu Jun 19 16:33:57 2008 -0700 ipv6: Drop packets for loopback address from outside of the box. [ Based upon original report and patch by Karsten Keil. Karsten has verified that this fixes the TAHI test case "ICMPv6 test v6LC.5.1.2 Part F". -DaveM ] Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit aea7427f70cce5fa8f99ce447b213e9e3b49f24c Author: Shan Wei Date: Thu Jun 19 16:29:39 2008 -0700 ipv6: Remove options header when setsockopt's optlen is 0 Remove the sticky Hop-by-Hop options header by calling setsockopt() for IPV6_HOPOPTS with a zero option length, per RFC3542. Routing header and Destination options header does the same as Hop-by-Hop options header. Signed-off-by: Shan Wei Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ffe6e1da86d21d7855495b5a772c93f050258f6e Author: Jordan Crouse Date: Wed Jun 18 11:34:38 2008 -0600 x86, geode: add a VSA2 ID for General Software General Software writes their own VSA2 module for their version of the Geode BIOS, which returns a different ID then the standard VSA2. This was causing the framebuffer driver to break for most GSW boards. Signed-off-by: Jordan Crouse Cc: tglx@linutronix.de Cc: linux-geode@lists.infradead.org Signed-off-by: Ingo Molnar commit d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a Author: Bharath Ravi Date: Mon Jun 16 15:11:01 2008 +0530 sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue This patch corrects the incorrect value of per process run-queue wait time reported by delay statistics. The anomaly was due to the following reason. When a process leaves the CPU and immediately starts waiting for CPU on the runqueue (which means it remains in the TASK_RUNNABLE state), the time of re-entry into the run-queue is never recorded. Due to this, the waiting time on the runqueue from this point of re-entry upto the next time it hits the CPU is not accounted for. This is solved by recording the time of re-entry of a process leaving the CPU in the sched_info_depart() function IF the process will go back to waiting on the run-queue. This IF condition is verified by checking whether the process is still in the TASK_RUNNABLE state. The patch was tested on 2.6.26-rc6 using two simple CPU hog programs. The values noted prior to the fix did not account for the time spent on the runqueue waiting. After the fix, the correct values were reported back to user space. Signed-off-by: Bharath Ravi Signed-off-by: Madhava K R Cc: dhaval@linux.vnet.ibm.com Cc: vatsa@in.ibm.com Cc: balbir@in.ibm.com Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bcccc3a28e9cbb44549cde326852c26203a53a56 Author: David Brownell Date: Sat May 3 19:19:16 2008 -0700 hwmon: (lm75) sensor reading bugfix LM75 sensor reading bugfix: never save error status as valid sensor output. This could be improved, but at least this prevents certain rude failure modes. Signed-off-by: David Brownell Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit b3aeab0cdbd0fe5339a3a5918b59eebf148cbcd1 Author: Hans de Goede Date: Fri May 23 16:10:41 2008 +0200 hwmon: (abituguru3) update driver detection It has been reported that the abituguru3 driver fails to load after a BIOS update. This patch fixes this by loosening the detection routine so that it will work after the BIOS update too. To compensate for the now very loose detection an additional check is added on the DMI Base Board vendor string to make sure we only load on Abit motherboards, this is the same as the check in the abituguru (1 / 2) driver. Signed-of-by: Hans de Goede Signed-off-by: Alistair John Strachan Signed-off-by: Mark M. Hoffman commit 25845c22647fad2a0852cf6bf277d84e8a7a6b4a Author: Marc Hulsman Date: Sun Jun 8 10:59:41 2008 -0400 hwmon: (w83791d) new maintainer Signed-off-by: Charles Spirakis Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1604e78b7d6e6087ae9bde6e7a6b41cda80d6557 Author: Hans de Goede Date: Tue Feb 26 19:34:48 2008 +0100 hwmon: (abituguru3) Identify Abit AW8D board as such This patch identifies the Abit AW8D board as such, and adds support for its aux5 fan connector Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 125ff8087fca28e922e7ad6e082efcf04fe2f0f4 Author: Jean Delvare Date: Sat Feb 23 10:57:53 2008 +0100 hwmon: Update the sysfs interface documentation * Document the characteristics of libsensors 3.0.0 and 3.0.1. * The sysfs interface is no longer subject to changes. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit ed4ec814e45ae8b1596aea0a29b92f6c3614acaa Author: Jean Delvare Date: Sat Apr 26 16:34:26 2008 +0200 hwmon: (adt7473) Initialize max_duty_at_overheat before use data->max_duty_at_overheat is not updated in adt7473_update_device, so it might be used before it is initialized (if the user reads from sysfs file max_duty_at_crit before writing to it.) Signed-off-by: Jean Delvare Acked-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit d38b149794e7444a55e741446717147e7f0467f8 Author: Jean Delvare Date: Thu Apr 3 10:40:39 2008 +0200 hwmon: (lm85) Fix function RANGE_TO_REG() Function RANGE_TO_REG() is broken. For a requested range of 2000 (2 degrees C), it will return an index value of 15, i.e. 80.0 degrees C, instead of the expected index value of 0. All other values are handled properly, just 2000 isn't. The bug was introduced back in November 2004 by this patch: http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=1c28d80f1992240373099d863e4996cdd5d646d0 While this can be fixed easily with the current code, I'd rather rewrite the whole function in a way which is more obviously correct. Signed-off-by: Jean Delvare Cc: Justin Thiessen Signed-off-by: Mark M. Hoffman commit f30ac0ce34f32bb998ac87e37b251374de03e603 Author: Sonic Zhang Date: Thu Jun 19 17:46:39 2008 +0800 Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. This allows other threads to run when the serial driver polls the CTS PIN in a loop. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit ec64b6c8763c83899908fdd62746435c19211686 Author: Sonic Zhang Date: Thu Jun 19 17:07:15 2008 +0800 Blackfin arch: fix typo error in bf548 serial header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit d3942cff620bea073fc4e3c8ed878eb1e84615ce Author: Bernhard Walle Date: Sun Jun 8 16:16:07 2008 +0200 x86: use BOOTMEM_EXCLUSIVE on 32-bit This patch uses the BOOTMEM_EXCLUSIVE for crashkernel reservation also for i386 and prints a error message on failure. The patch is still for 2.6.26 since it is only bug fixing. The unification of reserve_crashkernel() between i386 and x86_64 should be done for 2.6.27. Signed-off-by: Bernhard Walle Signed-off-by: Ingo Molnar Cc: commit df17b1d990fc214f033c5588e58216ec941591e0 Author: Mikael Pettersson Date: Sun Jun 15 02:19:56 2008 +0200 x86, 32-bit: fix boot failure on TSC-less processors Booting 2.6.26-rc6 on my 486 DX/4 fails with a "BUG: Int 6" (invalid opcode) and a kernel halt immediately after the kernel has been uncompressed. The BUG shows EIP pointing to an rdtsc instruction in native_read_tsc(), invoked from native_sched_clock(). (This error occurs so early that not even the serial console can capture it.) A bisection showed that this bug first occurs in 2.6.26-rc3-git7, via commit 9ccc906c97e34fd91dc6aaf5b69b52d824386910: >x86: distangle user disabled TSC from unstable > >tsc_enabled is set to 0 from the command line switch "notsc" and from >the mark_tsc_unstable code. Seperate those functionalities and replace >tsc_enable with tsc_disable. This makes also the native_sched_clock() >decision when to use TSC understandable. > >Preparatory patch to solve the sched_clock() issue on 32 bit. > >Signed-off-by: Thomas Gleixner The core reason for this bug is that native_sched_clock() gets called before tsc_init(). Before the commit above, tsc_32.c used a "tsc_enabled" variable which defaulted to 0 == disabled, and which only got enabled late in tsc_init(). Thus early calls to native_sched_clock() would skip the TSC and use jiffies instead. After the commit above, tsc_32.c uses a "tsc_disabled" variable which defaults to 0, meaning that the TSC is Ok to use. Early calls to native_sched_clock() now erroneously try to use the TSC on !cpu_has_tsc processors, leading to invalid opcode exceptions. My proposed fix is to initialise tsc_disabled to a "soft disabled" state distinct from the hard disabled state set up by the "notsc" kernel option. This fixes the native_sched_clock() problem. It also allows tsc_init() to be simplified: instead of setting tsc_disabled = 1 on every error return, we just set tsc_disabled = 0 once when all checks have succeeded. I've verified that this lets my 486 boot again. I've also verified that a Core2 machine still uses the TSC as clocksource after the patch. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 75118a82e21cafb4a82b53bb85d1c7689787e046 Author: Suresh Siddha Date: Fri Jun 13 15:47:12 2008 -0700 x86: fix NULL pointer deref in __switch_to Patrick McHardy reported a crash: > > I get this oops once a day, its apparently triggered by something > > run by cron, but the process is a different one each time. > > > > Kernel is -git from yesterday shortly before the -rc6 release > > (last commit is the usb-2.6 merge, the x86 patches are missing), > > .config is attached. > > > > I'll retry with current -git, but the patches that have gone in > > since I last updated don't look related. > > > > [62060.043009] BUG: unable to handle kernel NULL pointer dereference at > > 000001ff > > [62060.043009] IP: [] __switch_to+0x2f/0x118 > > [62060.043009] *pde = 00000000 > > [62060.043009] Oops: 0002 [#1] PREEMPT Vegard Nossum analyzed it: > This decodes to > > 0: 0f ae 00 fxsave (%eax) > > so it's related to the floating-point context. This is the exact > location of the crash: > > $ addr2line -e arch/x86/kernel/process_32.o -i ab0 > include/asm/i387.h:232 > include/asm/i387.h:262 > arch/x86/kernel/process_32.c:595 > > ...so it looks like prev_task->thread.xstate->fxsave has become NULL. > Or maybe it never had any other value. Somehow (as described below) TS_USEDFPU is set but the fpu is not allocated or freed. Another possible FPU pre-emption issue with the sleazy FPU optimization which was benign before but not so anymore, with the dynamic FPU allocation patch. New task is getting exec'd and it is prempted at the below point. flush_thread() { ... /* * Forget coprocessor state.. */ clear_fpu(tsk); <----- Preemption point clear_used_math(); ... } Now when it context switches in again, as the used_math() is still set and fpu_counter can be > 5, we will do a math_state_restore() which sets the task's TS_USEDFPU. After it continues from the above preemption point it does clear_used_math() and much later free_thread_xstate(). Now, at the next context switch, it is quite possible that xstate is null, used_math() is not set and TS_USEDFPU is still set. This will trigger unlazy_fpu() causing kernel oops. Fix this by clearing tsk's fpu_counter before clearing task's fpu. Reported-by: Patrick McHardy Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ad524d46f36bbc32033bb72ba42958f12bf49b06 Author: Jeremy Fitzhardinge Date: Fri Jun 6 10:21:39 2008 +0100 x86: set PAE PHYSICAL_MASK_SHIFT to 44 bits. When a 64-bit x86 processor runs in 32-bit PAE mode, a pte can potentially have the same number of physical address bits as the 64-bit host ("Enhanced Legacy PAE Paging"). This means, in theory, we could have up to 52 bits of physical address in a pte. The 32-bit kernel uses a 32-bit unsigned long to represent a pfn. This means that it can only represent physical addresses up to 32+12=44 bits wide. Rather than widening pfns everywhere, just set 2^44 as the Linux x86_32-PAE architectural limit for physical address size. This is a bugfix for two cases: 1. running a 32-bit PAE kernel on a machine with more than 64GB RAM. 2. running a 32-bit PAE Xen guest on a host machine with more than 64GB RAM In both cases, a pte could need to have more than 36 bits of physical, and masking it to 36-bits will cause fairly severe havoc. Signed-off-by: Jeremy Fitzhardinge Cc: Jan Beulich Cc: Signed-off-by: Ingo Molnar commit 9c106c119ebedf624fbd682fd2a4d52e3c8c1a67 Author: Jason Wessel Date: Tue May 27 12:23:29 2008 -0500 softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression The touch_nmi_watchdog() routine on x86 ultimately calls touch_softlockup_watchdog(). The problem is that to touch the softlockup watchdog, the cpu_clock code has to be called which could involve multiple cpu locks and can lead to a hard hang if one of the locks is held by a processor that is not going to return anytime soon (such as could be the case with kgdb or perhaps even with some other kind of exception). This patch causes the public version of the touch_softlockup_watchdog() to defer the cpu clock access to a later point. The test case for this problem is to use the following kernel config options: CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100I100000" It should be noted that kgdb test suite and these options were not available until 2.6.26-rc2, so it was necessary to patch the kgdb test suite during the bisection. I would consider this patch a regression fix because the problem first appeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some logic was added to try to periodically sync the clocks. It was possible to work around this particular problem by simply not performing the sync anytime the system was in a critical context. This was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd, which added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some multi-cpu locks to sync the clocks. It became clear that accessing this code from an nmi was the source of the lockups. Avoiding the access to the low level clock code from an code inside the NMI processing also fixed the problem with the 27ec44... commit. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit afd38009cc3acd36d41f349a669ad5825d695b1f Author: Steven Rostedt Date: Thu May 22 14:18:17 2008 -0400 rcupreempt: remove export of rcu_batches_completed_bh In rcupreempt, rcu_batches_completed_bh is defined as a static inline in the header file. This does not need to be exported, and not only that, this breaks my PPC build. Signed-off-by: Steven Rostedt Cc: "Paul E. McKenney" Cc: paulus@samba.org Cc: linuxppc-dev@ozlabs.org Signed-off-by: Thomas Gleixner commit 30e0e178193d4221abc9926b07a4c7661c7cc4a9 Author: Li Zefan Date: Tue May 13 10:27:17 2008 +0800 cpuset: limit the input of cpuset.sched_relax_domain_level We allow the inputs to be [-1 ... SD_LV_MAX), and return -EINVAL for inputs outside this range. Signed-off-by: Li Zefan Acked-by: Paul Menage Acked-by: Paul Jackson Acked-by: Hidetoshi Seto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d819c49da624e3ee09b2844603d58265039eecdd Merge: f18f982... 9bedbcb... Author: Ingo Molnar Date: Thu Jun 19 09:37:31 2008 +0200 Merge branch 'linus' into sched/urgent commit f18f982abf183e91f435990d337164c7a43d1e6d Author: Max Krasnyansky Date: Thu May 29 11:17:01 2008 -0700 sched: CPU hotplug events must not destroy scheduler domains created by the cpusets First issue is not related to the cpusets. We're simply leaking doms_cur. It's allocated in arch_init_sched_domains() which is called for every hotplug event. So we just keep reallocation doms_cur without freeing it. I introduced free_sched_domains() function that cleans things up. Second issue is that sched domains created by the cpusets are completely destroyed by the CPU hotplug events. For all CPU hotplug events scheduler attaches all CPUs to the NULL domain and then puts them all into the single domain thereby destroying domains created by the cpusets (partition_sched_domains). The solution is simple, when cpusets are enabled scheduler should not create default domain and instead let cpusets do that. Which is exactly what the patch does. Signed-off-by: Max Krasnyansky Cc: pj@sgi.com Cc: menage@google.com Cc: rostedt@goodmis.org Acked-by: Peter Zijlstra Signed-off-by: Thomas Gleixner commit 15a8641eadb492ef7c5489faa25256967bdfd303 Author: Peter Zijlstra Date: Thu Jun 19 09:06:59 2008 +0200 sched: rt-group: fix RR buglet In tick_task_rt() we first call update_curr_rt() which can dequeue a runqueue due to it running out of runtime, and then we try to requeue it, of it also having exhausted its RR quota. Obviously requeueing something that is no longer on the runqueue will not have the expected result. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit ad2a3f13b7258a5daaaeb8cff9f835aac468b71d Author: Peter Zijlstra Date: Thu Jun 19 09:06:57 2008 +0200 sched: rt-group: heirarchy aware throttle The bandwidth throttle code dequeues a group when it runs out of quota, and re-queues it once the period rolls over and the quota gets refreshed. Sadly it failed to take the hierarchy into consideration. Share more of the enqueue/dequeue code with regular task opterations. Also, some operations like sched_setscheduler() can dequeue/enqueue tasks that are in throttled runqueues, we should not inadvertly re-enqueue empty runqueues so check for that. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit 7ea56616ba6b3d67a4892728182e38ae162ea3e7 Author: Peter Zijlstra Date: Thu Jun 19 09:06:56 2008 +0200 sched: rt-group: fix hierarchy Don't re-set the entity's runqueue to the wrong rq after we've set it to the right one. Signed-off-by: Peter Zijlstra Tested-by: Daniel K. Signed-off-by: Ingo Molnar commit 49307fd6f72bdd68cc2bd23e7da0bcfecf8087c9 Author: Dario Faggioli Date: Wed Jun 18 09:18:38 2008 +0200 sched: NULL pointer dereference while setting sched_rt_period_us When CONFIG_RT_GROUP_SCHED and CONFIG_CGROUP_SCHED are enabled, with: echo 10000 > /proc/sys/kernel/sched_rt_period_us We get this: BUG: unable to handle kernel NULL pointer dereference at 0000008c [ 947.682233] IP: [] __rt_schedulable+0x12/0x160 [ 947.683123] *pde = 00000000=20 [ 947.683782] Oops: 0000 [#1] [ 947.684307] Modules linked in: [ 947.684308] [ 947.684308] Pid: 2359, comm: bash Not tainted (2.6.26-rc6 #8) [ 947.684308] EIP: 0060:[] EFLAGS: 00000246 CPU: 0 [ 947.684308] EIP is at __rt_schedulable+0x12/0x160 [ 947.684308] EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000001 [ 947.684308] ESI: c0521db4 EDI: 00000001 EBP: c6cc9f00 ESP: c6cc9ed0 [ 947.684308] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 [ 947.684308] Process bash (pid: 2359, tiÆcc8000 taskÇa54f00=20 task.tiÆcc8000) [ 947.684308] Stack: c0222790 00000000 080f8c08 c0521db4 c6cc9f00 00000001 00000000 00000000 [ 947.684308] c6cc9f9c 00000000 c0521db4 00000001 c6cc9f28 c0216d40 00000000 00000000 [ 947.684308] c6cc9f9c 000f4240 000e7ef0 ffffffff c0521db4 c79dfb60 c6cc9f58 c02af2cc [ 947.684308] Call Trace: [ 947.684308] [] ? do_proc_dointvec_conv+0x0/0x50 [ 947.684308] [] ? sched_rt_handler+0x80/0x110 [ 947.684308] [] ? proc_sys_call_handler+0x9c/0xb0 [ 947.684308] [] ? proc_sys_write+0x1a/0x20 [ 947.684308] [] ? vfs_write+0x96/0x160 [ 947.684308] [] ? proc_sys_write+0x0/0x20 [ 947.684308] [] ? sys_write+0x3d/0x70 [ 947.684308] [] ? sysenter_past_esp+0x6a/0x91 [ 947.684308] ======================= [ 947.684308] Code: 24 04 e8 62 b1 0e 00 89 c7 89 f8 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d c3 90 55 89 e5 57 56 53 83 ec 24 89 45 ec 89 55 e4 89 4d e8 <8b> b8 8c 00 00 00 85 ff 0f 84 c9 00 00 00 8b 57 24 39 55 e8 8b [ 947.684308] EIP: [] __rt_schedulable+0x12/0x160 SS:ESP 0068:c6cc9ed0 We think the following patch solves the issue. Signed-off-by: Dario Faggioli Signed-off-by: Michael Trimarchi Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9bedbcb207ed9a571b239231d99c8fd4a34ae24d Author: Dave Airlie Date: Thu Jun 19 14:57:31 2008 +1000 agp: brown paper bag patch - put back two lines that got lost Commit 62c96b9d0917894c164aa3e474a3ff3bca1554ae ("agp/intel: cleanup some serious whitespace badness") didn't just fix whitespace. It also lost two lines. Noticed by Linus. No more whitespace diffs for me. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 0e480e5fc03c411d350478b2e8dc0906a37b6f07 Author: Dave Airlie Date: Thu Jun 19 14:57:31 2008 +1000 agp: brown paper bag patch - put back the two lines it took out. no more whitespace diffs for me. Signed-off-by: Dave Airlie commit 3506ba7b082f9330657b3386c98246d5fda6c698 Merge: f9d1c6c... 62c96b9... Author: Linus Torvalds Date: Wed Jun 18 21:52:35 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: cleanup some serious whitespace badness [AGP] intel_agp: Add support for Intel 4 series chipsets [AGP] intel_agp: extra stolen mem size available for IGD_GM chipset agp: more boolean conversions. drivers/char/agp - use bool agp: two-stage page destruction issue agp/via: fixup pci ids commit 62c96b9d0917894c164aa3e474a3ff3bca1554ae Author: Dave Airlie Date: Thu Jun 19 14:27:53 2008 +1000 agp/intel: cleanup some serious whitespace badness Signed-off-by: Dave Airlie commit 25ce77abf8be3a96b3673e46722a9bd05f149584 Author: Zhenyu Wang Date: Thu Jun 19 14:17:58 2008 +1000 [AGP] intel_agp: Add support for Intel 4 series chipsets Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 598d14482380312939a3e3a4ae0657eb6b50a532 Author: Zhenyu Wang Date: Thu Jun 19 14:00:37 2008 +1000 [AGP] intel_agp: extra stolen mem size available for IGD_GM chipset This adds missing stolen memory size detect for IGD_GM, be sure to detect right size as current X intel driver (2.3.2) which has already worked out. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 21efa2bac91b8d12064617c5a35492ec982544eb Author: Dave Airlie Date: Thu Jun 19 13:01:58 2008 +1000 drm/radeon: add hier-z registers for r300 and r500 chipsets commit 5e35eff13f7dd0f5c1d82b3b4708b2f7a5f44113 Author: Alex Deucher Date: Thu Jun 19 12:39:23 2008 +1000 drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT According to the hw guys, you should use DSTCACHE_CTLSTAT to flush the 2D dst cache rather than RB2D_DSTCACHE_CTLSTAT. Signed-off-by: Dave Airlie commit 5cfb6956073a9e42d44a26790b7800980634d037 Author: Alex Deucher Date: Thu Jun 19 12:38:29 2008 +1000 drm/radeon: switch IGP gart to use radeon_write_agp_base() Signed-off-by: Dave Airlie commit 7ecabc53a29bb31689fa1852a926e021179a64a6 Author: Dennis Kasprzyk Date: Thu Jun 19 12:36:55 2008 +1000 drm/radeon: Restore sw interrupt on resume Fixes performance drop after suspend/resume on some systems. Signed-off-by: Dave Airlie commit 70b13d510fc9d137e362b7db3ac5b14b50d78477 Author: Dave Airlie Date: Thu Jun 19 11:40:44 2008 +1000 drm/r500: add support for AGP based cards. AGP registers weren't programmed properly for r500 cards. Signed-off-by: Dave Airlie commit 9156cf09f56150ed89f77eaa4c386a07789776a0 Author: Roland Scheidegger Date: Thu Jun 19 11:36:04 2008 +1000 drm/radeon: fix texture uploads with large 3d textures (bug 13980) Texture uploads could hit the blitter coordinate limit, adjust the texture offset when uploading the pieces. Make sure to check the end address of the upload too. Signed-off-by: Dave Airlie commit c0beb2a723d69934a53f51a9d664c5b1dbbf634b Author: Dave Airlie Date: Wed May 28 13:52:28 2008 +1000 drm/radeon: add initial r500 support. This contains all the command buffer processing for the r500 cards. It doesn't yet contain vblank support. Signed-off-by: Dave Airlie commit 5b92c4045eaa42441b7ec249a406e4110ea400d4 Author: Alex Deucher Date: Wed May 28 11:57:40 2008 +1000 drm/radeon: init pipe setup in kernel code. This inits the card pipes in the kernel and lets userspace getparam the correct setup. Signed-off-by: Dave Airlie commit d396db321bcaec54345e7e9e87cea8482d6ae3a8 Author: Alex Deucher Date: Wed May 28 11:54:06 2008 +1000 drm/radeon: fixup radeon_do_engine_reset Cleanup do engine reset for different chip families. Signed-off-by: Dave Airlie commit 259434acccbc823ee8bc00b2d2689ccccd25e1fd Author: Alex Deucher Date: Wed May 28 11:51:12 2008 +1000 drm/radeon: fix pixcache and purge/cache flushing registers Signed-off-by: Dave Airlie commit d7463eb41d88a39de2653fd41857c4ccddb8707b Author: Alex Deucher Date: Wed May 28 11:46:36 2008 +1000 drm/radeon: write AGP_BASE_2 on chips that support it. Signed-off-by: Dave Airlie commit 45e519052e8f583a709edd442a23f59581d3fe42 Author: Alex Deucher Date: Wed May 28 13:28:59 2008 +1000 drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support We only support RS480 (AMD based IGP) at the moment not RS400 (Intel based IGP) ones. Signed-off-by: Dave Airlie commit 2735977b12cb0f113aae24afff04747b6d0f5bf1 Author: Alex Deucher Date: Wed May 28 12:54:16 2008 +1000 drm/radeon: IGP clean up register and magic numbers. Signed-off-by: Dave Airlie commit 3722bfc607d46275369865c02fe8694486d640b5 Author: Dave Airlie Date: Wed May 28 11:28:27 2008 +1000 drm/rs690: set base 2 to 0. Signed-off-by: Dave Airlie commit fa0d71b967506031f7cb08ced6095d1c4f988594 Author: Dave Airlie Date: Wed May 28 11:27:01 2008 +1000 drm/rs690: set all of gart base address. Docs state bits 4-11 maps to bits 32-39 of the 40-bit range Signed-off-by: Dave Airlie commit 9f18409ea3d778a171a9505c0a849d846f352bd0 Author: Alex Deucher Date: Wed May 28 11:21:25 2008 +1000 radeon: add production microcode from AMD This adds production microcode for r100->r500 from AMD. Signed-off-by: Dave Airlie commit 7ec700fcaf4f01ae72956df74a9e0d08938fd26e Author: Dave Airlie Date: Thu Jun 19 11:27:23 2008 +1000 drm: pcigart use proper pci map interfaces. Switch to using more correct pci dma mapping interfaces. Signed-off-by: Dave Airlie commit 9a3b103c27a7e3199b917bc3ca219530132afdfc Author: Tejun Heo Date: Wed Jun 18 20:56:58 2008 -0400 ahci: sis can't do PMP From: Piter PUNK SiS AHCIs say they can do PMP but can't and fail detection if SRST w/ pmp==15 is used. Turn off PMP support. tj: added patch description, adapted patch to #upstream-fixes and renamed board_ahci_sis to board_ahci_nopmp. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9516b030b484fc99cf24213caf88df01f99248dd Author: Dave Airlie Date: Thu Jun 19 10:42:17 2008 +1000 agp: more boolean conversions. Signed-off-by: Dave Airlie commit 040dee53a724f54d47876674d50184873364f207 Author: Tejun Heo Date: Fri Jun 13 18:05:02 2008 +0900 ata_piix: add TECRA M4 to broken suspend list TOSHIBA also used "TECRA M4" in additon to "Tecra M4", add it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cc18e0fea7907e7a96b7df71b81838d518bc074e Author: Ben Dooks Date: Mon Jun 16 12:16:26 2008 +0100 LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver Add HAVE_PATA_PLATFORM to select the pata platform driver to ensure that we do not end up with a long 'depends on' list when other users of this driver turn up. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit c6112bd86bc8f727bb732a47f2133e0ff12beda9 Author: Mark Lord Date: Wed Jun 18 12:13:02 2008 -0400 sata_mv: warn on PIO with multiple DRQs Chip errata sometimes prevents reliable use of PIO commands which involve more than a single DRQ (data request). In normal operation, libata should not generate such PIO commands (uses DMA instead), but they could be sent in via SG_IO from userspace. A full workaround might be to break up such commands into sequences of single DRQ ones, but that's just way too complex for something that doesn't normally happen in real life. So, allow the attempt (it often works, despite the errata), but log the event for reference when somebody screams. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 3bd0a70ee9cc30ae81b39cb5ecad0fa7bcb4675b Author: Mark Lord Date: Wed Jun 18 12:11:16 2008 -0400 sata_mv: enable async_notify for 60x1 Rev.C0 and higher The early chipsets cannot safely handle Async Notification (AN), but 6041/6081 chip revision "C0" (and newer) can handle it. So allow AN for "C0" and higher. This enables use of hotplug on PMP ports for the 6041/6081 PCI Rev.9 chips. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 5895ef9a5b746e7cc9ebda50c87fbd11562da0a4 Author: Tejun Heo Date: Tue Jun 17 12:36:26 2008 +0900 libata: don't check whether to use DMA or not for no data commands There's no reason to check whether to use DMA or not for no data commands. Don't do it. While at it, make local variable using_pio in atapi_xlat() set iff ATAPI_PROT_PIO is going to be used and rename ata_check_atapi_dma() to atapi_check_dma() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d799e083a80b220f3681d7790f11e77d1704022b Author: Tejun Heo Date: Tue Jun 17 12:46:30 2008 +0900 ahci: jmb361 has only one port JMB361 has only one port but reports it has two causing longish probe failure on the second one. Quirk it. Reported by Gajo Petrovic in bz 10911. Signed-off-by: Tejun Heo Cc: Gajo Petrovic Signed-off-by: Jeff Garzik commit c72580129209aaa509ace81c1f2ee1caa9c9774b Author: Joe Perches Date: Wed Mar 26 14:10:02 2008 -0700 drivers/char/agp - use bool Use boolean in AGP instead of having own TRUE/FALSE -- Signed-off-by: Joe Perches Signed-off-by: Dave Airlie commit da503fa60b84d5945deb3ab74efdd0bec61df4a1 Author: Jan Beulich Date: Wed Jun 18 09:28:00 2008 +0100 agp: two-stage page destruction issue besides it apparently being useful only in 2.6.24 (the changes in 2.6.25 really mean that it could be converted back to a single-stage mechanism), I'm seeing an issue in Xen Dom0 kernels, which is caused by the calling of gart_to_virt() in the second stage invocations of the destroy function. I think that besides this being a real issue with Xen (where unmap_page_from_agp() is not just a page table attribute change), this also is invalid from a theoretical perspective: One should not assume that gart_to_virt() is still valid after unmapping a page. So minimally (keeping the 2-stage mechanism) a patch like the one below would be needed. Jan Signed-off-by: Dave Airlie commit dcd981a77b2b35d169656d4b9cee208096ed7ccf Author: Greg KH Date: Thu Jun 19 09:52:26 2008 +1000 agp/via: fixup pci ids add a new PCI ID and remove an old dodgy one, include the explaination in the commented code so nobody readds later. (davej also sent the pci id addition). Signed-off-by: Dave Airlie commit f9d1c6ca2bb1bbfde4a95d9e55ab3b0126825295 Merge: a8051fd... fb77bce... Author: Linus Torvalds Date: Wed Jun 18 16:08:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/uverbs: Fix check of is_closed flag check in ib_uverbs_async_handler() RDMA/nes: Fix off-by-one in nes_reg_user_mr() error path commit ef3a62d272f033989e83eb1f26505f93f93e3e69 Author: Johannes Berg Date: Wed Jun 18 15:39:48 2008 -0700 mac80211: detect driver tx bugs When a driver rejects a frame in it's ->tx() callback, it must also stop queues, otherwise mac80211 can go into a loop here. Detect this situation and abort the loop after five retries, warning about the driver bug. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit fb77bcef9f7be78e3e11543cb5abbcb1b1fac53e Author: Jack Morgenstein Date: Wed Jun 18 15:36:38 2008 -0700 IB/uverbs: Fix check of is_closed flag check in ib_uverbs_async_handler() Commit 1ae5c187 ("IB/uverbs: Don't store struct file * for event files") changed the way that closed files are handled in the uverbs code. However, after the conversion, is_closed flag is checked incorrectly in ib_uverbs_async_handler(). As a result, no async events are ever passed to applications. Found by: Ronni Zimmerman Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9499fe2b340d19ef55c349de794db9d917e7403f Author: Stefan Richter Date: Mon Jun 16 01:39:28 2008 +0200 ieee1394: Kconfig menu touch-up Rename and reorder some prompts and modify some help texts. The result: -------------------- IEEE 1394 (FireWire) support -------------------- *** Enable only one of the two stacks, unless you know what you are doing *** New FireWire stack, EXPERIMENTAL OHCI-1394 controllers Storage devices (SBP-2 protocol) Stable FireWire stack OHCI-1394 controllers PCILynx controller Storage devices (SBP-2 protocol) Enable replacement for physical DMA in SBP2 IP over 1394 raw1394 userspace interface video1394 userspace interface dv1394 userspace interface (deprecated) Excessive debugging output The old prompts for reference: -------------------- IEEE 1394 (FireWire) support -------------------- IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL Support for OHCI FireWire host controllers Support for storage devices (SBP-2 protocol driver) IEEE 1394 (FireWire) support *** Subsystem Options *** Excessive debugging output *** Controllers *** Texas Instruments PCILynx support OHCI-1394 support *** Protocols *** OHCI-1394 Video support SBP-2 support (Harddisks etc.) Enable replacement for physical DMA in SBP2 IP over 1394 OHCI-DV I/O support (deprecated) Raw IEEE1394 I/O support Signed-off-by: Stefan Richter commit a7b64b8704b03c9972b114932fdf517e06153f11 Author: Stefan Richter Date: Sat Jun 14 14:24:53 2008 +0200 firewire: Kconfig menu touch-up Emphasize the recommendation to build only one stack. Trim the prompts to better fit into short attention spans. Signed-off-by: Stefan Richter commit ae1e53557911d7e60a637b2400173add958aae94 Author: Stefan Richter Date: Wed Jun 18 18:20:45 2008 +0200 firewire: deadline for PHY config transmission If the low-level driver failed to initialize a card properly without noticing it, fw-core was blocked indefinitely when trying to send a PHY config packet. This hung up the events kernel thread, e.g. locked up keyboard input. https://bugzilla.redhat.com/show_bug.cgi?id=444694 https://bugzilla.redhat.com/show_bug.cgi?id=446763 This problem was introduced between 2.6.25 and 2.6.26-rc1 by commit 2a0a2590498be7b92e3e76409c9b8ee722e23c8f "firewire: wait until PHY configuration packet was transmitted (fix bus reset loop)". The solution is to wait with timeout. I tested it with 7 different working controllers and 1 non-working controller. On the working ones, the packet callback complete()s usually --- but not always --- before a timeout of 10ms. Hence I chose a safer timeout of 100ms. On the few tests with the non-working controller ALi M5271, PHY config packet transmission always timed out so far. (Fw-ohci needs to be fixed for this controller independently of this deadline fix. Often the core doesn't even attempt to send a phy config because not even self ID reception works.) Signed-off-by: Stefan Richter commit 161b96e782ec995c55843101976d9c35b57aa109 Author: Stefan Richter Date: Sat Jun 14 14:23:43 2008 +0200 firewire: fw-ohci: unify printk prefixes The messages which can be enabled by fw-ohci's debug module parameter are changed from KERN_DEBUG to KERN_NOTICE level and uniformly prefixed with "firewire_ohci: ". This further simplifies communication with users when we ask them to capture debug messages. Signed-off-by: Stefan Richter commit 5cb84067d646fa3889463129dad8b218806b4698 Author: Stefan Richter Date: Fri Jun 6 22:11:30 2008 +0200 firewire: fill_bus_reset_event needs lock protection Callers of fill_bus_reset_event() have to take card->lock. Otherwise access to node data may oops if node removal is in progress. A lockless alternative would be - event->local_node_id = card->local_node->node_id; + tmp = fw_node_get(card->local_node); + event->local_node_id = tmp->node_id; + fw_node_put(tmp); and ditto with the other node pointers which fill_bus_reset_event() accesses. But I went the locked route because one of the two callers already holds the lock. As a bonus, we don't need the memory barrier anymore because device->generation and device->node_id are written in a card->lock protected section. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit affc9c24ade666f9903163c12686da567dbfe06f Author: Stefan Richter Date: Thu Jun 5 20:50:53 2008 +0200 firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID OHCI 1.1 clause 5.10 requires that selfIDBufferPtr is valid when a 1 is written into LinkControl.rcvSelfID. This driver bug has so far not been known to cause harm because most chips obviously accept a later selfIDBufferPtr write, at least before HCControl.linkEnable is written. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson Signed-off-by: Kristian Høgsberg commit e896ec4302f45fdaf2fc78aec0093eca5478fe28 Author: Stefan Richter Date: Thu Jun 5 20:49:38 2008 +0200 firewire: fw-ohci: disable PHY packet reception into AR context We want the rcvPhyPkt bit in LinkControl off before we start using the chip. However, the spec says that the reset value of it is undefined. Hence switch it explicitly off. https://bugzilla.redhat.com/show_bug.cgi?id=244576#c48 shows that for example the nForce2 integrated FireWire controller seems to have it on by default. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit ccff962943df539c5860aa120eecc189d70a308b Author: Stefan Richter Date: Sat May 31 19:36:06 2008 +0200 firewire: fw-ohci: use of uninitialized data in AR handler header_length and payload_length are filled with random data if an unknown tcode was read from the AR buffer (i.e. if the AR buffer contained invalid data). We still need a better strategy to recover from this, but at least handle_ar_packet now doesn't return out of bound buffer addresses anymore. Signed-off-by: Stefan Richter commit 0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c Author: Stefan Richter Date: Sat May 31 19:01:26 2008 +0200 firewire: don't panic on invalid AR request buffer BUG() at this place is wrong. (Unless if the low level driver would already do higher-level input validation of incoming request headers.) Invalid incoming requests or bugs in the controller which corrupt the AR-req buffer needlessly crashed the box because this is run in tasklet context. Signed-off-by: Stefan Richter commit a8051fde6b71ac9a0e63c861c81c59ba776175f9 Merge: 5dfd062... fdf7be6... Author: Linus Torvalds Date: Wed Jun 18 12:55:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: Revert "[WATCHDOG] hpwdt: Fix NMI handling." [WATCHDOG] hpwdt: Add CFLAGS to get driver working Revert "[WATCHDOG] make watchdog/hpwdt.c:asminline_call() static" commit 5dfd06215b951de70b3e610de47813811c822a44 Merge: f32c23f... f93daa3... Author: Linus Torvalds Date: Wed Jun 18 11:55:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] dpt_i2o: Add PROC_IA64 define [SCSI] scsi_host regression: fix scsi host leak [SCSI] sr: fix corrupt CD data after media change and delay commit f32c23f59a3af0c5bb9e198386f2e6cd22038e9f Merge: e899536... 65ba6cd... Author: Linus Torvalds Date: Wed Jun 18 11:55:19 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Clear sub-page HPTE present bits when demoting page size [POWERPC] 4xx: Clear new TLB cache attribute bits in Data Storage vector commit e899536470ec83f2792092640148f2488961731b Merge: d83b14c... e4f3ec0... Author: Linus Torvalds Date: Wed Jun 18 11:55:03 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: restore UDFFS_DEBUG to being undefined by default commit d83b14c0db5b238975990c0abda51521120106e9 Merge: 952f4a0... 6d1a3fb... Author: Linus Torvalds Date: Wed Jun 18 11:48:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits) netlink: genl: fix circular locking Revert "mac80211: Use skb_header_cloned() on TX path." af_unix: fix 'poll for write'/ connected DGRAM sockets tun: Proper handling of IPv6 header in tun driver when TUN_NO_PI is set atl1: relax eeprom mac address error check net/enc28j60: low power mode net/enc28j60: section fix sky2: 88E8040T pci device id netxen: download firmware in pci probe netxen: cleanup debug messages netxen: remove global physical_port array netxen: fix portnum for hp mezz cards ibm_newemac: select CRC32 in Kconfig xfrm: fix fragmentation for ipv4 xfrm tunnel netfilter: nf_conntrack_h323: fix module unload crash netfilter: nf_conntrack_h323: fix memory leak in module initialization error path netfilter: nf_nat: fix RCU races atm: [he] send idle cells instead of unassigned when in SDH mode atm: [he] limit queries to the device's register space atm: [br2864] fix routed vcmux support ... commit fdf7be6f13b920f0d80c249c70f794a2f6d53992 Author: Wim Van Sebroeck Date: Wed Jun 18 16:22:48 2008 +0000 Revert "[WATCHDOG] hpwdt: Fix NMI handling." The old setup works better. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 65ba6cdc837af9b77354d03987354196ac4eb308 Author: Paul Mackerras Date: Wed Jun 18 16:40:35 2008 +1000 [POWERPC] Clear sub-page HPTE present bits when demoting page size When we demote a slice from 64k to 4k, and we are about to insert an HPTE for a 4k subpage and we notice that there is an existing 64k HPTE, we first invalidate that HPTE before inserting the new 4k subpage HPTE. Since the bits that encode which hash bucket the old HPTE was in overlap with the bits that encode which of the 16 subpages have HPTEs, we need to clear out the subpage HPTE-present bits before starting to insert HPTEs for the 4k subpages. If we don't do that, we can erroneously think that a subpage already has an HPTE when it doesn't. That in itself wouldn't be such a problem except that when we go to update the HPTE that we think is present on machines with a hypervisor, the hypervisor can tell us that the HPTE we think is there is actually there even though it isn't, which can lead to a process getting stuck in a loop, continually faulting. The reason for the confusion is that the AVPN (abbreviated virtual page number) we are looking for in the HPTE for a 4k subpage can actually match the AVPN in a stale HPTE for another 64k page. For example, the HPTE for the 4k subpage at 0x84000f000 will be in the same hash bucket and have the same AVPN as the HPTE for the 64k page at 0x8400f0000. This fixes the code to clear out the subpage HPTE-present bits. Signed-off-by: Paul Mackerras commit b17879f71c2eb4a10f5a63918819d9d572b23a9a Author: Josh Boyer Date: Wed Jun 18 08:34:39 2008 +1000 [POWERPC] 4xx: Clear new TLB cache attribute bits in Data Storage vector A recent commit added support for the new 440x6 and 464 cores that have the added WL1, IL1I, IL1D, IL2I, and ILD2 bits for the caching attributes in the TLBs. The new bits were cleared in the finish_tlb_load function, however a similar bit of code was missed in the DataStorage interrupt vector. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 50db04dd9c74178e68a981a7127c37252ffb3242 Author: Vegard Nossum Date: Sun Jun 15 00:47:36 2008 +0200 debugobjects: fix lockdep warning Daniel J Blueman reported: | ======================================================= | [ INFO: possible circular locking dependency detected ] | 2.6.26-rc5-201c #1 | ------------------------------------------------------- | nscd/3669 is trying to acquire lock: | (&n->list_lock){.+..}, at: [] deactivate_slab+0x173/0x1e0 | | but task is already holding lock: | (&obj_hash[i].lock){++..}, at: [] | __debug_object_init+0x2f/0x350 | | which lock already depends on the new lock. There are two locks involved here; the first is a SLUB-local lock, and the second is a debugobjects-local lock. They are basically taken in two different orders: 1. SLUB { debugobjects { ... } } 2. debugobjects { SLUB { ... } } This patch changes pattern #2 by trying to fill the memory pool (e.g. the call into SLUB/kmalloc()) outside the debugobjects lock, so now the two patterns look like this: 1. SLUB { debugobjects { ... } } 2. SLUB { } debugobjects { ... } [ daniel.blueman@gmail.com: pool_lock needs to be taken irq safe in fill_pool ] Reported-by: Daniel J Blueman Signed-off-by: Vegard Nossum Signed-off-by: Thomas Gleixner commit 6d1a3fb567a728d31474636e167c324702a0c38b Author: Patrick McHardy Date: Wed Jun 18 02:07:07 2008 -0700 netlink: genl: fix circular locking genetlink has a circular locking dependency when dumping the registered families: - dump start: genl_rcv() : take genl_mutex genl_rcv_msg() : call netlink_dump_start() while holding genl_mutex netlink_dump_start(), netlink_dump() : take nlk->cb_mutex ctrl_dumpfamily() : try to detect this case and not take genl_mutex a second time - dump continuance: netlink_rcv() : call netlink_dump netlink_dump : take nlk->cb_mutex ctrl_dumpfamily() : take genl_mutex Register genl_lock as callback mutex with netlink to fix this. This slightly widens an already existing module unload race, the genl ops used during the dump might go away when the module is unloaded. Thomas Graf is working on a seperate fix for this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a5be7d4b079f3a9ce1e8ce4a93ba15ae6d00111 Author: David S. Miller Date: Wed Jun 18 01:19:51 2008 -0700 Revert "mac80211: Use skb_header_cloned() on TX path." This reverts commit 608961a5eca8d3c6bd07172febc27b5559408c5d. The problem is that the mac80211 stack not only needs to be able to muck with the link-level headers, it also might need to mangle all of the packet data if doing sw wireless encryption. This fixes kernel bugzilla #10903. Thanks to Didier Raboud (for the bugzilla report), Andrew Prince (for bisecting), Johannes Berg (for bringing this bisection analysis to my attention), and Ilpo (for trying to analyze this purely from the TCP side). In 2.6.27 we can take another stab at this, by using something like skb_cow_data() when the TX path of mac80211 ends up with a non-NULL tx->key. The ESP protocol code in the IPSEC stack can be used as a model for implementation. Signed-off-by: David S. Miller commit 3c73419c09a5ef73d56472dbfdade9e311496e9b Author: Rainer Weikusat Date: Tue Jun 17 22:28:05 2008 -0700 af_unix: fix 'poll for write'/ connected DGRAM sockets The unix_dgram_sendmsg routine implements a (somewhat crude) form of receiver-imposed flow control by comparing the length of the receive queue of the 'peer socket' with the max_ack_backlog value stored in the corresponding sock structure, either blocking the thread which caused the send-routine to be called or returning EAGAIN. This routine is used by both SOCK_DGRAM and SOCK_SEQPACKET sockets. The poll-implementation for these socket types is datagram_poll from core/datagram.c. A socket is deemed to be writeable by this routine when the memory presently consumed by datagrams owned by it is less than the configured socket send buffer size. This is always wrong for connected PF_UNIX non-stream sockets when the abovementioned receive queue is currently considered to be full. 'poll' will then return, indicating that the socket is writeable, but a subsequent write result in EAGAIN, effectively causing an (usual) application to 'poll for writeability by repeated send request with O_NONBLOCK set' until it has consumed its time quantum. The change below uses a suitably modified variant of the datagram_poll routines for both type of PF_UNIX sockets, which tests if the recv-queue of the peer a socket is connected to is presently considered to be 'full' as part of the 'is this socket writeable'-checking code. The socket being polled is additionally put onto the peer_wait wait queue associated with its peer, because the unix_dgram_sendmsg routine does a wake up on this queue after a datagram was received and the 'other wakeup call' is done implicitly as part of skb destruction, meaning, a process blocked in poll because of a full peer receive queue could otherwise sleep forever if no datagram owned by its socket was already sitting on this queue. Among this change is a small (inline) helper routine named 'unix_recvq_full', which consolidates the actual testing code (in three different places) into a single location. Signed-off-by: Rainer Weikusat Signed-off-by: David S. Miller commit 4552e1198a08198ce0b42e856845b5394c82c59c Merge: f09f7ee... 58c7821... Author: David S. Miller Date: Tue Jun 17 21:32:08 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit f09f7ee20c867818bacf79426cf491b2749e7eff Author: Ang Way Chuang Date: Tue Jun 17 21:10:33 2008 -0700 tun: Proper handling of IPv6 header in tun driver when TUN_NO_PI is set By default, tun.c running in TUN_TUN_DEV mode will set the protocol of packet to IPv4 if TUN_NO_PI is set. My program failed to work when I assumed that the driver will check the first nibble of packet, determine IP version and set the appropriate protocol. Signed-off-by: Ang Way Chuang Acked-by: Max Krasnyansky Signed-off-by: David S. Miller commit 58c7821c4264a7ddd6f0c31c5caaf393b3897f10 Author: Radu Cristescu Date: Thu Jun 12 17:04:54 2008 -0500 atl1: relax eeprom mac address error check The atl1 driver tries to determine the MAC address thusly: - If an EEPROM exists, read the MAC address from EEPROM and validate it. - If an EEPROM doesn't exist, try to read a MAC address from SPI flash. - If that fails, try to read a MAC address directly from the MAC Station Address register. - If that fails, assign a random MAC address provided by the kernel. We now have a report of a system fitted with an EEPROM containing all zeros where we expect the MAC address to be, and we currently handle this as an error condition. Turns out, on this system the BIOS writes a valid MAC address to the NIC's MAC Station Address register, but we never try to read it because we return an error when we find the all- zeros address in EEPROM. This patch relaxes the error check and continues looking for a MAC address even if it finds an illegal one in EEPROM. Signed-off-by: Radu Cristescu Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 7dac6f8df607929e51f4fd598d80bd009c45a9f8 Author: David Brownell Date: Thu Jun 12 21:38:06 2008 -0700 net/enc28j60: low power mode Keep enc28j60 chips in low-power mode when they're not in use. At typically 120 mA, these chips run hot even when idle; this low power mode cuts that power usage by a factor of around 100. This version provides a generic routine to poll a register until its masked value equals some value ... e.g. bit set or cleared. It's basically what the previous wait_phy_ready() did, but this version is generalized to support the handshaking needed to enter and exit low power mode. Signed-off-by: David Brownell Signed-off-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit 6fd65882f5e99972ba96f7cc92086ebac041cdf8 Author: David Brownell Date: Thu Jun 12 21:36:24 2008 -0700 net/enc28j60: section fix Minor bugfixes to the enc28j60 driver ... wrong section marking, indentation, and bogus use of spi_bus_type. Signed-off-by: David Brownell Acked-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit a3b4fcedee5cf1d1342b85f1318c0fe1ff1727a9 Author: Stephen Hemminger Date: Sat Jun 14 10:32:15 2008 -0700 sky2: 88E8040T pci device id Missed one pci id for 88E8040T. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 439b454edf551f5a6eb49de6b868015724d275ab Author: Dhananjay Phadke Date: Sun Jun 15 22:59:46 2008 -0700 netxen: download firmware in pci probe Downloading firmware in pci probe allows recovery in case of firmware failure by reloading the driver. Also reduced delays in firmware load. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit dcd56fdbaeae1008044687b973c4a3e852e8a726 Author: Dhananjay Phadke Date: Sun Jun 15 22:59:45 2008 -0700 netxen: cleanup debug messages o Remove unnecessary debug prints and functions. o Explicitly specify pci class (0x020000) to avoid enabling management function. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 3276fbad8385d8e86d85fad4d86dae669a045c65 Author: Dhananjay Phadke Date: Sun Jun 15 22:59:44 2008 -0700 netxen: remove global physical_port array Store physical port number in netxen_adapter structure. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit dc515f2e0b356981ea0c4581ff0e587aea8b624a Author: Dhananjay Phadke Date: Sun Jun 15 22:59:43 2008 -0700 netxen: fix portnum for hp mezz cards This fixes a the issue where logical port number is set incorrectly for HP blade mezz cards. Signed-off-by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 8b8091fbf4d8791ad70b146ba2c892c62c2cdc6b Author: Josh Boyer Date: Tue Jun 17 19:27:55 2008 -0400 ibm_newemac: select CRC32 in Kconfig The ibm_newemac driver requires ether_crc to be defined. Apparently it is possible to generate a .config without CONFIG_CRC32 set which causes the following link errors if IBM_NEW_EMAC is selected: LD .tmp_vmlinux1 drivers/built-in.o: In function `emac_hash_mc': core.c:(.text+0x2f524): undefined reference to `crc32_le' core.c:(.text+0x2f528): undefined reference to `bitrev32' make: *** [.tmp_vmlinux1] Error 1 This patch has IBM_NEW_EMAC select CRC32 so we don't hit this error. Signed-off-by: Josh Boyer Signed-off-by: Jeff Garzik commit 952f4a0a9b27e6dbd5d32e330b3f609ebfa0b061 Merge: f948d56... 90d95ef... Author: Linus Torvalds Date: Tue Jun 17 18:10:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - implement reset-resume logic Input: i8042 - retry failed CTR writes when resuming Input: i8042 - add Fujitsu-Siemens Amilo Pro V2030 to nomux table Input: pcspkr - remove negative dependency on snd-pcsp Manually fixed up trivial conflict in drivers/usb/core/quirks.c commit f948d56435fc1f7506f08866302ecd6e60b533dd Author: Miklos Szeredi Date: Tue Jun 17 18:05:40 2008 +0200 fuse: fix thinko in max I/O size calucation Use max not min to enforce a lower limit on the max I/O size. This bug was introduced by "fuse: fix max i/o size calculation" (commit e5d9a0df07484d6d191756878c974e4307fb24ce). Thanks to Brian Wang for noticing. Reported-by: Brian Wang Signed-off-by: Miklos Szeredi Acked-by: Szabolcs Szakacsits Signed-off-by: Linus Torvalds commit cd50e89244087432a70598e432ff199a009b0e73 Author: Eduard - Gabriel Munteanu Date: Sun Jun 15 18:05:01 2008 +0300 Unignore vmlinux.lds.h from Git. Added !vmlinux.lds.h to .gitignore because it would otherwise be ignored. Signed-off-by: Eduard - Gabriel Munteanu Acked-by: Mathieu Desnoyers Signed-off-by: Linus Torvalds commit 42a886af728c089df8da1b0017b0e7e6c81b5335 Author: Linus Torvalds Date: Tue Jun 17 17:47:50 2008 -0700 x86-64: Fix "bytes left to copy" return value for copy_from_user() Most users by far do not care about the exact return value (they only really care about whether the copy succeeded in its entirety or not), but a few special core routines actually care deeply about exactly how many bytes were copied from user space. And the unrolled versions of the x86-64 user copy routines would sometimes report that it had copied more bytes than it actually had. Very few uses actually have partial copies to begin with, but to make this bug even harder to trigger, most x86 CPU's use the "rep string" instructions for normal user copies, and that version didn't have this issue. To make it even harder to hit, the one user of this that really cared about the return value (and used the uncached version of the copy that doesn't use the "rep string" instructions) was the generic write routine, which pre-populated its source, once more hiding the problem by avoiding the exception case that triggers the bug. In other words, very special thanks to Bron Gondwana who not only triggered this, but created a test-program to show it, and bisected the behavior down to commit 08291429cfa6258c4cd95d8833beb40f828b194e ("mm: fix pagecache write deadlocks") which changed the access pattern just enough that you can now trigger it with 'writev()' with multiple iovec's. That commit itself was not the cause of the bug, it just allowed all the stars to align just right that you could trigger the problem. [ Side note: this is just the minimal fix to make the copy routines (with __copy_from_user_inatomic_nocache as the particular version that was involved in showing this) have the right return values. We really should improve on the exceptional case further - to make the copy do a byte-accurate copy up to the exact page limit that causes it to fail. As it is, the callers have to do extra work to handle the limit case gracefully. ] Reported-by: Bron Gondwana Cc: Nick Piggin Cc: Andrew Morton Cc: Andi Kleen Cc: Al Viro Signed-off-by: Linus Torvalds (which didn't have this problem), and since most users that do the carethis was very hard to trigger, but commit fe833fca2eac6b3d3ad5e35f44ad4638362f1da8 Author: Steffen Klassert Date: Tue Jun 17 16:37:13 2008 -0700 xfrm: fix fragmentation for ipv4 xfrm tunnel When generating the ip header for the transformed packet we just copy the frag_off field of the ip header from the original packet to the ip header of the new generated packet. If we receive a packet as a chain of fragments, all but the last of the new generated packets have the IP_MF flag set. We have to mask the frag_off field to only keep the IP_DF flag from the original packet. This got lost with git commit 36cf9acf93e8561d9faec24849e57688a81eb9c5 ("[IPSEC]: Separate inner/outer mode processing on output") Signed-off-by: Steffen Klassert Acked-by: Herbert Xu Signed-off-by: David S. Miller commit a56b8f81580761c65e4d8d0c04ac1cb7a788bdf1 Author: Patrick McHardy Date: Tue Jun 17 15:52:32 2008 -0700 netfilter: nf_conntrack_h323: fix module unload crash The H.245 helper is not registered/unregistered, but assigned to connections manually from the Q.931 helper. This means on unload existing expectations and connections using the helper are not cleaned up, leading to the following oops on module unload: CPU 0 Unable to handle kernel paging request at virtual address c00a6828, epc == 802224dc, ra == 801d4e7c Oops[#1]: Cpu 0 $ 0 : 00000000 00000000 00000004 c00a67f0 $ 4 : 802a5ad0 81657e00 00000000 00000000 $ 8 : 00000008 801461c8 00000000 80570050 $12 : 819b0280 819b04b0 00000006 00000000 $16 : 802a5a60 80000000 80b46000 80321010 $20 : 00000000 00000004 802a5ad0 00000001 $24 : 00000000 802257a8 $28 : 802a4000 802a59e8 00000004 801d4e7c Hi : 0000000b Lo : 00506320 epc : 802224dc ip_conntrack_help+0x38/0x74 Tainted: P ra : 801d4e7c nf_iterate+0xbc/0x130 Status: 1000f403 KERNEL EXL IE Cause : 00800008 BadVA : c00a6828 PrId : 00019374 Modules linked in: ip_nat_pptp ip_conntrack_pptp ath_pktlog wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_xauth ath_pci ath_dev ath_dfs ath_rate_atheros wlan ath_hal ip_nat_tftp ip_conntrack_tftp ip_nat_ftp ip_conntrack_ftp pppoe ppp_async ppp_deflate ppp_mppe pppox ppp_generic slhc Process swapper (pid: 0, threadinfo=802a4000, task=802a6000) Stack : 801e7d98 00000004 802a5a60 80000000 801d4e7c 801d4e7c 802a5ad0 00000004 00000000 00000000 801e7d98 00000000 00000004 802a5ad0 00000000 00000010 801e7d98 80b46000 802a5a60 80320000 80000000 801d4f8c 802a5b00 00000002 80063834 00000000 80b46000 802a5a60 801e7d98 80000000 802ba854 00000000 81a02180 80b7e260 81a021b0 819b0000 819b0000 80570056 00000000 00000001 ... Call Trace: [<801e7d98>] ip_finish_output+0x0/0x23c [<801d4e7c>] nf_iterate+0xbc/0x130 [<801d4e7c>] nf_iterate+0xbc/0x130 [<801e7d98>] ip_finish_output+0x0/0x23c [<801e7d98>] ip_finish_output+0x0/0x23c [<801d4f8c>] nf_hook_slow+0x9c/0x1a4 One way to fix this would be to split helper cleanup from the unregistration function and invoke it for the H.245 helper, but since ctnetlink needs to be able to find the helper for synchonization purposes, a better fix is to register it normally and make sure its not assigned to connections during helper lookup. The missing l3num initialization is enough for this, this patch changes it to use AF_UNSPEC to make it more explicit though. Reported-by: liannan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8a548868db62422113104ebc658065e3fe976951 Author: Patrick McHardy Date: Tue Jun 17 15:52:07 2008 -0700 netfilter: nf_conntrack_h323: fix memory leak in module initialization error path Properly free h323_buffer when helper registration fails. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 68b80f11380889996aa7eadba29dbbb5c29a5864 Author: Patrick McHardy Date: Tue Jun 17 15:51:47 2008 -0700 netfilter: nf_nat: fix RCU races Fix three ct_extend/NAT extension related races: - When cleaning up the extension area and removing it from the bysource hash, the nat->ct pointer must not be set to NULL since it may still be used in a RCU read side - When replacing a NAT extension area in the bysource hash, the nat->ct pointer must be assigned before performing the replacement - When reallocating extension storage in ct_extend, the old memory must not be freed immediately since it may still be used by a RCU read side Possibly fixes https://bugzilla.redhat.com/show_bug.cgi?id=449315 and/or http://bugzilla.kernel.org/show_bug.cgi?id=10875 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4dc7347a3b4a76705b7fd00b271847dd10cf5a32 Author: Thomas Mingarelli Date: Thu Jun 12 20:20:32 2008 +0000 [WATCHDOG] hpwdt: Add CFLAGS to get driver working To get this driver working we need the CFLAGS_hpwdt.o += -O in the Makefile. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 58c2709c2b551704f289cb3442a41d2a0cf40b6e Author: Thomas Mingarelli Date: Thu Jun 12 20:20:32 2008 +0000 Revert "[WATCHDOG] make watchdog/hpwdt.c:asminline_call() static" The driver needs the asmlinkage tag and the CFLAGS line in the Makefile. Without it the driver doesn't work. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 90d95ef617a535a8832bdcb8dee07bf591e5dd82 Author: Oliver Neukum Date: Tue Jun 17 11:56:55 2008 -0400 Input: appletouch - implement reset-resume logic On some boxes the touchpad needs to be reinitialized after resume to make it function again. This fixes bugzilla #10825. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 2f6a77d56523c14651236bc401a99b0e2aca2fdd Author: Jiri Kosina Date: Tue Jun 17 11:47:27 2008 -0400 Input: i8042 - retry failed CTR writes when resuming There are systems that fail in i8042_resume() with i8042: Can't write CTR to resume as i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR) fails even though the controller claimed itself to be ready before. One retry after failing write fixes the problems on the failing systems. Reported-by: Helmut Schaa Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 95e904c7da715aa2dbfb595da66b63de37a0bb04 Author: Rabin Vincent Date: Sun May 11 05:55:33 2008 +0530 sched: fix defined-but-unused warning Fix this warning, which appears with !CONFIG_SMP: kernel/sched.c:1216: warning: `init_hrtick' defined but not used Signed-off-by: Rabin Vincent Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 65c3e4715b1b934f8dcc002d9f46b4371ca7a9b1 Author: Chas Williams Date: Mon Jun 16 17:21:27 2008 -0700 atm: [he] send idle cells instead of unassigned when in SDH mode Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 28e84ab3abafb0f9c9573993626abe6ca3fa8eb1 Author: Robert T. Johnson Date: Mon Jun 16 17:20:52 2008 -0700 atm: [he] limit queries to the device's register space From: "Robert T. Johnson" Signed-off-by: Chas Williams commit 7e903c2ae36efb526eacab3b25d00e90424bd8a8 Author: Eric Kinzie Date: Mon Jun 16 17:18:18 2008 -0700 atm: [br2864] fix routed vcmux support From: Eric Kinzie Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 059e3779b59527150e1d1942026ec149192cbf77 Author: Chas Williams Date: Mon Jun 16 17:17:31 2008 -0700 atm: [he] only support suni driver on multimode interfaces Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit d6c1d704ab5d2e13bebb096e415156a9c54a3d32 Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:16:35 2008 -0700 atm: [iphase] doesn't call phy->start due to a bogus #ifndef This causes the suni driver to oops if you try to use sonetdiag to get the statistics. Also add the corresponding phy->stop call to fix another oops if you try to remove the module. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit c0ed0b60f2c36acfebb53384a3b24d13b3a09309 Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:16:04 2008 -0700 atm: [iphase] set drvdata before enabling interrupts Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 27141666b69f535a4d63d7bc6d9e84ee5032f82a Author: Jorge Boncompte [DTI2] Date: Mon Jun 16 17:15:33 2008 -0700 atm: [br2684] Fix oops due to skb->dev being NULL It happens that if a packet arrives in a VC between the call to open it on the hardware and the call to change the backend to br2684, br2684_regvcc processes the packet and oopses dereferencing skb->dev because it is NULL before the call to br2684_push(). Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Chas Williams commit a9d246dbb07cf0bd32bbfc5d184ed738bf2af4f8 Author: Rami Rosen Date: Mon Jun 16 17:07:16 2008 -0700 ipv4: Remove unused definitions in net/ipv4/tcp_ipv4.c. 1) Remove ICMP_MIN_LENGTH, as it is unused. 2) Remove unneeded tcp_v4_send_check() declaration. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 68be802cd5ad040fe8cfa33ce3031405df2d9117 Author: Eric Dumazet Date: Mon Jun 16 17:03:32 2008 -0700 raw: Restore /proc/net/raw correct behavior I just noticed "cat /proc/net/raw" was buggy, missing '\n' separators. I believe this was introduced by commit 8cd850efa4948d57a2ed836911cfd1ab299e89c6 ([RAW]: Cleanup IPv4 raw_seq_show.) This trivial patch restores correct behavior, and applies to current Linus tree (should also be applied to stable tree as well.) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6de329e26caed7bbbf51229c80f3948549d3c010 Author: Ben Hutchings Date: Mon Jun 16 17:02:28 2008 -0700 net: Fix test for VLAN TX checksum offload capability Selected device feature bits can be propagated to VLAN devices, so we can make use of TX checksum offload and TSO on VLAN-tagged packets. However, if the physical device does not do VLAN tag insertion or generic checksum offload then the test for TX checksum offload in dev_queue_xmit() will see a protocol of htons(ETH_P_8021Q) and yield false. This splits the checksum offload test into two functions: - can_checksum_protocol() tests a given protocol against a feature bitmask - dev_can_checksum() first tests the skb protocol against the device features; if that fails and the protocol is htons(ETH_P_8021Q) then it tests the encapsulated protocol against the effective device features for VLANs Signed-off-by: Ben Hutchings Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 319fa2a24f652dc35e613360c4532b8d2a771add Author: Vlad Yasevich Date: Mon Jun 16 17:00:29 2008 -0700 sctp: Correclty set changeover_active for SFR-CACC Right now, any time we set a primary transport we set the changeover_active flag. As a result, we invoke SFR-CACC even when there has been no changeover events. Only set changeover_active, when there is a true changeover event, i.e. we had a primary path and we are changing to another transport. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 80896a3584bbff9ff9ad4dde735517c4de68d736 Author: Wei Yongjun Date: Mon Jun 16 16:59:55 2008 -0700 sctp: Correctly cleanup procfs entries upon failure. This patch remove the proc fs entry which has been created if fail to set up proc fs entry for the SCTP protocol. Signed-off-by: Wei Yongjun Acked-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 93653e0448196344d7699ccad395eaebd30359d1 Author: David S. Miller Date: Mon Jun 16 16:57:40 2008 -0700 tcp: Revert reset of deferred accept changes in 2.6.26 Ingo's system is still seeing strange behavior, and he reports that is goes away if the rest of the deferred accept changes are reverted too. Therefore this reverts e4c78840284f3f51b1896cf3936d60a6033c4d2c ("[TCP]: TCP_DEFER_ACCEPT updates - dont retxmt synack") and 539fae89bebd16ebeafd57a87169bc56eb530d76 ("[TCP]: TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh"). Just like the other revert, these ideas can be revisited for 2.6.27 Signed-off-by: David S. Miller commit 2b4743bd6be9fedaa560f8c6dc3997e9ec21b99b Author: YOSHIFUJI Hideaki Date: Mon Jun 16 16:48:20 2008 -0700 ipv6 sit: Avoid extra need for compat layer in PRL management. We've introduced extra need of compat layer for ip_tunnel_prl{} for PRL (Potential Router List) management. Though compat_ioctl is still missing in ipv4/ipv6, let's make the interface more straight-forward and eliminate extra need for nasty compat layer anyway since the interface is new for 2.6.26. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 47083fc0735f5145b72fc31236d07339dc52b908 Author: Jesper Dangaard Brouer Date: Mon Jun 16 16:39:32 2008 -0700 pkt_sched: Change HTB_HYSTERESIS to a runtime parameter htb_hysteresis. Add a htb_hysteresis parameter to htb_sch.ko and by sysfs magic make it runtime adjustable via /sys/module/sch_htb/parameters/htb_hysteresis mode 640. Signed-off-by: Jesper Dangaard Brouer Acked-by: Martin Devera Signed-off-by: David S. Miller commit f9ffcedddba5b2fc5ab16ef08bca55af8be2717e Author: Jesper Dangaard Brouer Date: Mon Jun 16 16:38:33 2008 -0700 pkt_sched: HTB scheduler, change default hysteresis mode to off. The HTB hysteresis mode reduce the CPU load, but at the cost of scheduling accuracy. On ADSL links (512 kbit/s upstream), this inaccuracy introduce significant jitter, enought to disturbe VoIP. For details see my masters thesis (http://www.adsl-optimizer.dk/thesis/), chapter 7, section 7.3.1, pp 69-70. Signed-off-by: Jesper Dangaard Brouer Acked-by: Martin Devera Signed-off-by: David S. Miller commit 27eaf66b05687a27aaca0c0b9014c2f5c23bd18c Merge: c8988f9... 2c39450... Author: Linus Torvalds Date: Mon Jun 16 13:17:33 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Remove ->hangup() from stack glue operations. ocfs2: Move the call of ocfs2_hb_ctl into the stack glue. ocfs2: Move the hb_ctl_path sysctl into the stack glue. commit c8988f968240069aeae16d8cf9f59096a085eb27 Merge: 10acaf0... 732a675... Author: Linus Torvalds Date: Mon Jun 16 11:52:43 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix CONFIG_IA64_SGI_UV build error [IA64] Update check_sal_cache_flush to use platform_send_ipi() [IA64] perfmon: fix async exit bug commit 2c39450b39880e162b3eb339672314101f58ee1a Author: Joel Becker Date: Fri May 30 15:58:26 2008 -0700 ocfs2: Remove ->hangup() from stack glue operations. The ->hangup() call was only used to execute ocfs2_hb_ctl. Now that the generic stack glue code handles this, the underlying stack drivers don't need to know about it. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9f9a99f4eccc64650e932090cff0ebd07b81e334 Author: Joel Becker Date: Fri May 30 15:43:58 2008 -0700 ocfs2: Move the call of ocfs2_hb_ctl into the stack glue. Take o2hb_stop() out of the o2cb code and make it part of the generic stack glue as ocfs2_leave_group(). This also allows us to remove the ocfs2_get_hb_ctl_path() function - everything to do with hb_ctl is now part of stackglue.c. o2cb no longer needs a ->hangup() function. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3878f110f71a0971ff7acc15dd6db711b6ef37c6 Author: Joel Becker Date: Fri May 30 15:30:49 2008 -0700 ocfs2: Move the hb_ctl_path sysctl into the stack glue. ocfs2 needs to call out to the hb_ctl program at unmount for all cluster stacks. The first step is to move the hb_ctl_path sysctl out of the o2cb code and into the generic stack glue. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 10acaf0c8a481c1ea9ba9d550a292595d8279ee1 Merge: 649cf0f... 313348d... Author: Linus Torvalds Date: Mon Jun 16 10:24:01 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (21 commits) [POWERPC] Turn on ATA_SFF so we get SATA_SVW back in defconfigs [POWERPC] Remove ppc32's export of console_drivers [POWERPC] Fix -Os kernel builds with newer gcc versions [POWERPC] Fix bootwrapper builds with newer gcc versions [POWERPC] Build fix for drivers/macintosh/mediabay.c [POWERPC] Fix warning in pseries/eeh_driver.c [POWERPC] Add missing of_node_put in drivers/macintosh/therm_adt746x.c [POWERPC] Add missing of_node_put in drivers/macintosh/smu.c [POWERPC] Add missing of_node_put in pseries/nvram.c [POWERPC] Fix return value check logic in debugfs virq_mapping setup [POWERPC] Fix rmb to order cacheable vs. noncacheable powerpc/spufs: fix missed stop-and-signal event powerpc/spufs: synchronize interaction between spu exception handling and time slicing powerpc/spufs: remove class_0_dsisr from spu exception handling powerpc/spufs: wait for stable spu status in spu_stopped() [POWERPC] bootwrapper: add simpleImage* to list of boot targets [POWERPC] 83xx: MPC837xRDB's VSC7385 ethernet switch isn't on the MDIO bus [POWERPC] Updated Freescale PPC defconfigs [POWERPC] 8610: Update defconfig for MPC8610 HPCD [POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space ... commit 649cf0ff4b998e3082c6d9d8673eaab71f3de656 Merge: 626a16c... 9f9115d... Author: Linus Torvalds Date: Mon Jun 16 10:23:21 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: oxygen: fix NULL pointer dereference when loading snd-oxygen commit 626a16c16e13e4afaba382bfc0354a3555f5231c Merge: e53d6a1... dab8c6d... Author: Linus Torvalds Date: Mon Jun 16 10:22:31 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Au1200: MMC resource size off by one [MIPS] TANBAC: Update defconfig [MIPS] Vr41xx: Initialize PCI io_map_base [MIPS] Malta: Always compile MTD platform device registration code. [MIPS] Malta: Fix build errors for 64-bit kernels [MIPS] Lasat: sysctl fixup [MIPS] Fix buggy use of kmap_coherent. [MIPS] Lasat: bring back from the dead [MIPS] vpe_id is required for VSMP and SMTC builds [MIPS] Export smp_call_function and smp_call_function_single. [MIPS] Bring the SWARM defconfig up to date [MIPS] Sibyte: Build RTC support as an object [MIPS] Fix the fix for divide by zero error in build_{clear,copy}_page [MIPS] Fix build for PNX platforms. [MIPS] Add RM200 with R5000 CPU to known ARC machines [MIPS] Better load address for big endian SNI RM [MIPS] SB1250: Initialize io_map_base [MIPS] Alchemy: Add au1500 reserved interrupt [MIPS] Export empty_zero_page for sake of the ext4 module. commit e53d6a152793a38aa334d6f7a4850642ae45cedc Author: David Woodhouse Date: Mon Jun 16 12:24:17 2008 +0100 Export to userspace again. This seems to have been removed accidentally in commit ed7b1889da256977574663689b598d88950bbd23 ("Unexport asm/page.h"), but wasn't supposed to have been -- the original patch at http://lkml.org/lkml/2007/10/30/144 just moved it from $(header-y) to $(unifdef-y) Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit 9a8ea36967afad617d9b0930b6fe7592b9ed9772 Author: David Woodhouse Date: Mon Jun 16 12:18:24 2008 +0100 Remove #ifdef CONFIG_ARCH_SUPPORTS_AOUT from This file is only included where it makes sense now, so there's no need for the CONFIG_ARCH_SUPPORTS_AOUT conditional -- and that conditional is bad, because we want to export to userspace. Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit a9e0f5293d4999f93b469af4e70382db800a8204 Author: David Woodhouse Date: Mon Jun 16 12:18:13 2008 +0100 Remove last traces of a.out support from ELF loader. In commit d20894a23708c2af75966534f8e4dedb46d48db2 ("Remove a.out interpreter support in ELF loader"), Andi removed support for a.out interpreters from the ELF loader, which was only ever needed for the transition from a.out to ELF. This removes the last traces of that support, in particular the inclusion of . Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit 702773b16e83fcddc41e0019b8214d3c3cecedbe Author: David Woodhouse Date: Mon Jun 16 12:11:54 2008 +0100 Include in fs/exec.c only for Alpha. We only need it for the /sbin/loader hack for OSF/1 executables, and we don't want to include it otherwise. While we're at it, remove the redundant '&& CONFIG_ARCH_SUPPORTS_AOUT' in the ifdef around that code. It's already dependent on __alpha__, and CONFIG_ARCH_SUPPORTS_AOUT is hard-coded to 'y' there. Signed-off-by: David Woodhouse Acked-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit b052beb0432616aa4dac2b167e7809feae993991 Author: David Howells Date: Mon Jun 16 13:36:29 2008 +0100 MN10300: Kill linux/a.out.h inclusions Kill linux/a.out.h inclusions in the MN10300 arch code. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 732a675a6303156d1a197dc780b0712bd4b49d46 Author: Jack Steiner Date: Sat Jun 14 07:57:25 2008 -0500 [IA64] Fix CONFIG_IA64_SGI_UV build error Fix build error in CONFIG_IA64_SGI_UV config. (GENERIC builds are ok). Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit dab8c6deaf1d654d09c3de8bd4c286d424df255a Author: Sergei Shtylyov Date: Thu May 8 23:06:17 2008 +0400 [MIPS] Au1200: MMC resource size off by one Au12x0 MMC platform device strangely claims 0x41 bytes for its memory-mapped registers. Make it claim the whole 0x80000 instead according to the memory map given in the datasheets. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit b185194ef0691c8068c7d764aa8f78899d05512a Author: Yoichi Yuasa Date: Mon Jun 16 22:54:16 2008 +0900 [MIPS] TANBAC: Update defconfig These boards need cca setup on CMDLINE. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f1304b358a6c952e4cd1f92c8a6f183b1026c103 Author: Yoichi Yuasa Date: Mon Jun 16 22:51:08 2008 +0900 [MIPS] Vr41xx: Initialize PCI io_map_base Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b8157180ccd8bb3752f510c6c434b86394636093 Author: Ralf Baechle Date: Mon Jun 16 00:23:39 2008 +0100 [MIPS] Malta: Always compile MTD platform device registration code. Signed-off-by: Ralf Baechle commit 938b2b14172bd098972df2a5157bfabf161c90e5 Author: Thomas Bogendoerfer Date: Thu May 29 22:05:07 2008 +0200 [MIPS] Malta: Fix build errors for 64-bit kernels Fix 64-bit Malta by using CKSEG0ADDR and correct casts. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1f34f2e4262bae8a1aa6d8fd6306b07074d33718 Author: Thomas Horsten Date: Sun Jun 15 02:17:11 2008 +0100 [MIPS] Lasat: sysctl fixup LASAT's sysctl interface was broken, it failed a check during boot because a single entry had a sysctl number and the rest were unnumbered. When I fixed it I noticed that the whole sysctl file needed a spring clean, it was using mutexes where it wasn't needed (it's only needed to protect during writes to the EEPROM), so I moved that stuff out and generally cleaned the whole thing up. So now, LASAT's sysctl/proc interface is working again. Signed-off-by: Thomas Horsten Signed-off-by: Ralf Baechle commit c9c5023d83df5dc7d58830a63fd0e082120f00e3 Author: Ralf Baechle Date: Sat Jun 14 22:22:08 2008 +0100 [MIPS] Fix buggy use of kmap_coherent. Assuming the call of kmap_coherent in local_r4k_flush_cache_page doesn't need fixing this was skipped in fcae549295bcae801ac48fc1c2030ab8cc487020. Turns out it needed the same change after all. Signed-off-by: Ralf Baechle commit 0c3bd83b0974238a5808d342663c6407512564d0 Author: Thomas Horsten Date: Sat Jun 14 02:32:42 2008 +0100 [MIPS] Lasat: bring back from the dead After the common MIPS CPU interrupt controller (for irq0-7) was introduced the Lasat boards didn't get their interrupts right, so nothing worked. The old routines need to be offset by the new 8 hardware interrupts common to all MIPS CPU's. Signed-off-by: Thomas Horsten Signed-off-by: Ralf Baechle commit d6c3048cad3c9eb312c070e11fdbea56498255ed Author: Chris Dearman Date: Fri May 16 17:29:54 2008 -0700 [MIPS] vpe_id is required for VSMP and SMTC builds Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit a9ad02bdbb0193203a477bbd0e833adf9fb29ac4 Author: Zenon Fortuna Date: Fri May 16 17:29:48 2008 -0700 [MIPS] Export smp_call_function and smp_call_function_single. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 461a082f870c7fc6a0a245e2f93c9f0e3afbeddd Author: Maciej W. Rozycki Date: Fri Jun 13 00:10:00 2008 +0100 [MIPS] Bring the SWARM defconfig up to date The SWARM defconfig file has not been regenerated for over a year now. Here is a patch to bring the file up to date. Additionally some important and sometimes confusing changes happened meanwhile. Here is the list of notable corresponding updates to the configuration: 1. CPU_SB1_PASS_2_2 is now selected rather than CPU_SB1_PASS_1. The latter requires a non-standard -msb1-pass1-workarounds option to be supported by GCC and I am told is quite rare anyway. [Ralf: Afaik -msb1-pass1-workarounds is available only in Monta Vista's special Sibyte gcc 3.0 variant and gcc 3.0 is too old to build a modern kernel anyway.] 2. PHYLIB and BROADCOM_PHY are both built in and NETDEV_1000 enabled as required by SB1250_MAC. 3. USB and USB_OHCI_HCD are enabled as there is an OHCI chip onboard. 4. TMPFS is enabled, because I use it. ;-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 63a4881a7dd45038f46caa7c3c08b88b01cf9473 Author: Maciej W. Rozycki Date: Fri Jun 13 00:14:10 2008 +0100 [MIPS] Sibyte: Build RTC support as an object Build the SWARM platform library is as an object rather than an archive so that files which only contain symbols used by initcalls and do not provide any symbols that would pull them from an archive still work. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 7bd0fea2c590d94995c2ee0b32e786c1c62621fa Author: Atsushi Nemoto Date: Fri May 30 13:07:21 2008 +0900 [MIPS] Fix the fix for divide by zero error in build_{clear,copy}_page Signed-off-by: Ralf Baechle commit 89052bd7b393434f7c573ce6a3b88c5f143586d2 Author: Ralf Baechle Date: Thu Jun 12 17:26:02 2008 +0100 [MIPS] Fix build for PNX platforms. Build error was caused by commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0. Signed-off-by: Ralf Baechle commit 330117ff2723566e8eb7ad43223081b557f1540e Author: Thomas Bogendoerfer Date: Tue May 27 01:15:20 2008 +0200 [MIPS] Add RM200 with R5000 CPU to known ARC machines RM200 with R5ks have a little bit different arcname. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0e27d7931157fa89cc9afb7735095a0d81ce8fec Author: Thomas Bogendoerfer Date: Tue May 27 01:15:16 2008 +0200 [MIPS] Better load address for big endian SNI RM Use better load address for big endian kernels to avoid clashes with PROM / SASH. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit d0f9cbd4b29c3d208d6b31519cbb940d98d61e7d Author: Maciej W. Rozycki Date: Mon Jun 9 17:20:03 2008 +0100 [MIPS] SB1250: Initialize io_map_base Correctly initialize io_map_base for the SB1250 PCI controller as required for proper iomap support. Based on a proposal from Daniel Jacobowitz. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 6b7d0b2fb6da3f6182f2bd162bf02ed4aed1813f Author: bruno randolf Date: Fri Jun 6 16:42:03 2008 +0200 [MIPS] Alchemy: Add au1500 reserved interrupt In the conversion done in the commits 95c4eb3ef4484ca85da5c98780d358cffd546b90 9d360ab4a7568a8d177280f651a8a772ae52b9b9 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. one reserved interrupt on au1500 was missed. this broke the au1000 ethernet driver. Signed-off-by: Bruno Randolf Signed-off-by: Ralf Baechle commit 497d2adcbf50bccec6c56620d61d77429d23993a Author: Ralf Baechle Date: Fri Jun 6 14:23:06 2008 +0100 [MIPS] Export empty_zero_page for sake of the ext4 module. Signed-off-by: Ralf Baechle commit 9f9115d880ca550922434aee05ca18796c58eb99 Author: Clemens Ladisch Date: Mon Jun 16 14:13:52 2008 +0200 sound: oxygen: fix NULL pointer dereference when loading snd-oxygen Check that model->control_filter is set before trying to call it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e4f3ec063421bdbcb93330e72aa3eeedb6a0d85a Author: Paul Collins Date: Sat Jun 14 14:14:59 2008 +1200 udf: restore UDFFS_DEBUG to being undefined by default Commit 706047a79725b585cf272fdefc234b31b6545c72, "udf: Fix compilation warnings when UDF debug is on" inadvertently (I assume) enabled debugging messages by default for UDF. This patch disables them again. Signed-off-by: Paul Collins Signed-off-by: Jan Kara commit 313348db0bff8911b1219e6338342d0527072741 Author: Paul Mackerras Date: Mon Jun 16 21:14:12 2008 +1000 [POWERPC] Turn on ATA_SFF so we get SATA_SVW back in defconfigs This enables CONFIG_ATA_SFF in the defconfigs that are intended to work on a G5 powermac, i.e. g5_defconfig and ppc64_defconfig. Since the support for the SATA cell in the K2 chipset is provided by the sata_svw.c driver, and that depends on CONFIG_ATA_SFF, we need to turn that and CONFIG_SATA_SVW back on so we can get to the hard disk on G5s. Signed-off-by: Paul Mackerras commit 4a96db3c780f30432653f99cbff193ba3e474e0b Author: Stephen Rothwell Date: Mon Jun 16 10:50:13 2008 +1000 [POWERPC] Remove ppc32's export of console_drivers There are no in-tree uses of the export any more and in linux-next there is a change that exports it globally which causes warnings: WARNING: vmlinux: 'console_drivers' exported twice. Previous export was in vmlinux and in one case (mpc85xx_defconfig) a build error: kernel/built-in.o: In function `__crc_console_drivers': (*ABS*+0x1eb0e6f5): multiple definition of `__crc_console_drivers' So remove the export now. Also, there is no longer any need to include linux/console.h. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit da3de6df33f5f42ff9dc40093fbc884f524c9a49 Author: Kumar Gala Date: Fri Jun 13 07:20:58 2008 +1000 [POWERPC] Fix -Os kernel builds with newer gcc versions GCC 4.4.x looks to be adding support for generating out-of-line register saves/restores based on: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01678.html This breaks the kernel if we enable CONFIG_CC_OPTIMIZE_FOR_SIZE. To fix this we add the use the save/restore code from gcc and simplified it down for our needs (integer only). Additionally, we have to link this code into each module. The other solution was to add EXPORT_SYMBOL() which meant going through the trampoline which seemed nonsensical for these out-of-line routines. Finally, we add some checks to prom_init_check.sh to ignore the out-of-line save/restore functions. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 143580ecfb7999147e546cc3814023e233e95fa5 Author: Kumar Gala Date: Fri Jun 13 07:19:06 2008 +1000 [POWERPC] Fix bootwrapper builds with newer gcc versions GCC 4.4.x looks to be adding support for generating out-of-line register saves/restores based on: http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01678.html This breaks the bootwrapper as we'd need to link with libgcc to get the implementation of the register save/restores. To workaround this issue, we just stole the save/restore code from gcc and simplified it down for our needs (integer only). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 305c73687157d677bee6f2a5dbee438d844a028c Author: Adrian Bunk Date: Wed Jun 11 03:47:45 2008 +1000 [POWERPC] Build fix for drivers/macintosh/mediabay.c This fixes the following build error with CONFIG_BLK_DEV_IDE_PMAC=n: <-- snip --> ... CC drivers/macintosh/mediabay.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c: In function 'check_media_bay': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/macintosh/mediabay.c:428: error: 'struct media_bay_info' has no member named 'cd_index' make[3]: *** [drivers/macintosh/mediabay.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 8e01520c06c65a1a376059199fc24d4f3d606991 Author: Andrew Morton Date: Tue Jun 10 09:26:10 2008 +1000 [POWERPC] Fix warning in pseries/eeh_driver.c Fix this: /usr/src/devel/arch/powerpc/platforms/pseries/eeh_driver.c: In function 'print_device_node_tree': /usr/src/devel/arch/powerpc/platforms/pseries/eeh_driver.c:55: warning: ISO C90 forbids mixed declarations and code also make that function look like it's part of Linux. Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 958a65f205fdc5ce5461d79376073b89acc51b31 Author: Julia Lawall Date: Mon Jun 9 22:21:51 2008 +1000 [POWERPC] Add missing of_node_put in drivers/macintosh/therm_adt746x.c of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; statement S; identifier f; expression E; constant C; @@ n = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n1 = f(n,...) | E = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8b9dba2ce28f64246198704b23f133bed5429e62 Author: Julia Lawall Date: Mon Jun 9 22:20:42 2008 +1000 [POWERPC] Add missing of_node_put in drivers/macintosh/smu.c of_node_put is needed before discarding a value received from of_find_node_by_type, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; struct device_node *n2; statement S; identifier f1,f2; expression E1,E2; constant C; @@ n = of_find_node_by_type(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f1(n,...) when != E1 = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n2 = f2(n,...) | E2 = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bad5232ba266ae2c666c17be236152fb2d8ada3b Author: Julia Lawall Date: Mon Jun 9 22:20:04 2008 +1000 [POWERPC] Add missing of_node_put in pseries/nvram.c of_node_put is needed before discarding a value received from of_find_node_by_type, eg in error handling code. The semantic patch that makes the change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct device_node *n; struct device_node *n1; struct device_node *n2; statement S; identifier f1,f2; expression E1,E2; constant C; @@ n = of_find_node_by_type(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f1(n,...) when != E1 = n when any when strict ( + of_node_put(n); return -C; | of_node_put(n); | n2 = f2(n,...) | E2 = n | return ...; ) // Signed-off-by: Julia Lawall Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 476ff8a0e3b17fc23994255aa9fd917d599d2ec7 Author: Emil Medve Date: Fri May 23 05:49:22 2008 +1000 [POWERPC] Fix return value check logic in debugfs virq_mapping setup debugfs_create_file() returns a non-NULL (non-zero) value in case of success, not a NULL value. This fixes this non-critical boot-time debugging error message: [ 1.316386] calling irq_debugfs_init+0x0/0x50 [ 1.316399] initcall irq_debugfs_init+0x0/0x50 returned -12 after 0 msecs [ 1.316411] initcall irq_debugfs_init+0x0/0x50 returned with error code -12 Signed-off-by: Emil Medve Acked-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 598056d5af8fef1dbe8f96f5c2b641a528184e5a Author: Nick Piggin Date: Thu May 22 00:10:56 2008 +1000 [POWERPC] Fix rmb to order cacheable vs. noncacheable lwsync is explicitly defined not to have any effect on the ordering of accesses to device memory, so it cannot be used for rmb(). sync appears to be the only barrier which fits the bill. Signed-off-by: Nick Piggin Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a9653cf540d407fb75deb3db65a1be6c81d53ee0 Merge: e80ac32... 0665190... Author: Paul Mackerras Date: Mon Jun 16 14:53:25 2008 +1000 Merge branch 'linux-2.6' into merge commit e80ac32767d0f781ac195c472d500a7451d3729a Merge: ecab9ab... 028fda0... Author: Paul Mackerras Date: Mon Jun 16 14:52:56 2008 +1000 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit 028fda0a6c80c26f1d9f403b4490b9ddc74ffa3b Author: Luke Browning Date: Mon Jun 16 10:42:38 2008 +1000 powerpc/spufs: fix missed stop-and-signal event There is a delay in the transition to the stopped state for class 2 interrupts. In some cases, the controlling thread detects the state of the spu as running, and goes back to sleep resulting in a hung application as the event is missed. This change detects the stop condition and re-generates the wakeup event after a context save. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 2c911a14b74fa9cf815a936f310e4fa85bee77ce Author: Luke Browning Date: Fri Jun 13 14:17:35 2008 +1000 powerpc/spufs: synchronize interaction between spu exception handling and time slicing Time slicing can occur at the same time as spu exception handling resulting in the wakeup of the wrong thread. This change uses the the spu's register_lock to enforce synchronization between bind/unbind and spu exception handling so that they are mutually exclusive. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 1f64643aa5f5a17f1723f7ea0f17b7a3a8f632b3 Author: Luke Browning Date: Thu Jun 5 17:30:25 2008 +0800 powerpc/spufs: remove class_0_dsisr from spu exception handling According to the CBEA, the SPU dsisr is not updated for class 0 exceptions. spu_stopped() is testing the dsisr that was passed to it from the class 0 exception handler, so we return a false positive here. This patch cleans up the interrupt handler and erroneous tests in spu_stopped. It also removes the fields from the csa since it is not needed to process class 0 events. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit d84050f48ebba73994b93ccf61cea2364dac8d75 Author: Luke Browning Date: Thu May 29 17:46:10 2008 -0300 powerpc/spufs: wait for stable spu status in spu_stopped() If the spu is stopping (ie, the SPU_STATUS_RUNNING bit is still set), re-read the register to get the final stopped value. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit ecab9ab22a9a64d6412961e42a5a23c74c6b6220 Merge: 8d6bcd6... f17c632... Author: Paul Mackerras Date: Mon Jun 16 14:30:47 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge commit 066519068ad2fbe98c7f45552b1f592903a9c8c8 Merge: b92dea6... 0cbccbc... Author: Linus Torvalds Date: Sun Jun 15 16:53:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide-generic: don't probe all legacy ISA IDE ports by default ide-cs: fix releasing I/O resources ide-cs: fix probing and add warm-plug support ide-pmac: remove bogus comment about pmac_ide_setup_device() ide-pmac: add ->cable_detect method ide-pmac: bugfix for media-bay support rework opti621: add PIO 4 support opti621: use pre-calculated PIO timings opti621: program devices timings separately in ->set_pio_mode opti621: use PCI clock value provided by controller opti621: remove DMA support opti621: disable read prefetch commit b92dea67cc66970cda6b5b11895d08e35b4618e7 Author: Mark McLoughlin Date: Sun Jun 15 23:20:50 2008 +1000 virtio: Complete feature negotation before updating status lguest (in rusty's use-tun-ringfd patch) assumes that the guest has updated its feature bits before setting its status to VIRTIO_CONFIG_S_DRIVER_OK. That's pretty reasonable, so let's make it so. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 0cbccbc30a60ff60dbeb203154f1f527c632de9b Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:24 2008 +0200 ide-generic: don't probe all legacy ISA IDE ports by default We can't probe all legacy ISA IDE ports by default as the resources may be occupied by other ISA devices. Add "probe_mask" module parameter and probe only first two ISA IDE ports by default leaving the decision about probing the rest to the user (systems with ISA ide2-6 should be very, very rare). This fixes a regression caused by: commit 343a3451e20314d5959b59b992e33fbaadfe52bf Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:36 2008 +0200 ide-generic: add missing hwif->chipset setup ... Reported-by: Mikael Pettersson Bisected-by: Mikael Pettersson Tested-by: Mikael Pettersson Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit fbc69fd9b76158daaa83e5372e44fdd81df20f92 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-cs: fix releasing I/O resources hwif content is already freed after ide_release() call so cache hwif->io_ports.{data,ctl}_addr in local variables in ide_detach(). This fixes post-2.6.25 regression. Signed-off-by: Bartlomiej Zolnierkiewicz commit 792a1a98560a2a1619491eed8b18fccb09b312a7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-cs: fix probing and add warm-plug support * Fix probing by using ide_port_scan() and moving "retry loop" from ide_config() to idecs_register(). * Don't fail probe if there are no devices attached to a port. * Remove (now redundant) error message from ide_config(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b16464ac32a92c2332030d11ec445bddeb141fa Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: remove bogus comment about pmac_ide_setup_device() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 07a6c66da53f646a39103290bfbd85be18892895 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: add ->cable_detect method Add ->cable_detect method and remove no longer needed pmif->cable_80 flag (there is also no need to mask ->udma_mask now). This fixes: - forced ignoring of cable detection (needed for some CF devices & debug) - cable detection for warm-plug Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit c1a8e39819bd6797ee2b82b88517268d39921b03 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:23 2008 +0200 ide-pmac: bugfix for media-bay support rework Fix bug introduced by: commit 2dde7861afa23cd59db83515cb0b810b92b220aa Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: rework PowerMac media-bay support (take 2) ... [ Yeah, I suck. ] bay->cd_index shouldn't be changed if IDE devices are not present or retry operations won't happen. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 80a65fc5ee04497e6c28bdaefc44d375b19c4a79 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: add PIO 4 support * Add PIO 4 support. While at it: * Use a single struct ide_port_info instance for OPTi621 and OPTi621X. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 810253d44bc92b44b66cd9944b579de54c0cd3ff Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: use pre-calculated PIO timings * Use pre-calculated PIO timings in ->set_pio_mode. * Remove no longer needed compute_clocks(), cmpt_clk(), struct pio_clocks_s, PIO_* defines and OPTI621_DEBUG define. There should be no functional changes caused by this patch. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c987183fcc3c6cb9eb77fd0b3e8ca1ac98a4813 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: program devices timings separately in ->set_pio_mode * Set drive->drive_data to 'pio + XFER_PIO_0' instead of 'pio', then simplify selecting maximum adress setup timing. * Remove no longer needed compute_pios() and opti621_port_init_devs(). * Program devices timings separately in ->set_pio_mode. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit 21bd33a656a60daadc475ce330272f4410ae27b7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:22 2008 +0200 opti621: use PCI clock value provided by controller Use PCI clock value provided by controller instead of depending on a default (or user supplied) value. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit f361037631ba547ea88adf8d2359d810c1b2605a Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:21 2008 +0200 opti621: remove DMA support These controllers don't support DMA. Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Tested-by: Juergen Kosel Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 62128b2ca812c1266f4ff7bac068bf0b626c6179 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 15 21:00:21 2008 +0200 opti621: disable read prefetch This fixes 2.6.25 regression (kernel.org bugzilla bug #10723) caused by: commit 912fb29a36a7269ac1c4a4df45bc0ac1d2637972 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 opti621: always tune PIO ... Based on a bugreport from Juergen Kosel & inspired by pata_opti.c code. Bisected-by: Juergen Kosel Tested-by: Juergen Kosel Signed-off-by: Bartlomiej Zolnierkiewicz commit f93daa3f7ff4f0cc13acc7452a00feb1c586102a Author: Jeff Mahoney Date: Fri Jun 13 10:38:00 2008 -0400 [SCSI] dpt_i2o: Add PROC_IA64 define This fixes the following compile failure: drivers/scsi/dpt_i2o.c:83: error: 'PROC_IA64' undeclared here (not in a function) Mark Salyzyn indicated that IA64 must report itself as PROC_INTEL, so I've changed the comment for PROC_INTEL. Signed-off-by: Jeff Mahoney Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3ed7897242b7efe977f3a8d06d4e5a4ebe28b10e Author: Mike Christie Date: Wed Jun 11 19:21:00 2008 -0500 [SCSI] scsi_host regression: fix scsi host leak commit 9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7 Author: Dave Young Date: Tue Jan 22 14:01:34 2008 +0800 scsi: use class iteration api Isn't a correct replacement for the original hand rolled host lookup. The problem is that class_find_child would get a reference to the host's class device which is never released. Since the host class device holds a reference to the host gendev, the host can never be freed. In 2.6.26 we started using class_find_device, and this function also gets a reference to the device, so we end up with an extra ref and the host will not get released. This patch adds a put_device to balance the class_find_device() get. I kept the scsi_host_get in scsi_host_lookup, because the target layer is using scsi_host_lookup and it looks like it needs the SHOST_DEL check. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 34a5d713056c325e5bf2b5361646585d5f550a72 Merge: 7775c97... cb62ecc... Author: David S. Miller Date: Sat Jun 14 17:33:38 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0269c5c6d9a9de22715ecda589730547435cd3e8 Merge: 7775c97... 81d5575... Author: Linus Torvalds Date: Sat Jun 14 13:32:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fixup write combine comment in pci_mmap_resource x86: PAT export resource_wc in pci sysfs x86, pci-dma.c: don't always add __GFP_NORETRY to gfp suspend-vs-iommu: prevent suspend if we could not resume x86: pci-dma.c: use __GFP_NO_OOM instead of __GFP_NORETRY pci, x86: add workaround for bug in ASUS A7V600 BIOS (rev 1005) PCI: use dev_to_node in pci_call_probe PCI: Correct last two HP entries in the bfsort whitelist commit f163ff5176a8e9c827d8ebe044710d67d40799c3 Author: Len Brown Date: Sat Jun 14 01:26:37 2008 -0400 ACPI: no AC status notification http://bugzilla.kernel.org/show_bug.cgi?id=10695 Signed-off-by: Len Brown commit d385c2a85877f0cb785070094edf9a624c090d68 Author: Zhang Rui Date: Sat Jun 14 01:01:18 2008 -0400 ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device The child of a video bus device is not alway a video device. It should be a warn message rather than an exception here. http://bugzilla.kernel.org/show_bug.cgi?id=9761 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit cb62eccd7d946f7fb92b8beb79988726ec92c227 Author: Ivo van Doorn Date: Thu Jun 12 20:47:17 2008 +0200 rt2x00: Add D-link DWA111 support Add new rt73usb USB ID for D-Link DWA111 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 995ad6c5a415c9389d094d246ca1b305c1e31813 Author: Tomas Winkler Date: Thu Jun 12 20:08:19 2008 +0300 mac80211: add missing new line in debug print HT_DEBUG This patch adds '\n' in debug printk (wme.c HT DEBUG) Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5c5f9664d5284d8542062fed39e1f19b80db7aa5 Author: Abhijeet Kolekar Date: Thu Jun 12 09:47:16 2008 +0800 mac80211 : fix for iwconfig in ad-hoc mode The patch checks interface status, if it is in IBSS_JOINED mode show cell id it is associated with. Signed-off-by: Abhijeet Kolekar Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e6340361f9c70e84312caed98c6e058ac6234e9b Author: Michael Buesch Date: Thu Jun 12 15:33:13 2008 +0200 ssb: Fix coherent DMA mask for PCI devices This fixes setting the coherent DMA mask for PCI devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 6847aa5cce6e22c3625a243b02909ac46aafa110 Author: Randy Dunlap Date: Wed Jun 11 13:32:22 2008 -0700 rt2x00: LEDS build failure Config symbols that select LEDS_CLASS need to depend on NEW_LEDS so that undefined symbols are not used in the build. The alternative is to select NEW_LEDS, which some drivers do. This patch fixes the led_* symbols build errors. (.text+0x174cdc): undefined reference to `input_unregister_device' (.text+0x174d9f): undefined reference to `input_allocate_device' (.text+0x174e2d): undefined reference to `input_register_device' (.text+0x174e53): undefined reference to `input_free_device' rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device' rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event' rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event' (.text+0x176eca): undefined reference to `input_unregister_polled_device' (.text+0x176efc): undefined reference to `input_free_polled_device' (.text+0x176f37): undefined reference to `input_free_polled_device' (.text+0x176fd8): undefined reference to `input_register_polled_device' (.text+0x1772c0): undefined reference to `led_classdev_resume' (.text+0x1772d4): undefined reference to `led_classdev_resume' (.text+0x1772e8): undefined reference to `led_classdev_resume' (.text+0x17730a): undefined reference to `led_classdev_suspend' (.text+0x17731e): undefined reference to `led_classdev_suspend' (.text+0x17732f): undefined reference to `led_classdev_suspend' rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister' rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register' rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device' rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle' rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle' rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device' rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle' rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler' rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler' make[1]: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit e76328e4a8260707fbc29c99773fb5ba4627096c Author: Randy Dunlap Date: Wed Jun 11 12:57:58 2008 -0700 rt2x00: INPUT build failure Config symbols that select RFKILL need to depend on INPUT so that undefined symbols are not used in the build. This patch fixes the input_* symbols build errors. (.text+0x174cdc): undefined reference to `input_unregister_device' (.text+0x174d9f): undefined reference to `input_allocate_device' (.text+0x174e2d): undefined reference to `input_register_device' (.text+0x174e53): undefined reference to `input_free_device' rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device' rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event' rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event' (.text+0x176eca): undefined reference to `input_unregister_polled_device' (.text+0x176efc): undefined reference to `input_free_polled_device' (.text+0x176f37): undefined reference to `input_free_polled_device' (.text+0x176fd8): undefined reference to `input_register_polled_device' (.text+0x1772c0): undefined reference to `led_classdev_resume' (.text+0x1772d4): undefined reference to `led_classdev_resume' (.text+0x1772e8): undefined reference to `led_classdev_resume' (.text+0x17730a): undefined reference to `led_classdev_suspend' (.text+0x17731e): undefined reference to `led_classdev_suspend' (.text+0x17732f): undefined reference to `led_classdev_suspend' rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister' rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register' rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device' rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle' rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle' rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device' rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle' rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler' rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler' make[1]: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 98a3b2fe435ae76170936c14f5c9e6a87548e3ef Author: Michael Buesch Date: Thu Jun 12 12:36:29 2008 +0200 b43: Fix noise calculation WARN_ON This removes a WARN_ON that is responsible for the following koops: http://www.kerneloops.org/searchweek.php?search=b43_generate_noise_sample The comment in the patch describes why it's safe to simply remove the check. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 028118a5f09a9c807e6b43e2231efdff9f224c74 Author: Michael Buesch Date: Thu Jun 12 11:58:56 2008 +0200 b43: Fix possible NULL pointer dereference in DMA code This fixes a possible NULL pointer dereference in an error path of the DMA allocation error checking code. This is also necessary for a future DMA API change that is on its way into the mainline kernel that adds an additional dev parameter to dma_mapping_error(). This patch moves the whole struct b43_dmaring struct initialization right before any DMA allocation operation. Reported-by: Miles Lane Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 051c256f672efa356a4cda1841132dbc86541090 Author: Gertjan van Wingerde Date: Tue Jun 3 20:29:47 2008 +0200 rt2x00: Restrict DMA to 32-bit addresses. None of the rt2x00 PCI devices support 64-bit DMA addresses (they all only accept 32-bit buffer addresses). Hence it makes no sense to try to enable 64-bit DMA addresses. Only try to enable 32-bit DMA addresses. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit edfa78b2ba651782d70be6d1fef214e21a26d8cb Author: Ivo van Doorn Date: Tue Jun 3 20:29:50 2008 +0200 rt2x00: Don't kill guardian_urb when it wasn't created This fixes a "BUG: unable to handle kernel paging request" bug in rt73usb which was caused by killing the guardian_urb while it had never been allocated for rt73usb. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7775c9753b94fe429dc4323360d6502c95e0dd6e Merge: fa8d84b... 42a5a8a... Author: Linus Torvalds Date: Fri Jun 13 09:47:07 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: parisc: update my email address parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 parisc: fix off by one in setup_sigcontext32 parisc: export empty_zero_page parisc: export copy_user_page_asm parisc: move head.S to head.text section Revert "parisc: fix trivial section name warnings" commit 42a5a8a60a093c359987fd884aec99b9d7f4c084 Author: Kyle McMartin Date: Fri Jun 6 17:16:17 2008 -0400 parisc: update my email address Signed-off-by: Kyle McMartin commit e374d17cd74ec5967f81e2b0c67ec3219a2bbbcc Author: Kyle McMartin Date: Sat May 31 12:15:42 2008 -0400 parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 ip_fast_csum needs an asm "memory" clobber, otherwise the aggressive optimizations in gcc-4.3 cause it to be miscompiled. Signed-off-by: Kyle McMartin commit f4441b62d46e7033e907dfd6a8bb0b75b5519e88 Author: Kyle McMartin Date: Tue May 27 01:56:29 2008 -0400 parisc: fix off by one in setup_sigcontext32 Thankfully, the values were irrelevant... Spotted by newer gcc. Signed-off-by: Kyle McMartin commit 22febf1f372496d74534be32b6b5edcee7fb7cc5 Author: Kyle McMartin Date: Mon May 26 01:54:35 2008 -0400 parisc: export empty_zero_page Needed by ext4 when built as a module. Signed-off-by: Kyle McMartin commit db51d92b90193cf69b2bcc2874fd0b267fd3e710 Author: Kyle McMartin Date: Mon May 26 01:49:01 2008 -0400 parisc: export copy_user_page_asm Needed by fuse (via copy_highpage). Signed-off-by: Kyle McMartin commit 1138a72cd96857d1d5928c0c8c83d8b8995eeb38 Author: Kyle McMartin Date: Thu May 22 14:38:26 2008 -0400 parisc: move head.S to head.text section And explicitly list it in vmlinux.lds... Signed-off-by: Kyle McMartin commit dfcf753bd3fb09f336659d07b1c48db7e62772e0 Author: Kyle McMartin Date: Thu May 22 14:36:31 2008 -0400 Revert "parisc: fix trivial section name warnings" This reverts commit bd3bb8c15b9a80dbddfb7905b237a4a11a4725b4. Signed-off-by: Kyle McMartin commit fa8d84b78be10d0c455dd716f40152bb7003bd5b Merge: 5155857... bd17243... Author: Linus Torvalds Date: Fri Jun 13 07:40:57 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: Workaround HW bug for SB600/700 SATA controller PMP support ahci: workarounds for mcp65 commit 51558576ead54c1047e4d41440626e4f9aa015ea Merge: d36e311... ec0a196... Author: Linus Torvalds Date: Fri Jun 13 07:34:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: tcp: Revert 'process defer accept as established' changes. ipv6: Fix duplicate initialization of rawv6_prot.destroy bnx2x: Updating the Maintainer net: Eliminate flush_scheduled_work() calls while RTNL is held. drivers/net/r6040.c: correct bad use of round_jiffies() fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list() netfilter: nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info() netfilter: Make nflog quiet when no one listen in userspace. ipv6: Fail with appropriate error code when setting not-applicable sockopt. ipv6: Check IPV6_MULTICAST_LOOP option value. ipv6: Check the hop limit setting in ancillary data. ipv6 route: Fix route lifetime in netlink message. ipv6 mcast: Check address family of gf_group in getsockopt(MS_FILTER). dccp: Bug in initial acknowledgment number assignment dccp ccid-3: X truncated due to type conversion dccp ccid-3: TFRC reverse-lookup Bug-Fix dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets dccp: Fix sparse warnings dccp ccid-3: Bug-Fix - Zero RTT is possible commit d36e311070ee3a378a54142a168ff5cfedba33d5 Merge: 61d6cc5... 738eca7... Author: Linus Torvalds Date: Fri Jun 13 07:34:01 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: get leo framebuffer working commit bd17243a84632465f5403bc9eb8b4831bd67e582 Author: Shane Huang Date: Tue Jun 10 15:52:04 2008 +0800 ahci: Workaround HW bug for SB600/700 SATA controller PMP support There is one bug in ATI SATA PMP of SB600 and SB700 old revision, which leads to soft reset failure. This patch can fix the bug. Signed-off-by: Shane Huang Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit e297d99e103f951a71fcb1534f1ff3480dd3a851 Author: Tejun Heo Date: Tue Jun 10 00:13:04 2008 +0900 ahci: workarounds for mcp65 MCP65 ahci can do NCQ but doesn't set the CAP bit and rev A0 and A1 can't do MSI but have MSI capability. Implement AHCI_HFLAG_YES_NCQ and apply appropriate workarounds. Signed-off-by: Tejun Heo Cc: Peer Chen Signed-off-by: Jeff Garzik commit b554305905d9bc2184b424aa67712119d5c9fb99 Author: Dave Airlie Date: Fri Jun 13 15:06:31 2008 +1000 drm: the sg alloc ioctl should write back the handle to userspace Signed-off-by: Dave Airlie commit 41ee2ff404ec76194315aeed57ac973b010abe1d Author: Johannes Weiner Date: Fri Jun 13 15:04:40 2008 +1000 drm: use drms ioctl cmd not what we get passed from userspace. This enforces us to use the drm ioctl types so read/write works correctly and not believe what userspace tells us. It does this hopefully without breaking the drm api. Fixes bug from thread: BUG: unable to handle kernel NULL pointer dereference (drm_getunique) Signed-off-by: Dave Airlie commit 61d6cc54896811086b51fa78d440311974a09b3a Merge: c6d8f40... 3692fd0... Author: Linus Torvalds Date: Thu Jun 12 19:37:29 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5091/1: Add missing bitfield include to regs-lcd.h [ARM] 5090/1: Correct pxafb palette typo error [ARM] 5077/1: spi: fix list scan success verification in PXA ssp driver commit c6d8f400cc7610f04177f81168c19b8407cb48c3 Author: Sergey Lapin Date: Thu Jun 12 15:21:55 2008 -0700 rtc: Ramtron FM3130 RTC support Ramtron FM3130 is a chip with two separate devices inside, RTC clock and FRAM. This driver provides only RTC functionality. This chip is met in lots of custom boards with AT91SAMXXXX CPU I work with, is cheap and in no way better or worse than any other RTC on market. While it is mostly met on much smaller devices, I think it is great to have it supported in Linux. Signed-off-by: Sergey Lapin Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6d2bb2bacb43ff03b0f458108d71981d58e775a Author: David Brownell Date: Thu Jun 12 15:21:55 2008 -0700 rtc: make HPET_RTC_IRQ track HPET_EMULATE_RTC More Kconfig tweaks related to the legacy PC RTC code: - Describe the legacy PC RTC driver as such ... it's never quite been clear that this driver is for PC RTCs, and now it's fair to call this the "legacy" driver. - Force it to understand about HPET stealing its IRQs ... kernel code does this always when HPET is in use, there should be no option for users to goof up the config. This seems to fix kernel bugzilla #10729. Signed-off-by: David Brownell Cc: Maxim Levitsky Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1da2e3d679a8ea2d9e82040359a706da0bd3bef6 Author: Stas Sergeev Date: Thu Jun 12 15:21:54 2008 -0700 provide rtc_cmos platform device Recently (around 2.6.25) I've noticed that RTC no longer works for me. It turned out this is because I use pnpacpi=off kernel option to work around the parport_pc bugs. I always did so, but RTC used to work fine in the past, and now it have regressed. The patch fixes the problem by creating the platform device for the RTC when PNP is disabled. This may also help running the PNP-enabled kernel on an older PCs. Signed-off-by: Stas Sergeev Cc: David Brownell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 643b52b9c0b4e959436b4b551ebf4060d06d5ae8 Author: Nick Piggin Date: Thu Jun 12 15:21:52 2008 -0700 radix-tree: fix small lockless radix-tree bug We shrink a radix tree when its root node has only one child, in the left most slot. The child becomes the new root node. To perform this operation in a manner compatible with concurrent lockless lookups, we atomically switch the root pointer from the parent to its child. However a concurrent lockless lookup may now have loaded a pointer to the parent (and is presently deciding what to do next). For this reason, we also have to keep the parent node in a valid state after shrinking the tree, until the next RCU grace period -- otherwise this lookup with the parent pointer may not do the right thing. Notably, we need to keep the child in the left most slot there in case that is requested by the lookup. This is all pretty standard RCU stuff. It is worth repeating because in my eagerness to obey the radix tree node constructor scheme, I had broken it by zeroing the radix tree node before the grace period. What could happen is that a lookup can load the parent pointer, then decide it wants to follow the left most child slot, only to find the slot contained NULL due to the concurrent shrinker having zeroed the parent node before waiting for a grace period. The lookup would return a false negative as a result. Fix it by doing that clearing in the RCU callback. I would normally want to rip out the constructor entirely, but radix tree nodes are one of those places where they make sense (only few cachelines will be touched soon after allocation). This was never actually found in any lockless pagecache testing or by the test harness, but by seeing the odd problem with my scalable vmap rewrite. I have not tickled the test harness into reproducing it yet, but I'll keep working at it. Fortunately, it is not a problem anywhere lockless pagecache is used in mainline kernels (pagecache probe is not a guarantee, and brd does not have concurrent lookups and deletes). Signed-off-by: Nick Piggin Acked-by: Peter Zijlstra Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2187ebd84c7dd13ef269e9600f4daebeb02816e Author: Jiri Bohac Date: Thu Jun 12 15:21:51 2008 -0700 console keyboard mapping broken by 04c71976 Several console keyboard maps are broken since commit 04c71976500352d02f60616d2b960267d8c5fe24 Author: Samuel Thibault Date: Tue Oct 16 23:27:04 2007 -0700 unicode diacritics support because that changeset made k_self consider the value as a latin1 character when in Unicode mode, which is wrong; k_self should still take the console map into account. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c826818ff55eae7702b778b5f8bdf765af3b2af Author: Paul Menage Date: Thu Jun 12 15:21:49 2008 -0700 /proc/sysvipc/shm: fix 32-bit truncation of segment sizes sysvipc_shm_proc_show() picks between format strings (based on the expected maximum length of a SHM segment) in a way that prevents gcc from performing format checks on the seq_printf() parameters. This hid two format errors - shp->shm_segsz and shp->shm_nattach are both unsigned long, but were being printed as unsigned int and signed int respectively. This leads to 32-bit truncation of SHM segment sizes reported in /proc/sysvipc/shm. (And for nattach, but that's less of a problem for most users). This patch makes the format string directly visible to gcc's format specifier checker, and fixes the two broken format specifiers. Signed-off-by: Paul Menage Cc: Nadia Derbey Cc: Manfred Spraul Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf8039ed45f56013c4afea5520bca7d909e5e61 Author: Dave Hansen Date: Thu Jun 12 15:21:48 2008 -0700 pagemap: fix large pages in pagemap We were walking right into huge page areas in the pagemap walker, and calling the pmds pmd_bad() and clearing them. That leaked huge pages. Bad. This patch at least works around that for now. It ignores huge pages in the pagemap walker for the time being, and won't leak those pages. Signed-off-by: Dave Hansen Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2165009bdf63f79716a36ad545df14c3cdf958b7 Author: Dave Hansen Date: Thu Jun 12 15:21:47 2008 -0700 pagemap: pass mm into pagewalkers We need this at least for huge page detection for now, because powerpc needs the vm_area_struct to be able to determine whether a virtual address is referring to a huge page (its pmd_huge() doesn't work). It might also come in handy for some of the other users. Signed-off-by: Dave Hansen Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfc53f65f56f9f33c0cf522124045ac5a64076b3 Author: Philippe De Muyter Date: Thu Jun 12 15:21:46 2008 -0700 driver/char/generic_nvram: fix banner The generic nvram driver announces itself as 'Macintosh non-volatile memory driver' instead of 'Generic non-volatile memory driver'. Fix that. Signed-off-by: Philippe De Muyter Cc: Benjamin Herrenschmidt Cc: Arjan van de Ven Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59b6a5ab51f6192cbe20d4f031335fe6d0e73fd Author: Philippe De Muyter Date: Thu Jun 12 15:21:45 2008 -0700 drivers/video/cirrusfb: fix RAM address printk In the cirrusfb driver, the RAM address printk has a superfluous 'x' that could be interpreted as "don't care", while it is actually a typo. Fix that. [akpm@linux-foundation.org: join the two printk strings to make it atomic] Signed-off-by: Philippe De Muyter Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c97aee9ba43d60ff20d955065d29b6d3d8c950d5 Author: Stephen Hemminger Date: Thu Jun 12 15:21:45 2008 -0700 intel_rng: make device not found a warning Since many distros load this driver by default (throw it against the wall and see what sticks method). Change the error message severity level to avoid alarming users. Isn't it annoying when users actually read the error logs... Signed-off-by: Stephen Hemminger Cc: Michael Buesch Acked-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 093a44e71aa29157fb1611b00507d67c954099d6 Author: Julia Lawall Date: Thu Jun 12 15:21:43 2008 -0700 drivers/isdn/sc/ioctl.c: add missing kfree spid has been allocated in this function and so should be freed before leaving it, as in the other error handling cases. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) @r exists@ expression E,E1; statement S; position p1,p2,p3; @@ E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != E = E1 if (E == NULL || ...) S ... when != E = E1 if@p2 (...) { ... when != kfree(E) } ... when != E = E1 kfree@p3(E); @forall@ position r.p2; expression r.E; int E1 != 0; @@ * if@p2 (...) { ... when != kfree(E) when strict return E1; } Signed-off-by: Julia Lawall Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cef33400d0349fb24b6f8b7dea79b66e3144fd8b Author: Chuck Ebbert Date: Thu Jun 12 15:21:42 2008 -0700 mmc: wbsd: initialize tasklets before requesting interrupt With CONFIG_DEBUG_SHIRQ set we will get an interrupt as soon as we allocate one. Tasklets may be scheduled in the interrupt handler but they will be initialized after the handler returns, causing a BUG() in kernel/softirq.c when they run. Should fix this Fedora bug report: https://bugzilla.redhat.com/show_bug.cgi?id=449817 Signed-off-by: Chuck Ebbert Acked-by: Pierre Ossman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30ec261e5f97986644c0982543bc1cee1b2782bf Author: Eric Miao Date: Thu Jun 12 15:21:41 2008 -0700 MAINTAINERS: update maintainership of pxa2xx/pxa3xx Signed-off-by: Eric Miao Acked-by: Russell King Acked-by: Nicolas Pitre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1ef9167ca4494a8c6d71d0031c73e9c8841eadd Author: Jeff Dike Date: Thu Jun 12 15:21:41 2008 -0700 uml: work around broken host PTRACE_SYSEMU Fedora broke PTRACE_SYSEMU again, and UML crashes as a result when it doesn't need to. This patch makes the PTRACE_SYSEMU check fail gracefully and makes UML fall back to PTRACE_SYSCALL. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14c8a77e1bbd693446dad297d2ae2dd22f187e4f Author: Jeff Dike Date: Thu Jun 12 15:21:40 2008 -0700 uml: remove include of asm/user.h I allowed an include of asm/user.h to sneak back in. This patch replaces it with sys/user.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 529a4f4ec90ffd9394fdfc22bea7a858ae343171 Author: Haavard Skinnemoen Date: Thu Jun 12 15:21:38 2008 -0700 rtc-at32ap700x: fix bug in at32_rtc_readalarm() alarm->pending indicates whether there's an alarm that has actually been triggered, not whether we're waiting for it. alarm->enabled indicates that. Also add missing locking around reading the RTC registers. Signed-off-by: Haavard Skinnemoen Signed-off-by: Alessandro Zummo Cc: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c38d8578545482fe45d6e6ea37be02a2e1bb289 Author: Philippe De Muyter Date: Thu Jun 12 15:21:36 2008 -0700 m68knommu: init coldfire timer TRR with n - 1, not n The coldfire timer must be initialised to n - 1 if we want it to count n cycles between each tick interrupt. This was already fixed, but has been lost with the conversion to GENERIC_TIMER. Signed-off-by: Philippe De Muyter Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67dddaad5d8b8c5ee5b96a7e2f6cb0faad703865 Author: Masami Hiramatsu Date: Thu Jun 12 15:21:35 2008 -0700 kprobes: fix error checking of batch registration Fix error checking routine to catch an error which occurs in first __register_*probe(). Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: David Miller Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24aac480e76c6f5d1391ac05c5e9c0eb9b0cd302 Author: Mike Miller Date: Thu Jun 12 15:21:34 2008 -0700 cciss: add new hardware support Add support for the next generation of HP Smart Array SAS/SATA controllers. Shipping date is late Fall 2008. Bump the driver version to 3.6.20 to reflect the new hardware support from patch 1 of this set. Signed-off-by: Mike Miller Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cdbc2b9826b3543fecff2f6d6400fa77b21ffdd Author: Andrew G. Morgan Date: Thu Jun 12 15:21:33 2008 -0700 capabilities: add (back) dummy support for KEEPCAPS The dummy module is used by folk that run security conscious code(!?). A feature of such code (for example, dhclient) is that it tries to operate with minimum privilege (dropping unneeded capabilities). While the dummy module doesn't restrict code execution based on capability state, the user code expects the kernel to appear to support it. This patch adds back faked support for the PR_SET_KEEPCAPS etc., calls - making the kernel behave as before 2.6.26. For details see: http://bugzilla.kernel.org/show_bug.cgi?id=10748 Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Cc: James Morris Cc: Stephen Smalley Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57d3c64fd8130ebdacd85a36c9656ba5e221f3a3 Author: Ben Nizette Date: Thu Jun 12 15:21:31 2008 -0700 proc_fs.h: move struct mm_struct forward-declaration Move the forward-declaration of struct mm_struct a little way up proc_fs.h. This fixes a bunch of "'struct mm_struct' declared inside parameter list" warnings with CONFIG_PROC_FS=n Signed-off-by: Ben Nizette Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 551e172a20cf960f7caab4d31b252dc59538bfa4 Author: Paul Jackson Date: Thu Jun 12 15:21:31 2008 -0700 cpusets: provide another web page URL in MAINTAINERS file Add URL for another CPUSETS web page to the MAINTAINERS file. This URL provides links to major LGPL user level C libraries supporting cpuset usage and user level cpu and node masks. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 630c270183133ac25bef8c8d726ac448df9b169a Author: Krzysztof Helt Date: Thu Jun 12 15:21:29 2008 -0700 hgafb: resource management fix Release ports which are requested during detection which are not freed if there is no hga card. Otherwise there is a crash during cat /proc/ioports command. Signed-off-by: Krzysztof Helt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69c5ddf58a03da3686691ad2f293bc79fd977c10 Author: Aneesh Kumar K.V Date: Thu Jun 12 15:21:29 2008 -0700 m68k: Add ext2_find_{first,next}_bit() for ext4 Add ext2_find_{first,next}_bit(), which are needed for ext4. They're derived out of the ext2_find_next_zero_bit found in the same file. Compile tested with crosstools [Reworked to preserve all symmetry with ext2_find_{first,next}_zero_bit()] This fixes http://bugzilla.kernel.org/show_bug.cgi?id=10393 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d518f84e5ecd1d71df0e6ac5176d212f68c27ce Author: OGAWA Hirofumi Date: Thu Jun 12 15:21:28 2008 -0700 fat: relax the permission check of fat_setattr() New chmod() allows only acceptable permission, and if not acceptable, it returns -EPERM. Old one allows even if it can't store permission to on disk inode. But it seems too strict for users. E.g. https://bugzilla.redhat.com/show_bug.cgi?id=449080: With new one, rsync couldn't create the temporary file. So, this patch allows like old one, but now it doesn't change the permission if it can't store, and it returns 0. Also, this patch fixes missing check. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c700be3d1320d2be4f04c8a5330186b7df724438 Author: kosaki.motohiro@jp.fujitsu.com Date: Thu Jun 12 15:21:27 2008 -0700 mm: fix incorrect variable type in do_try_to_free_pages() "Smarter retry of costly-order allocations" patch series change behaver of do_try_to_free_pages(). But unfortunately ret variable type was unchanged. Thus an overflow is possible. Signed-off-by: KOSAKI Motohiro Acked-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df0bcab2c66ac876d5e80864fca5cce944a44540 Author: Amit Kucheria Date: Thu Jun 12 15:21:26 2008 -0700 agp: add support for Radeon Mobility 9000 chipset Addresses https://bugs.edge.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/178634 Signed-off-by: Amit Kucheria Signed-off-by: maximilian attems Acked-by: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec0a196626bd12e0ba108d7daa6d95a4fb25c2c5 Author: David S. Miller Date: Thu Jun 12 16:31:35 2008 -0700 tcp: Revert 'process defer accept as established' changes. This reverts two changesets, ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 ("[TCP]: TCP_DEFER_ACCEPT updates - process as established") and the follow-on bug fix 9ae27e0adbf471c7a6b80102e38e1d5a346b3b38 ("tcp: Fix slab corruption with ipv6 and tcp6fuzz"). This change causes several problems, first reported by Ingo Molnar as a distcc-over-loopback regression where connections were getting stuck. Ilpo Järvinen first spotted the locking problems. The new function added by this code, tcp_defer_accept_check(), only has the child socket locked, yet it is modifying state of the parent listening socket. Fixing that is non-trivial at best, because we can't simply just grab the parent listening socket lock at this point, because it would create an ABBA deadlock. The normal ordering is parent listening socket --> child socket, but this code path would require the reverse lock ordering. Next is a problem noticed by Vitaliy Gusev, he noted: ---------------------------------------- >--- a/net/ipv4/tcp_timer.c >+++ b/net/ipv4/tcp_timer.c >@@ -481,6 +481,11 @@ static void tcp_keepalive_timer (unsigned long data) > goto death; > } > >+ if (tp->defer_tcp_accept.request && sk->sk_state == TCP_ESTABLISHED) { >+ tcp_send_active_reset(sk, GFP_ATOMIC); >+ goto death; Here socket sk is not attached to listening socket's request queue. tcp_done() will not call inet_csk_destroy_sock() (and tcp_v4_destroy_sock() which should release this sk) as socket is not DEAD. Therefore socket sk will be lost for freeing. ---------------------------------------- Finally, Alexey Kuznetsov argues that there might not even be any real value or advantage to these new semantics even if we fix all of the bugs: ---------------------------------------- Hiding from accept() sockets with only out-of-order data only is the only thing which is impossible with old approach. Is this really so valuable? My opinion: no, this is nothing but a new loophole to consume memory without control. ---------------------------------------- So revert this thing for now. Signed-off-by: David S. Miller commit f23d60de719e639690b2dc5c2d0e4243ff614b7a Author: David S. Miller Date: Thu Jun 12 14:47:58 2008 -0700 ipv6: Fix duplicate initialization of rawv6_prot.destroy In changeset 22dd485022f3d0b162ceb5e67d85de7c3806aa20 ("raw: Raw socket leak.") code was added so that we flush pending frames on raw sockets to avoid leaks. The ipv4 part was fine, but the ipv6 part was not done correctly. Unlike the ipv4 side, the ipv6 code already has a .destroy method for rawv6_prot. So now there were two assignments to this member, and what the compiler does is use the last one, effectively making the ipv6 parts of that changeset a NOP. Fix this by removing the: .destroy = inet6_destroy_sock, line, and adding an inet6_destroy_sock() call to the end of raw6_destroy(). Noticed by Al Viro. Signed-off-by: David S. Miller Acked-by: YOSHIFUJI Hideaki commit 24e3fcefb9cc61acce59ed54c00c4e4c32537de7 Author: Eilon Greenstein Date: Thu Jun 12 14:30:28 2008 -0700 bnx2x: Updating the Maintainer I would like to thank Eliezer Tamir for writing and maintaining the driver for the past two years. I will take over maintaining the bnx2x driver from now on. Signed-off-by: Eilon Greenstein Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 5dd34572ad9a3be430632dd42e4af2ea370b397b Author: Linus Torvalds Date: Thu Jun 12 14:22:24 2008 -0700 Linux 2.6.26-rc6 .. and a new name, courtesy of Alan. commit 81d5575a48f49f494289a1299a32e4e5e41fbf40 Author: Jesse Barnes Date: Thu Jun 12 13:51:46 2008 -0700 PCI: fixup write combine comment in pci_mmap_resource Now that we can actually do write combining properly, there's no need to have the FIXME. Signed-off-by: Jesse Barnes commit 883eed1b3e25fb1d7d8f32c6550cc1ac44888838 Merge: 5e70b7f... 45aec1a... Author: Jesse Barnes Date: Thu Jun 12 13:51:05 2008 -0700 Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip into for-linus commit cbfa66b88d5720b81b75e72e7de8116d338e6b30 Merge: 1b3cba8... f8a4570... Author: Linus Torvalds Date: Thu Jun 12 12:55:32 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: fix pointer type warning in arch/x86/mm/init_64.c:early_memtest x86, lockdep: fix "WARNING: at kernel/lockdep.c:2658 check_flags+0x4c/0x128()" x86: fix an incompatible pointer type warning on 64-bit compilations x86: fix lockdep warning during suspend-to-ram x86: fix unused variable 'loops' warning in arch/x86/boot/a20.c Revert "x86: fix ioapic bug again" x86: fix asm warning in head_32.S x86: fix endless page faults in mount_block_root for Linux 2.6 geode: fix modular build commit 1b3cba8e60c67c968d108ac55c77e32c1928dec3 Merge: 14a73f5... 7a232e0... Author: Linus Torvalds Date: Thu Jun 12 12:55:18 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: 64-bit: fix arithmetics overflow sched: fair group: fix overflow(was: fix divide by zero) sched: fix TASK_WAKEKILL vs SIGKILL race commit 3692fd0aaef489b063518b5999c702bada5b6e22 Author: Stefan Schmidt Date: Thu Jun 12 07:07:22 2008 +0100 [ARM] 5091/1: Add missing bitfield include to regs-lcd.h Macros like Fld() or FShft used in regs-lcd.h are defined in bitfield.h, but the latter is not included. Also fix one whitespace issue while being there. Signed-off-by: Antonio Ospite Signed-off-by: Stefan Schmidt Acked-by: Eric Miao Signed-off-by: Russell King commit f8a45704f5bd5f037c8e4a75172cab1476fc0447 Author: Kevin Winchester Date: Thu May 29 21:14:35 2008 -0300 x86: fix pointer type warning in arch/x86/mm/init_64.c:early_memtest Changed the call to find_e820_area_size to pass u64 instead of unsigned long. Signed-off-by: Kevin Winchester Signed-off-by: Ingo Molnar commit 4461145ef1be92851c230f858f6b6f457c99670f Author: Vegard Nossum Date: Thu Jun 12 08:55:59 2008 +0200 x86, lockdep: fix "WARNING: at kernel/lockdep.c:2658 check_flags+0x4c/0x128()" Alessandro Suardi reported: > Recently upgraded my FC6 desktop to Fedora 9; with the > latest nautilus RPM updates my VNC session went nuts > with nautilus pegging the CPU for everything that breathed. > > I now reverted to an earlier nautilus package, but during > the peak CPU period my kernel spat this: > > [314185.623294] ------------[ cut here ]------------ > [314185.623414] WARNING: at kernel/lockdep.c:2658 check_flags+0x4c/0x128() > [314185.623514] Modules linked in: iptable_filter ip_tables x_tables > sunrpc ipv6 fuse snd_via82xx snd_ac97_codec ac97_bus snd_mpu401_uart > snd_rawmidi via686a hwmon parport_pc sg parport uhci_hcd ehci_hcd > [314185.623924] Pid: 12314, comm: nautilus Not tainted 2.6.26-rc5-git2 #4 > [314185.624021] [] warn_on_slowpath+0x41/0x7b > [314185.624021] [] ? do_page_fault+0x2c1/0x5fd > [314185.624021] [] ? up_read+0x16/0x28 > [314185.624021] [] ? do_page_fault+0x2c1/0x5fd > [314185.624021] [] ? __lock_acquire+0xbb4/0xbc3 > [314185.624021] [] check_flags+0x4c/0x128 > [314185.624021] [] lock_acquire+0x31/0x7d > [314185.624021] [] __atomic_notifier_call_chain+0x30/0x80 > [314185.624021] [] ? __atomic_notifier_call_chain+0x0/0x80 > [314185.624021] [] atomic_notifier_call_chain+0xc/0xe > [314185.624021] [] notify_die+0x2d/0x2f > [314185.624021] [] do_int3+0x1f/0x4d > [314185.624021] [] int3+0x27/0x2c > [314185.624021] ======================= > [314185.624021] ---[ end trace 1923f65a2d7bb246 ]--- > [314185.624021] possible reason: unannotated irqs-off. > [314185.624021] irq event stamp: 488879 > [314185.624021] hardirqs last enabled at (488879): [] > restore_nocheck+0x12/0x15 > [314185.624021] hardirqs last disabled at (488878): [] > work_resched+0x19/0x30 > [314185.624021] softirqs last enabled at (488876): [] > __do_softirq+0xa6/0xac > [314185.624021] softirqs last disabled at (488865): [] > do_softirq+0x57/0xa6 > > I didn't seem to find it with some googling, so here it is. > > I was incidentally ltracing that process to try and find out > what was gulping down that much CPU (sorry, no idea > whether ltrace and the WARNING happened at the same > time or which came first) and: Yeah, this is extremely likely to be the source of the warning. The warning should be harmless, however. > Box is my trusty noname K7-800, 512MB RAM; if there's > anything else useful I might be able to provide, just ask. It would be interesting to see where the int3 comes from. Too bad, lockdep doesn't provide the register dump. The stacktrace also doesn't go further than the int3(), I wonder if this int3 came from userspace? The ltrace readme says "software breakpoints, like gdb", so I guess this is the case. Yep, seems like it. This looks relevant: | commit fb1dac909d94ff807cd833d340c6827c3a957159 | Author: Peter Zijlstra | Date: Wed Jan 16 09:51:59 2008 +0100 | | lockdep: more hardirq annotations for notify_die() I'm attaching a similarly-looking patch for this case (DO_VM86_ERROR), though I suspect it might be missing for the other cases (DO_ERROR/DO_ERROR_INFO) as well. Reported-by: Alessandro Suardi Signed-off-by: Vegard Nossum Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eb53e9f3ea859a6d59c37b500593b970aa8562e6 Author: David Howells Date: Sat Jun 7 17:18:40 2008 +0100 x86: fix an incompatible pointer type warning on 64-bit compilations Fix an incompatible pointer type warning on x86_64 compilations. early_memtest() is passing a u64* to find_e820_area_size() which is expecting an unsigned long. Change t_start and t_size to unsigned long as those are also 64-bit types on x88_64. Signed-off-by: David Howells Signed-off-by: Ingo Molnar commit e32e58a96de4ac35a03349db2ab69f263ded958f Author: Peter Zijlstra Date: Fri Jun 6 10:14:08 2008 +0200 x86: fix lockdep warning during suspend-to-ram Andrew Morton wrote: > I've been seeing the below for a long time during suspend-to-ram on the Vaio. > > > PM: Syncing filesystems ... done. > PM: Preparing system for mem sleep > Freezing user space processes ... <4>------------[ cut here ]------------ > WARNING: at kernel/lockdep.c:2658 check_flags+0x4c/0x127() > Modules linked in: i915 drm ipw2200 sonypi ipv6 autofs4 hidp l2cap bluetooth sunrpc nf_conntrack_netbios_ns ipt_REJECT nf_conntrack_ipv4 xt_state nf_conntrack xt_tcpudp iptable_filter ip_tables x_tables acpi_cpufreq nvram ohci1394 ieee1394 ehci_hcd uhci_hcd sg joydev snd_hda_intel snd_seq_dummy sr_mod snd_seq_oss cdrom snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss ieee80211 pcspkr ieee80211_crypt snd_pcm i2c_i801 snd_timer i2c_core ide_pci_generic piix snd soundcore snd_page_alloc button ext3 jbd ide_disk ide_core [last unloaded: ipw2200] > Pid: 3250, comm: zsh Not tainted 2.6.26-rc5 #1 > [] warn_on_slowpath+0x41/0x6d > [] ? native_sched_clock+0x82/0x96 > [] ? mark_held_locks+0x41/0x5c > [] ? _spin_unlock_irqrestore+0x36/0x58 > [] ? trace_hardirqs_on+0xe6/0x10d > [] ? __lock_acquire+0xae3/0xb2b > [] ? schedule+0x39b/0x3b4 > [] check_flags+0x4c/0x127 > [] lock_acquire+0x3a/0x86 > [] _spin_lock+0x26/0x53 > [] ? refrigerator+0x13/0xc3 > [] refrigerator+0x13/0xc3 > [] get_signal_to_deliver+0x3c/0x31e > [] do_notify_resume+0x91/0x6ee > [] ? lock_release_holdtime+0x50/0x56 > [] ? _spin_unlock_irqrestore+0x36/0x58 > [] ? read_chan+0x0/0x58c > [] ? trace_hardirqs_on+0xe6/0x10d > [] ? _spin_unlock_irqrestore+0x42/0x58 > [] ? tty_ldisc_deref+0x5c/0x63 > [] ? tty_read+0x66/0x98 > [] ? audit_syscall_exit+0x2aa/0x2c5 > [] ? do_syscall_trace+0x6b/0x16f > [] work_notifysig+0x13/0x1b > ======================= > ---[ end trace 25b49fe59a25afa5 ]--- > possible reason: unannotated irqs-off. > irq event stamp: 58919 > hardirqs last enabled at (58919): [] syscall_exit_work+0x11/0x26 Joy - I so love entry.S Best I can make of it: syscall_exit_work resume_userspace DISABLE_INTERRUPTS (no TRACE_IRQS_OFF) work_pending work_notifysig do_notify_resume() do_signal() get_signal_to_deliver() try_to_freeze() refrigerator() task_lock() -> check_flags() -> BANG The normal path is: syscall_exit_work resume_userspace DISABLE_INTERRUPTS restore_all TRACE_IRQS_IRET iret No idea why that would not warn.. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 52aaa12fbe786c90396f1b11ec39c924ccdd8fd5 Author: Manish Katiyar Date: Thu Jun 5 19:14:15 2008 +0530 x86: fix unused variable 'loops' warning in arch/x86/boot/a20.c Following patch fixes the below warning message : arch/x86/boot/a20.c:118: warning: unused variable 'loops' Signed-off-by : Manish Katiyar Signed-off-by: Ingo Molnar commit 0b6a39f7ebcb1c82587ce35b401c513eed41ac5c Author: Ingo Molnar Date: Mon Jun 9 13:29:43 2008 +0200 Revert "x86: fix ioapic bug again" This reverts commit 6e908947b4995bc0e551a8257c586d5c3e428201. Németh Márton reported: | there is a problem in 2.6.26-rc3 which was not there in case of | 2.6.25: the CPU wakes up ~90,000 times per sec instead of ~60 per sec. | | I also "git bisected" the problem, the result is: | | 6e908947b4995bc0e551a8257c586d5c3e428201 is first bad commit | commit 6e908947b4995bc0e551a8257c586d5c3e428201 | Author: Ingo Molnar | Date: Fri Mar 21 14:32:36 2008 +0100 | | x86: fix ioapic bug again the original problem is fixed by Maciej W. Rozycki in the tip/x86/apic branch (confirmed by Márton), but those changes are too intrusive for v2.6.26 so we'll go for the less intrusive (repeated) revert now. Reported-and-bisected-by: Németh Márton Signed-off-by: Ingo Molnar commit 86b2b70e156203149c3861455feec54bc4906e6d Author: Joe Korty Date: Mon Jun 2 17:21:06 2008 -0400 x86: fix asm warning in head_32.S On Mon, May 19, 2008 at 04:10:02PM -0700, Linus Torvalds wrote: > It also causes these warnings on 32-bit PAE: > > AS arch/x86/kernel/head_32.o > arch/x86/kernel/head_32.S: Assembler messages: > arch/x86/kernel/head_32.S:225: Warning: left operand is a bignum; integer 0 assumed > arch/x86/kernel/head_32.S:609: Warning: left operand is a bignum; integer 0 assumed > > and I do not see why (the end result seems to be identical). Fix head_32.S gcc bignum warnings when CONFIG_PAE=y. arch/x86/kernel/head_32.S: Assembler messages: arch/x86/kernel/head_32.S:225: Warning: left operand is a bignum; integer 0 assumed arch/x86/kernel/head_32.S:609: Warning: left operand is a bignum; integer 0 assumed The assembler was stumbling over the 64-bit constant 0x100000000 in the KPMDS #define. Testing: a cmp(1) on head_32.o before and after shows the binary is unchanged. Signed-off-by: Joe Korty Cc: Theodore Tso Cc: Gabriel C Cc: Keith Packard Cc: "Pallipadi Venkatesh" Cc: Eric Anholt Cc: "Siddha Suresh B" Cc: bugme-daemon@bugzilla.kernel.org Cc: airlied@linux.ie Cc: "Barnes Jesse" Cc: Jeremy Fitzhardinge Cc: Andrew Morton Cc: "Rafael J. Wysocki" Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b29c701deacd5d24453127c37ed77ef851c53b8b Author: Henry Nestler Date: Mon May 12 15:44:39 2008 +0200 x86: fix endless page faults in mount_block_root for Linux 2.6 Page faults in kernel address space between PAGE_OFFSET up to VMALLOC_START should not try to map as vmalloc. Fix rarely endless page faults inside mount_block_root for root filesystem at boot time. All 32bit kernels up to 2.6.25 can fail into this hole. I can not present this under native linux kernel. I see, that the 64bit has fixed the problem. I copied the same lines into 32bit part. Recorded debugs are from coLinux kernel 2.6.22.18 (virtualisation): http://www.henrynestler.com/colinux/testing/pfn-check-0.7.3/20080410-antinx/bug16-recursive-page-fault-endless.txt The physicaly memory was trimmed down to 192MB to better catch the bug. More memory gets the bug more rarely. Details, how every x86 32bit system can fail: Start from "mount_block_root", http://lxr.linux.no/linux/init/do_mounts.c#L297 There the variable "fs_names" got one memory page with 4096 bytes. Variable "p" walks through the existing file system types. The first string is no problem. But, with the second loop in mount_block_root the offset of "p" is not at beginning of page, the offset is for example +9, if "reiserfs" is the first in list. Than calls do_mount_root, and lands in sys_mount. Remember: Variable "type_page" contains now "fs_type+9" and not contains a full page. The sys_mount copies 4096 bytes with function "exact_copy_from_user()": http://lxr.linux.no/linux/fs/namespace.c#L1540 Mostly exist pages after the buffer "fs_names+4096+9" and the page fault handler was not called. No problem. In the case, if the page after "fs_names+4096" is not mapped, the page fault handler was called from http://lxr.linux.no/linux/fs/namespace.c#L1320 The do_page_fault gots an address 0xc03b4000. It's kernel address, address >= TASK_SIZE, but not from vmalloc! It's from "__getname()" alias "kmem_cache_alloc". The "error_code" is 0. "vmalloc_fault" will be call: http://lxr.linux.no/linux/arch/i386/mm/fault.c#L332 "vmalloc_fault" tryed to find the physical page for a non existing virtual memory area. The macro "pte_present" in vmalloc_fault() got a next page fault for 0xc0000ed0 at: http://lxr.linux.no/linux/arch/i386/mm/fault.c#L282 No PTE exist for such virtual address. The page fault handler was trying to sync the physical page for the PTE lockup. This called vmalloc_fault() again for address 0xc000000, and that also was not existing. The endless began... In normal case the cpu would still loop with disabled interrrupts. Under coLinux this was catched by a stack overflow inside printk debugs. Signed-off-by: Henry Nestler Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3703f39965a197ebd91743fc38d0f640606b8da3 Author: Ingo Molnar Date: Wed Jun 4 18:13:37 2008 +0200 geode: fix modular build -tip testing found this build bug: MODPOST 331 modules ERROR: "geode_mfgpt_toggle_event" [drivers/watchdog/geodewdt.ko] undefined! ERROR: "geode_mfgpt_alloc_timer" [drivers/watchdog/geodewdt.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 with this config: http://redhat.com/~mingo/misc/config-Wed_Jun__4_18_01_59_CEST_2008.bad export those symbols. Signed-off-by: Ingo Molnar commit 14a73f54798f39854e521fb596da7d50b7566bbd Author: Carl Henrik Lunde Date: Thu Jun 12 20:13:58 2008 +0200 block: disable IRQs until data is written to relay channel As we may run relay_reserve from interrupt context we must always disable IRQs. This is because a call to relay_reserve may expose previously written data to use space. Updated new message code and an old but related comment. Signed-off-by: Carl Henrik Lunde Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 95dcf8350dc889e735d03c0debe2f7b26d243185 Merge: 5a1603b... 4d7365d... Author: Linus Torvalds Date: Thu Jun 12 07:56:39 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: ignore powerpc specific symbols in modpost commit 5a1603be58f11edb1b30cb1e40cfbdd4439289d0 Author: Paul Mundt Date: Thu Jun 12 16:29:55 2008 +0900 nommu: Correct kobjsize() page validity checks. This implements a few changes on top of the recent kobjsize() refactoring introduced by commit 6cfd53fc03670c7a544a56d441eb1a6cc800d72b. As Christoph points out: virt_to_head_page cannot return NULL. virt_to_page also does not return NULL. pfn_valid() needs to be used to figure out if a page is valid. Otherwise the page struct reference that was returned may have PageReserved() set to indicate that it is not a valid page. As discussed further in the thread, virt_addr_valid() is the preferable way to validate the object pointer in this case. In addition to fixing up the reserved page case, it also has the benefit of encapsulating the hack introduced by commit 4016a1390d07f15b267eecb20e76a48fd5c524ef on the impacted platforms, allowing us to get rid of the extra checking in kobjsize() for the platforms that don't perform this type of bizarre memory_end abuse (every nommu platform that isn't blackfin). If blackfin decides to get in line with every other platform and use PageReserved for the DMA pages in question, kobjsize() will also continue to work fine. It also turns out that compound_order() will give us back 0-order for non-head pages, so we can get rid of the PageCompound check and just use compound_order() directly. Clean that up while we're at it. Signed-off-by: Paul Mundt Reviewed-by: Christoph Lameter Acked-by: David Howells Signed-off-by: Linus Torvalds commit f969c5672b16b857e5231ad3c78f08d8ef3305aa Author: Jeff Mahoney Date: Thu Jun 12 02:05:26 2008 -0400 fsl-diu-db: compile fix This patch fixes a compile failure in 2.6.26-rc5-git5. The variable is expected to be called ofdev. Signed-off-by: Jeff Mahoney Signed-off-by: Linus Torvalds commit dc10885d68ae5893038e009f82cbb14a05aa9dd0 Merge: 631025b... 9412e286... Author: Linus Torvalds Date: Thu Jun 12 07:47:44 2008 -0700 Merge branch 'core/iter-div' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core/iter-div' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: always_inline timespec_add_ns add an inlined version of iter_div_u64_rem common implementation of iterative div/mod commit 4d7365d664e79710ac0e782a23443471ddf05bdd Author: Sam Ravnborg Date: Thu Jun 12 15:02:55 2008 +0200 kbuild: ignore powerpc specific symbols in modpost Kumar Gala wrote: We have a case in powerpc in which we want to link some library routines with all module objects. The routines are intended for handling out-of-line function call register save/restore so having them as EXPORT_SYMBOL() is counter productive (we do also need to link the same "library" code into the kernel). Without this patch a powerpc build would error out and fail to build modules with the added register save/restore module. There were two obvious solutions: 1) To link the .o file before the modpost stage 2) To ignore the symbols in modpost Option 1) was ruled out because we do not have any separate linking stage for single file modules. This patch implements option 2 - and do so only for powerpc. The symbols we ignore are all undefined symbols named: _restgpr_*, _savegpr_*, _rest32gpr_*, _save32gpr_* Signed-off-by: Sam Ravnborg Cc: Kumar Gala Cc: Paul Mackerras commit 7a232e0350940d2664f4de5cc3f0f443bae5062d Author: Lai Jiangshan Date: Thu Jun 12 16:43:07 2008 +0800 sched: 64-bit: fix arithmetics overflow (overflow means weight >= 2^32 here, because inv_weigh = 2^32/weight) A weight of a cfs_rq is the sum of weights of which entities are queued on this cfs_rq, so it will overflow when there are too many entities. Although, overflow occurs very rarely, but it break fairness when it occurs. 64-bits systems have more memory than 32-bit systems and 64-bit systems can create more process usually, so overflow may occur more frequently. This patch guarantees fairness when overflow happens on 64-bit systems. Thanks to the optimization of compiler, it changes nothing on 32-bit. Signed-off-by: Lai Jiangshan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2e084786f6fe052274f1dfa7c675fe4a02cacd6e Author: Lai Jiangshan Date: Thu Jun 12 16:42:58 2008 +0800 sched: fair group: fix overflow(was: fix divide by zero) I found a bug which can be reproduced by this way:(linux-2.6.26-rc5, x86-64) (use 2^32, 2^33, ...., 2^63 as shares value) # mkdir /dev/cpuctl # mount -t cgroup -o cpu cpuctl /dev/cpuctl # cd /dev/cpuctl # mkdir sub # echo 0x8000000000000000 > sub/cpu.shares # echo $$ > sub/tasks oops here! divide by zero. This is because do_div() expects the 2th parameter to be 32 bits, but unsigned long is 64 bits in x86_64. Peter Zijstra pointed it out that the sane thing to do is limit the shares value to something smaller instead of using an even more expensive divide. Also, I found another bug about "the shares value is too large": pid1 and pid2 are set affinity to cpu#0 pid1 is attached to cg1 and pid2 is attached to cg2 if cg1/cpu.shares = 1024 cg2/cpu.shares = 2000000000 then pid2 got 100% usage of cpu, and pid1 0% if cg1/cpu.shares = 1024 cg2/cpu.shares = 20000000000 then pid2 got 0% usage of cpu, and pid1 100% And a weight of a cfs_rq is the sum of weights of which entities are queued on this cfs_rq, so the shares value should be limited to a smaller value. I think that (1UL << 18) is a good limited value: 1) it's not too large, we can create a lot of group before overflow 2) it's several times the weight value for nice=-19 (not too small) Signed-off-by: Lai Jiangshan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4bb073c0e32a0862bdb5215d11af19f6c0180c98 Author: David S. Miller Date: Thu Jun 12 02:22:02 2008 -0700 net: Eliminate flush_scheduled_work() calls while RTNL is held. If the RTNL is held when we invoke flush_scheduled_work() we could deadlock. One such case is linkwatch, it is a work struct which tries to grab the RTNL semaphore. The most common case are net driver ->stop() methods. The simplest conversion is to instead use cancel_{delayed_}work_sync() explicitly on the various work struct the driver uses. This is an OK transformation because these work structs are doing things like resetting the chip, restarting link negotiation, and so forth. And if we're bringing down the device, we're about to turn the chip off and reset it anways. So if we cancel a pending work event, that's fine here. Some drivers were working around this deadlock by using a msleep() polling loop of some sort, and those cases are converted to instead use cancel_{delayed_}work_sync() as well. Signed-off-by: David S. Miller commit 9412e28649d0272df5e4af57bb378926fd4df580 Author: Jeremy Fitzhardinge Date: Thu Jun 12 10:48:00 2008 +0200 always_inline timespec_add_ns timespec_add_ns is used from the x86-64 vdso, which cannot call out to other kernel code. Make sure that timespec_add_ns is always inlined (and only uses always_inlined functions) to make sure there are no unexpected calls. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit d5e181f78ac753893eb930868a52a4488cd3de0a Author: Jeremy Fitzhardinge Date: Thu Jun 12 10:47:58 2008 +0200 add an inlined version of iter_div_u64_rem iter_div_u64_rem is used in the x86-64 vdso, which cannot call other kernel code. For this case, provide the always_inlined version, __iter_div_u64_rem. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit f595ec964daf7f99668039d7303ddedd09a75142 Author: Jeremy Fitzhardinge Date: Thu Jun 12 10:47:56 2008 +0200 common implementation of iterative div/mod We have a few instances of the open-coded iterative div/mod loop, used when we don't expcet the dividend to be much bigger than the divisor. Unfortunately modern gcc's have the tendency to strength "reduce" this into a full mod operation, which isn't necessarily any faster, and even if it were, doesn't exist if gcc implements it in libgcc. The workaround is to put a dummy asm statement in the loop to prevent gcc from performing the transformation. This patch creates a single implementation of this loop, and uses it to replace the open-coded versions I know about. Signed-off-by: Jeremy Fitzhardinge Cc: Andrew Morton Cc: john stultz Cc: Segher Boessenkool Cc: Christian Kujau Cc: Robert Hancock Signed-off-by: Ingo Molnar commit 45aec1ae72fc592f231e9e73ed9ed4d10cfbc0b5 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:22 2008 -0700 x86: PAT export resource_wc in pci sysfs For the ranges with IORESOURCE_PREFETCH, export a new resource_wc interface in pci /sysfs along with resource (which is uncached). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Acked-by: Jesse Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7afb380db43ed137b7f67e0e3c3e5afd1ecde730 Merge: a405657... 208aefa... Author: David S. Miller Date: Wed Jun 11 20:27:51 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 208aefa2451cc1f4d87622cb9b2ca4333afa8337 Author: Christophe Jaillet Date: Thu May 15 23:26:22 2008 +0200 drivers/net/r6040.c: correct bad use of round_jiffies() Compared to other places in the kernel, I think that this driver misuses the function round_jiffies. Signed-off-by: Christophe Jaillet Signed-off-by: Jeff Garzik commit 8b9835108f68938a5f7e74fd2c0fc65da2abad92 Author: Roel Kluin Date: Mon Jun 9 16:33:51 2008 -0700 fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP Duplicate NETIF_MSG_IFDOWN, 2nd should be NETIF_MSG_IFUP Signed-off-by: Roel Kluin Acked-by: Sylvain Munaut Cc: Grant Likely Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0761248f08ccd94ddceb5454eb1ad96626b10611 Author: Roel Kluin Date: Mon Jun 9 16:33:50 2008 -0700 ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list() The branches are dead code. even when dev->flag IFF_MULTICAST (defined 0x1000) is set, dev->flags & IFF_MULTICAST & [boolean] always evaluates to 0. Signed-off-by: Roel Kluin Cc: Francois Romieu Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a4056573873dc9fc506ce9293c4d01670101a637 Merge: 5cb960a... 1717699... Author: David S. Miller Date: Wed Jun 11 18:11:16 2008 -0700 Merge branch 'net-2.6-misc-20080611a' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-fix commit 5cb960a80531211379f8f05c575725d7630098fe Merge: ceeff75... be4c798... Author: David S. Miller Date: Wed Jun 11 17:53:04 2008 -0700 Merge branch 'master' of git://eden-feed.erg.abdn.ac.uk/net-2.6 commit ceeff7541e5a4ba8e8d97ffbae32b3f283cb7a3f Author: Patrick McHardy Date: Wed Jun 11 17:51:10 2008 -0700 netfilter: nf_conntrack: fix ctnetlink related crash in nf_nat_setup_info() When creation of a new conntrack entry in ctnetlink fails after having set up the NAT mappings, the conntrack has an extension area allocated that is not getting properly destroyed when freeing the conntrack again. This means the NAT extension is still in the bysource hash, causing a crash when walking over the hash chain the next time: BUG: unable to handle kernel paging request at 00120fbd IP: [] nf_nat_setup_info+0x221/0x58a *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP Pid: 2795, comm: conntrackd Not tainted (2.6.26-rc5 #1) EIP: 0060:[] EFLAGS: 00010206 CPU: 1 EIP is at nf_nat_setup_info+0x221/0x58a EAX: 00120fbd EBX: 00120fbd ECX: 00000001 EDX: 00000000 ESI: 0000019e EDI: e853bbb4 EBP: e853bbc8 ESP: e853bb78 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process conntrackd (pid: 2795, ti=e853a000 task=f7de10f0 task.ti=e853a000) Stack: 00000000 e853bc2c e85672ec 00000008 c0561084 63c1db4a 00000000 00000000 00000000 0002e109 61d2b1c3 00000000 00000000 00000000 01114e22 61d2b1c3 00000000 00000000 f7444674 e853bc04 00000008 c038e728 0000000a f7444674 Call Trace: [] nla_parse+0x5c/0xb0 [] ctnetlink_change_status+0x190/0x1c6 [] ctnetlink_new_conntrack+0x189/0x61f [] update_curr+0x3d/0x52 [] nfnetlink_rcv_msg+0xc1/0xd8 [] nfnetlink_rcv_msg+0x18/0xd8 [] nfnetlink_rcv_msg+0x0/0xd8 [] netlink_rcv_skb+0x2d/0x71 [] nfnetlink_rcv+0x19/0x24 [] netlink_unicast+0x1b3/0x216 ... Move invocation of the extension destructors to nf_conntrack_free() to fix this problem. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10875 Reported-and-Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b66985b11b8b00e1ec65b89a3112510ac9a9ec6e Author: Eric Leblond Date: Wed Jun 11 17:50:27 2008 -0700 netfilter: Make nflog quiet when no one listen in userspace. The message "nf_log_packet: can't log since no backend logging module loaded in! Please either load one, or disable logging explicitly" was displayed for each logged packet when no userspace application is listening to nflog events. The message seems to warn for a problem with a kernel module missing but as said before this is not the case. I thus propose to suppress the message (I don't see any reason to flood the log because a user application has crashed.) Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 631025b4d87d5a9d7e04a1ed652d247191e223d4 Merge: aaef4d6... 5340ba8... Author: Linus Torvalds Date: Wed Jun 11 17:29:32 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: don't use reset-resume if drivers don't support it USB: isp1760: Assign resource fields before adding hcd isight_firmware: Avoid crash on loading invalid firmware USB: fix build bug in USB_ISIGHTFW commit aaef4d6c2ee64d5e4d59b7c4d23c37ce59115211 Merge: da50ccc... acccafe... Author: Linus Torvalds Date: Wed Jun 11 17:29:06 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: kobject: Documentation Spelling Patch dev_set_name: fix missing kernel-doc commit 1717699cd5130009b7cd6756e883d8582c1fe706 Author: YOSHIFUJI Hideaki Date: Thu Jun 12 03:27:26 2008 +0900 ipv6: Fail with appropriate error code when setting not-applicable sockopt. IPV6_MULTICAST_HOPS, for example, is not valid for stream sockets. Since they are virtually unavailable for stream sockets, we should return ENOPROTOOPT instead of EINVAL. Signed-off-by: YOSHIFUJI Hideaki commit 28d4488216645cd71402925cffde9528b0cfdb7e Author: YOSHIFUJI Hideaki Date: Thu Jun 12 03:14:51 2008 +0900 ipv6: Check IPV6_MULTICAST_LOOP option value. Only 0 and 1 are valid for IPV6_MULTICAST_LOOP socket option, and we should return an error of EINVAL otherwise, per RFC3493. Based on patch from Shan Wei . Signed-off-by: YOSHIFUJI Hideaki commit e8766fc86b34d44a8c55a2f9d71da69e091b1ca4 Author: Shan Wei Date: Tue Jun 10 15:50:55 2008 +0800 ipv6: Check the hop limit setting in ancillary data. When specifing the outgoing hop limit as ancillary data for sendmsg(), the kernel doesn't check the integer hop limit value as specified in [RFC-3542] section 6.3. Signed-off-by: Shan Wei Signed-off-by: YOSHIFUJI Hideaki commit 36e3deae8ba84865fd9eb3f2f21bbc00d49b7544 Author: YOSHIFUJI Hideaki Date: Tue May 13 02:52:55 2008 +0900 ipv6 route: Fix route lifetime in netlink message. 1) We may have route lifetime larger than INT_MAX. In that case we had wired value in lifetime. Use INT_MAX if lifetime does not fit in s32. 2) Lifetime is valid iif RTF_EXPIRES is set. Signed-off-by: YOSHIFUJI Hideaki commit 20c61fbd8deb2ada0ac3acecf6156a986dbfff2d Author: YOSHIFUJI Hideaki Date: Mon Apr 28 14:40:55 2008 +0900 ipv6 mcast: Check address family of gf_group in getsockopt(MS_FILTER). Signed-off-by: YOSHIFUJI Hideaki commit da50ccc6a0f32ad29c1168837330a78e6e2e2923 Merge: a4df1ac... 3549dba... Author: Linus Torvalds Date: Wed Jun 11 17:16:32 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (23 commits) ACPICA: fix stray va_end() caused by mis-merge ACPI: Reject below-freezing temperatures as invalid critical temperatures ACPICA: Fix for access to deleted object ACPICA: Fix to make _SST method optional ACPICA: Fix for Load operator, load table at the namespace root ACPICA: Ignore ACPI table signature for Load() operator ACPICA: Fix to allow zero-length ASL field declarations ACPI: use memory_read_from_buffer() bay: exit if notify handler cannot be installed dock.c remove trailing printk whitespace proper prototype for acpi_processor_tstate_has_changed() ACPI: handle invalid ACPI SLIT table PNPACPI: use _CRS IRQ descriptor length for _SRS pnpacpi: fix shareable IRQ encode/decode pnpacpi: fix IRQ flag decoding MAINTAINERS: update ACPI homepage ACPI 2.6.26-rc2: Add missing newline to DSDT/SSDT warning message ACPI: EC: Use msleep instead of udelay while waiting for event. thinkpad-acpi: fix LED handling on older ThinkPads thinkpad-acpi: fix initialization error paths ... commit 5340ba827b6269ccd2dcfd3d966626d9dd75d5d4 Author: Linus Torvalds Date: Tue Jun 10 14:59:43 2008 -0400 USB: don't use reset-resume if drivers don't support it This patch tries to identify which devices are able to accept reset-resume handling, by checking that there is at least one interface driver bound and that all of the drivers have a reset_resume method defined. If these conditions don't hold then during resume processing, the device is logicall disconnected. This is only a temporary fix. Later on we will explicitly unbind drivers that can't handle reset-resumes. Signed-off-by: Linus Torvalds Signed-off-by: Alan Stern Cc: Oliver Neukum Cc: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit e6942d633be61f1638e08c56ab8244fc9f1c61e3 Author: Nate Case Date: Wed May 21 16:28:20 2008 -0500 USB: isp1760: Assign resource fields before adding hcd This fixes the bogus "io mem 0x00000000" message printed during driver init due to hcd->rsrc_start being assigned after the call to usb_add_hcd(). Signed-off-by: Nate Case Acked-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 62b5884875fcd4babf6c0c377046f226abbfe491 Author: Matthew Garrett Date: Fri Jun 6 12:35:15 2008 -0700 isight_firmware: Avoid crash on loading invalid firmware Different tools generate slightly different formats of the isight firmware. Ensure that the firmware buffer is not overrun, while still ensuring that the correct amount of data is written if trailing data is present. Signed-off-by: Matthew Garrett Report-by: Justin Mattock Tested-by: Justin Mattock Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6460a261b5893e769a314c246faec31bbc4aad9c Author: Ingo Molnar Date: Mon Jun 2 21:21:03 2008 +0200 USB: fix build bug in USB_ISIGHTFW USB: fix build bug in USB_ISIGHTFW -tip tree testing found this build bug: drivers/built-in.o: In function `isight_firmware_load': isight_firmware.c:(.text+0x1ade08): undefined reference to `request_firmware' isight_firmware.c:(.text+0x1adf9c): undefined reference to `release_firmware' select FW_LOADER in USB_ISIGHTFW. From: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit acccafe9ca63eac3a202d8805d286ada6ab8cced Author: David Brigada Date: Wed Jun 11 13:27:32 2008 -0400 kobject: Documentation Spelling Patch Signed-off-by: David Brigada Signed-off-by: Greg Kroah-Hartman commit 4623236619ff5ce233136d13ee2747c194a63591 Author: Randy Dunlap Date: Wed Jun 4 21:40:43 2008 -0700 dev_set_name: fix missing kernel-doc Fix kernel-doc for new dev_set_name() function: Warning(lin2626-rc5//drivers/base/core.c:767): No description found for parameter 'fmt' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3463a93def55c309f3c0d0a8aaf216be3be42d64 Author: Alex Chiang Date: Wed Jun 11 17:29:27 2008 -0600 [IA64] Update check_sal_cache_flush to use platform_send_ipi() check_sal_cache_flush is used to detect broken firmware that drops pending interrupts. The old implementation schedules a timer interrupt for itself in the future by getting the current value of the Interval Timer Counter + 1000 cycles, waits for the interrupt to be pended, calls SAL_CACHE_FLUSH, and finally checks to see if the interrupt is still pending. This implementation can cause problems for virtual machine code if the process of scheduling the timer interrupt takes more than 1000 cycles; the virtual machine can end up sleeping for several hundred years while waiting for the ITC to wrap around. The fix is to use platform_send_ipi. The processor will still send an interrupt to itself, using the IA64_IPI_DM_INT delivery mode, which causes the IPI to look like an external interrupt. The rest of the SAL_CACHE_FLUSH + checking to see if the interrupt is still pending remains unchanged. This fix has been boot tested successfully on: - intel tiger2 - hp rx6600 - hp rx5670 The rx5670 has known buggy firmware, where SAL_CACHE_FLUSH drops pending interrupts. A boot test on this machine showed this message on the console: SAL: SAL_CACHE_FLUSH drops interrupts; PAL_CACHE_FLUSH will be used instead Which proves that the self-inflicted IPI approach is viable. And as expected, the other tested platforms correctly did not display the warning. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 3549dba2c334e82df90f5e00ff85d2a7a2cdd1af Author: Len Brown Date: Fri Jun 6 15:32:39 2008 -0400 ACPICA: fix stray va_end() caused by mis-merge Signed-off-by: Len Brown commit a39a2d7c72b358c6253a2ec28e17b023b7f6f41c Author: Arjan van de Ven Date: Mon May 19 15:55:15 2008 -0700 ACPI: Reject below-freezing temperatures as invalid critical temperatures My laptop thinks that it's a good idea to give -73C as the critical CPU temperature.... which isn't the best thing since it causes a shutdown right at bootup. Temperatures below freezing are clearly invalid critical thresholds so just reject these as such. Signed-off-by: Arjan van de Ven Acked-by: Zhang Rui Signed-off-by: Len Brown commit 8410565f540db87ca938f56f92780d251e4f157d Author: Bob Moore Date: Tue Jun 10 14:29:26 2008 +0800 ACPICA: Fix for access to deleted object Fixes problem introduced in 20080123, with fix for Unload operator. Parse tree object can be already deleted; must use the opcode within the WalkState. ACPI: kmemcheck: Caught 16-bit read from freed memory http://bugzilla.kernel.org/show_bug.cgi?id=10669 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit d52c79ace60a2e2b22455fd195ff4bc8e7afa177 Author: Bob Moore Date: Tue Jun 10 14:26:57 2008 +0800 ACPICA: Fix to make _SST method optional Fixes a problem introduced in 20080514 where the status of execution of _SST is incorrectly returned to the caller. _SST is optional, and if it is AE_NOT_FOUND, the exception should be ignored. http://www.acpica.org/bugzilla/show_bug.cgi?id=716 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0bda3f2f86e233b00b46d91b07db25dd23ec15bc Author: Bob Moore Date: Tue Jun 10 14:14:17 2008 +0800 ACPICA: Fix for Load operator, load table at the namespace root This reverts a change introduced in version 20071019. The table is now loaded at the namespace root even though this goes against the ACPI specification. This provides compatibility with other ACPI implementations. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit bc45b1d39a925b56796bebf8a397a0491489d85c Author: Bob Moore Date: Tue Jun 10 14:12:50 2008 +0800 ACPICA: Ignore ACPI table signature for Load() operator Only "SSDT" is acceptable to the ACPI spec, but tables are seen with OEMx and null sigs. Therefore, signature validation is worthless. Apparently MS ACPI accepts such signatures, ACPICA must be compatible. http://bugzilla.kernel.org/show_bug.cgi?id=10454 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7aa7d4336df34e32195557a1ad422627bd69ef0b Author: Bob Moore Date: Tue Jun 10 13:00:32 2008 +0800 ACPICA: Fix to allow zero-length ASL field declarations Allows null field list in Field(), BankField(), and IndexField(). 2.6.26-rc1 regression: ACPI fails to load SDT. - Dell M1530 http://bugzilla.kernel.org/show_bug.cgi?id=10606 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 46a21e465e506bcd4dba759a39e7ef79978a705d Author: Akinobu Mita Date: Mon Jun 9 16:22:26 2008 -0700 ACPI: use memory_read_from_buffer() Signed-off-by: Akinobu Mita Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7efd52a407bed6a2b02015b8ebbff7beba155392 Author: Holger Macht Date: Mon Jun 9 16:22:24 2008 -0700 bay: exit if notify handler cannot be installed If acpi_install_notify_handler() for a bay device fails, the bay driver is superfluous. Most likely, another driver (like libata) is already caring about this device anyway. Furthermore, register_hotplug_dock_device(acpi_handle) from the dock driver must not be called twice with the same handler. This would result in an endless loop consuming 100% of CPU. So clean up and exit. Signed-off-by: Holger Macht Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1fdd68608614cd1e951fd93873fe5597374e8c54 Author: Tim Pepper Date: Mon Jun 9 16:22:25 2008 -0700 dock.c remove trailing printk whitespace Signed-off-by: Tim Pepper Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a66b34b26fe1b0983c6d91b6381df806cd98886e Author: Adrian Bunk Date: Mon Jun 9 16:22:24 2008 -0700 proper prototype for acpi_processor_tstate_has_changed() This patch adds a proper prototype for acpi_processor_tstate_has_changed() in include/acpi/processor.h Signed-off-by: Adrian Bunk Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 39b8931b5cad9a7cbcd2394a40a088311e783a82 Author: Fenghua Yu Date: Mon Jun 9 16:48:18 2008 -0700 ACPI: handle invalid ACPI SLIT table This is a SLIT sanity checking patch. It moves slit_valid() function to generic ACPI code and does sanity checking for both x86 and ia64. It sets up node_distance with LOCAL_DISTANCE and REMOTE_DISTANCE when hitting invalid SLIT table on ia64. It also cleans up unused variable localities in acpi_parse_slit() on x86. Signed-off-by: Fenghua Yu Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 36d872a370d3d10e5a7faa9dcacce744260fb13b Author: Bjorn Helgaas Date: Mon Jun 9 16:52:06 2008 -0700 PNPACPI: use _CRS IRQ descriptor length for _SRS When configuring the resources of an ACPI device, we first evaluate _CRS to get a template of resource descriptors, then fill in the specific resource values we want, and finally evaluate _SRS to actually configure the device. Some resources have optional fields, so the size of encoded descriptors varies depending on the specific values. For example, IRQ descriptors can be either two or three bytes long. The third byte contains triggering information and can be omitted if the IRQ is edge-triggered and active high. The BIOS often assumes that IRQ descriptors in the _SRS buffer use the same format as those in the _CRS buffer, so this patch enforces that constraint. The "Start Dependent Function" descriptor also has an optional byte, but we don't currently encode those descriptors, so I didn't do anything for those. I have tested this patch on a Toshiba Portege 4000. Without the patch, parport_pc claims the parallel port only if I use "pnpacpi=off". This patch makes it work with PNPACPI. This is an extension of a patch by Tom Jaeger: http://bugzilla.kernel.org/show_bug.cgi?id=9487#c42 References: http://bugzilla.kernel.org/show_bug.cgi?id=5832 Enabling ACPI Plug and Play in kernels >2.6.9 kills Parallel support http://bugzilla.kernel.org/show_bug.cgi?id=9487 buggy firmware expects four-byte IRQ resource descriptor (was: Serial port disappears after Suspend on Toshiba R25) http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=1d5b285da1893b90507b081664ac27f1a8a3dc5b related ACPICA fix Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a993273beae8022390e48fe9205480565ad470ab Author: Bjorn Helgaas Date: Mon Jun 9 16:52:05 2008 -0700 pnpacpi: fix shareable IRQ encode/decode When we encode IRQ resources, we should use the "shareable" flag we got from _PRS rather than guessing based on the IRQ trigger mode. This is based on a patch by Tom Jaeger: http://bugzilla.kernel.org/show_bug.cgi?id=9487#c32 Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit e9fe9e188118a0a34c6200d9b10ea6247f53592d Author: Bjorn Helgaas Date: Mon Jun 9 16:52:04 2008 -0700 pnpacpi: fix IRQ flag decoding When decoding IRQ trigger mode and polarity, it is not enough to mask by IORESOURCE_BITS because there are now additional bits defined. For example, if IORESOURCE_IRQ_SHAREABLE was set, we failed to set *triggering and *polarity at all. I can't point to a failure that this patch fixes, but bugs in this area have caused problems when resuming after suspend, for example: http://bugzilla.kernel.org/show_bug.cgi?id=6316 http://bugzilla.kernel.org/show_bug.cgi?id=9487 https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/152187 This is based on a patch by Tom Jaeger: http://bugzilla.kernel.org/show_bug.cgi?id=9487#c32 [rene.herman@keyaccess.nl: fix comment] Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0638bc8dc037d844efe1d4abf44488c037705905 Author: Adrian Bunk Date: Tue May 20 01:08:23 2008 +0300 MAINTAINERS: update ACPI homepage This patch updates the location of the ACPI homepage in MAINTAINERS. Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit c21d1e7f53ffd9c0f162c42e7fde07d1c45fa127 Author: Alistair John Strachan Date: Mon May 12 19:13:09 2008 +0100 ACPI 2.6.26-rc2: Add missing newline to DSDT/SSDT warning message As of recently (probably 2.6.26-rc1) I've been getting the following mangling in the kernel log: [4294014.568167] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"<6>CPU0: Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz stepping 0d This is due to a missing newline character in the first message. The following patch against 2.6.26-rc2 fixes it. Please apply. Signed-off-by: Alistair John Strachan Signed-off-by: Len Brown commit 1b7fc5aae8867046f8d3d45808309d5b7f2e036a Author: Alexey Starikovskiy Date: Fri Jun 6 11:49:33 2008 -0400 ACPI: EC: Use msleep instead of udelay while waiting for event. http://bugzilla.kernel.org/show_bug.cgi?id=10724 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 24e45bbe695719dca8c20e03d386eb6ea86526b5 Author: Henrique de Moraes Holschuh Date: Tue Jun 3 23:36:11 2008 -0300 thinkpad-acpi: fix LED handling on older ThinkPads The less tested codepaths for LED handling, used on ThinkPads 570, 600e/x, 770e, 770x, A21e, A2xm/p, T20-22, X20 and maybe a few others, would write data to kernel memory it had no business touching, for leds number 3 and above. If one is lucky, that illegal write would cause an OOPS, but chances are it would silently corrupt a byte. The problem was introduced in commit af116101, "ACPI: thinkpad-acpi: add sysfs led class support to thinkpad leds (v3.2)". Fix the bug by refactoring the entire code to be far more obvious on what it wants to do. Also do some defensive "constification". Issue reported by Karol Lewandowski (he's an lucky guy and got an OOPS instead of silent corruption :-) ). Root cause of the OOPS identified by Adrian Bunk . Thanks, Adrian! Signed-off-by: Henrique de Moraes Holschuh Tested-by: Karol Lewandowski Signed-off-by: Len Brown commit 9c0a76e16ee6648f4bd19563e9fe12a4f4fabba1 Author: Henrique de Moraes Holschuh Date: Tue Jun 3 23:36:10 2008 -0300 thinkpad-acpi: fix initialization error paths Rework some subdriver init and exit handlers, in order to fix some initialization error paths that were missing, or broken. Hitting those bugs should be extremely rare in the real world, but should that happen, thinkpad-acpi would fail to dealocate some resources and a reboot might well be needed to be able to load the driver again. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 197a2cd907e3a5278a1cfd48c86402133f38a9ba Author: Henrique de Moraes Holschuh Date: Tue Jun 3 23:36:09 2008 -0300 thinkpad-acpi: SW_RADIO to SW_RFKILL_ALL rename Rename SW_RADIO to SW_RFKILL_ALL in thinkpad-acpi code and docs, following 5adad0133907790c50283bf03271d920d6897043 "Input: rename SW_RADIO to SW_RFKILL_ALL". Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit dcb84f335bee9c9a7781cfc5d74492dccaf066d2 Author: Venkatesh Pallipadi Date: Mon May 19 19:09:27 2008 -0400 cpuidle acpi driver: fix oops on AC<->DC cpuidle and acpi driver interaction bug with the way cpuidle_register_driver() is called. Due to this bug, there will be oops on AC<->DC on some systems, where they support C-states in one DC and not in AC. The current code does ON BOOT: Look at CST and other C-state info to see whether more than C1 is supported. If it is, then acpi processor_idle does a cpuidle_register_driver() call, which internally enables the device. ON CST change notification (AC<->DC) and on suspend-resume: acpi driver temporarily disables device, updates the device with any new C-states, and reenables the device. The problem is is on boot, there are no C2, C3 states supported and we skip the register. Later on AC<->DC, we may get a CST notification and we try to reevaluate CST and enabled the device, without actually registering it. This causes breakage as we try to create /sys fs sub directory, without the parent directory which is created at register time. Thanks to Sanjeev for reporting the problem here. http://bugzilla.kernel.org/show_bug.cgi?id=10394 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit e1094bfa26e5e94af2fea79e004614dbce42b008 Author: Zhao Yakui Date: Wed May 14 11:32:59 2008 +0800 ACPI: Disable Fixed_RTC event when installing RTC handler The Fixed_RTC event should be disabled when installing RTC handler. Only when RTC alarm is set will it be enabled again. If it is not disabled, maybe some machines will be powered on automatically after the system is shutdown even when the RTC alarm is not set. http://bugzilla.kernel.org/show_bug.cgi?id=10010 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 62cfcf4f467733a8dc218691c791804a148da887 Author: Jürgen Schindele Date: Wed Jun 11 19:56:06 2008 +0100 [ARM] 5090/1: Correct pxafb palette typo error This patch correct a typo error in pxafb vhich is relevant for 8-bit palette framebuffer configuration. Signed-off-by: Jrgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit a4aff2233786640c10b178ad78d4dd7e375f1955 Author: Guennadi Liakhovetski Date: Thu Jun 5 10:43:14 2008 +0100 [ARM] 5077/1: spi: fix list scan success verification in PXA ssp driver The list search success check in arch/arm/mach-pxa/ssp.c is wrong: for example, it didn't recognise failure for me when I requested port 0. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit 83014699b06fb9a300d896c7c49fb8be1c6c5ddc Author: stephane eranian Date: Wed Jun 11 15:24:13 2008 -0700 [IA64] perfmon: fix async exit bug Move the cleanup of the async queue to the close callback from the flush callback. This avoids losing asynchronous overflow notifications when the file descriptor is shared by multiple processes and one terminates. Signed-off-by: Stephane Eranian Signed-off-by: Tony Luck commit a4df1ac12dd2d2812713a5fdd56af954d1bc251d Merge: 2a212f6... 3c91551... Author: Linus Torvalds Date: Wed Jun 11 10:35:44 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: MMU: Fix is_empty_shadow_page() check KVM: MMU: Fix printk() format string KVM: IOAPIC: only set remote_irr if interrupt was injected KVM: MMU: reschedule during shadow teardown KVM: VMX: Clear CR4.VMXE in hardware_disable KVM: migrate PIT timer KVM: ppc: Report bad GFNs KVM: ppc: Use a read lock around MMU operations, and release it on error KVM: ppc: Remove unmatched kunmap() call KVM: ppc: add lwzx/stwz emulation KVM: ppc: Remove duplicate function KVM: s390: Fix race condition in kvm_s390_handle_wait KVM: s390: Send program check on access error KVM: s390: fix interrupt delivery KVM: s390: handle machine checks when guest is running KVM: s390: fix locking order problem in enable_sie KVM: s390: use yield instead of schedule to implement diag 0x44 KVM: x86 emulator: fix hypercall return value on AMD KVM: ia64: fix zero extending for mmio ld1/2/4 emulation in KVM commit 2a212f699671c967dd0fad133f62e6f3e721c73d Merge: f7f866e... 79ee9a8... Author: Linus Torvalds Date: Wed Jun 11 09:45:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] cifs: fix oops on mount when CONFIG_CIFS_DFS_UPCALL is enabled [CIFS] Fix hang in mount when negprot causes server to kill tcp session disable most mode changes on non-unix/non-cifsacl mounts [CIFS] Correct incorrect obscure open flag [CIFS] warn if both dynperm and cifsacl mount options specified silently ignore ownership changes unless unix extensions are enabled or we're faking uid changes [CIFS] remove trailing whitespace when creating new inodes, use file_mode/dir_mode exclusively on mount without unix extensions on non-posix shares, clear write bits in mode when ATTR_READONLY is set [CIFS] remove unused variables commit f7f866eed01b7a03dd5aa36daf3c2c2721f922da Merge: 7427d8b... 513fd37... Author: Linus Torvalds Date: Wed Jun 11 08:39:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits) net: Fix routing tables with id > 255 for legacy software sky2: Hold RTNL while calling dev_close() s2io iomem annotations atl1: fix suspend regression qeth: start dev queue after tx drop error qeth: Prepare-function to call s390dbf was wrong qeth: reduce number of kernel messages qeth: Use ccw_device_get_id(). qeth: layer 3 Oops in ip event handler virtio: use callback on empty in virtio_net virtio: virtio_net free transmit skbs in a timer virtio: Fix typo in virtio_net_hdr comments virtio_net: Fix skb->csum_start computation ehea: set mac address fix sfc: Recover from RX queue flush failure add missing lance_* exports ixgbe: fix typo forcedeth: msi interrupts ipsec: pfkey should ignore events when no listeners pppoe: Unshare skb before anything else ... commit 7427d8b815c7fc0b005a17cf3952b7ebef0481d2 Author: Bryan Wu Date: Wed Jun 11 12:08:39 2008 +0800 smc91x: fix build error from the SMC_GET_MAC_ADDR API change Cc: Jeff Garzik Cc: Andrew Morton Signed-off-by: Bryan Wu Signed-off-by: Linus Torvalds commit 8d6bcd6e219f183aba4fb62bb7065a4db772ac49 Author: Grant Likely Date: Sat May 24 16:11:51 2008 +1000 [POWERPC] bootwrapper: add simpleImage* to list of boot targets Without simpleImage% in the BOOT_TARGETS list, it is impossible to build any of the simpleImages. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit be4c798a41bf626cdaacf96c382f116ed2f7dbe9 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp: Bug in initial acknowledgment number assignment Step 8.5 in RFC 4340 says for the newly cloned socket Initialize S.GAR := S.ISS, but what in fact the code (minisocks.c) does is Initialize S.GAR := S.ISR, which is wrong (typo?) -- fixed by the patch. Signed-off-by: Gerrit Renker commit 7deb0f851003287d7e259bf6b33548b144c0f2d5 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp ccid-3: X truncated due to type conversion This fixes a bug in computing the inter-packet-interval t_ipi = s/X: scaled_div32(a, b) uses u32 for b, but in "scaled_div32(s, X)" the type of the sending rate `X' is u64. Since X is scaled by 2^6, this truncates rates greater than 2^26 Bps (~537 Mbps). Using full 64-bit division now. Signed-off-by: Gerrit Renker commit 1e8a287c79f64226541f5c44aa52d4698bb84cf5 Author: Gerrit Renker Date: Wed Jun 11 11:19:10 2008 +0100 dccp ccid-3: TFRC reverse-lookup Bug-Fix This fixes a bug in the reverse lookup of p: given a value f(p), instead of p, the function returned the smallest tabulated value f(p). The smallest tabulated value of 10^6 * f(p) = sqrt(2*p/3) + 12 * sqrt(3*p/8) * (32 * p^3 + p) for p=0.0001 is 8172. Since this value is scaled by 10^6, the outcome of this bug is that a loss of 8172/10^6 = 0.8172% was reported whenever the input was below the table resolution of 0.01%. This means that the value was over 80 times too high, resulting in large spikes of the initial loss interval, thus unnecessarily reducing the throughput. Also corrected the printk format (%u for u32). Signed-off-by: Gerrit Renker commit 65907a433ac0ca450c4408080f24c6e4743386b2 Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp ccid-2: Bug-Fix - Ack Vectors need to be ignored on request sockets This fixes an oversight from an earlier patch, ensuring that Ack Vectors are not processed on request sockets. The issue is that Ack Vectors must not be parsed on request sockets, since the Ack Vector feature depends on the selection of the (TX) CCID. During the initial handshake the CCIDs are undefined, and so RFC 4340, 10.3 applies: "Using CCID-specific options and feature options during a negotiation for the corresponding CCID feature is NOT RECOMMENDED [...]" And it is not even possible: when the server receives the Request from the client, the CCID and Ack vector features are undefined; when the Ack finalising the 3-way hanshake arrives, the request socket has not been cloned yet into a full socket. (This order is necessary, since otherwise the newly created socket would have to be destroyed whenever an option error occurred - a malicious hacker could simply send garbage options and exploit this.) Signed-off-by: Gerrit Renker commit 1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp: Fix sparse warnings This patch fixes the following sparse warnings: * nested min(max()) expression: net/dccp/ccids/ccid3.c:91:21: warning: symbol '__x' shadows an earlier one net/dccp/ccids/ccid3.c:91:21: warning: symbol '__y' shadows an earlier one * Declaration of function prototypes in .c instead of .h file, resulting in "should it be static?" warnings. * Declared "struct dccpw" static (local to dccp_probe). * Disabled dccp_delayed_ack() - not fully removed due to RFC 4340, 11.3 ("Receivers SHOULD implement delayed acknowledgement timers ..."). * Used a different local variable name to avoid net/dccp/ackvec.c:293:13: warning: symbol 'state' shadows an earlier one net/dccp/ackvec.c:238:33: originally declared here * Removed unused functions `dccp_ackvector_print' and `dccp_ackvec_print'. Signed-off-by: Gerrit Renker commit 3294f202dc1acd82223e83ef59f272bd87bb06b2 Author: Gerrit Renker Date: Wed Jun 11 11:19:09 2008 +0100 dccp ccid-3: Bug-Fix - Zero RTT is possible In commit $(825de27d9e40b3117b29a79d412b7a4b78c5d815) (from 27th May, commit message `dccp ccid-3: Fix "t_ipi explosion" bug'), the CCID-3 window counter computation was fixed to cope with RTTs < 4 microseconds. Such RTTs can be found e.g. when running CCID-3 over loopback. The fix removed a check against RTT < 4, but introduced a divide-by-zero bug. All steady-state RTTs in DCCP are filtered using dccp_sample_rtt(), which ensures non-zero samples. However, a zero RTT is possible on initialisation, when there is no RTT sample from the Request/Response exchange. The fix is to use the fallback-RTT from RFC 4340, 3.4. This is also better than just fixing update_win_count() since it allows other parts of the code to always assume that the RTT is non-zero during the time that the CCID is used. Signed-off-by: Gerrit Renker commit 513fd370e6832f81ab717df4645f5ce679e44f14 Merge: 709772e... 68c2889... Author: David S. Miller Date: Tue Jun 10 16:21:55 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 709772e6e06564ed94ba740de70185ac3d792773 Author: Krzysztof Piotr Oledzki Date: Tue Jun 10 15:44:49 2008 -0700 net: Fix routing tables with id > 255 for legacy software Most legacy software do not like tables > 255 as rtm_table is u8 so tb_id is sent &0xff and it is possible to mismatch for example table 510 with table 254 (main). This patch introduces RT_TABLE_COMPAT=252 so the code uses it if tb_id > 255. It makes such old applications happy, new ones are still able to use RTA_TABLE to get a proper table id. Signed-off-by: Krzysztof Piotr Oledzki Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 68c2889834602f6efed195f44439ef5d526683a8 Author: Ben Hutchings Date: Sat May 31 16:52:52 2008 +0100 sky2: Hold RTNL while calling dev_close() dev_close() must be called holding the RTNL. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 69de8d23d10694bdd63fe715b98e1a61c56ed288 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 s2io iomem annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ae6b4d9ab6129467415801f30e487bc141a3f471 Author: Jay Cliburn Date: Sun Jun 1 16:57:11 2008 -0500 atl1: fix suspend regression Using vendor magic to force the PHY into power save mode breaks suspend. It isn't needed anyway, so remove it. Tested-by: Avuton Olrich Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit d0ec0f549705b7ecfb787f02512606b08fe5b291 Author: Frank Blaschka Date: Fri Jun 6 12:37:48 2008 +0200 qeth: start dev queue after tx drop error In case the xmit function drop out with an error, we have to wake the netdevice queue to start another xmit. Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky Signed-off-by: Jeff Garzik commit 345aa66e97e61dccafaaa835e4b20d9b241e187f Author: Peter Tiedemann Date: Fri Jun 6 12:37:47 2008 +0200 qeth: Prepare-function to call s390dbf was wrong Prepare-function to call s390dbf was wrong handling variable arguments. This worked as macro but not as function any more. Now using va_list processing. Signed-off-by: Peter Tiedemann Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 14cc21b6770972e5d1487dbf3a2caaf63cae909a Author: Frank Blaschka Date: Fri Jun 6 12:37:46 2008 +0200 qeth: reduce number of kernel messages Remove unnecessary messages. Write important debug information to s390dbf. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit f06f6f3224afdd7e58207d1f5950f4666c5f095f Author: Cornelia Huck Date: Fri Jun 6 12:37:45 2008 +0200 qeth: Use ccw_device_get_id(). Get the devno from the ccw device via ccw_device_get_id() instead of parsing the bus_id. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit e5bd7be56787f8c5042081157fff983bcf0c8a42 Author: Frank Blaschka Date: Fri Jun 6 12:37:44 2008 +0200 qeth: layer 3 Oops in ip event handler The ip event handler may present us non qeth network interfaces. Add qeth card pointer check. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 363f15149cfba67d29f1e6a6103dda079f27f3fa Author: Rusty Russell Date: Sun Jun 8 20:51:55 2008 +1000 virtio: use callback on empty in virtio_net virtio_net uses a timer to free old transmitted packets, rather than leaving callbacks enabled all the time. If the host promises to always notify us when the transmit ring is empty, we can free packets at that point and avoid the timer. Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 14c998f034bdc9a5bfa53bca18fbd0738cbc65e8 Author: Mark McLoughlin Date: Sun Jun 8 20:50:56 2008 +1000 virtio: virtio_net free transmit skbs in a timer virtio_net currently only frees old transmit skbs just before queueing new ones. If the queue is full, it then enables interrupts and waits for notification that more work has been performed. However, a side-effect of this scheme is that there are always xmit skbs left dangling when no new packets are sent, against the Documentation/networking/driver.txt guideline: "... it is not allowed for your TX mitigation scheme to let TX packets "hang out" in the TX ring unreclaimed forever if no new TX packets are sent." Add a timer to ensure that any time we queue new TX skbs, we will shortly free them again. This fixes an easily reproduced hang at shutdown where iptables attempts to unload nf_conntrack and nf_conntrack waits for an skb it is tracking to be freed, but virtio_net never frees it. Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 2506ece0c0bbd2fc19a4827b96dc52ea47e2ce4a Author: Mark McLoughlin Date: Sun Jun 8 20:49:59 2008 +1000 virtio: Fix typo in virtio_net_hdr comments Signed-off-by: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 23cde76d801246a702e7a84c3fe3d655b35c89a1 Author: Mark McLoughlin Date: Sun Jun 8 20:49:00 2008 +1000 virtio_net: Fix skb->csum_start computation hdr->csum_start is the offset from the start of the ethernet header to the transport layer checksum field. skb->csum_start is the offset from skb->head. skb_partial_csum_set() assumes that skb->data points to the ethernet header - i.e. it computes skb->csum_start by adding the headroom to hdr->csum_start. Since eth_type_trans() skb_pull()s the ethernet header, skb_partial_csum_set() should be called before eth_type_trans(). (Without this patch, GSO packets from a guest to the world outside the host are corrupted). Signed-off-by: Mark McLoughlin Acked-by: Herbert Xu Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 00aaea2f95d73d4e2b5e45cf77c3cbb16c59e87f Author: Jan-Bernd Themann Date: Mon Jun 9 15:17:37 2008 +0100 ehea: set mac address fix eHEA has to call firmware functions in order to change the mac address of a logical port. This patch checks if the logical port is up when calling the register / deregister mac address calls. If the port is down these firmware calls would fail and are therefore not executed. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 23bdfdd388723b8213f597743b1d4aba0d62de9c Author: Steve Hodgson Date: Mon Jun 9 19:34:32 2008 +0100 sfc: Recover from RX queue flush failure RX queue flush can fail if traffic continues to arrive. Recover by performing an invisible reset. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit bf4d593479e0a3f349118f9b8c40a6bc37bf1e2e Author: Adrian Bunk Date: Tue Jun 10 01:22:16 2008 +0300 add missing lance_* exports This patch fixes the following build error: <-- snip --> ... Building modules, stage 2. MODPOST 1203 modules ERROR: "lance_open" [drivers/net/mvme147.ko] undefined! ERROR: "lance_close" [drivers/net/mvme147.ko] undefined! ERROR: "lance_tx_timeout" [drivers/net/mvme147.ko] undefined! ERROR: "lance_set_multicast" [drivers/net/mvme147.ko] undefined! ERROR: "lance_start_xmit" [drivers/net/mvme147.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit ff68cdbf86f09e602eb2b04e1a7d448a3c3a3b28 Author: Jeff Kirsher Date: Mon Jun 9 15:57:17 2008 -0700 ixgbe: fix typo Define names were accidently transposed. Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit 4db0ee176e256444695ee2d7b004552e82fec987 Author: Ayaz Abdulla Date: Mon Jun 9 16:51:06 2008 -0700 forcedeth: msi interrupts Add a workaround for lost MSI interrupts. There is a race condition in the HW in which future interrupts could be missed. The workaround is to toggle the MSI irq mask. Added cleanup based on comments from Andrew Morton. Signed-off-by: Ayaz Abdulla Cc: Manfred Spraul Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 79ee9a8b2d328243488fee8b55bfacc822049a2a Author: Steve French Date: Tue Jun 10 21:37:02 2008 +0000 [CIFS] cifs: fix oops on mount when CONFIG_CIFS_DFS_UPCALL is enabled simple "mount -t cifs //xxx /mnt" oopsed on strlen of options http://kerneloops.org/guilty.php?guilty=cifs_get_sb&version=2.6.25-release&start=16711 \ 68&end=1703935&class=oops Signed-off-by: Marcin Slusarz Acked-by: Jeff Layton Signed-off-by: Steve French commit 99c6f60e72f112b57ddb07abb2e5f771ee211f43 Author: Jamal Hadi Salim Date: Tue Jun 10 14:25:34 2008 -0700 ipsec: pfkey should ignore events when no listeners When pfkey has no km listeners, it still does a lot of work before finding out there aint nobody out there. If a tree falls in a forest and no one is around to hear it, does it make a sound? In this case it makes a lot of noise: With this short-circuit adding 10s of thousands of SAs using netlink improves performance by ~10%. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit dbdbb87636e882042cbe53d5d4eac94206f8db83 Author: Steve French Date: Tue Jun 10 21:21:56 2008 +0000 [CIFS] Fix hang in mount when negprot causes server to kill tcp session Acked-by: Jeff Layton Signed-off-by: Steve French commit 738eca74d1bd3e51180de179b7b74d4e34c4e5a3 Author: Robert Reif Date: Tue Jun 10 14:13:09 2008 -0700 sparc: get leo framebuffer working This patch fixes several issues: Use the right openprom device name so the driver is actually loaded. Fix a crash due to unitialized info->pseudo_palette. Put the framebuffer in the proper mode for software rendering. checkpatch cleanups. Hardware acceleration was removed when the driver was rewritten for the new framebuffer API in 2003. Software rendering requires a different framebuffer access mode but that wasn't changed. The driver now works again but is slow. The proper fix is to reintroduce hardware acceleration. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit bc6cffd177f9266af38dba96a2cea06c1e7ff932 Author: Herbert Xu Date: Tue Jun 10 14:08:25 2008 -0700 pppoe: Unshare skb before anything else We need to unshare the skb first as otherwise pskb_may_pull may write to a shared skb which could be bad. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 392fdb0e35055b96faa9c1cd6ab537805337cdce Author: Herbert Xu Date: Tue Jun 10 14:07:25 2008 -0700 net pppoe: Check packet length on all receive paths The length field in the PPPOE header wasn't checked completely. This patch causes all packets shorter than the declared length to be dropped. It also changes the memcpy_toiovec call to skb_copy_datagram_iovec so that paged packets (rare for PPPOE) are handled properly. Thanks to Ilja of the Netric Security Team for discovering and reporting this bug, and Chris Wright for the total_len check. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ea23ec26727b4df97b4965715f0519b6ddc0aa4b Author: Akinobu Mita Date: Tue Jun 10 12:50:14 2008 -0700 isdn: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 495b36b15e17fb08434e3800959434f06a1a6fbc Author: Alexey Dobriyan Date: Tue Jun 10 12:49:31 2008 -0700 isdn divas: fix proc creation 1. creating proc entry and not saving pointer to PDE and checking it is not going to work. 2. if proc entry wasn't created, no reason to remove it on error path. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b36ffc47a17ab5ce6d9589a99ac5d135c9173a9a Author: Pradeep Singh Rautela Date: Tue Jun 10 12:46:52 2008 -0700 drivers/atm/eni.h: remove unused macro KERNEL_OFFSET KERNEL_OFFSET macro in eni.h is not required as it is not used anywhere. Remove the unused macro from eni.h header file. Signed-off-by: Pradeep Singh Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ce4a7d0d48bbaed78ccbb0bafb9229651a40303a Author: Arnaldo Carvalho de Melo Date: Tue Jun 10 12:39:35 2008 -0700 inet{6}_request_sock: Init ->opt and ->pktopts in the constructor Wei Yongjun noticed that we may call reqsk_free on request sock objects where the opt fields may not be initialized, fix it by introducing inet_reqsk_alloc where we initialize ->opt to NULL and set ->pktopts to NULL in inet6_reqsk_alloc. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 45d465bc237ab1e1ebb4c65b9b318830dafb7509 Author: Rami Rosen Date: Tue Jun 10 12:37:42 2008 -0700 ipv4: Remove unused declaration from include/net/tcp.h. - The tcp_unhash() method in /include/net/tcp.h is no more needed, as the unhash method in tcp_prot structure is now inet_unhash (instead of tcp_unhash in the past); see tcp_prot structure in net/ipv4/tcp_ipv4.c. - So, this patch removes tcp_unhash() declaration from include/net/tcp.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6b6707a50c7598a83820077393f8823ab791abf8 Author: James Chapman Date: Tue Jun 10 12:35:00 2008 -0700 l2tp: Fix potential memory corruption in pppol2tp_recvmsg() This patch fixes a potential memory corruption in pppol2tp_recvmsg(). If skb->len is bigger than the caller's buffer length, memcpy_toiovec() will go into unintialized data on the kernel heap, interpret it as an iovec and start modifying memory. The fix is to change the memcpy_toiovec() call to skb_copy_datagram_iovec() so that paged packets (rare for PPPOL2TP) are handled properly. Also check that the caller's buffer is big enough for the data and set the MSG_TRUNC flag if it is not so. Reported-by: Ilja Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 28ffb5d3e0b563be5a9639c3a2b42f1a9430454f Merge: 19f2b8d... efc0fc1... Author: Linus Torvalds Date: Tue Jun 10 12:34:29 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: fix BLK_DEV_HD_ONLY on ARM dependencies ide: export ide_doubler palm_bk3710: add warm-plug support delkin_cb: add missing __init/__exit tags delkin_cb: add warm-plug support delkin_cb: use struct ide_port_info delkin_cb: set proper hwif->gendev.parent value ide: fix host drivers missing hwif->chipset initialization ide-generic: add missing hwif->chipset setup sis5513: add missing pci_enable_device() call MAINTAINERS: remove SIS 5513 IDE entry ide: remove the ide_etrax100 chipset type commit 24797a344293601f14f49e2d259c3ca447c4f802 Author: Roland Dreier Date: Tue Jun 10 12:29:49 2008 -0700 RDMA/nes: Fix off-by-one in nes_reg_user_mr() error path nes_reg_user_mr() should fail if page_count becomes >= 1024 * 512 rather than just testing for strict >, because page_count is essentially used as an index into an array with 1024 * 512 entries, so allowing the loop to continue with page_count == 1024 * 512 means that memory after the end of the array is corrupted. This leads to a crash triggerable by a userspace application that requests registration of a too-big region. Also get rid of the call to pci_free_consistent() here to avoid corrupting state with a double free, since the same memory will be freed in the code jumped to at reg_user_mr_err. Signed-off-by: Roland Dreier commit efc0fc1c2f37c8c0e43c7616394a979a042b9331 Author: Adrian Bunk Date: Tue Jun 10 20:56:38 2008 +0200 fix BLK_DEV_HD_ONLY on ARM dependencies This patch limits BLK_DEV_HD_ONLY to the ARM platforms offering IRQ_HARDDISK, fixing the following compile error on others: <-- snip --> ... CC drivers/ide/legacy/hd.o ... /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'hd_times_out': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: 'IRQ_HARDDISK' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:542: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'do_hd_request': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:661: error: 'IRQ_HARDDISK' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c: In function 'hd_init': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/legacy/hd.c:765: error: 'IRQ_HARDDISK' undeclared (first use in this function) make[3]: *** [drivers/ide/legacy/hd.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Cc: Russell King Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit 513f3c10ddb24b0a261ae96de6f7911ba28713f9 Author: Adrian Bunk Date: Tue Jun 10 20:56:38 2008 +0200 ide: export ide_doubler This patch fixes the following build error: <-- snip --> ... Building modules, stage 2. MODPOST 1204 modules ERROR: "ide_doubler" [drivers/ide/ide-core.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit fb374966ba13ccac341499eaefecd58a96bafb59 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:38 2008 +0200 palm_bk3710: add warm-plug support Don't fail the probe if there are no devices attached to the controller. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f4084a1d18d618bb360bc72713a3bc2b8375e12f Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:38 2008 +0200 delkin_cb: add missing __init/__exit tags Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 96fe439ec9ca25b09e1458d86bd739757ae11ea1 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:38 2008 +0200 delkin_cb: add warm-plug support Don't fail the probe if there are no devices attached to the controller. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c4d4ad50ac5cc74c605c4a467db42c961ec7a69 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:37 2008 +0200 delkin_cb: use struct ide_port_info Convert the driver to use struct ide_port_info - as a nice side-effect this fixes racy setup of ->io_32bit/unmask settings (after ide_device_add() call device can be already in use). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a7dbb9761d59996e4a037c969eabd8e93f3be1c Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:37 2008 +0200 delkin_cb: set proper hwif->gendev.parent value hwif->dev was set too late (after ide_device_add() call) so hwif->gendev.parent was not initialized properly. Fix it by setting hw.dev and letting ide_init_port_hw() do the rest. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d427e836d1d9b58e8f1e648c09b5fbe36e01013b Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:37 2008 +0200 ide: fix host drivers missing hwif->chipset initialization ide_find_port() now depends on ->chipset being set for occupied ide_hwifs[] slots so all host drivers have to initialize hwif->chipset properly. This patch fixes a regression on hosts with > 1 port or with a single port but no devices attached to it for an affected host drivers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 343a3451e20314d5959b59b992e33fbaadfe52bf Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:36 2008 +0200 ide-generic: add missing hwif->chipset setup hwif->chipset need to be set properly or ide-generic driver will break once we make a final step in fixing host drivers' dependence on ide_hwifs[]. Problem was catched early thanks to IDE tree exposure in -mm / -next trees and reported by people listed people (thank you guys!). Reported-by: "John Keller" Reported-by: Dmitri Vorobiev Reported-by: Mel Gorman Signed-off-by: Bartlomiej Zolnierkiewicz commit cd18f69f845dc8c769f0ef65046b7a113b8aba87 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 10 20:56:36 2008 +0200 sis5513: add missing pci_enable_device() call Cc: Riccardo Gori Signed-off-by: Bartlomiej Zolnierkiewicz commit 34e6e88f025ebe0613f53af2703d4d902e39273a Author: Adrian Bunk Date: Tue Jun 10 20:56:36 2008 +0200 MAINTAINERS: remove SIS 5513 IDE entry - maintainer has not been active for years - URLs no longer exist - covered by the IDE SUBSYSTEM entry - maintainer email bounces Signed-off-by: Adrian Bunk Cc: Lionel.Bouton@inet6.fr Signed-off-by: Bartlomiej Zolnierkiewicz commit b76916462d990751882eaeadc75ac8c487d6de1d Author: Adrian Bunk Date: Tue Jun 10 20:56:36 2008 +0200 ide: remove the ide_etrax100 chipset type I forgot to remove the ide_etrax100 chipset type when removing the ETRAX_IDE driver. Reported-by: Bartlomiej Zolnierkiewicz Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit d1daeabf0da5bfa1943272ce508e2ba785730bf0 Author: James Bottomley Date: Tue Jun 10 10:20:53 2008 -0500 [SCSI] sr: fix corrupt CD data after media change and delay Reported-by: Geert Uytterhoeven If you delay 30s or more before mounting a CD after inserting it then the kernel has the wrong value for the CD size. http://marc.info/?t=121276133000001 The problem is in sr_test_unit_ready(): the function eats unit attentions without adjusting the sdev->changed status. This means that when the CD signals changed media via unit attention, we can ignore it. Fix by making sr_test_unit_ready() adjust the changed status. Tested-by: Geert Uytterhoeven Cc: Stable Tree Signed-off-by: James Bottomley commit 19f2b8dfea10e4d5cd34feb08cbab738504c25cf Merge: c592713... 1783e60... Author: Linus Torvalds Date: Tue Jun 10 08:00:40 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] tape_3590.c: introduce missing kfree [S390] Fix __ctl_load/__ctl_store inline assembly constraints [S390] Fix build failure in __cpu_up() [S390] vt220 console, initialize list head before use [S390] cio: Fix inverted isc priorities. [S390] vmemmap: fix off-by-one bug. [S390] cio: Fix sparse warnings in blacklist.c. [S390] sparsemem: use SPARSEMEM_STATIC if !64BIT. commit c592713b3e124ce0719e6af4bc2520424c49cbae Author: Neil Horman Date: Tue Jun 10 08:53:39 2008 -0400 shm: Remove silly double assignment Found a silly double assignment of err is do_shmat. Silly, but good to clean up the useless code. Signed-off-by: Neil Horman Signed-off-by: Linus Torvalds commit f17c63231c9c2bfc5717af1890ad17312a1c2c1c Author: Anton Vorontsov Date: Mon Mar 17 20:52:08 2008 +0300 [POWERPC] 83xx: MPC837xRDB's VSC7385 ethernet switch isn't on the MDIO bus MDIO-less PHYs should use CONFIG_FIXED_PHY driver and appropriate fixed-link property in the device tree. If not, ethernet will not work: e0024520:03 not found eth1: Could not attach to PHY IP-Config: Failed to open eth1 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit b7f09ae583c49d28b2796d2fa5893dcf822e3a10 Author: Miquel van Smoorenburg Date: Thu Jun 5 18:14:44 2008 +0200 x86, pci-dma.c: don't always add __GFP_NORETRY to gfp Currently arch/x86/kernel/pci-dma.c always adds __GFP_NORETRY to the allocation flags, because it wants to be reasonably sure not to deadlock when calling alloc_pages(). But really that should only be done in two cases: - when allocating memory in the lower 16 MB DMA zone. If there's no free memory there, waiting or OOM killing is of no use - when optimistically trying an allocation in the DMA32 zone when dma_mask < DMA_32BIT_MASK hoping that the allocation happens to fall within the limits of the dma_mask Also blindly adding __GFP_NORETRY to the the gfp variable might not be a good idea since we then also use it when calling dma_ops->alloc_coherent(). Clearing it might also not be a good idea, dma_alloc_coherent()'s caller might have set it on purpose. The gfp variable should not be clobbered. [ mingo@elte.hu: converted to delta patch ontop of previous version. ] Signed-off-by: Miquel van Smoorenburg Signed-off-by: Ingo Molnar commit 16882c1e962b4be5122fc05aaf2afc10fd9e2d15 Author: Oleg Nesterov Date: Sun Jun 8 21:20:41 2008 +0400 sched: fix TASK_WAKEKILL vs SIGKILL race schedule() has the special "TASK_INTERRUPTIBLE && signal_pending()" case, this allows us to do current->state = TASK_INTERRUPTIBLE; schedule(); without fear to sleep with pending signal. However, the code like current->state = TASK_KILLABLE; schedule(); is not right, schedule() doesn't take TASK_WAKEKILL into account. This means that mutex_lock_killable(), wait_for_completion_killable(), down_killable(), schedule_timeout_killable() can miss SIGKILL (and btw the second SIGKILL has no effect). Introduce the new helper, signal_pending_state(), and change schedule() to use it. Hopefully it will have more users, that is why the task's state is passed separately. Note this "__TASK_STOPPED | __TASK_TRACED" check in signal_pending_state(). This is needed to preserve the current behaviour (ptrace_notify). I hope this check will be removed soon, but this (afaics good) change needs the separate discussion. The fast path is "(state & (INTERRUPTIBLE | WAKEKILL)) + signal_pending(p)", basically the same that schedule() does now. However, this patch of course bloats schedule(). Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 1783e60ff207805a3e75cf522b17ec9bb1604a62 Author: Julia Lawall Date: Tue Jun 10 10:03:25 2008 +0200 [S390] tape_3590.c: introduce missing kfree The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) @r exists@ expression E,E1; statement S; position p1,p2,p3; @@ E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != E = E1 if (E == NULL || ...) S ... when != E = E1 if@p2 (...) { ... when != kfree(E) } ... when != E = E1 kfree@p3(E); @forall@ position r.p2; expression r.E; int E1 != 0; @@ * if@p2 (...) { ... when != kfree(E) when strict return E1; } Signed-off-by: Julia Lawall Signed-off-by: Martin Schwidefsky commit b57838ea3f860c97e4726ab93abdf83a3d079a66 Author: Martin Schwidefsky Date: Tue Jun 10 10:03:24 2008 +0200 [S390] Fix __ctl_load/__ctl_store inline assembly constraints __ctl_load/__ctl_store are called with either an array of unsigned long or a single unsigned long value. Add an address operator to the "m"/"=m" contraints to make them work for unsigned long arguments as well. Signed-off-by: Martin Schwidefsky commit 24d3e210c18bfedafe986ec489575cf91ac39d22 Author: Segher Boessenkool Date: Tue Jun 10 10:03:23 2008 +0200 [S390] Fix build failure in __cpu_up() The first argument to __ctl_store() should be the array to store stuff in, not just the first element of that array. With the current code in __cpu_up(), mainline GCC dies with an internal compiler error. I didn't diagnose that further, but just fixed the kernel bug. Signed-off-by: Segher Boessenkool Signed-off-by: Martin Schwidefsky Cc: Heiko Carstens commit 7b439d25300dc59bba76b53eb344bb9e5a1133f2 Author: Carsten Otte Date: Tue Jun 10 10:03:22 2008 +0200 [S390] vt220 console, initialize list head before use This patch fixes a null pointer dereference during initialisation when no sclp event facility is available: sclp vt220 tty driver: could not register vt220 - sclp_register returned -5 Unable to handle kernel paging request at virtual user address 0000000000000000 Oops: 0004 [#1] PREEMPT SMP Modules linked in: CPU: 0 Not tainted 2.6.26-rc3-kvm-bigiron-00968-gd939e93-dirty #30 Process swapper (pid: 0, task: 0000000000600be0, ksp: 000000000064a000) Krnl PSW : 0400000180000000 0000000000320d8c (sclp_unregister+0x48/0x8c) R:0 T:1 IO:0 EX:0 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000000000 0000000000000000 0000000000630478 0700000000649c20 0000000000000000 0000000000433060 000000000064a660 0000000002e26000 00000000006db000 0000000000000000 0000000000a78578 0000000000649b80 0000000000630dc0 000000000044fa20 0000000000320d76 0000000000649b80 Krnl Code: 0000000000320d7c: e310c0080004 lg %r1,8(%r12) 0000000000320d82: b9040032 lgr %r3,%r2 0000000000320d86: c02000187b79 larl %r2,630478 >0000000000320d8c: e34010000024 stg %r4,0(%r1) 0000000000320d92: e31040080024 stg %r1,8(%r4) 0000000000320d98: c01100200200 lgfi %r1,2097664 0000000000320d9e: e310c0080024 stg %r1,8(%r12) 0000000000320da4: c01100100100 lgfi %r1,1048832 Call Trace: ([<0000000000320d76>] sclp_unregister+0x32/0x8c) [<00000000006657b4>] __sclp_vt220_cleanup+0xc4/0xe0 [<000000000066595c>] __sclp_vt220_init+0x18c/0x1a0 [<0000000000665aba>] sclp_vt220_con_init+0x42/0x68 [<00000000006601ca>] console_init+0x4e/0x68 [<000000000064acae>] start_kernel+0x3a2/0x4dc [<0000000000100020>] _stext+0x20/0x80 INFO: lockdep is turned off. Last Breaking-Event-Address: [<000000000041f964>] _spin_lock_irqsave+0xb0/0xb4 <4>---[ end trace 31fd0ba7d8756001 ]--- The issue is caused by a list_empty() check in __sclp_vt220_cleanup, which usually fails on non-initialized list heads that contain {NULL,NULL} instead. Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 85b0d7c0ad92c47887bf6aeb424a14e7af14bd87 Author: Cornelia Huck Date: Tue Jun 10 10:03:21 2008 +0200 [S390] cio: Fix inverted isc priorities. Priorities for I/O interruption subclasses range from 0 (highest) to 7 (lowest). Unfortunately, the console has been using isc 7 instead of an isc with a higher priority than regular I/O subchannels (which use 3). Fix this by making the console use isc 1. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit ee0ddadd086e25503f81be551c43f66472300acd Author: Heiko Carstens Date: Tue Jun 10 10:03:20 2008 +0200 [S390] vmemmap: fix off-by-one bug. If a memory range is supposed to be added to the 1:1 mapping and it ends just below the maximum supported physical address it won't succeed. This is because a test doesn't consider that the end address is 1 smaller than start + size. Fix the comparison. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 12829126aa47758608578cc5be3a5adffc3d4b09 Author: Cornelia Huck Date: Tue Jun 10 10:03:19 2008 +0200 [S390] cio: Fix sparse warnings in blacklist.c. sparse complains about signedness: drivers/s390/cio/blacklist.c:132:28: warning: incorrect type in argument 2 (different signedness) drivers/s390/cio/blacklist.c:132:28: expected unsigned int *val drivers/s390/cio/blacklist.c:132:28: got int *cssid drivers/s390/cio/blacklist.c:136:28: warning: incorrect type in argument 2 (different signedness) drivers/s390/cio/blacklist.c:136:28: expected unsigned int *val drivers/s390/cio/blacklist.c:136:28: got int *ssid drivers/s390/cio/blacklist.c:140:28: warning: incorrect type in argument 2 (different signedness) drivers/s390/cio/blacklist.c:140:28: expected unsigned int *val drivers/s390/cio/blacklist.c:140:28: got int *devno cssid, ssid and devno are of course unsigned, so let's make the variables unsigned as well. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 148f1678f0ba7a5e79e44ff23064d4326fa145a4 Author: Heiko Carstens Date: Tue Jun 10 10:03:18 2008 +0200 [S390] sparsemem: use SPARSEMEM_STATIC if !64BIT. In case of !64BIT kernel we end up with a zero sized mem_section array. This happens because NR_MEM_SECTIONS is smaller than SECTIONS_PER_ROOT but we have: #define NR_SECTION_ROOTS (NR_MEM_SECTIONS / SECTIONS_PER_ROOT) and struct mem_section *mem_section[NR_SECTION_ROOTS]; So fix this by selecting SPARSEMEM_STATIC which makes sure that SECTIONS_PER_ROOT is 1. Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5e70b7f3c24468bb1635b295945edb48ecd9656a Author: Chris Wright Date: Mon Jun 9 16:07:28 2008 -0700 MAINTAINERS: update PPPoE maintainer address Cc: Michal Ostrowski Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds commit 30c083c3da00a052211f8f73740f2b46974454a1 Merge: 849bf20... 4c0283f... Author: Linus Torvalds Date: Mon Jun 9 19:28:54 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/core: Remove IB_DEVICE_SEND_W_INV capability flag IB/umem: Avoid sign problems when demoting npages to integer commit 849bf20e732a71ca717a5c6f988bf3acc2a84a0c Merge: d5301a0... 56fa18e... Author: Linus Torvalds Date: Mon Jun 9 19:28:31 2008 -0700 Merge git://git.infradead.org/users/cbou/battery-2.6.26 * git://git.infradead.org/users/cbou/battery-2.6.26: power_supply: Fix race in power_supply_uevent commit d5301a0e884b0dced6e13837f00505f871e3458f Merge: cc55875... 3b8458a... Author: Linus Torvalds Date: Mon Jun 9 19:27:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin serial driver: fix up tty core set_ldisc API change breakage bug Blackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN Blackfin arch: fixup warnings with the new cplb saved values Blackfin Serial Driver: Clean up BF54x macro in blackfin UART driver. commit 2e761e0532a784816e7e822dbaaece8c5d4be14d Author: Pavel Emelyanov Date: Mon Jun 9 15:53:30 2008 -0700 ipv6 netns: init net is used to set bindv6only for new sock The bindv6only is tuned via sysctl. It is already on a struct net and per-net sysctls allow for its modification (ipv6_sysctl_net_init). Despite this the value configured in the init net is used for the rest of them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1420a4faee7086b6811b4a1f0672e32b5a6df80e Author: Ingo Molnar Date: Mon Jun 9 15:47:38 2008 -0700 irda: net/irda build fix: mcs7780 -tip testing found the following build error: drivers/built-in.o: In function `mcs_receive_irq': mcs7780.c:(.text+0x4e429): undefined reference to `crc32_le' drivers/built-in.o: In function `mcs_hard_xmit': mcs7780.c:(.text+0x4e9af): undefined reference to `crc32_le' with: http://redhat.com/~mingo/misc/config-Sun_Jun__8_22_56_14_CEST_2008.bad the reason is a missing enablement of the CRC32 library in the Kconfig. Signed-off-by: Ingo Molnar Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 1b84d9462a93ccfa99f725aad744ab4d1af8402b Author: Matt Carlson Date: Mon Jun 9 15:41:33 2008 -0700 tg3: Update version to 3.92.1 This patch increments the version to 3.92.1. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5f0c4a3cb6fda7c505f8c916b54ea90205feed68 Author: Matt Carlson Date: Mon Jun 9 15:41:12 2008 -0700 tg3: Fix 5761 WOL On 5761 non-e devices, two problems prevent the administrator from overriding the WOL settings in the device's NVRAM. The first problem is that GPIO 0 and GPIO 2 have been swapped. This change prevented the administrator from turning on WOL when it is disabled in NVRAM. The fix is to add a new path for the 5761 that swaps the two GPIOs in the code as well. The second problem is that GPIO 1 could not be toggled by the driver because the GPIO is shared with the debug UART GPIO. This will prevent the administrator from being able to turn WOL off if it was enabled in NVRAM. The fix is to always disable the debug UART after a GRC reset. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0ba11fb307a4f18c11df6f5f255158ce055a2a16 Author: Matt Carlson Date: Mon Jun 9 15:40:26 2008 -0700 tg3: Fix a flags typo This patch fixes a problem where the TG3_FLAG_10_100_ONLY flag was testing against the wrong flags variable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2bd3ed0479c35f7c8dadecf72b725ca0c20ea015 Author: Matt Carlson Date: Mon Jun 9 15:39:55 2008 -0700 tg3: Fix 5714S / 5715S / 5780S link failures The git commit ef167e27039eeaea6d3cdd5c547b082e89840bdd entitled "Fix supporting flowctrl code" introduced a bug that prevents 5714S, 5715S and 5780S devices from falling back to a forced link mode. The problem is that the added flow control check will always fail if flow control is set to autoneg and either RX or TX (or both) flow control is enabled. The driver defaults to setting flow control to autoneg and advertises both RX and TX flow control. The fix is to remove the errant check. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 56fa18e8f1ef6b3995a4511e61103d0f9205ff4a Author: Dmitry Baryshkov Date: Sun Jun 8 19:43:42 2008 +0400 power_supply: Fix race in power_supply_uevent Commit 54d29ad33e3483bcc7ca433a21cf294854e5154a (Power Supply: fix race in device_create) introduced a race in power_supply_uevent. Previously it checked that power_supply is available by checking for dev->driver_data. But now dev->driver_data is set before power_supply->dev is initialised. Signed-off-by: Dmitry Baryshkov Signed-off-by: Anton Vorontsov commit b6b16196b064bbff83e8161359f8b73465d4aa36 Author: Marcin Slusarz Date: Sun Jun 8 13:13:06 2008 +0200 iwlwifi: fix oops in iwl3945_led_brightness_set fix race between: ieee80211_open->ieee80211_led_radio->led_trigger_event->led_set_brightness->iwl3945_led_brightness_set (which assumes that "led->priv" is not NULL) and iwl3945_pci_probe->iwl3945_setup_deferred_work->(...)->iwl3945_bg_alive_start->iwl3945_alive_start->iwl3945_led_register->iwl3945_led_register_led which sets priv field in struct iwl3945_led after led->led_dev.brightness_set = iwl3945_led_brightness_set; (...) led_classdev_register(device, &led->led_dev); http://kerneloops.org/guilty.php?guilty=iwl3945_led_brightness_set&version=2.6.25-release&start=1671168&end=1703935&class=oops Signed-off-by: Marcin Slusarz Cc: Zhu Yi Cc: Reinette Chatre Cc: Tomas Winkler Cc: linux-wireless@vger.kernel.org Cc: ipw3945-devel@lists.sourceforge.net Signed-off-by: John W. Linville commit 585c5434f0e02ff0ffc567ec223af61e2d8e2e88 Author: Adrian Bunk Date: Thu Jun 5 21:29:49 2008 +0300 include/linux/ssb/ssb_driver_gige.h typo fix This patch fixes a typo in the name of a config variable. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Reviewed-by: Michael Buesch Signed-off-by: John W. Linville commit be038b376465953c358d675cb38a611898a49dc2 Author: Assaf Krauss Date: Thu Jun 5 19:55:21 2008 +0300 mac80211: Checking IBSS support while changing channel in ad-hoc mode This patch adds a check to the set_channel flow. When attempting to change the channel while in IBSS mode, and the new channel does not support IBSS mode, the flow return with an error value with no consequences on the mac80211 and driver state. Signed-off-by: Assaf Krauss Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 872ba53395b2a8be08c3ea2d39e225e5b4a8cb40 Author: Dan Williams Date: Wed Jun 4 13:59:34 2008 -0400 mac80211: decrease IBSS creation latency Sufficient scans (at least 2 or 3) should have been done within 7 seconds to find an existing IBSS to join. This should improve IBSS creation latency; and since IBSS merging is still in effect, shouldn't have detrimental effects on eventual IBSS convergence. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d005b1d042a1d5dcd8d898f26d8d9bb03f865284 Author: Michael Buesch Date: Thu Jun 5 16:55:10 2008 +0200 zd1211rw: Fix data padding for QoS This patch fixes a data alignment issue in the zd1211rw driver. The IEEE80211_STYPE_QOS_DATA bit should be used as a bitwise test to test for the presence of the 2 byte QoS control field. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ad81b2f97d42e13ef78bb3798e046cd5f0492980 Author: Assaf Krauss Date: Wed Jun 4 20:27:59 2008 +0300 mac80211: Fixing slow IBSS rejoin This patch fixes the issue of slow reconnection to an IBSS cell after disconnection from it. Now the interface's bssid is reset upon ifdown. ieee80211_sta_find_ibss: if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 && (bss = ieee80211_rx_bss_get(dev, bssid, local->hw.conf.channel->center_freq, ifsta->ssid, ifsta->ssid_len))) Note: In general disconnection is still not handled properly in mac80211 Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a01f5450401f081f07a866612121e780e0730cfd Author: Holger Schurig Date: Wed Jun 4 11:10:40 2008 +0200 libertas: fix sleep confirmation This fixes an issus that made "iwconfig eth1 power on" non-working. When we get a "PS sleep" event, we have to confirm this to the firmware. The confirm happens with a command, but this command is special: the firmware won't send us a response. if_cs_host_to_card() is setting priv->dnld_sent anyway, so this variable stayed at DNLD_DATA_SENT and was never cleared back. Now I put the special knowledge that the CMD_802_11_PS_MODE with CMD_SUBCMD_SLEEP_CONFIRMED doesn't need to need a response by directly clearing the dnld_sent state in lbs_send_confirmsleep(). Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 507b06d0622480f8026d49a94f86068bb0fd6ed6 Author: Dan Williams Date: Tue Jun 3 23:39:55 2008 -0400 mac80211: send association event on IBSS create Otherwise userspace has no idea the IBSS creation succeeded. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ea177305b321a4127e448b88de20d5792682ace1 Author: Dan Williams Date: Mon Jun 2 17:51:23 2008 -0400 ipw2200: queue direct scans When another scan is in progress, a direct scan gets dropped on the floor. However, that direct scan is usually the scan that's really needed by userspace, and gets stomped on by all the broadcast scans the ipw2200 driver issues internally. Make sure the direct scan happens eventually, and as a bonus ensure that the passive scan worker is cleaned up when appropriate. The change of request_passive_scan form a struct work to struct delayed_work is only to make the set_wx_scan() code a bit simpler, it's still only used with a delay of 0 to match previous behavior. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit cc55875e26e2b85484b196edbada6caf84eb7765 Merge: d563923... 326f6a5... Author: Linus Torvalds Date: Mon Jun 9 11:27:55 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix format string bug. commit 326f6a5c9c9e1a62aec37bdc0c3f8d53adabe77b Author: Chris Wright Date: Fri Jun 6 21:26:02 2008 -0700 [CPUFREQ] Fix format string bug. Format string bug. Not exploitable, as this is only writable by root, but worth fixing all the same. Spotted-by: Ilja van Sprundel Signed-off-by: Dave Jones commit d563923011110a91bdbf1d89055c3e803ec01f0f Merge: 64a3dcd... 7b1e879... Author: Linus Torvalds Date: Mon Jun 9 10:23:45 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array commit 64a3dcd5d33d0c5253de2eba31b28a197d3e5e6b Merge: 5320729... 60d5019... Author: Linus Torvalds Date: Mon Jun 9 10:23:29 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG [POWERPC] Make walk_memory_resource available with MEMORY_HOTPLUG=n [POWERPC] Use dev_set_name in pci_64.c [POWERPC] Fix incorrect enabling of VMX when building signal or user context [POWERPC] boot/Makefile CONFIG_ variable fixes commit 53207293ba96552f67028ce54b74b4cc73c6d87a Merge: dfa7e20... e509013... Author: Linus Torvalds Date: Mon Jun 9 10:23:03 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26: sh: Add -mno-fdpic to default flags. sh: add resource of USB host for SH7723 usb: r8a66597-hcd: Add support for SH7723 USB host sh: Fix compile error SH7763 setup code sh: Add SH7723 SCIF support commit dfa7e20cc0d1a7a620def4dce97de1ae5375f99b Author: Russ Anderson Date: Mon Jun 9 11:18:45 2008 -0500 mm: Minor clean-up of page flags in mm/page_alloc.c Minor source code cleanup of page flags in mm/page_alloc.c. Move the definition of the groups of bits to page-flags.h. The purpose of this clean up is that the next patch will conditionally add a page flag to the groups. Doing that in a header file is cleaner than adding #ifdefs to the C code. Signed-off-by: Russ Anderson Signed-off-by: Linus Torvalds commit d5791d13b1d45542895104edf4b09476d5ad24b0 Author: Linus Torvalds Date: Mon Jun 9 10:06:24 2008 -0700 Fix invalid access errors in blk_lookup_devt Commit 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 ("block: do_mounts - accept root=") extended blk_lookup_devt() to be able to look up partitions that had not yet been registered, but in the process made the assumption that the '&block_class.devices' list only contains disk devices and that you can do 'dev_to_disk(dev)' on them. That isn't actually true. The block_class device list also contains the partitions we've discovered so far, and you can't just do a 'dev_to_disk()' on those. So make sure to only work on devices that block/genhd.c has registered itself, something we can test by checking the 'dev->type' member. This makes the loop in blk_lookup_devt() match the other such loops in this file. [ We may want to do an alternate version that knows to handle _either_ whole-disk devices or partitions, but for now this is the minimal fix for a series of crashes reported by Mariusz Kozlowski in http://lkml.org/lkml/2008/5/25/25 and Ingo in http://lkml.org/lkml/2008/6/9/39 ] Reported-by: Mariusz Kozlowski Reported-by: Ingo Molnar Cc: Neil Brown Cc: Joao Luis Meloni Assirati Acked-by: Kay Sievers Cc: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 4c0283fc561d79a4f94ab48ec37282e15273d1f8 Author: Roland Dreier Date: Mon Jun 9 09:58:42 2008 -0700 IB/core: Remove IB_DEVICE_SEND_W_INV capability flag In 2.6.26, we added some support for send with invalidate work requests, including a device capability flag to indicate whether a device supports such requests. However, the support was incomplete: the completion structure was not extended with a field for the key contained in incoming send with invalidate requests. Full support for memory management extensions (send with invalidate, local invalidate, fast register through a send queue, etc) is planned for 2.6.27. Since send with invalidate is not very useful by itself, just remove the IB_DEVICE_SEND_W_INV bit before the 2.6.26 final release; we will add an IB_DEVICE_MEM_MGT_EXTENSIONS bit in 2.6.27, which makes things simpler for applications, since they will not have quite as confusing an array of fine-grained bits to check. Signed-off-by: Roland Dreier commit 7b1e8795ebfe1705153d1001f2a899119f4d9012 Author: Akio Idehara Date: Mon Jun 9 22:46:07 2008 +0900 [ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array I think that hda_verb array must have "terminator (empty array)". But alc262_sony_unsol[] does not have it. And it causes gcc-4.3's buggy behavior with snd_hda_sequence_write(). Signed-off-by: Akio Idehara Signed-off-by: Takashi Iwai commit 70b3ec3e523fc2370117c0eaf5be80859848f66a Author: Kumar Gala Date: Mon Jun 9 08:53:39 2008 -0500 [POWERPC] Updated Freescale PPC defconfigs Signed-off-by: Kumar Gala commit a1072b2597752eafca77a664a1816faf7a43bac8 Author: Timur Tabi Date: Tue May 20 15:14:18 2008 -0500 [POWERPC] 8610: Update defconfig for MPC8610 HPCD Update the defconfig for the Freescale MPC8610 HPCD board. Enable module support. Disable support for all NICs except for the on-board ULI526x. Enable support for the Freescale DIU driver. Increase the maximum zone order to 12, so that the DIU driver can allocate physically-contiguous 5MB buffers. Enable SYSV IPC and OSS plugin support, which are needed for some OSS apps. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit ad16880daae42b4e8e078580812faa216600b05e Author: Kumar Gala Date: Fri Jun 6 10:35:13 2008 -0500 [POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space Andrew Klossner pointed out the IO space size was in violation of the alignment requirements for windows on the 85xx. The size should have been 1M (to match u-boot). Signed-off-by: Kumar Gala commit c4ea896476d30514109f61f1a6e0d8e2b201e401 Author: Kumar Gala Date: Tue Jun 3 13:36:19 2008 -0500 [POWERPC] 85xx: MPC85xx MDS - Unconditionally select PHYLIB for board fixups The MPC85xx MDS board requires some board level tweaks of the PHYs that either the eTSEC (gianfar) or UCC ethernet controllers are connected to. Its possible to build the phylib as a module, however this breaks the board level fix ups because phy_read and phy_write are not available if we build as a module. So we unconditionally select PHYLIB to ensure its built into the kernel if we are building in MPC85xx MDS support. This was determined to be the easiest soultion even though it prevents the user from removing PHYLIB support if they decide they don't want it. Signed-off-by: Kumar Gala commit e50901338b23cc173f464ff8e0179c4354d16877 Author: Paul Mundt Date: Mon Jun 9 16:49:43 2008 +0900 sh: Add -mno-fdpic to default flags. Presently the --fdpic specifier and the --isa matching clash when building with FDPIC toolchains. As we have no interest in building the kernel with --fdpic in the first place, always try to add in -mno-fdpic to the default flags. Signed-off-by: Paul Mundt commit b8858eed87f1f19903ad9224f7228cbe7374ac7e Author: Yoshihiro Shimoda Date: Thu Jun 5 21:21:04 2008 +0900 sh: add resource of USB host for SH7723 Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 77d11ba993bf1258f242b6a4ee0230aec8c6c8a4 Author: Yoshihiro Shimoda Date: Mon Jun 9 16:00:32 2008 +0900 usb: r8a66597-hcd: Add support for SH7723 USB host R8A66597 is similar to SH7723 USB 2.0 Host/Function module. In addition, the USB of SH7366 is compatible with SH7723. It can support SH7723 USB host by changing Kconfig. Signed-off-by: Yoshihiro Shimoda Acked-by: Greg Kroah-Hartman Signed-off-by: Paul Mundt commit 5bde47bc63a9e8ccf9b1542498e266196b307cc2 Author: Nobuhiro Iwamatsu Date: Wed Jun 4 17:16:15 2008 +0900 sh: Fix compile error SH7763 setup code SH7763's setup code use old DECLARE_INTC_DESC. There was a compile error because of this. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 576b91873fc012620fae2b33ddae3fee2fa0a4ef Author: Yusuke.Goda Date: Wed Jun 4 19:22:59 2008 +0900 sh: Add SH7723 SCIF support Signed-off-by: Yusuke Goda Signed-off-by: Paul Mundt commit 60d5019be8acef268f4676d229c490186d338fbc Author: Nathan Lynch Date: Wed Jun 4 08:31:28 2008 +1000 [POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG Now that walk_memory_resource() is available regardless of MEMORY_HOTPLUG's setting, this dependency is not needed. Signed-off-by: Nathan Lynch Acked-by: Jeff Garzik Acked-by: Yasunori Goto Signed-off-by: Paul Mackerras commit 0d5799449f0f373ca12681d86c941ae464146a37 Author: Nathan Lynch Date: Wed Jun 4 08:30:54 2008 +1000 [POWERPC] Make walk_memory_resource available with MEMORY_HOTPLUG=n The ehea driver was recently changed[1] to use walk_memory_resource() to detect the system's memory layout. However, walk_memory_resource() is available only when memory hotplug is enabled. So CONFIG_EHEA was made to depend on MEMORY_HOTPLUG [2], but it is inappropriate for a network driver to have such a dependency. Make the declaration of walk_memory_resource() and its powerpc implementation (ehea is powerpc-specific) unconditionally available. [1] 48cfb14f8b89d4d5b3df6c16f08b258686fb12ad "ehea: Add DLPAR memory remove support" [2] fb7b6ca2b6b7c23b52be143bdd5f55a23b9780c8 "ehea: Add dependency to Kconfig" Signed-off-by: Nathan Lynch Acked-by: Badari Pulavarty Signed-off-by: Paul Mackerras commit 420b5eeaee5b877829c4f0a514a5ad21448596af Author: Stephen Rothwell Date: Tue Jun 3 13:36:11 2008 +1000 [POWERPC] Use dev_set_name in pci_64.c During the next merge window, pci_name()'s return value will become const, so use the new dev_set_name() instead to avoid the warning (from linux-next): arch/powerpc/kernel/pci_64.c: In function 'of_create_pci_dev': arch/powerpc/kernel/pci_64.c:193: warning: passing argument 1 of 'sprintf' discards qualifiers from pointer target type Cc: Kay Sievers Cc: Greg KH Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0be234a46596cd19eb56d2cf46836de8221afb6b Author: Benjamin Herrenschmidt Date: Mon Jun 2 16:22:59 2008 +1000 [POWERPC] Fix incorrect enabling of VMX when building signal or user context When building a signal or a ucontext, we can incorrectly set the MSR_VEC bit of the kernel pt_regs->msr before returning to userspace if the task -ever- used VMX. This can lead to funny result if that stack used it in the past, then "lost" it (ie. it wasn't enabled after a context switch for example) and then called get_context. It can end up with VMX enabled and the registers containing values from some other task. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit efa58fbf19fb778a8ad2fd000a6dfa9c75263a37 Author: Adrian Bunk Date: Thu May 22 03:38:28 2008 +1000 [POWERPC] boot/Makefile CONFIG_ variable fixes This corrects the names of two CONFIG_ variables. Note that the CONFIG_MPC86XADS fix uncovers another bug (with mpc866_ads_defconfig) that will require fixing: <-- snip --> ... arch/powerpc/boot/dtc -O dtb -o arch/powerpc/boot/mpc866ads.dtb -b 0 /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/dts/mpc866ads.dts DTC: dts->dtb on file "/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/dts/mpc866ads.dts" WRAP arch/powerpc/boot/cuImage.mpc866ads powerpc64-linux-ld: arch/powerpc/boot/cuboot-mpc866ads.o: No such file: No such file or directory make[2]: *** [arch/powerpc/boot/cuImage.mpc866ads] Error 1 <-- snip --> Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit f751aa125d1843ea4a9a264b451fd5b1639fab20 Author: Adrian Bunk Date: Sun Jun 8 21:43:10 2008 +0300 fat_valid_media() isn't for userspace Commit 73f20e58b1d586e9f6d3ddc3aad872829aca7743 ("FAT_VALID_MEDIA(): remove pointless test") wrongly added the new fat_valid_media() function to the userspace-visible part of include/linux/msdos_fs.h Move it to the part of include/linux/msdos_fs.h that is not exported to userspace. Reported-by: Onur Küçük Reported-by: S.Çağlar Onur Signed-off-by: Adrian Bunk Acked-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit 3b8458a9793a92a6ca3cb24e309f19821bf0d8e5 Author: Graf Yang Date: Sat Jun 7 15:36:33 2008 +0800 Blackfin serial driver: fix up tty core set_ldisc API change breakage bug This is the patch that follows Linus's modification about set_ldisc. Graf has built and tested it on BF537 using Linus's git Tree. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 5bda27235b24146cf870de663141ee4fbfa8a70b Author: Mike Frysinger Date: Sat Jun 7 15:03:01 2008 +0800 Blackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8079ffa0e18baaf2940e52e0c118eef420a473a4 Author: Roland Dreier Date: Fri Jun 6 21:38:37 2008 -0700 IB/umem: Avoid sign problems when demoting npages to integer On a 64-bit architecture, if ib_umem_get() is called with a size value that is so big that npages is negative when cast to int, then the length of the page list passed to get_user_pages(), namely min_t(int, npages, PAGE_SIZE / sizeof (struct page *)) will be negative, and get_user_pages() will immediately return 0 (at least since 900cf086, "Be more robust about bad arguments in get_user_pages()"). This leads to an infinite loop in ib_umem_get(), since the code boils down to: while (npages) { ret = get_user_pages(...); npages -= ret; } Fix this by taking the minimum as unsigned longs, so that the value of npages is never truncated. The impact of this bug isn't too severe, since the value of npages is checked against RLIMIT_MEMLOCK, so a process would need to have an astronomical limit or have CAP_IPC_LOCK to be able to trigger this, and such a process could already cause lots of mischief. But it does let buggy userspace code cause a kernel lock-up; for example I hit this with code that passes a negative value into a memory registartion function where it is promoted to a huge u64 value. Cc: Signed-off-by: Roland Dreier commit 15e02a3b510aa4ef3d077ebc25eb3cd08b9af034 Author: Thara Gopinath Date: Mon Apr 28 16:55:01 2008 +0530 ARM: OMAP: Correcting the gpmc prefetch control register address Correcting the GPMC_PREFETCH_CONTROL register address Signed-off-by: Thara Gopinath Signed-off-by: Tony Lindgren commit 5f0e62c3e1db9acb35b750e02cddc1fcb8cfd52b Merge: aab2545... 571640c... Author: Linus Torvalds Date: Fri Jun 6 15:30:53 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: enable barriers by default jbd2: Fix barrier fallback code to re-lock the buffer head ext4: Display the journal_async_commit mount option in /proc/mounts jbd2: If a journal checksum error is detected, propagate the error to ext4 jbd2: Fix memory leak when verifying checksums in the journal ext4: fix online resize bug ext4: Fix uninit block group initialization with FLEX_BG ext4: Fix use of uninitialized data with debug enabled. commit 3c9155106d589584f67b026ec444e69c4a68d7dc Author: Avi Kivity Date: Tue May 20 16:21:13 2008 +0300 KVM: MMU: Fix is_empty_shadow_page() check The check is only looking at one of two possible empty ptes. Signed-off-by: Avi Kivity commit aab2545fdd6641b76af0ae96456c4ca9d1e50dad Author: Oleg Nesterov Date: Fri Jun 6 11:31:39 2008 -0700 uml: activate_mm: remove the dead PF_BORROWED_MM check use_mm() was changed to use switch_mm() instead of activate_mm(), since then nobody calls (and nobody should call) activate_mm() with PF_BORROWED_MM bit set. As Jeff Dike pointed out, we can also remove the "old != new" check, it is always true. Signed-off-by: Oleg Nesterov Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebb0e6264c7a65c51feb3575e9edb58eab0cf469 Author: Avi Kivity Date: Tue May 20 16:21:58 2008 +0300 KVM: MMU: Fix printk() format string Signed-off-by: Avi Kivity commit 06a1578e2448112d6f635b1a458a65e36f0f97c6 Merge: 256a13d... 27676a3... Author: Linus Torvalds Date: Fri Jun 6 11:33:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: Fix SM trap forwarding IB/ehca: Reject send WRs only for RESET, INIT and RTR state MAINTAINERS: Update NetEffect (iw_nes) entry IB/ipath: Fix device capability flags IB/ipath: Avoid test_bit() on u64 SDMA status value commit 256a13dd708004082a2de0938fd614b155c259e2 Merge: 330bcd2... 9f67fd5... Author: Linus Torvalds Date: Fri Jun 6 11:33:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/PCI: add workaround for bug in ASUS A7V600 BIOS (rev 1005) PCI/x86: fix up PCI stuff so that PCI_GOANY supports OLPC commit ff4b9df877b30b8a371d706d3552999dee450738 Author: Marcelo Tosatti Date: Thu Jun 5 00:08:11 2008 -0300 KVM: IOAPIC: only set remote_irr if interrupt was injected There's a bug in the IOAPIC code for level-triggered interrupts. Its relatively easy to trigger by sharing (virtio-blk + usbtablet was the testcase, initially reported by Gerd von Egidy). The "remote_irr" variable is used to indicate accepted but not yet acked interrupts. Its cleared from the EOI handler. Problem is that the EOI handler clears remote_irr unconditionally, even if it reinjected another pending interrupt. In that case, kvm_ioapic_set_irq() proceeds to ioapic_service() which sets remote_irr even if it failed to inject (since the IRR was high due to EOI reinjection). Since the TMR bit has been cleared by the first EOI, the second one fails to clear remote_irr. End result is interrupt line dead. Fix it by setting remote_irr only if a new pending interrupt has been generated (and the TMR bit for vector in question set). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 330bcd2f7bd1e2e66d54bf95adca0795b262469f Merge: 156a9ea... 868e15db... Author: Linus Torvalds Date: Fri Jun 6 11:32:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: emu10k1 - fix system hang with Audigy2 ZS Notebook PCMCIA card commit 8d2d73b9a5c35f2c6abf427afba7888cfc4cc65d Author: Avi Kivity Date: Wed Jun 4 18:42:24 2008 +0300 KVM: MMU: reschedule during shadow teardown Shadows for large guests can take a long time to tear down, so reschedule occasionally to avoid softlockup warnings. Signed-off-by: Avi Kivity commit 156a9ea43acb609ac89d48dbb9f0d05ee903a12e Merge: c8d10bf... ca05a99... Author: Linus Torvalds Date: Fri Jun 6 11:31:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6: capabilities: remain source compatible with 32-bit raw legacy capability support. LSM: remove stale web site from MAINTAINERS commit c8d10bffdbea5f82a8e491467a23fb2cc7da921b Merge: eb4e545... bc01886... Author: Linus Torvalds Date: Fri Jun 6 11:31:18 2008 -0700 Merge git://git.infradead.org/~dwmw2/mtd-2.6.26 * git://git.infradead.org/~dwmw2/mtd-2.6.26: [MTD] m25p80.c mutex unlock fix commit eb4e545d4ac82d9018487edb4419b33b9930c857 Author: David Sterba Date: Fri Jun 6 10:56:35 2008 +0200 ipwireless: Fix blocked sending Packet sending is driven by two flags, tx_ready and tx_queued. It was possible, that there were queued data for sending and hardware was flagged as blocked but in fact it was not. The tx_queued was indicator but should be really a counter else first fragmented packet resets tx_queued flag, but there may be pending packets which do not get sent. New semantics: tx_ready - set, if hw is ready to send packet, no packet is being transferred right now set the flag right at the place where data are copied into hw memory and not earlier without checking if it was succesful tx_queued - count of enqueued packets, including fragments Tested-by: Michal Rokos Signed-off-by: David Sterba Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit e693d71b46e64536581bf4884434fc1b8797e96f Author: Eli Collins Date: Sun Jun 1 20:24:40 2008 -0700 KVM: VMX: Clear CR4.VMXE in hardware_disable Clear CR4.VMXE in hardware_disable. There's no reason to leave it set after doing a VMXOFF. VMware Workstation 6.5 checks CR4.VMXE as a proxy for whether the CPU is in VMX mode, so leaving VMXE set means we'll refuse to power on. With this change the user can power on after unloading the kvm-intel module. I tested on kvm-67 and kvm-69. Signed-off-by: Eli Collins Signed-off-by: Avi Kivity commit 979b0fea2d9ae5d57237a368d571cbc84655fba6 Author: Jeff Layton Date: Thu Jun 5 22:47:00 2008 -0700 vm: add kzalloc_node() inline To get zeroed out memory from a particular NUMA node. To be used by sunrpc. Signed-off-by: Jeff Layton Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef421be741a3e56cb89088a7dd4f73cc38739d1b Author: Thomas Tuttle Date: Thu Jun 5 22:46:59 2008 -0700 pagemap: add documentation for pagemap Just a quick explanation of the pagemap interface from a userspace point of view, and an example of how to use it (in English, not code). Signed-off-by: Thomas Tuttle Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4710d1ac4c491dd8a28f57946214c0b5fe73cc87 Author: Thomas Tuttle Date: Thu Jun 5 22:46:58 2008 -0700 pagemap: return EINVAL, not EIO, for unaligned reads of kpagecount or kpageflags If the user tries to read from a position that is not a multiple of 8, or read a number of bytes that is not a multiple of 8, they have passed an invalid argument to read, for the purpose of reading these files. It's not an IO error because we didn't encounter any trouble finding the data they asked for. Signed-off-by: Thomas Tuttle Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbcdac0c20aa20d1daad41d9c138102b70e5aae4 Author: Thomas Tuttle Date: Thu Jun 5 22:46:58 2008 -0700 pagemap: return map count, not reference count, in /proc/kpagecount Since pagemap is all about examining pages mapped into processes' memory spaces, it makes sense for kpagecount to return the map counts, not the reference counts. Signed-off-by: Thomas Tuttle Cc: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4fa7ef037b17f2a3b9b393cb924e571fc04e784 Author: Tim Gardner Date: Thu Jun 5 22:46:55 2008 -0700 hdaps: fix module loading on Thinkpad T61P Adds DMI system identifier for ThinkPad T61. Originally written by Klaus S. Madsen. Taken from http://launchpadlibrarian.net/10864950/hdaps-t61.patch Signed-off-by: Tim Gardner Signed-off-by: maximilian attems Cc: Klaus S. Madsen Cc: Mark M. Hoffman Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aed5417593ad125283f35513573282139a8664b5 Author: Vegard Nossum Date: Thu Jun 5 22:46:53 2008 -0700 proc: calculate the correct /proc/ link count This patch: commit e9720acd728a46cb40daa52c99a979f7c4ff195c Author: Pavel Emelyanov Date: Fri Mar 7 11:08:40 2008 -0800 [NET]: Make /proc/net a symlink on /proc/self/net (v3) introduced a /proc/self/net directory without bumping the corresponding link count for /proc/self. This patch replaces the static link count initializations with a call that counts the number of directory entries in the given pid_entry table whenever it is instantiated, and thus relieves the burden of manually keeping the two in sync. [akpm@linux-foundation.org: cleanup] Acked-by: Eric W. Biederman Cc: Pavel Emelyanov Signed-off-by: Vegard Nossum Cc: "David S. Miller" Cc: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aabe188565124ee2ed060a072764d6ed34dfa4ed Author: David Woodhouse Date: Thu Jun 5 22:46:50 2008 -0700 rtc: class driver for ppc_md RTC functions This hooks up the platform-specific [gs]et_rtc_time functions so that kernels using CONFIG_RTC_CLASS have RTC support on most PowerPC platforms. A new driver, and one which we've been shipping in Fedora for a while already, since otherwise RTC support breaks. [akpm@linux-foundation.org: fix Kconfig indenting] Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras Acked-by: Alessandro Zummo Acked-by: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec0ced156f930aba24e7527905de294ad929ef65 Author: Adrian Bunk Date: Thu Jun 5 22:46:48 2008 -0700 asm-m32r/uaccess.h must #include This patch fixes the following compile error caused by commit 4016a1390d07f15b267eecb20e76a48fd5c524ef (mm/nommu.c: return 0 from kobjsize with invalid objects): /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c: In function 'kobjsize': /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: 'memory_end' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: for each function it appears in.) The patch also removes now no longer required memory_{start,end} declarations inside access_ok(). Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Cc: Hirokazu Takata Cc: Michael Hennerich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bb91784de6618c955994b2d5be332fb68c87ef1 Author: Josef Bacik Date: Thu Jun 5 22:46:47 2008 -0700 ext3: fix online resize bug There is a bug when we are trying to verify that the reserve inode's double indirect blocks point back to the primary gdt blocks. The fix is obvious, we need to mod the gdb count by the addr's per block. You can verify this with the following test case dd if=/dev/zero of=disk1 seek=1024 count=1 bs=100M losetup /dev/loop1 disk1 pvcreate /dev/loop1 vgcreate loopvg1 /dev/loop1 lvcreate -l 100%VG loopvg1 -n looplv1 mkfs.ext3 -J size=64 -b 1024 /dev/loopvg1/looplv1 mount /dev/loopvg1/looplv1 /mnt/loop dd if=/dev/zero of=disk2 seek=1024 count=1 bs=50M losetup /dev/loop2 disk2 pvcreate /dev/loop2 vgextend loopvg1 /dev/loop2 lvextend -l 100%VG /dev/loopvg1/looplv1 resize2fs /dev/loopvg1/looplv1 without this patch the resize2fs fails, with it the resize2fs succeeds. Signed-off-by: Josef Bacik Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d100d148aa48df3b6ad526a48624f906695efe60 Author: Pekka Enberg Date: Thu Jun 5 22:46:46 2008 -0700 nommu: fix ksize() abuse The nommu binfmt code uses ksize() for pointers returned from do_mmap() which is wrong. This converts the call-sites to use the nommu specific kobjsize() function which works as expected. Cc: Christoph Lameter Cc: Matt Mackall Acked-by: Paul Mundt Acked-by: David Howells Signed-off-by: Pekka Enberg Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0842b245a8e6c14e3aa49f91018902591d1069b3 Author: Paul Jackson Date: Thu Jun 5 22:46:45 2008 -0700 doc: document the kernel-doc conventions for kernel hackers Provide documentation of the kernel-doc documentation conventions oriented to kernel hackers. Since I figure that there will be more people reading this kernel-doc-nano-HOWTO.txt file who are kernel developers focused on the rest of the kernel, than there will be readers of this file who are documentation developers extracting that embedded kernel-doc documentation, I have taken the liberty of making the new section added here: How to format kernel-doc comments the first section of the kernel-doc-nano-HOWTO.txt file. This first section is intended to introduce, motivate and provide basic usage of the kernel-doc mechanism for kernel hackers developing other portions of the kernel. Signed-off-by: Paul Jackson Acked-by: Randy Dunlap Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 659179b28f15ab1b1db5f8767090f5e728f115a1 Author: Geoff Levand Date: Thu Jun 5 22:46:44 2008 -0700 fbdev: export symbol fb_mode_option Frame buffer and mode setting drivers can be built as modules, so fb_mode_option needs to be exported to support these. Prevents this error: ERROR: "fb_mode_option" [drivers/ps3/ps3av_mod.ko] undefined! Signed-off-by: Geoff Levand Acked-by: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1502cb361666808acb1dfd92238fc2b7a7a48221 Author: Alan Cox Date: Thu Jun 5 22:46:42 2008 -0700 MAINTAINERS: reiserfs entry is out of date Signed-off-by: Alan Cox Cc: Edward Shishkin Cc: Jeff Mahoney Cc: Chris Mason Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd5a433d4887f0a6c766c258ca335100ffe208a Author: Vegard Nossum Date: Thu Jun 5 22:46:42 2008 -0700 v850: fix typo in header guard Signed-off-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b2d38b48b5abb6921ac6ad2d080ce82887cdbc7 Author: Vegard Nossum Date: Thu Jun 5 22:46:41 2008 -0700 h8300: fix typo in header guard Signed-off-by: Vegard Nossum Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c81c5c95c00c35a328e1757ca45a66647105f6c Author: Haavard Skinnemoen Date: Thu Jun 5 22:46:39 2008 -0700 atmel_serial: filter out FP during baud rate detection I made a change to u-boot that used the FP (Fractional Part) field of BRGR to achieve more accurate baud rate generation. Unfortunately, the atmel_serial driver looks at the whole BRGR register when trying to detect the baud rate that the port is currently running at, so setting FP to a nonzero value breaks the baud rate detection. I'll sit on the u-boot patch for a while longer, but this is clearly a bug in the atmel_serial driver which should be fixed. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81c6ce9bd3ed3a88caeb9ed97d874450d53339dc Author: Nick Piggin Date: Thu Jun 5 22:46:38 2008 -0700 vt: fix vc_resize locking Lockdep says we can't take tasklist lock or sighand lock inside ctrl_lock. Signed-off-by: Nick Piggin Acked-by: Alan Cox Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfcceb26f89da86ec4ac9583c4515504af8c6c84 Author: Nadia Derbey Date: Thu Jun 5 22:46:38 2008 -0700 ipc: only output msgmni value at boot time When posting: [PATCH 1/8] Scaling msgmni to the amount of lowmem (see http://lkml.org/lkml/2008/2/11/171), I have added a KERN_INFO message that is output each time msgmni is recomputed. In http://lkml.org/lkml/2008/4/29/575 Tony Luck complained that this message references an ipc namespace address that is useless. I first thought of using an audit_log instead of a printk, as suggested by Serge Hallyn. But unfortunately, we do not have any other information than the namespace address to provide here too. So I chose to move the message and output it only at boot time, removing the reference to the namespace. Signed-off-by: Nadia Derbey Cc: Pierre Peiffer Cc: Manfred Spraul Acked-by: Tony Luck Cc: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68aa0a206a7a2dd8655a50b36e8274eb87b84544 Author: Nadia Derbey Date: Thu Jun 5 22:46:36 2008 -0700 ipc: restore MSGPOOL original value When posting: [PATCH 1/8] Scaling msgmni to the amount of lowmem (see http://article.gmane.org/gmane.linux.kernel/637849/) I changed the MSGPOOL value to make it fit what is said in the man pages (i.e. a size in bytes). But Michael Kerrisk rightly complained that this change could affect the ABI. So I'm posting this patch to make MSGPOOL expressed back in Kbytes. Michael, on his side, has fixed the man page. Signed-off-by: Nadia Derbey Cc: Pierre Peiffer Cc: Manfred Spraul Acked-by: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 774533b3e86fa52941c79aa80ab3f0cc511bba7f Author: Jan Engelhardt Date: Thu Jun 5 22:46:34 2008 -0700 vt: fix background color on line feed, DEC invert Original report: """I used to force my console to black-on-white by the command `setterm -inversescreen on`. In 2.6.26-rc4, I get lots of black background characters.""" Another addendum to commit c9e587ab. This was previously missed out since I was not aware of what vc_decscnm was for. Signed-off-by: Jan Engelhardt Reported-by: Tested-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 879000f94442860e72c934f9e568989bc7fb8ec4 Author: CHIKAMA masaki Date: Thu Jun 5 22:46:33 2008 -0700 cpufreq: fix null object access on Transmeta CPU If cpu specific cpufreq driver(i.e. longrun) has "setpolicy" function, governor object isn't set into cpufreq_policy object at "__cpufreq_set_policy" function in driver/cpufreq/cpufreq.c . This causes a null object access at "store_scaling_setspeed" and "show_scaling_setspeed" function in driver/cpufreq/cpufreq.c when reading or writing through /sys interface (ex. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed) Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=10654 https://bugzilla.redhat.com/show_bug.cgi?id=443354 Signed-off-by: CHIKAMA Masaki Cc: Dave Jones Cc: Chuck Ebbert Acked-by: Dominik Brodowski Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10732c35dff6c2e15e413e7806a7114a2faa0ecf Author: Krzysztof Helt Date: Thu Jun 5 22:46:33 2008 -0700 fbcon: fix wrong vmode bits copied on console switch The interlaced and double line mode bits should not be copied to new console when the console is switched. Otherwise, the new console may be set to incorrect refresh rate. Also, the x and y offsets does not need to be copied. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba6a4d32d8677c99e73798d3375417f8a6d46de Author: Daniel Walker Date: Thu Jun 5 22:46:32 2008 -0700 keys: remove unused key_alloc_sem This semaphore doesn't appear to be used, so remove it. Signed-off-by: Daniel Walker Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37340746a66e5e7feed5945f28cb75d90a8fd9f6 Author: Lai Jiangshan Date: Thu Jun 5 22:46:32 2008 -0700 cpusets: fix bug when adding nonexistent cpu or mem Adding a nonexistent cpu to a cpuset will be omitted quietly. It should return -EINVAL. Example: (real_nr_cpus <= 4 < NR_CPUS or cpu#4 was just offline) # cat cpus 0-1 # /bin/echo 4 > cpus # /bin/echo $? 0 # cat cpus # The same occurs when add a nonexistent mem. This patch will fix this bug. And when *buf == "", the check is unneeded. Signed-off-by: Lai Jiangshan Acked-by: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aae8679b0ebcaa92f99c1c3cb0cd651594a43915 Author: Thomas Tuttle Date: Thu Jun 5 22:46:31 2008 -0700 pagemap: fix bug in add_to_pagemap, require aligned-length reads of /proc/pid/pagemap Fix a bug in add_to_pagemap. Previously, since pm->out was a char *, put_user was only copying 1 byte of every PFN, resulting in the top 7 bytes of each PFN not being copied. By requiring that reads be a multiple of 8 bytes, I can make pm->out and pm->end u64*s instead of char*s, which makes put_user work properly, and also simplifies the logic in add_to_pagemap a bit. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Thomas Tuttle Cc: Matt Mackall Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1ee2971f5bd8a16bc5ecfe1b00e14b4fe407c4f Author: Pavel Emelyanov Date: Thu Jun 5 22:46:28 2008 -0700 devscgroup: make white list more compact in some cases Consider you added a 'c foo:bar r' permission to some cgroup and then (a bit later) 'c'foo:bar w' for it. After this you'll see the c foo:bar r c foo:bar w lines in a devices.list file. Another example - consider you added 10 'c foo:bar r' permissions to some cgroup (e.g. by mistake). After this you'll see 10 c foo:bar r lines in a list file. This is weird. This situation also has one more annoying consequence. Having many items in a white list makes permissions checking slower, sine it has to walk a longer list. The proposal is to merge permissions for items, that correspond to the same device. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7db9cfd380205f6b50afdc3bc3619f876a5eaf0d Author: Pavel Emelyanov Date: Thu Jun 5 22:46:27 2008 -0700 devscgroup: check for device permissions at mount time Currently even if a task sits in an all-denied cgroup it can still mount any block device in any mode it wants. Put a proper check in do_open for block device to prevent this. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Tested-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc9cb219aac24ffc711566c8f372c2b3a3bf840f Author: Pavel Emelyanov Date: Thu Jun 5 22:46:26 2008 -0700 devscgroup: relax task to dev_cgroup conversion Two functions, that need to get a device_cgroup from a task (they are devcgroup_inode_permission and devcgroup_inode_mknod) make it in a strange way: They get a css_set from task, then a subsys_state from css_set, then a cgroup from the state and then a subsys_state again from the cgroup. Besides, the devices_subsys_id is read from memory, whilst there's a enum-ed constant for it. Optimize this part a bit: 1. Get the subsys_stats form the task and be done - no 2 extra dereferences, 2. Use the device_subsys_id constant, not the value from memory (i.e. one less dereference). Found while preparing 2.6.26 OpenVZ port. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Acked-by: Paul Menage Cc: Balbir Singh Cc: James Morris Cc: Chris Wright Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b66862f7663332aa1ecb3ebda4086360ddb8befc Author: Pavel Emelyanov Date: Thu Jun 5 22:46:24 2008 -0700 devcgroup: make a helper to convert cgroup_subsys_state to devs_cgroup This is just picking the container_of out of cgroup_to_devcgroup into a separate function. This new css_to_devcgroup will be used in the 2nd patch. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Paul Menage Cc: Balbir Singh Cc: James Morris Cc: Chris Wright Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93b071139a956e51c98cdefd50a47981a4eb852e Author: Akinobu Mita Date: Thu Jun 5 22:46:21 2008 -0700 introduce memory_read_from_buffer() This patch introduces memory_read_from_buffer(). The only difference between memory_read_from_buffer() and simple_read_from_buffer() is which address space the function copies to. simple_read_from_buffer copies to user space memory. memory_read_from_buffer copies to normal memory. Signed-off-by: Akinobu Mita Cc: Al Viro Cc: Doug Warzecha Cc: Zhang Rui Cc: Matt Domsch Cc: Abhay Salunke Cc: Greg Kroah-Hartman Cc: Markus Rechberger Cc: Kay Sievers Cc: Bob Moore Cc: Thomas Renninger Cc: Len Brown Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Cc: Geert Uytterhoeven Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Peter Oberparleiter Cc: Michael Holzheu Cc: Brian King Cc: James E.J. Bottomley Cc: Andrew Vasquez Cc: Seokmann Ju Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3527fb326f07bc8e85cf66d4f987ebeea24e8e4a Author: Harvey Harrison Date: Thu Jun 5 22:46:19 2008 -0700 lib: export bitrev16 Bluetooth will be able to use this. Signed-off-by: Harvey Harrison Cc: Marcel Holtmann Cc: Dave Young Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2eb432715a81a703e626df59347ba3557009557 Author: Jean Delvare Date: Thu Jun 5 22:46:18 2008 -0700 rtc-ds1374: rename device to just "ds1374" Change the name of the device from "rtc-ds1374" to just "ds1374", to match what all other RTC drivers do. I seem to remember that this name was chosen to avoid possible confusion with an older ds1374 driver, but that driver was removed 3 months ago. Signed-off-by: Jean Delvare Signed-off-by: Alessandro Zummo Acked-by: Kumar Gala Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44d1b980c72db0faf35adb082fb2208351803028 Author: David Woodhouse Date: Thu Jun 5 22:46:18 2008 -0700 Fix various old email addresses for dwmw2 Although if people have questions about ARCnet, perhaps it's _better_ for them to be mailing dwmw2@cam.ac.uk about it... Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6d8adf477439e7086224bc9674c6b6638780783 Author: Ingo Molnar Date: Thu Jun 5 22:46:14 2008 -0700 uml: PATH_MAX needs limits.h Include limits.h to get a definition of PATH_MAX. Signed-off-by: Ingo Molnar Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5ede6f776bdb1483bcd086f79c3bf41fed3865 Author: Jeff Dike Date: Thu Jun 5 22:46:13 2008 -0700 uml: stub needs to tolerate SIGWINCH We lost the marking of SIGWINCH as being OK to receive during stub execution, causing a panic should that happen. Cc: Benedict Verheyen Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bfd04b974689f700bbd053ad6e66b0a95fb80c9 Author: Jeff Dike Date: Thu Jun 5 22:46:13 2008 -0700 uml: memcpy export needs to follow host declaration x86_64 defines either memcpy or __memcpy depending on the gcc version, and it looks like UML needs to follow that in its exporting. Cc: Gabriel C Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40fb16a360d9c6459afee91dc793c1e3374feb94 Author: Tom Spink Date: Thu Jun 5 22:46:12 2008 -0700 uml: deal with inaccessible address space start This patch makes os_get_task_size locate the bottom of the address space, as well as the top. This is for systems which put a lower limit on mmap addresses. It works by manually scanning pages from zero onwards until a valid page is found. Because the bottom of the address space may not be zero, it's not sufficient to assume the top of the address space is the size of the address space. The size is the difference between the top address and bottom address. [jdike@addtoit.com: changed the name to reflect that this function is supposed to return the top of the process address space, not its size and changed the return value to reflect that. Also some minor formatting changes] Signed-off-by: Tom Spink Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f31287b443f30a591539e448fb628e3827a8f61 Author: Huang Weiyi Date: Thu Jun 5 22:46:11 2008 -0700 uml: remove a duplicate include Removed duplicated include file "kern_util.h" in arch/um/drivers/ubd_kern.c. Signed-off-by: Huang Weiyi Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06e1e4ffbd1932e288839b3140cda6b8141eb684 Author: Jeff Dike Date: Thu Jun 5 22:46:10 2008 -0700 uml: deal with host time going backwards Protection against the host's time going backwards (eg, ntp activity on the host) by keeping track of the time at the last tick and if it's greater than the current time, keep time stopped until the host catches up. Cc: Nix Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34397892a3d677d857fdaf8dec66a66b07dde0b5 Author: Paul Jackson Date: Thu Jun 5 22:46:09 2008 -0700 doc: update to URL and status of kernel-docs.txt entry Update status and URL for the "Gary's Encyclopedia" entry. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a361a82c10c20eff402d72ce83b66913d04894ee Author: Dan Williams Date: Thu Jun 5 22:46:08 2008 -0700 fujitsu-laptop: autoload module on Lifebook P1510D Signed-off-by: Dan Williams Cc: Jonathan Woithe Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfd53fc03670c7a544a56d441eb1a6cc800d72b Author: Paul Mundt Date: Thu Jun 5 22:46:08 2008 -0700 nommu: fix kobjsize() for SLOB and SLUB kobjsize() has been abusing page->index as a method for sorting out compound order, which blows up both for page cache pages, and SLOB's reuse of the index in struct slob_page. Presently we are not able to accurately size arbitrary pointers that don't come from kmalloc(), so the best we can do is sort out the compound order from the head page if it's a compound page, or default to 0-order if it's impossible to ksize() the object. Obviously this leaves quite a bit to be desired in terms of object sizing accuracy, but the behaviour is unchanged over the existing implementation, while fixing the page->index oopses originally reported here: http://marc.info/?l=linux-mm&m=121127773325245&w=2 Accuracy could also be improved by having SLUB and SLOB both set PG_slab on ksizeable pages, rather than just handling the __GFP_COMP cases irregardless of the PG_slab setting, as made possibly with Pekka's patches: http://marc.info/?l=linux-kernel&m=121139439900534&w=2 http://marc.info/?l=linux-kernel&m=121139440000537&w=2 http://marc.info/?l=linux-kernel&m=121139440000540&w=2 This is primarily a bugfix for nommu systems for 2.6.26, with the aim being to gradually kill off kobjsize() and its particular brand of object abuse entirely. Reviewed-by: Pekka Enberg Signed-off-by: Paul Mundt Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f09bdfc717a0e1a89a029001484d5a195faab64 Author: Geert Uytterhoeven Date: Thu Jun 5 22:46:07 2008 -0700 m68k: enable CONFIG_COMPAT_BRK by default As some m68k machines have plenty of libc5 binaries in active use, enable CONFIG_COMPAT_BRK by default. Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b4592cf77b973c29e7c9695873a26052b58951 Author: Jiri Kosina Date: Thu Jun 5 22:46:05 2008 -0700 brk: make sys_brk() honor COMPAT_BRK when computing lower bound Fix a regression introduced by commit 4cc6028d4040f95cdb590a87db478b42b8be0508 Author: Jiri Kosina Date: Wed Feb 6 22:39:44 2008 +0100 brk: check the lower bound properly The check in sys_brk() on minimum value the brk might have must take CONFIG_COMPAT_BRK setting into account. When this option is turned on (i.e. we support ancient legacy binaries, e.g. libc5-linked stuff), the lower bound on brk value is mm->end_code, otherwise the brk start is allowed to be arbitrarily shifted. Signed-off-by: Jiri Kosina Tested-by: Geert Uytterhoeven Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33dda515a1995dfb3b6b57d7ace9b3ee9d449c11 Author: Roland.Kletzing Date: Thu Jun 5 22:46:04 2008 -0700 drivers/char/ip2: fix Kconfig after ip2/ip2main merge As commit 6089093e588ee3f6aed99d08b1cf5ea37c52cf97 ("ip2: fix crashes on load/unload") fixed the ip2 crashes on load/unload by making ip2/ip2main one module (ip2), Kconfig shouldn't mention a now non-existing module. Signed-off-by: Roland.Kletzing Acked-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6266e34713dc286b52623d8a4ff846973c0bcce Author: Alexey Dobriyan Date: Thu Jun 5 22:46:03 2008 -0700 edd: fix incorrect return of 1 from module_init Signed-off-by: Alexey Dobriyan Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3e49afbb66109613c3474f2273f5830ac2dcb09 Author: Michael Halcrow Date: Thu Jun 5 22:46:02 2008 -0700 eCryptfs: remove unnecessary page decrypt call The page decrypt calls in ecryptfs_write() are both pointless and buggy. Pointless because ecryptfs_get_locked_page() has already brought the page up to date, and buggy because prior mmap writes will just be blown away by the decrypt call. This patch also removes the declaration of a now-nonexistent function ecryptfs_write_zeros(). Thanks to Eric Sandeen and David Kleikamp for helping to track this down. Eric said: fsx w/ mmap dies quickly ( < 100 ops) without this, and survives nicely (to millions of ops+) with it in place. Signed-off-by: Michael Halcrow Cc: Eric Sandeen Cc: Dave Kleikamp Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c45dcabd2626c56f8c1235df9db065f584f3ac82 Author: Andy Whitcroft Date: Thu Jun 5 22:46:01 2008 -0700 update checkpatch.pl to version 0.19 This version is a bit of a whopper. This version brings a few new checks, improvements to a number of checks mostly through modifications to the way types are parsed, several fixes to quote/comment handling, as well as the usual slew of fixes for false positives. Of note: - return is not a function and is now reported, - preprocessor directive detection is loosened to match C99 standard, - we now intuit new type modifiers, and - comment handling is much improved Andy Whitcroft (18): Version: 0.19 fix up a couple of missing newlines in reports colon to parenthesis spacing varies on asm values: #include is a preprocessor statement quotes: fix single character quotes at line end add typedef exception for the non-pointer "function types" kerneldoc parameters must be on one line, relax line length types: word boundary is not always required improved #define bracketing reports uninitialized_var is an annotation not a function name possible types: add possible modifier handling possible types: fastcall is a type modifier types: unsigned is not a modifier on all types static/external initialisation to zero should allow modifiers checkpatch: fix recognition of preprocessor directives -- part 2 comments: fix inter-hunk comment tracking return is not a function do not report include/asm/foo.h use in include/linux/foo.h return is not a function -- tighten test [jengelh@computergmbh.de: fix recognition of preprocessor directives] Signed-off-by: Andy Whitcroft Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4feead71fa68a41db1d4f065c0f91fd67288877d Author: Anton Vorontsov Date: Thu Jun 5 22:45:58 2008 -0700 serial: fix driver_name conflicts Some drivers are using too generic "serial" name for driver_name, this might cause issues, like this: Freescale QUICC Engine UART device driver proc_dir_entry 'serial' already registered Call Trace: [cf82de50] [c0007f7c] show_stack+0x4c/0x1ac (unreliable) [cf82de90] [c00b03fc] proc_register+0xfc/0x1ac [cf82dec0] [c00b05c8] create_proc_entry+0x60/0xac [cf82dee0] [c00b23dc] proc_tty_register_driver+0x60/0x98 [cf82def0] [c016dbd8] tty_register_driver+0x1b4/0x228 [cf82df20] [c0184d70] uart_register_driver+0x144/0x194 [cf82df40] [c030a378] ucc_uart_init+0x2c/0x94 [cf82df50] [c02f21a0] kernel_init+0x98/0x27c [cf82dff0] [c000fa74] kernel_thread+0x44/0x60 ^^ The board is using ucc_uart.c and 8250.c, both registered as "serial". This patch fixes two drivers that are using "serial" for driver_name and not "ttyS" for dev_name. Drivers that are using "ttyS" for dev_name, will conflict anyway, so we don't bother with these. Signed-off-by: Anton Vorontsov Acked-by: Alan Cox Acked-By: Timur Tabi Acked-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4647875819aa210115d926242aa18e034517cece Author: Nick Piggin Date: Thu Jun 5 22:45:57 2008 -0700 hugetlb: fix lockdep error ============================================= [ INFO: possible recursive locking detected ] 2.6.26-rc4 #30 --------------------------------------------- heap-overflow/2250 is trying to acquire lock: (&mm->page_table_lock){--..}, at: [] .copy_hugetlb_page_range+0x108/0x280 but task is already holding lock: (&mm->page_table_lock){--..}, at: [] .copy_hugetlb_page_range+0xfc/0x280 other info that might help us debug this: 3 locks held by heap-overflow/2250: #0: (&mm->mmap_sem){----}, at: [] .dup_mm+0x134/0x410 #1: (&mm->mmap_sem/1){--..}, at: [] .dup_mm+0x144/0x410 #2: (&mm->page_table_lock){--..}, at: [] .copy_hugetlb_page_range+0xfc/0x280 stack backtrace: Call Trace: [c00000003b2774e0] [c000000000010ce4] .show_stack+0x74/0x1f0 (unreliable) [c00000003b2775a0] [c0000000003f10e0] .dump_stack+0x20/0x34 [c00000003b277620] [c0000000000889bc] .__lock_acquire+0xaac/0x1080 [c00000003b277740] [c000000000089000] .lock_acquire+0x70/0xb0 [c00000003b2777d0] [c0000000003ee15c] ._spin_lock+0x4c/0x80 [c00000003b277870] [c0000000000cf2e8] .copy_hugetlb_page_range+0x108/0x280 [c00000003b277950] [c0000000000bcaa8] .copy_page_range+0x558/0x790 [c00000003b277ac0] [c000000000050fe0] .dup_mm+0x2d0/0x410 [c00000003b277ba0] [c000000000051d24] .copy_process+0xb94/0x1020 [c00000003b277ca0] [c000000000052244] .do_fork+0x94/0x310 [c00000003b277db0] [c000000000011240] .sys_clone+0x60/0x80 [c00000003b277e30] [c0000000000078c4] .ppc_clone+0x8/0xc Fix is the same way that mm/memory.c copy_page_range does the lockdep annotation. Acked-by: KOSAKI Motohiro Acked-by: Adam Litke Acked-by: Nishanth Aravamudan Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2d4ecafd24d6eee4ae6bdbede0cfd0e78423a33 Author: Krzysztof Helt Date: Thu Jun 5 22:45:56 2008 -0700 modedb: fix incorrect sync and vmode flags for CVT modes The temporary structure for calculated CVT mode is not initialized. Few fields have only bits or-ed or and-ed so they may be left in incorrect (random) state. Testing of the tridentfb seems like a good exercise for the fbdev layer. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8c141e8fd80fa64d80c6a74492053f25a28e0ea Author: Adrian Bunk Date: Thu Jun 5 22:45:55 2008 -0700 frv: don't offer BINFMT_FLAT Fix the following compile error: CC fs/binfmt_flat.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:36: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/flat.h:14:22: error: asm/flat.h: No such file or directory /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'create_flat_tables': /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:124: error: implicit declaration of function 'flat_stack_align' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:125: error: implicit declaration of function 'flat_argvp_envp_on_stack' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'calc_reloc': /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:347: error: implicit declaration of function 'flat_reloc_valid' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'load_flat_file': /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:479: error: implicit declaration of function 'flat_old_ram_flag' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:755: error: implicit declaration of function 'flat_set_persistent' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:757: error: implicit declaration of function 'flat_get_relocate_addr' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:765: error: implicit declaration of function 'flat_get_addr_from_rp' /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:781: error: implicit declaration of function 'flat_put_addr_at_rp' Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Tested-by: David Howells Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a7d68e899b7f609708e7590784344f03640f774 Author: Miao Xie Date: Thu Jun 5 22:45:54 2008 -0700 cpusets: fix and update Documentation Make the doc consistent with current cpusets implementation. Signed-off-by: Miao Xie Acked-by: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c337869d95011495fa181536786e74aa2d7ff031 Author: Dan Williams Date: Thu Jun 5 22:45:54 2008 -0700 md: do not compute parity unless it is on a failed drive If a block is computed (rather than read) then a check/repair operation may be lead to believe that the data on disk is correct, when infact it isn't. So only compute blocks for failed devices. This issue has been around since at least 2.6.12, but has become harder to hit in recent kernels since most reads bypass the cache. echo repair > /sys/block/mdN/md/sync_action will set the parity blocks to the correct state. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6d8113a986c66aeb379a26b6e0062488b3e59e1 Author: Dan Williams Date: Thu Jun 5 22:45:53 2008 -0700 md: fix uninitialized use of mddev->recovery_wait If an array was created with --assume-clean we will oops when trying to set ->resync_max. Fix this by initializing ->recovery_wait in mddev_find. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0a115e5aa554b93150a8dc1c3fe15467708abb2 Author: Dan Williams Date: Thu Jun 5 22:45:52 2008 -0700 md: fix prexor vs sync_request race During the initial array synchronization process there is a window between when a prexor operation is scheduled to a specific stripe and when it completes for a sync_request to be scheduled to the same stripe. When this happens the prexor completes and the stripe is unconditionally marked "insync", effectively canceling the sync_request for the stripe. Prior to 2.6.23 this was not a problem because the prexor operation was done under sh->lock. The effect in older kernels being that the prexor would still erroneously mark the stripe "insync", but sync_request would be held off and re-mark the stripe as "!in_sync". Change the write completion logic to not mark the stripe "in_sync" if a prexor was performed. The effect of the change is to sometimes not set STRIPE_INSYNC. The worst this can do is cause the resync to stall waiting for STRIPE_INSYNC to be set. If this were happening, then STRIPE_SYNCING would be set and handle_issuing_new_read_requests would cause all available blocks to eventually be read, at which point prexor would never be used on that stripe any more and STRIPE_INSYNC would eventually be set. echo repair > /sys/block/mdN/md/sync_action will correct arrays that may have lost this race. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c8daddcbe03a22402ecf943bb88302601c6835 Author: David Brownell Date: Thu Jun 5 22:45:50 2008 -0700 spi: fix refcount-related spidev oops-on-rmmod This addresses other oopsing paths in "spidev" by changing how it manages refcounting. It decouples the lifecycle of the per-device data from the class device (not just the spi device): - Use class_{create,destroy} not class_{register,unregister}. - Use device_{create,destroy} not device_{register,unregister}. - Free the per-device data only when TWO conditions are true: * Driver is unbound from underlying SPI device, and * Device is no longer open (new) Also, spi_{get,set}_drvdata not dev_{get,set}_drvdata for simpler code. Signed-off-by: David Brownell Sebastian Siewior Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f5997140f22f68f6390c49941150d3fa8a95cb7 Author: Marcelo Tosatti Date: Tue May 27 12:10:20 2008 -0300 KVM: migrate PIT timer Migrate the PIT timer to the physical CPU which vcpu0 is scheduled on, similarly to what is done for the LAPIC timers, otherwise PIT interrupts will be delayed until an unrelated event causes an exit. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 27676a3e166b352928a8ef7b1c0e322f3c471a3e Author: Ralph Campbell Date: Fri Jun 6 11:23:29 2008 -0700 IB/ipath: Fix SM trap forwarding SM/SMA traps received by the ipath driver should be forwarded to the SM if it is running on the host. The ib_ipath driver was incorrectly replying with "bad method." Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9dcb40e1aa5bfe7d6ffc729f3c2b6c8f1392d2d3 Author: Hollis Blanchard Date: Wed May 21 18:22:55 2008 -0500 KVM: ppc: Report bad GFNs This code shouldn't be hit anyways, but when it is, it's useful to have a little more information about the failure. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 905fa4b9d6e2c9fd1c9ad84e3abe83021f498f53 Author: Hollis Blanchard Date: Wed May 21 18:22:54 2008 -0500 KVM: ppc: Use a read lock around MMU operations, and release it on error gfn_to_page() and kvm_release_page_clean() are called from other contexts with mmap_sem locked only for reading. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 52435b7c7a29f7dd7947c8c204494d7f52f14813 Author: Hollis Blanchard Date: Wed May 21 18:22:53 2008 -0500 KVM: ppc: Remove unmatched kunmap() call We're not calling kmap() now, so we shouldn't call kunmap() either. This has no practical effect in the non-highmem case, which is why it hasn't caused more obvious problems. Pointed out by Anthony Liguori. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit ac3cd34e4eb9e3dccaec8e586c073ba2660b322f Author: Hollis Blanchard Date: Wed May 21 18:22:52 2008 -0500 KVM: ppc: add lwzx/stwz emulation Somehow these load/store instructions got missed before, but weren't used by the guest so didn't break anything. Signed-off-by: Hollis Blanchard Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit ce263d70e509287ee761f9bba519342f57b121ca Author: Hollis Blanchard Date: Wed May 21 18:22:51 2008 -0500 KVM: ppc: Remove duplicate function This was left behind from some code movement. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 088af1543c611f4200658250b6a4467b7eb496a6 Author: Joachim Fenkes Date: Fri Jun 6 11:21:33 2008 -0700 IB/ehca: Reject send WRs only for RESET, INIT and RTR state Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e52b2af541bcb299212a63cfa3e3231618a415be Author: Carsten Otte Date: Wed May 21 13:37:44 2008 +0200 KVM: s390: Fix race condition in kvm_s390_handle_wait The call to add_timer was issued before local_int.lock was taken and before timer_due was set to 0. If the timer expires before the lock is being taken, the timer function will set timer_due to 1 and exit before the vcpu falls asleep. Depending on other external events, the vcpu might sleep forever. This fix pulls setting timer_due to the beginning of the function before add_timer, which ensures correct behavior. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 1f0d0f094df9a570dfc26d5eb825986b7e165e1d Author: Carsten Otte Date: Wed May 21 13:37:40 2008 +0200 KVM: s390: Send program check on access error If the guest accesses non-existing memory, the sie64a function returns -EFAULT. We must check the return value and send a program check to the guest if the sie instruction faulted, otherwise the guest will loop at the faulting code. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 0ff318674503ce3787ef62d84f4d948db204b268 Author: Carsten Otte Date: Wed May 21 13:37:37 2008 +0200 KVM: s390: fix interrupt delivery The current code delivers pending interrupts before it checks for need_resched. On a busy host, this can lead to a longer interrupt latency if the interrupt is injected while the process is scheduled away. This patch moves delivering the interrupt _after_ schedule(), which makes more sense. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 71cde5879f10b639506bc0b9f29a89f58b42a17e Author: Christian Borntraeger Date: Wed May 21 13:37:34 2008 +0200 KVM: s390: handle machine checks when guest is running The low-level interrupt handler on s390 checks for _TIF_WORK_INT and exits the guest context, if work is pending. TIF_WORK_INT is defined as_TIF_SIGPENDING | _TIF_NEED_RESCHED | _TIF_MCCK_PENDING. Currently the sie loop checks for signals and reschedule, but it does not check for machine checks. That means that we exit the guest context if a machine check is pending, but we do not handle the machine check. Signed-off-by: Christian Borntraeger CC: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 74b6b522ec83f9c44fc7743f2adcb24664aa8f45 Author: Christian Borntraeger Date: Wed May 21 13:37:29 2008 +0200 KVM: s390: fix locking order problem in enable_sie There are potential locking problem in enable_sie. We take the task_lock and the mmap_sem. As exit_mm uses the same locks vice versa, this triggers a lockdep warning. The second problem is that dup_mm and mmput might sleep, so we must not hold the task_lock at that moment. The solution is to dup the mm unconditional and use the task_lock before and afterwards to check if we can use the new mm. dup_mm and mmput are called outside the task_lock, but we run update_mm while holding the task_lock, protection us against ptrace. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Acked-by: Martin Schwidefsky Signed-off-by: Avi Kivity commit b8cee18cc75d7b9dbe6c6526dfae9ab49e84fa95 Author: Christian Borntraeger Date: Wed May 21 13:37:16 2008 +0200 KVM: s390: use yield instead of schedule to implement diag 0x44 diag 0x44 is the common way on s390 to yield the cpu to the hypervisor. It is called by the guest in cpu_relax and in the spinlock code to yield to other guest cpus. This semantic is similar to yield. Lets replace the call to schedule with yield to make sure that current is really yielding. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 33e3885de25148e00595c4dd808d6eb15db2edcf Author: Avi Kivity Date: Wed May 21 15:34:25 2008 +0300 KVM: x86 emulator: fix hypercall return value on AMD The hypercall instructions on Intel and AMD are different. KVM allows the guest to choose one or the other (the default is Intel), and if the guest chooses incorrectly, KVM will patch it at runtime to select the correct instruction. This allows live migration between Intel and AMD machines. This patching occurs in the x86 emulator. The current code also executes the hypercall. Unfortunately, the tail end of the x86 emulator code also executes, overwriting the return value of the hypercall with the original contents of rax (which happens to be the hypercall number). Fix not by executing the hypercall in the emulator context; instead let the guest reissue the patched instruction and execute the hypercall via the normal path. Signed-off-by: Avi Kivity commit f20d2752980c144c82649eb18746ef0c29f508dd Author: Jes Sorensen Date: Tue May 20 13:13:50 2008 +0200 KVM: ia64: fix zero extending for mmio ld1/2/4 emulation in KVM Only copy in the data actually requested by the instruction emulation and zero pad the destination register first. This avoids the problem where emulated mmio access got garbled data from ld2.acq instructions in the vga console driver. Signed-off-by: Jes Sorensen Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity commit bc01886352c277e310c07befadbb617c8f561b89 Author: Chen Gong Date: Thu Jun 5 21:50:04 2008 +0800 [MTD] m25p80.c mutex unlock fix fix a mutex release bug in function m25p80_write. Signed-off-by: Chen Gong Signed-off-by: David Woodhouse commit 868e15dbd2940f9453b4399117686f408dc77299 Author: Jaroslav Franek Date: Fri Jun 6 11:04:19 2008 +0200 sound: emu10k1 - fix system hang with Audigy2 ZS Notebook PCMCIA card When the Linux kernel is compiled with CONFIG_DEBUG_SHIRQ=y, the Soundblaster Audigy2 ZS Notebook PCMCIA card causes the system hang during boot (udev stage) or when the card is hot-plug. The CONFIG_DEBUG_SHIRQ flag is by default 'y' with all Fedora kernels since 2.6.23. The problem was reported as https://bugzilla.redhat.com/show_bug.cgi?id=326411 The issue was hunted down to the snd_emu10k1_create() routine: /* pseudo-code */ snd_emu10k1_create(...) { ... request_irq(... IRQF_SHARED ...) { register the irq handler #ifdef CONFIG_DEBUG_SHIRQ call the irq handler: snd_emu10k1_interrupt() { poll I/O port // <---- !! system hangs ... } #endif } ... snd_emu10k1_cardbus_init(...) { initialize I/O ports } ... } The early access to I/O port in the interrupt handler causes the freeze. Obviously it is necessary to init the I/O ports before accessing them. This patch moves the registration of the irq handler after the initialization of the I/O ports. Signed-off-by: Jaroslav Franek Acked-by: James Courtier-Dutton Signed-off-by: Takashi Iwai commit efd5184646d5d400fc538d093e9a0bec22a75551 Author: Jiri Kosina Date: Fri Jun 6 00:56:43 2008 -0400 Input: i8042 - add Fujitsu-Siemens Amilo Pro V2030 to nomux table Fujitsu Siemens Amilo Pro V2030 needs nomux table entry, in addition to already existing entry for V2010 model (note that Fujitsu-Siemens changed the capitalization in the DMI data for product). Tested-by: Jiri Mleziva Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 714c8a061092417d3ffb1d0f0522e3d092c730dd Author: Stas Sergeev Date: Fri Jun 6 00:22:50 2008 -0400 Input: pcspkr - remove negative dependency on snd-pcsp It should be possible to build pcspkr driver together with snd-pcsp, even though tehy can not be used together. Signed-off-by: Stas Sergeev Signed-off-by: Dmitry Torokhov commit 39b945a37bac2b692773a470890c8ba301485b15 Merge: 203c801... 0ef2cfc... Author: Linus Torvalds Date: Thu Jun 5 16:15:00 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: fix tosa.c build error [ARM] 5067/1: _raw_write_can_lock macro bugfix [ARM] 5070/1: pxa: add GPIO104_PSKTSEL to pxa27x MFP configuration [ARM] 5068/1: PXA2xx Additional gpio definitions [ARM] 5066/2: EM-X270: Fix DM9000 IRQ flags initialisation [ARM] 5065/2: CM-X270: Fix DM9000 IRQ flags initialisation [ARM] 5062/1: pxa: remove unused definition of CONFIG_ARCH_COTULLA_IDP [ARM] 5060/1: remove unnecessary include of asm/io.h [ARM] fix AT91 include loops commit 203c80187eba037f2d6562e0d5847014746726dd Author: Ben Collins Date: Thu Jun 5 19:10:21 2008 -0400 mmc: Fix crash in mmc_block on 64-bit Fairly simple. "dev_use" was being allocated as a zero length array because of bad math on 64-bit systems, causing a crash in find_first_zero_bit(). One-liner follows: Signed-off-by: Ben Collins Acked-by: Pierre Ossman Signed-off-by: Linus Torvalds commit 9f67fd5db50566728996b0115a08c83d4f902cb3 Author: Bertram Felgenhauer Date: Thu Jun 5 15:31:22 2008 -0700 x86/PCI: add workaround for bug in ASUS A7V600 BIOS (rev 1005) This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586, which it is not. Without this patch, I get the following warning while booting, among others, | PCI: Using IRQ router VIA [1106/3227] at 0000:00:11.0 | ------------[ cut here ]------------ | WARNING: at arch/x86/pci/irq.c:265 pirq_via586_get+0x4a/0x60() | Modules linked in: | Pid: 1, comm: swapper Not tainted 2.6.26-rc4-00015-g1ec7d99 #1 | [] warn_on_slowpath+0x54/0x70 | [] ? vt_console_print+0x210/0x2b0 | [] ? vt_console_print+0x0/0x2b0 | [] ? __call_console_drivers+0x43/0x60 | [] ? _call_console_drivers+0x52/0x80 | [] ? release_console_sem+0x1c9/0x200 | [] ? raw_pci_read+0x41/0x70 | [] ? pci_read+0x2f/0x40 | [] pirq_via586_get+0x4a/0x60 | [] ? pirq_via586_get+0x0/0x60 | [] pcibios_lookup_irq+0x15d/0x430 | [] pcibios_irq_init+0x17a/0x3e0 | [] ? kernel_init+0x0/0x250 | [] kernel_init+0x73/0x250 | [] ? pcibios_irq_init+0x0/0x3e0 | [] ? schedule_tail+0x10/0x40 | [] ? ret_from_fork+0x6/0x1c | [] ? kernel_init+0x0/0x250 | [] ? kernel_init+0x0/0x250 | [] kernel_thread_helper+0x7/0x1c | ======================= | ---[ end trace 4eaa2a86a8e2da22 ]--- and IRQ trouble later, | irq 10: nobody cared (try booting with the "irqpoll" option) Now that's an VIA 8237 chip, so pirq_via586_get shouldn't be called at all; adding this workaround to via_router_probe() fixes the problem for me. Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll never understand why. Signed-off-by: Bertram Felgenhauer Cc: Jesse Barnes Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit b2ab26ab28cfed076ee8a83627d008472f6ac54f Merge: 5965087... be573e7... Author: Linus Torvalds Date: Thu Jun 5 14:30:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (48 commits) V4L/DVB (8001): dib0070: fix dib0070_attach when !CONFIG_DVB_TUNER_DIB0070 V4L/DVB (8000): tda827x: fix NULL pointer in tda827xa_lna_gain V4L/DVB (7990): Fix entry for PowerColor RA 330 and make it run with firmware version 2.7 V4L/DVB (7983): tda18271_calc_rf_cal must return the return value of tda18271_lookup_map V4L/DVB (7978): cx18: explicitly test for XC2028 tuner V4L/DVB (7977): cx18: fix init order and remove duplicate open_on_first_use. V4L/DVB (7975): saa7134_empress V4L/DVB (7974): fix MEDIA_TUNER && FW_LOADER build error V4L/DVB (7972): or51132.c: unaligned V4L/DVB (7971): usb: unaligned V4L/DVB (7970): mix trivial endianness annotations V4L/DVB (7969): m920x: unaligned access V4L/DVB (7968): zoran: endianness annotations V4L/DVB (7967): bt8xx: unaligned access V4L/DVB (7966): cx18: direct dereferencing of iomem V4L/DVB (7965): annotate bcx_riscmem V4L/DVB (7964): cx18 iomem annotations V4L/DVB (7963): ivtv: trivial annotations V4L/DVB (7962): ttusb endianness annotations and fixes V4L/DVB (7961): fix endianness bug in dib0700_devices.c ... commit 66c23551b1b774e2be3c7bdf91c0ebf2c7a3519e Author: Jarkko Nikula Date: Tue May 13 13:26:03 2008 +0300 ARM: OMAP: DMA: Don't mark channel active in omap_enable_channel_irq Channel should be marked active only when DMA is really started. Otherwise just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch will cause incorrect dump_stack(). Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 5965087dc96167298ab83598f681d4d6f9d324fa Merge: 698f7a4... cd9da13... Author: Linus Torvalds Date: Thu Jun 5 14:29:53 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: Fix divide by zero error in build_clear_page() and build_copy_page() [MIPS] Fix typo in header guard [MIPS] Fix build error - Delete debugging crap that crept in with CMP [MIPS] Add accessors for random register. [MIPS] IP27: misc fixes [MIPS] IP27: Fix clockevent setup [MIPS] IP27: Fix bootmem memory setup [MIPS] remove CONFIG_CPU_R4000 line from Makefile [MIPS] Fix check for valid stack pointer during backtrace [MIPS] Add missing braces to pte_mkyoung [MIPS] R4700: Fix build_tlb_probe_entry [MIPS] Alchemy: dbdma: add API to delete custom DDMA device ids. [MIPS] Alchemy: export get_au1x00_speed for modules commit 2bdd1b031b200d55c2512c8d7e0e9bdcf85d011f Author: Andres Salomon Date: Thu Jun 5 14:14:41 2008 -0700 PCI/x86: fix up PCI stuff so that PCI_GOANY supports OLPC Previously, one would have to specifically choose CONFIG_OLPC and CONFIG_PCI_GOOLPC in order to enable PCI_OLPC. That doesn't really work for distro kernels, so this patch allows one to choose CONFIG_OLPC and CONFIG_PCI_GOANY in order to build in OLPC support in a generic kernel (as requested by Robert Millan). This also moves GOOLPC before GOANY in the menuconfig list. Finally, make pci_access_init return early if we detect OLPC hardware. There's no need to continue probing stuff, and pci_pcbios_init specifically trashes our settings (we didn't run into that before because PCI_GOANY wasn't supported). Signed-off-by: Andres Salomon Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 698f7a4a12c15fef354b2a1ac14f90a0e71008d9 Merge: adbd588... ba75321... Author: Linus Torvalds Date: Thu Jun 5 14:25:48 2008 -0700 Merge git://git.infradead.org/~dwmw2/mtd-2.6.26 * git://git.infradead.org/~dwmw2/mtd-2.6.26: [MTD] [MAPS] Fix cmdlineparse handling in mapping files [MTD] [NAND] pxa: fix incorrect calling of pxa3xx_nand_config() on resume path commit adbd5886da5f467148b26cca3728ab0e672b3fcc Author: Willy Tarreau Date: Tue Jun 3 00:20:28 2008 +0200 doc: add suggestions about good practises for maintainers Suggest how to deal with patch modifications caused by merging or back-porting when you're a maintainer. Signed-off-by: Willy Tarreau Signed-off-by: Linus Torvalds commit ddb2c43594f22843e9f3153da151deaba1a834c5 Author: Chris Wright Date: Wed Jun 4 09:16:33 2008 -0700 asn1: additional sanity checking during BER decoding - Don't trust a length which is greater than the working buffer. An invalid length could cause overflow when calculating buffer size for decoding oid. - An oid length of zero is invalid and allows for an off-by-one error when decoding oid because the first subid actually encodes first 2 subids. - A primitive encoding may not have an indefinite length. Thanks to Wei Wang from McAfee for report. Cc: Steven French Cc: stable@kernel.org Acked-by: Patrick McHardy Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds commit efedf51c866130945b5db755cb58670e60205d83 Author: Nick Piggin Date: Wed Jun 4 17:18:42 2008 +0200 Add 'rd' alias to new brd ramdisk driver Alias brd to rd in the hope of helping legacy users. Suggested by Jan. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 16104b5504fa8be130f7f127a5a1c7dd774efc44 Author: Stefan Richter Date: Thu Jun 5 22:47:13 2008 +0200 x86: fix CONFIG_NONPROMISC_DEVMEM prompt and help text Here is an attempt to translate the prompt and help text into something which is legible and, as a bonus, correct. Signed-off-by: Stefan Richter Signed-off-by: Linus Torvalds commit 609a70ac927b72da647ccee7873d928d45055eae Author: David Howells Date: Thu Jun 5 17:07:35 2008 +0100 FRV: ip_fast_csum() requires a memory clobber on its inline asm ip_fast_csum() requires a memory clobber on its inline asm as it accesses memory in a fashion that gcc can't predict. The GCC manual says: If your assembler instructions access memory in an unpredictable fashion, add `memory' to the list of clobbered registers. This will cause GCC to not keep memory values cached in registers across the assembler instruction and not optimize stores or loads to that memory. The bug hasn't been noticed in FRV, but it has been seen in PA-RISC. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5a515bcbea580a65ced92405b083299df9003748 Author: Bjorn Helgaas Date: Thu Jun 5 10:32:23 2008 -0600 PNP: skip UNSET MEM resources as well as DISABLED ones We don't need to reserve "unset" resources. Trying to reserve them results in messages like this, which are ugly but harmless: system 00:08: iomem range 0x0-0x0 could not be reserved Future PNP patches will remove use of IORESOURCE_UNSET, but we still need it for now. Signed-off-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit cd9da13d6ef4f4b652a9a885d4a7c80e40fed229 Author: Yoichi Yuasa Date: Wed May 7 23:38:15 2008 +0900 Fix divide by zero error in build_clear_page() and build_copy_page() Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 2cc3c0b67bdde7263f6eb16c16709e0b84047646 Author: Vegard Nossum Date: Tue May 27 17:27:28 2008 +0200 [MIPS] Fix typo in header guard Signed-off-by: Vegard Nossum Signed-off-by: Ralf Baechle commit 482845a348f76fbf9cec6dda0f1eb113d4fafd9d Author: Ralf Baechle Date: Mon May 26 09:47:55 2008 +0100 [MIPS] Fix build error - Delete debugging crap that crept in with CMP Signed-off-by: Ralf Baechle commit 272bace7f3753ea8bf6ee80e3a6b32fa64190744 Author: Ralf Baechle Date: Mon May 26 09:35:47 2008 +0100 [MIPS] Add accessors for random register. Signed-off-by: Ralf Baechle commit 96173a6c4ebca4c146bb87026cce78bbe392cb61 Author: Thomas Bogendoerfer Date: Thu Apr 17 22:07:42 2008 +0200 [MIPS] IP27: misc fixes - fix PCI interrupt assignment by emulating ioc3 interrupt pin register - use pci_probe_only mode - select correct page size in bridge - remove no longer needed ioc3_sio_init() code [Ralf: Fix for 64kB or larger pagesizes] Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit b32bb803fb52cc669762780d44b4c3d9e3d799f6 Author: Thomas Bogendoerfer Date: Tue Apr 8 23:43:57 2008 +0200 [MIPS] IP27: Fix clockevent setup Fix breakage introduced by converting hub_rt to clockevent. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 2bf8ec2d8137e66998435ddf6d4060a558e2f727 Author: Thomas Bogendoerfer Date: Tue Apr 8 23:43:46 2008 +0200 [MIPS] IP27: Fix bootmem memory setup Changes in the generic bootmem code broke memory setup for IP27. This patch fixes this by replacing lots of special IP27 code with generic bootmon code. This has been tested only on a single node. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit c2719d93836b0b0cdf1725449d87705da6ede9a5 Author: Adrian Bunk Date: Wed May 21 01:55:02 2008 +0300 [MIPS] remove CONFIG_CPU_R4000 line from Makefile The existing options are named CONFIG_CPU_R4300 and CONFIG_CPU_R4X00, and they are directly below. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 10220c884444a1866bb070e207d84fc18188e2a7 Author: Thomas Bogendoerfer Date: Mon May 12 17:58:48 2008 +0200 [MIPS] Fix check for valid stack pointer during backtrace The newly added check for valid stack pointer address breaks at least for 64bit kernels. Use __get_user() for accessing stack content to avoid crashes, when doing the backtrace. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 057229f9efc7ebebd3ce0496195ed46df631f383 Author: Ilpo Järvinen Date: Fri May 2 14:08:20 2008 +0300 [MIPS] Add missing braces to pte_mkyoung Only the version pte_mkyoung for 36-bit pagetables on 32-bit hw was affected and with this bug being around since November 29, 2004 there is evidence to suport the assumption it was benign ;-) Signed-off-by: Ilpo Järvinen Signed-off-by: Ralf Baechle commit 326e2e1a59decc81bea052e8a8c6d75c63daa2db Author: Thomas Bogendoerfer Date: Mon May 12 13:55:42 2008 +0200 [MIPS] R4700: Fix build_tlb_probe_entry Treat R4700 like R4600 in build_tlb_probe_entry. Without this fix kernel will lock up. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit ccdb0034f8d5321be42c479dd7fc872ba2a46adb Author: Manuel Lauss Date: Wed May 7 13:45:23 2008 +0200 [MIPS] Alchemy: dbdma: add API to delete custom DDMA device ids. Add API to delete custom DDMA device ids create with au1xxx_ddma_device_add(). Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit b1fb05cdb9096e3fe1af4474e108dedce2515801 Author: Manuel Lauss Date: Wed May 7 13:42:55 2008 +0200 [MIPS] Alchemy: export get_au1x00_speed for modules au1xmmc.c driver depends on it, so export it for modules. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 6311c90a9ea16b4ab93ed48f1a9022647f6b3c43 Author: Hugh Dickins Date: Thu Jun 5 14:44:39 2008 +0100 libata: fix G5 SATA broken on -rc5 Fix G5 SATA irq 18: nobody cared, reported on -rc5 by Olaf Hering: fixlet to a57c1bade5a0ee5cd8b74502db9cbebb7f5780b2 libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl Signed-off-by: Hugh Dickins Acked-by: Alan Cox Tested-by: Olaf Hering Signed-off-by: Linus Torvalds commit be573e7872432918e1017cf1e917e73817dcdad6 Author: Michael Krufky Date: Thu Jun 5 13:08:29 2008 -0300 V4L/DVB (8001): dib0070: fix dib0070_attach when !CONFIG_DVB_TUNER_DIB0070 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 67642a0a58143761d7415f0587e0ac6dd6371251 Author: Sigmund Augdal Date: Thu Jun 5 12:53:08 2008 -0300 V4L/DVB (8000): tda827x: fix NULL pointer in tda827xa_lna_gain Check that tda827x_config is defined before attempting to use it. Signed-off-by: Sigmund Augdal Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a9606ce697ed719071fcccee8591ff033fa5e16d Author: Daniel Gimpelevich Date: Tue Jun 3 21:29:45 2008 -0300 V4L/DVB (7990): Fix entry for PowerColor RA 330 and make it run with firmware version 2.7 Signed-off-by: Daniel Gimpelevich Signed-off-by: Mauro Carvalho Chehab commit fc60d6e2727157b53d49c8d55888d0a78dafbc9f Author: Michael Krufky Date: Sat May 31 18:18:55 2008 -0300 V4L/DVB (7983): tda18271_calc_rf_cal must return the return value of tda18271_lookup_map On the TDA18271HD/C1, we perform RF tracking filter correction for VHF low band, only. If supplied a frequency out of range, the error must be returned to the caller (tda18271c1_rf_tracking_filter_calibration) so that it can decide whether or not to write to register EB14, RFC_CPROG[7:0] Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4ecc24737700f07d6c2a8fdf8c1737e399f1830f Author: Hans Verkuil Date: Fri May 30 11:03:12 2008 -0300 V4L/DVB (7978): cx18: explicitly test for XC2028 tuner Testing whether xceive_pin is non-zero is not good enough as 0 is a valid value. Instead explicitly test whether the Xceive tuner is used. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5e7fdc5ed820516f8253cc7daad27cf3ee6bd784 Author: Hans Verkuil Date: Fri May 30 10:51:53 2008 -0300 V4L/DVB (7977): cx18: fix init order and remove duplicate open_on_first_use. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 388748e61cc59487c34e1dfa890ffc44e4d16b1f Author: Dmitri Belimov Date: Wed May 21 01:20:34 2008 -0300 V4L/DVB (7975): saa7134_empress This is patch for fix data structure in querycap syscall. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 6637dea60ec93916ea0623a0e9bcc2b1769cbc11 Author: Ingo Molnar Date: Tue May 20 19:34:09 2008 -0300 V4L/DVB (7974): fix MEDIA_TUNER && FW_LOADER build error -tip testing found the following build failure: LD .tmp_vmlinux1 drivers/built-in.o: In function `generic_set_freq': tuner-xc2028.c:(.text+0xbd896): undefined reference to `request_firmware' tuner-xc2028.c:(.text+0xbdd7a): undefined reference to `release_firmware' drivers/built-in.o: In function `xc_load_fw_and_init_tuner': xc5000.c:(.text+0xc68e6): undefined reference to `request_firmware' xc5000.c:(.text+0xc6abe): undefined reference to `release_firmware' with this config: http://redhat.com/~mingo/misc/config-Tue_May_20_18_11_34_CEST_2008.bad the reason is another kconfig tool bug that has to be worked around in the driver's Kconfig file: if FW_LOADER is selected in a second dependency, that is not properly propagated up the dependencies. in this case, FW_LOADER is selected from MEDIA_TUNER_XC2028: config MEDIA_TUNER_XC2028 tristate "XCeive xc2028/xc3028 tuners" depends on VIDEO_MEDIA && I2C depends on HOTPLUG select FW_LOADER which got selected by MEDIA_TUNER: config MEDIA_TUNER tristate default VIDEO_MEDIA && I2C depends on VIDEO_MEDIA && I2C select FW_LOADER if !MEDIA_TUNER_CUSTOMIZE && HOTPLUG but the kconfig tool did not pick up this second-order dependency and allowed CONFIG_FW_LOADER=m to be selected - in which case the build fails. the workaround i found was to move the select of FW_LOADER one level up, so that the buggy kconfig tool can notice it and can act appropriately. This problem can probably be worked around in other ways as well, i went for the minimal fix. Obviously, the kconfig tool should be fixed, it is not reasonable to expect driver authors to do manual dependency resolution (that kconfig itself already does) and uglify the Kconfig files. The kconfig tool did nothing to warn about this situation and did not prevent this faulty .config from being constructed. Signed-off-by: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 18dcd55a8bf8aa7009c647725b5234c9589c6985 Author: Al Viro Date: Wed May 21 00:33:11 2008 -0300 V4L/DVB (7972): or51132.c: unaligned Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 637007fe5cfc790c46e3d7af8ba069ddd73f389c Author: Al Viro Date: Wed May 21 00:33:01 2008 -0300 V4L/DVB (7971): usb: unaligned Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit a954b6681dd389e6bb63d9b5f3254d675f6984c9 Author: Al Viro Date: Wed May 21 00:32:51 2008 -0300 V4L/DVB (7970): mix trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit fa9c13a383ea60b5e0a89e9e180683411bc5552c Author: Al Viro Date: Wed May 21 00:32:41 2008 -0300 V4L/DVB (7969): m920x: unaligned access Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 581a7f1a2ddedbc27ad76f518b861ce1e60ff5ab Author: Al Viro Date: Wed May 21 00:32:31 2008 -0300 V4L/DVB (7968): zoran: endianness annotations Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit c1c36f3128c89aa96f01cbf6d40b0cd77a8bc45e Author: Al Viro Date: Wed May 21 00:32:21 2008 -0300 V4L/DVB (7967): bt8xx: unaligned access Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 576904bb8941d2ae958a097888cee418d5192144 Author: Al Viro Date: Wed May 21 00:32:11 2008 -0300 V4L/DVB (7966): cx18: direct dereferencing of iomem Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit d8eaa58b06e8779453410d88d2d86e700a0432c6 Author: Al Viro Date: Wed May 21 00:31:51 2008 -0300 V4L/DVB (7965): annotate bcx_riscmem Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 990c81c8afcd71eced2482ad59950ea755eddc7f Author: Al Viro Date: Wed May 21 00:32:01 2008 -0300 V4L/DVB (7964): cx18 iomem annotations Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit b0510f8dc73dce56f35337487c6374ae84b15446 Author: Al Viro Date: Wed May 21 00:31:41 2008 -0300 V4L/DVB (7963): ivtv: trivial annotations Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit d4f979a9e1c5c8ed291e89ec38248823c9a182ba Author: Al Viro Date: Wed May 21 00:31:31 2008 -0300 V4L/DVB (7962): ttusb endianness annotations and fixes Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit da5ee48677b96dbf44c2ae46857dea060af34164 Author: Al Viro Date: Wed May 21 00:31:21 2008 -0300 V4L/DVB (7961): fix endianness bug in dib0700_devices.c Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 12fbcef1055ee7dd522d578c4c6c0e80acaa3d4c Author: Al Viro Date: Wed May 21 00:31:11 2008 -0300 V4L/DVB (7960): net: endianness annotations Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit b05ce2e79ebaf205b2d66ac32f10e2bd231d80a4 Author: Al Viro Date: Wed May 21 00:31:01 2008 -0300 V4L/DVB (7959): endianness fix in flexcop-usb.c Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 3e085629bc921c37c1bb2e2fb6227fa14de14682 Author: Al Viro Date: Wed May 21 00:30:51 2008 -0300 V4L/DVB (7958): fix unaligned access in av7110.c Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit a230e55d92347e09d9ba2e97096df114b2dfaf2d Author: Al Viro Date: Wed May 21 00:30:41 2008 -0300 V4L/DVB (7957): fix the roothole in av7110_av.c direct dereferencing from user-supplied address Signed-off-by: Al Viro Reviewed-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit f34ec12a17984d7df784bf49caf64f5f743e5e10 Author: Al Viro Date: Wed May 21 00:30:31 2008 -0300 V4L/DVB (7956): cinergyT2: endianness annotations, endianness and race fixes Endianness annotations and fixes + fixing the handling of ->uncorrected_block_count Signed-off-by: Al Viro Signed-off-by: Mauro Carvalho Chehab commit 39028ec69b13712ec1dcd9aa14844bf60f19cb20 Author: David Woodhouse Date: Mon Jun 2 15:46:51 2008 -0300 V4L/DVB (7166): [v4l] Add new user class controls and deprecate others These were removed in commit 26d507fcfef7f7d0cd2eec874a87169cc121c835: > -#define V4L2_CID_HCENTER (V4L2_CID_BASE+22) > -#define V4L2_CID_VCENTER (V4L2_CID_BASE+23) > -#define V4L2_CID_LASTP1 (V4L2_CID_BASE+24) /* > last CID + 1 */ > + > +/* Deprecated, use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */ > +#define V4L2_CID_HCENTER_DEPRECATED (V4L2_CID_BASE+22) > +#define V4L2_CID_VCENTER_DEPRECATED (V4L2_CID_BASE+23) But there was no warning in Documentation/feature-removal-schedule.txt and I'm receiving reports that it's breaking userspace apps (the gstreamer-v4l2 plugin breaks in Fedora rawhide). You can't just pull things from the published userspace API like that. Please can we revert the addition of _DEPRECATED to these ioctl definitions. Perhaps we can add a runtime warning if they actually get used? Or a compile-time warning if we can manage that? Signed-off-by: David Woodhouse Signed-off-by: Mauro Carvalho Chehab commit c663d03590a882f4834197bff278ca0aa2a95e2e Author: Michael Krufky Date: Fri Apr 18 21:22:50 2008 -0300 V4L/DVB (7944): tuner-xc2028: use hybrid_tuner_request_state Use a standard method to manage multiple instances of a hybrid tuner. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9adea1c00df74823e1719ebbcb86c972c4c2aba1 Author: Michael Krufky Date: Fri Apr 18 20:26:04 2008 -0300 V4L/DVB (7943): tuner: add macro, hybrid_tuner_report_instance_count Create a macro to report the number of instances of the tuner driver currently in use. This will allow drivers to perform specific cleanups before destroying the last instance of a tuner. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ba60bc673ce7d019ae6684cebbb33e5239346664 Author: Hans Verkuil Date: Sun May 25 14:34:36 2008 -0300 V4L/DVB (7934): cx18: move gpio_dir/val statics to the cx18 struct. The gpio_dir/val statics cannot be global, they are card-specific. Thanks to Andy Walls for pointing this out. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8f9935732930e705cab1936a03418ce01aee979a Author: Hans Verkuil Date: Sun May 25 11:45:53 2008 -0300 V4L/DVB (7932): cx18: mark Compro H900 as fully supported. I always assumed that the Compro H900 could do digital as well, but it turned out that it is an analog-only card. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 31554ae599a8ff6854bf8ecbedc1946c64854388 Author: Hans Verkuil Date: Sun May 25 11:21:27 2008 -0300 V4L/DVB (7931): cx18: allow for simultaneous digital and analog capture The HVR-1600 can do both analog and digital capture at the same time. Due to a driver bug -EBUSY would be returned when attempting to setup an analog capture while a digital capture was already in progress. Separate the two internally. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be303e16dbd210077c697aaf2f0960413166b53d Author: Hans Verkuil Date: Sat May 24 12:43:43 2008 -0300 V4L/DVB (7930): ivtv: bump version to 1.3.0. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 63b8c709895febf62766dc8e818a1457a520fb15 Author: Hans Verkuil Date: Wed May 21 17:40:19 2008 -0300 V4L/DVB (7928): cx18: fix audio registers 808 and 80c The handling of the audio registers 808 and 80c were based on old datasheets. Updated to the latest information. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7f3917f6484938d56cb5ab660f476c1dfa445a81 Author: Hans Verkuil Date: Mon May 19 22:13:02 2008 -0300 V4L/DVB (7925): cx18: ensure that the xceive pin is always asserted on init. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3b4a9714f43a1d675a4352260a12daae197f37c3 Author: Andy Walls Date: Mon May 26 01:31:17 2008 -0300 V4L/DVB (7922): tuner-simple: fix tuner_warn() induced kernel oops in simple_tuner_attach() The tuner_warn() macro relies on the local variable "priv" to be a valid pointer. There was a case in simple_tuner_attach() where this cannot be the case yet, so tuner_warn() would dereference a NULL "priv" pointer. Changed the tuner_warn() to a printk() with the originally intended output format. Signed-off-by: Andy Walls Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5cf3f5cd1f6ee0d81b75c659c732dd8dd245a350 Author: Michael Krufky Date: Sat May 24 23:49:03 2008 -0300 V4L/DVB (7919): VIDEO_AU0828 does not depend on VIDEO_DEV Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 383a211699026ee41d9726e3f5edcfa1b0071b8f Author: Michael Krufky Date: Sat May 24 23:48:16 2008 -0300 V4L/DVB (7918): au0828: remove irrelevent analog tuner standby code This code is irrelevant to this driver and should be removed. This was copied from a hack in cx88-dvb.c, which prevents noise coming from the analog tuner (via an audio patch cable from the pci card to the sound hardware) when in digital mode by muting the tda988x. This issue does not apply to this USB hybrid chip design, where a single piece of silicon handles both analog and digital demodulation. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2f1a1c7f9c10a87a6725e4b9603e4880c2059d71 Author: Michael Krufky Date: Sun May 25 13:09:51 2008 -0300 V4L/DVB (7916): dib7000p: fix dib7000p_attach when !CONFIG_DVB_DIB7000P somebody forgot to to fix this header... Thanks to Ingo Molnar for pointing this out. Tested-by: Ingo Molnar Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 70345fbe4a76621808219c506f2480b39131e575 Author: Guennadi Liakhovetski Date: Thu May 22 19:30:40 2008 -0300 V4L/DVB (7911): Remove v4l2_video_std_fps prototype declaration The v4l2_video_std_fps function has been removed by Adrian Bunk in 2004 but then its prototype re-appeared in include/media/v4l2-dev.h. Remove it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b4aba24186d66190b21ab64bf28f22ffc51a9c43 Author: Ingo Molnar Date: Tue May 20 08:02:33 2008 -0300 V4L/DVB (7910): usb: input layer dependency fixes testing of the -tip tree found the following build failures on 2.6.26-rc3: drivers/built-in.o: In function `ttusb_dec_disconnect': ttusb_dec.c:(.text+0xa2c95): undefined reference to `input_unregister_device' drivers/built-in.o: In function `dvb_usb_read_remote_control': dvb-usb-remote.c:(.text+0xa6a94): undefined reference to `input_event' with this config: http://redhat.com/~mingo/misc/config-Tue_May_20_03_48_57_CEST_2008.bad these are due to the media/dvb/usb layer having dependencies on INPUT functionality, without having that spelled out in the Kconfig file. this patch makes that dependency explicit (for the drivers affected), which solves the build error. Signed-off-by: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 45033bcf172d9965210b644f3769c9de94c33333 Author: Adrian Bunk Date: Mon May 26 14:23:49 2008 -0300 V4L/DVB (7908): always enter drivers/media/video/ After commit 039d40019f3c5e26ea50ec5af4270189f63365e1 (V4L/DVB (7898): Fix VIDEO_MEDIA Kconfig logic) VIDEO_MEDIA is no longer usable in Makefile's for deciding which directories we enter, resulting in compile errors like the following with CONFIG_VIDEO_DEV=y, CONFIG_DVB_CORE=m: <-- snip --> ... MODPOST 187 modules ... make[2]: *** [__modpost] Error 1 <-- snip --> The easiest solution is to always enter video/ Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 38db143e6feaa2dc649ed8bf69d1a12f7b9c0246 Author: Adrian Bunk Date: Fri May 16 00:15:53 2008 -0300 V4L/DVB (7906): tuners/mxl5005s.c: don't define variables for enums It doesn't seem to be intended that "tuner_modu_type" and "MXL5005_ControlName" were global variables. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 427aad6fda607914945022e916827037d2d0db3d Author: Marcin Slusarz Date: Sun May 11 19:58:59 2008 -0300 V4L/DVB (7905): check_v4l2 should return -EINVAL on error check_v4l2 always returns 0, so this change is an noop for now, but a comment says it will return something else in the future Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 4d3437df25325d517ee310d55989ce9630ff529e Author: Marcin Slusarz Date: Mon May 26 14:03:02 2008 -0300 V4L/DVB (7904): v4l/tuner-core: consistent handling of return values change check_mode and set_mode to return negative errors and fix all callers Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 7fa7b8583f14889aaceebcd8dca3093987e289f7 Author: Marcin Slusarz Date: Sun May 11 19:53:39 2008 -0300 V4L/DVB (7903): gp8psk_power_ctrl should return negative errors Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 4277106b4fb6edd8f52b0653841faebbf7160480 Author: Marcin Slusarz Date: Sun May 11 19:51:07 2008 -0300 V4L/DVB (7902): fix handling of tea5761_autodetection return value tea5761_autodetection returns -EINVAL on error Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 81b8021a71c194752e8bbb29328cecc744a47b2b Author: Andrew Morton Date: Wed May 14 23:14:04 2008 -0300 V4L/DVB (7901): zoran: use correct type for CPU flags locking-add-typecheck-on-irqsave-and-friends-for-correct-flags.patch will cause drivers/media/video/zoran_driver.c: In function 'zoran_close_end_session': drivers/media/video/zoran_driver.c:1172: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit daf20d95bff81c6fc8a8d8160e620e1f9581af02 Author: Hans Verkuil Date: Mon May 12 11:21:58 2008 -0300 V4L/DVB (7885): ivtv/cx18: add compat_ioctl entries Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ba75321193900a236bc5bbc29145e1039f74eb1b Author: Kyungmin Park Date: Wed May 7 11:54:10 2008 +0900 [MTD] [MAPS] Fix cmdlineparse handling in mapping files Now it returns the 0 if cmdlineparse not supplied. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 53c8ba95402be65d412a806cda3430f0e72cd107 Author: Linus Torvalds Date: Wed Jun 4 20:10:44 2008 -0700 Linux 2.6.26-rc5 commit 3e387fcdc485d94fe2c4b52e7c30c0c4cd1fe364 Merge: 9489a06... 24b9568... Author: Linus Torvalds Date: Wed Jun 4 17:39:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits) l2tp: Fix possible oops if transmitting or receiving when tunnel goes down tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits. tcp: Increment OUTRSTS in tcp_send_active_reset() raw: Raw socket leak. lt2p: Fix possible WARN_ON from socket code when UDP socket is closed USB ID for Philips CPWUA054/00 Wireless USB Adapter 11g ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable libertas: fix command size for CMD_802_11_SUBSCRIBE_EVENT ipw2200: expire and use oldest BSS on adhoc create airo warning fix b43legacy: Fix controller restart crash sctp: Fix ECN markings for IPv6 sctp: Flush the queue only once during fast retransmit. sctp: Start T3-RTX timer when fast retransmitting lowest TSN sctp: Correctly implement Fast Recovery cwnd manipulations. sctp: Move sctp_v4_dst_saddr out of loop sctp: retran_path update bug fix tcp: fix skb vs fack_count out-of-sync condition sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. xfrm: xfrm_algo: correct usage of RIPEMD-160 ... commit 9489a0625854cd7482bb0e8b37de4406cdcd49e0 Merge: edeb280... 399dc43... Author: Linus Torvalds Date: Wed Jun 4 17:38:44 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: switch /proc/led to seq_file sparc64: IO accessors fix commit 24b95685ffcdb3dc28f64b9e8af6ea3e8360fbc5 Author: James Chapman Date: Wed Jun 4 15:54:07 2008 -0700 l2tp: Fix possible oops if transmitting or receiving when tunnel goes down Some problems have been experienced in the field which cause an oops in the pppol2tp driver if L2TP tunnels fail while passing data. The pppol2tp driver uses private data that is referenced via the sk->sk_user_data of its UDP and PPPoL2TP sockets. This patch makes sure that the driver uses sock_hold() when it holds a reference to the sk pointer. This affects its sendmsg(), recvmsg(), getname(), [gs]etsockopt() and ioctl() handlers. Tested by ISP where problem was seen. System has been up 10 days with no oops since running this patch. Without the patch, an oops would occur every 1-2 days. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 293ad60401da621b8b329abbe8c388edb25f658a Author: Octavian Purdila Date: Wed Jun 4 15:45:58 2008 -0700 tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits. skb_splice_bits temporary drops the socket lock while iterating over the socket queue in order to break a reverse locking condition which happens with sendfile. This, however, opens a window of opportunity for tcp_collapse() to aggregate skbs and thus potentially free the current skb used in skb_splice_bits and tcp_read_sock. This patch fixes the problem by (re-)getting the same "logical skb" after the lock has been temporary dropped. Based on idea and initial patch from Evgeniy Polyakov. Signed-off-by: Octavian Purdila Acked-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 26af65cbeb2467a486ae4fc7242c94e470c67c50 Author: Sridhar Samudrala Date: Wed Jun 4 15:19:35 2008 -0700 tcp: Increment OUTRSTS in tcp_send_active_reset() TCP "resets sent" counter is not incremented when a TCP Reset is sent via tcp_send_active_reset(). Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 22dd485022f3d0b162ceb5e67d85de7c3806aa20 Author: Denis V. Lunev Date: Wed Jun 4 15:16:12 2008 -0700 raw: Raw socket leak. The program below just leaks the raw kernel socket int main() { int fd = socket(PF_INET, SOCK_RAW, IPPROTO_UDP); struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); inet_aton("127.0.0.1", &addr.sin_addr); addr.sin_family = AF_INET; addr.sin_port = htons(2048); sendto(fd, "a", 1, MSG_MORE, &addr, sizeof(addr)); return 0; } Corked packet is allocated via sock_wmalloc which holds the owner socket, so one should uncork it and flush all pending data on close. Do this in the same way as in UDP. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 199f7d24ae59894243687a234a909f44a8724506 Author: James Chapman Date: Wed Jun 4 15:07:32 2008 -0700 lt2p: Fix possible WARN_ON from socket code when UDP socket is closed If an L2TP daemon closes a tunnel socket while packets are queued in the tunnel's reorder queue, a kernel warning is logged because the socket is closed while skbs are still referencing it. The fix is to purge the queue in the socket's release handler. WARNING: at include/net/sock.h:351 udp_lib_unhash+0x41/0x68() Pid: 12998, comm: openl2tpd Not tainted 2.6.25 #8 [] warn_on_slowpath+0x41/0x51 [] udp_lib_unhash+0x41/0x68 [] sk_common_release+0x23/0x90 [] udp_lib_close+0x8/0xa [] inet_release+0x42/0x48 [] sock_release+0x14/0x60 [] sock_close+0x29/0x30 [] __fput+0xad/0x15b [] fput+0x17/0x19 [] filp_close+0x50/0x5a [] sys_close+0x69/0x9f [] syscall_call+0x7/0xb Signed-off-by: James Chapman Signed-off-by: David S. Miller commit b4496d44c6bd8b2da8d370ef49c4b008ce82370b Merge: b9031d9... 4546002... Author: David S. Miller Date: Wed Jun 4 14:58:13 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4546002c813568829b70d00fab752de3999c3f1a Author: Felix Homann Date: Thu May 29 00:36:45 2008 -0700 USB ID for Philips CPWUA054/00 Wireless USB Adapter 11g Enable the Philips CPWUA054/00 in p54usb. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit a3bafeedfff2ac5fa0a316bea4570e27900b6fcc Author: Michael Buesch Date: Mon Jun 2 16:15:23 2008 +0200 ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable This fixes a context assertion in ssb that makes b44 print out warnings on resume. This fixes the following kernel oops: http://www.kerneloops.org/oops.php?number=12732 http://www.kerneloops.org/oops.php?number=11410 Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a75eda43dc4a64d0bd0502da546871c01f70e899 Author: Holger Schurig Date: Fri May 30 14:53:22 2008 +0200 libertas: fix command size for CMD_802_11_SUBSCRIBE_EVENT The size was two small by two bytes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a6d4eae80157830af9c9d80de2daf6611696a34e Author: Dan Williams Date: Thu May 29 14:38:28 2008 -0400 ipw2200: expire and use oldest BSS on adhoc create If there are no networks on the free list, expire the oldest one when creating a new adhoc network. Because ipw2200 and the ieee80211 stack don't actually cull old networks and place them back on the free list unless they are needed for new probe responses, over time the free list would become empty and creating an adhoc network would fail due to the ! list_empty(...) check. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b212f3378a9cfca4da52d7c7e6f79ead8ec287fc Author: Andrew Morton Date: Wed May 28 12:40:39 2008 -0700 airo warning fix WARNING: space prohibited between function name and open parenthesis '(' #22: FILE: drivers/net/wireless/airo.c:2907: + while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) && (delay < 10000)) { total: 0 errors, 1 warnings, 8 lines checked ./patches/wireless-airo-waitbusy-wont-delay.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Dan Williams Cc: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 48e6c51bd326ce9faf07fbdf84d361c9755b7035 Author: Michael Buesch Date: Thu May 22 17:06:36 2008 +0200 b43legacy: Fix controller restart crash This fixes a kernel crash on rmmod, in the case where the controller was restarted before doing the rmmod. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b9031d9d87b24e24cd32ea15b5f4220a1e8da909 Author: Vlad Yasevich Date: Wed Jun 4 12:40:15 2008 -0700 sctp: Fix ECN markings for IPv6 Commit e9df2e8fd8fbc95c57dbd1d33dada66c4627b44c ("[IPV6]: Use appropriate sock tclass setting for routing lookup.") also changed the way that ECN capable transports mark this capability in IPv6. As a result, SCTP was not marking ECN capablity because the traffic class was never set. This patch brings back the markings for IPv6 traffic. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 8b750ce54bd8ab5f75d519ee450e1b0c5226ebe9 Author: Vlad Yasevich Date: Wed Jun 4 12:39:36 2008 -0700 sctp: Flush the queue only once during fast retransmit. When fast retransmit is triggered by a sack, we should flush the queue only once so that only 1 retransmit happens. Also, since we could potentially have non-fast-rtx chunks on the retransmit queue, we need make sure any chunks eligable for fast retransmit are sent first during fast retransmission. Signed-off-by: Vlad Yasevich Tested-by: Wei Yongjun Signed-off-by: David S. Miller commit 62aeaff5ccd96462b7077046357a6d7886175a57 Author: Vlad Yasevich Date: Wed Jun 4 12:39:11 2008 -0700 sctp: Start T3-RTX timer when fast retransmitting lowest TSN When we are trying to fast retransmit the lowest outstanding TSN, we need to restart the T3-RTX timer, so that subsequent timeouts will correctly tag all the packets necessary for retransmissions. Signed-off-by: Vlad Yasevich Tested-by: Wei Yongjun Signed-off-by: David S. Miller commit a6465234814efda9ed1dccdba852953f7508e827 Author: Vlad Yasevich Date: Wed Jun 4 12:38:43 2008 -0700 sctp: Correctly implement Fast Recovery cwnd manipulations. Correctly keep track of Fast Recovery state and do not reduce congestion window multiple times during sucht state. Signed-off-by: Vlad Yasevich Tested-by: Wei Yongjun Signed-off-by: David S. Miller commit 159c6bea37c54dfae44409467e0f17600722d541 Author: Gui Jianfeng Date: Wed Jun 4 12:38:07 2008 -0700 sctp: Move sctp_v4_dst_saddr out of loop There's no need to execute sctp_v4_dst_saddr() for each iteration, just move it out of loop. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4141ddc02a92a6e3e5793601554c6033e83c25b9 Author: Gui Jianfeng Date: Wed Jun 4 12:37:33 2008 -0700 sctp: retran_path update bug fix If the current retran_path is the only active one, it should update it to the the next inactive one. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit aed5a833fb18123d7cfc6ce3810ab97efd4869b3 Merge: a660447... 9596cc8... Author: David S. Miller Date: Wed Jun 4 12:10:21 2008 -0700 Merge branch 'net-2.6-misc-20080605a' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-fix commit a6604471db5e7a33474a7f16c64d6b118fae3e74 Author: Ilpo Järvinen Date: Wed Jun 4 12:07:44 2008 -0700 tcp: fix skb vs fack_count out-of-sync condition This bug is able to corrupt fackets_out in very rare cases. In order for this to cause corruption: 1) DSACK in the middle of previous SACK block must be generated. 2) In order to take that particular branch, part or all of the DSACKed segment must already be SACKed so that we have that in cache in the first place. 3) The new info must be top enough so that fackets_out will be updated on this iteration. ...then fack_count is updated while skb wasn't, then we walk again that particular segment thus updating fack_count twice for a single skb and finally that value is assigned to fackets_out by tcp_sacktag_one. It is safe to call tcp_sacktag_one just once for a segment (at DSACK), no need to call again for plain SACK. Potential problem of the miscount are limited to premature entry to recovery and to inflated reordering metric (which could even cancel each other out in the most the luckiest scenarios :-)). Both are quite insignificant in worst case too and there exists also code to reset them (fackets_out once sacked_out becomes zero and reordering metric on RTO). This has been reported by a number of people, because it occurred quite rarely, it has been very evasive. Andy Furniss was able to get it to occur couple of times so that a bit more info was collected about the problem using a debug patch, though it still required lot of checking around. Thanks also to others who have tried to help here. This is listed as Bugzilla #10346. The bug was introduced by me in commit 68f8353b48 ([TCP]: Rewrite SACK block processing & sack_recv_cache use), I probably thought back then that there's need to scan that entry twice or didn't dare to make it go through it just once there. Going through twice would have required restoring fack_count after the walk but as noted above, I chose to drop the additional walk step altogether here. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c03e05d81d70879273488206bfcb1805ebca9612 Author: Mark Asselstine Date: Wed Jun 4 12:06:28 2008 -0700 sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. Make use of local_irq_save and local_irq_restore rather then the deprecated save_and_cli and restore_flags calls. Signed-off-by: Mark Asselstine Signed-off-by: David S. Miller commit a13366c632132bb9f8f2950a79773d8f68f4871e Author: Adrian-Ken Rueegsegger Date: Wed Jun 4 12:04:55 2008 -0700 xfrm: xfrm_algo: correct usage of RIPEMD-160 This patch fixes the usage of RIPEMD-160 in xfrm_algo which in turn allows hmac(rmd160) to be used as authentication mechanism in IPsec ESP and AH (see RFC 2857). Signed-off-by: Adrian-Ken Rueegsegger Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 9596cc826e2e52bfc318ca37a6c52fe3d72990a3 Author: Denis V. Lunev Date: Wed Jun 4 15:49:08 2008 +0400 [IPV6]: Do not change protocol for UDPv6 sockets with pending sent data. Signed-off-by: Denis V. Lunev Signed-off-by: YOSHIFUJI Hideaki commit 36d926b94a9908937593e5669162305a071b9cc3 Author: Denis V. Lunev Date: Wed Jun 4 15:49:07 2008 +0400 [IPV6]: inet_sk(sk)->cork.opt leak IPv6 UDP sockets wth IPv4 mapped address use udp_sendmsg to send the data actually. In this case ip_flush_pending_frames should be called instead of ip6_flush_pending_frames. Signed-off-by: Denis V. Lunev Signed-off-by: YOSHIFUJI Hideaki commit 49d074f4009a7b5ce9c17b040f978abcb4d7f6f6 Author: Denis V. Lunev Date: Wed Jun 4 15:49:06 2008 +0400 [IPV6]: Do not change protocol for raw IPv6 sockets. It is not allowed to change underlying protocol for int fd = socket(PF_INET6, SOCK_RAW, IPPROTO_UDP); Signed-off-by: Denis V. Lunev Signed-off-by: YOSHIFUJI Hideaki commit 91e1908f569dd96a25a3947de8771e6cc93999dd Author: YOSHIFUJI Hideaki Date: Wed Jun 4 13:02:49 2008 +0900 [IPV6] NETNS: Handle ancillary data in appropriate namespace. Signed-off-by: YOSHIFUJI Hideaki commit 187e38384c4abfbbb1b880fab234d16c2df23a25 Author: YOSHIFUJI Hideaki Date: Wed Jun 4 13:01:37 2008 +0900 [IPV6]: Check outgoing interface even if source address is unspecified. The outgoing interface index (ipi6_ifindex) in IPV6_PKTINFO ancillary data, is not checked if the source address (ipi6_addr) is unspecified. If the ipi6_ifindex is the not-exist interface, it should be fail. Based on patch from Shan Wei and Brian Haley . Signed-off-by: Shan Wei Signed-off-by: Brian Haley Signed-off-by: YOSHIFUJI Hideaki commit 95b496b66615d8c43f77702049b1bd01e2f06595 Author: Yang Hongyang Date: Wed May 28 16:27:28 2008 +0800 [IPV6]: Fix the data length of get destination options with short length If get destination options with length which is not enough for that option,getsockopt() will still return the real length of the option, which is larger then the buffer space. This is because ipv6_getsockopt_sticky() returns the real length of the option. This patch fix this problem. Signed-off-by: Yang Hongyang Signed-off-by: YOSHIFUJI Hideaki commit 05335c2220c4911b69cb1bdd79e603ab08088372 Author: Yang Hongyang Date: Wed May 28 16:23:47 2008 +0800 [IPV6]: Fix the return value of get destination options with NULL data pointer If we pass NULL data buffer to getsockopt(), it will return 0, and the option length is set to -EFAULT: getsockopt(sk, IPPROTO_IPV6, IPV6_DSTOPTS, NULL, &len); This is because ipv6_getsockopt_sticky() will return -EFAULT or -EINVAL if some error occur. This patch fix this problem. Signed-off-by: Yang Hongyang Signed-off-by: YOSHIFUJI Hideaki commit 4bed72e4f5502ea3322f0a00794815fa58951abe Author: YOSHIFUJI Hideaki Date: Tue May 27 17:37:49 2008 +0900 [IPV6] ADDRCONF: Allow longer lifetime on 64bit archs. - Allow longer lifetimes (>= 0x7fffffff/HZ) on 64bit archs by using unsigned long. - Shadow this arithmetic overflow workaround by introducing helper functions: addrconf_timeout_fixup() and addrconf_finite_timeout(). Signed-off-by: YOSHIFUJI Hideaki commit baa2bfb8aef24bb7fe1875b256918724b3884662 Author: YOSHIFUJI Hideaki Date: Fri May 30 11:35:03 2008 +0900 [IPV4] TUNNEL4: Fix incoming packet length check for inter-protocol tunnel. Signed-off-by: YOSHIFUJI Hideaki commit 82836372311a5cbf9cc5f4f47f9b56cb9edfe90d Author: Colin Date: Tue May 27 00:04:43 2008 +0800 [IPV6] TUNNEL6: Fix incoming packet length check for inter-protocol tunnel. I discover a strange behavior in [ipv4 in ipv6] tunnel. When IPv6 tunnel payload is less than 40(0x28), packet can be sent to network, received in physical interface, but not seen in IP tunnel interface. No counter increase in tunnel interface. Signed-off-by: YOSHIFUJI Hideaki commit 24ef0da7b864435f221f668bc8a324160d063e78 Author: Thomas Graf Date: Wed May 28 16:54:22 2008 +0200 [IPV6] ADDRCONF: Check range of prefix length As of now, the prefix length is not vaildated when adding or deleting addresses. The value is passed directly into the inet6_ifaddr structure and later passed on to memcmp() as length indicator which relies on the value never to exceed 128 (bits). Due to the missing check, the currently code allows for any 8 bit value to be passed on as prefix length while using the netlink interface, and any 32 bit value while using the ioctl interface. [Use unsigned int instead to generate better code - yoshfuji] Signed-off-by: Thomas Graf Signed-off-by: YOSHIFUJI Hideaki commit a3c960899e042bc1c2b730a2115fa32da7802039 Author: YOSHIFUJI Hideaki Date: Wed Jun 4 01:30:25 2008 +0900 [IPV6] UDP: Possible dst leak in udpv6_sendmsg. ip6_sk_dst_lookup returns held dst entry. It should be released on all paths beyond this point. Add missed release when up->pending is set. Bug report and initial patch by Denis V. Lunev . Signed-off-by: YOSHIFUJI Hideaki Acked-by: Denis V. Lunev commit e51171019bb0e1f9fb57c25bd2e38ce652eaea27 Author: YOSHIFUJI Hideaki Date: Thu May 29 19:55:05 2008 +0900 [SCTP]: Fix NULL dereference of asoc. Commit 7cbca67c073263c179f605bdbbdc565ab29d801d ("[IPV6]: Support Source Address Selection API (RFC5014)") introduced NULL dereference of asoc to sctp_v6_get_saddr in net/sctp/ipv6.c. Pointed out by Johann Felix Soden . Signed-off-by: YOSHIFUJI Hideaki commit 8b91ac09732895f928ed6107bda5318cf260520b Merge: 8aca6cb... 56997fa... Author: David S. Miller Date: Wed Jun 4 11:50:00 2008 -0700 Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 8aca6cb1179ed9bef9351028c8d8af852903eae2 Author: Ilpo Järvinen Date: Wed Jun 4 11:34:22 2008 -0700 tcp: Fix inconsistency source (CA_Open only when !tcp_left_out(tp)) It is possible that this skip path causes TCP to end up into an invalid state where ca_state was left to CA_Open while some segments already came into sacked_out. If next valid ACK doesn't contain new SACK information TCP fails to enter into tcp_fastretrans_alert(). Thus at least high_seq is set incorrectly to a too high seqno because some new data segments could be sent in between (and also, limited transmit is not being correctly invoked there). Reordering in both directions can easily cause this situation to occur. I guess we would want to use tcp_moderate_cwnd(tp) there as well as it may be possible to use this to trigger oversized burst to network by sending an old ACK with huge amount of SACK info, but I'm a bit unsure about its effects (mainly to FlightSize), so to be on the safe side I just currently fixed it minimally to keep TCP's state consistent (obviously, such nasty ACKs have been possible this far). Though it seems that FlightSize is already underestimated by some amount, so probably on the long term we might want to trigger recovery there too, if appropriate, to make FlightSize calculation to resemble reality at the time when the losses where discovered (but such change scares me too much now and requires some more thinking anyway how to do that as it likely involves some code shuffling). This bug was found by Brian Vowell while running my TCP debug patch to find cause of another TCP issue (fackets_out miscount). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit edeb280e49d38a5330db25463ef45f5466b0058a Author: Linus Torvalds Date: Wed Jun 4 10:35:03 2008 -0700 Fix uart_set_ldisc() function type Commit 64e9159f5d2c4edf5fa6425031e556f8fddaf7e6 ("serial_core: uart_set_ldisc infrastructure") introduced the ability for low-level serial drivers to be informed when the tty ldisc changes. However, the actual tty-layer function that does this callback for serial devices was declared with the wrong type, having a spurious and unused 'ldisc' argument. This fixed the resulting compiler warning by just removing it. Acked-by: Blithering Idiot Signed-off-by: Linus Torvalds commit b9c698964614f71b9c8afeca163a945b4c2e2d20 Author: Jarek Poplawski Date: Wed Jun 4 09:58:27 2008 -0700 netfilter: nf_conntrack_ipv6: fix inconsistent lock state in nf_ct_frag6_gather() [ 63.531438] ================================= [ 63.531520] [ INFO: inconsistent lock state ] [ 63.531520] 2.6.26-rc4 #7 [ 63.531520] --------------------------------- [ 63.531520] inconsistent {softirq-on-W} -> {in-softirq-W} usage. [ 63.531520] tcpsic6/3864 [HC0[0]:SC1[1]:HE1:SE0] takes: [ 63.531520] (&q->lock#2){-+..}, at: [] ipv6_frag_rcv+0xd0/0xbd0 [ 63.531520] {softirq-on-W} state was registered at: [ 63.531520] [] __lock_acquire+0x3aa/0x1080 [ 63.531520] [] lock_acquire+0x76/0xa0 [ 63.531520] [] _spin_lock+0x2b/0x40 [ 63.531520] [] nf_ct_frag6_gather+0x3f6/0x910 ... According to this and another similar lockdep report inet_fragment locks are taken from nf_ct_frag6_gather() with softirqs enabled, but these locks are mainly used in softirq context, so disabling BHs is necessary. Reported-and-tested-by: Eric Sesterhenn Signed-off-by: Jarek Poplawski Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2ee3f2c4b1db1320c1efb4dcaceeaf6c7e6c2d3 Author: Dong Wei Date: Wed Jun 4 09:57:51 2008 -0700 netfilter: xt_connlimit: fix accouning when receive RST packet in ESTABLISHED state In xt_connlimit match module, the counter of an IP is decreased when the TCP packet is go through the chain with ip_conntrack state TW. Well, it's very natural that the server and client close the socket with FIN packet. But when the client/server close the socket with RST packet(using so_linger), the counter for this connection still exsit. The following patch can fix it which is based on linux-2.6.25.4 Signed-off-by: Dong Wei Acked-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d389c7d8988aecfdc06d9e9f9769af09e6592082 Merge: 4ded383... 378bd6a... Author: Linus Torvalds Date: Wed Jun 4 09:43:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] hda - COMPAL IFL90/JFL-92 laptop quirk [ALSA] hda - Fix resume of auto-config mode with Realtek codecs [ALSA] hda - Fix model for LG LS75 laptop [ALSA] hda - Fix mic input on HP2133 [ALSA] ac97 - Fix ASUS A9T laptop output commit 9b62d864314736fb6cc5c5db5b964d4a3c093424 Author: Eric Miao Date: Wed May 21 17:26:15 2008 +0800 [MTD] [NAND] pxa: fix incorrect calling of pxa3xx_nand_config() on resume path Signed-off-by: Eric Miao Signed-off-by: David Woodhouse commit 4ded383569d6316d68d2aed298f8eb8d7bca37af Merge: e97dcb0... 870568b... Author: Linus Torvalds Date: Wed Jun 4 09:15:51 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86, fpu: fix CONFIG_PREEMPT=y corruption of application's FPU stack suspend-vs-iommu: prevent suspend if we could not resume x86: section mismatch fix x86: fix Xorg crash with xf86MapVidMem error x86: fix pointer type warning in arch/x86/mm/init_64.c:early_memtest x86: fix bad pmd ffff810000207xxx(9090909090909090) x86: ioremap fix failing nesting check x86: fix broken math-emu with lazy allocation of fpu area x86: enable preemption in delay x86: disable preemption in native_smp_prepare_cpus x86: fix APIC warning on 32bit v2 commit e97dcb0eadbb821eccd549d4987b653cf61e2374 Author: Casey Schaufler Date: Mon Jun 2 10:04:32 2008 -0700 Smack: fuse mount hang fix The d_instantiate hook for Smack can hang on the root inode of a filesystem if the file system code has not really done all the set-up. Fuse is known to encounter this problem. This change detects an attempt to instantiate a root inode and addresses it early in the processing, before any attempt is made to do something that might hang. Signed-off-by: Casey Schaufler Tested-by: Luiz Fernando N. Capitulino Signed-off-by: Linus Torvalds commit 246dd412d31e4f5de1d43aa6422a325b785f36e4 Merge: 2d9b57f... a57c1ba... Author: Linus Torvalds Date: Wed Jun 4 08:36:56 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl libata: kill unused constants sata_mv: PHY_MODE4 cleanups [libata] ata_piix: more acer short cable quirks [libata] ACPI: Properly handle bay devices in dock stations commit 2d9b57fbec9fde4deea3686f3927204efa218c7f Merge: df6ab55... 28d7647... Author: Linus Torvalds Date: Wed Jun 4 08:36:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] qla2xxx: Update version number to 8.02.01-k4. [SCSI] qla2xxx: Correct handling of AENs postings for vports. [SCSI] qla2xxx: Revert "qla2xxx: Use proper HA during asynchronous event handling." [SCSI] ibmvscsi: Non SCSI error status fixup [SCSI] fusion mpt: fix target missing after resetting external raid [SCSI] fix intermittent oops in scsi_bus_uevent [SCSI] qla2xxx: Update version number to 8.02.01-k3. [SCSI] qla2xxx: Revert "qla2xxx: Validate mid-layer 'underflow' during check-condition handling." [SCSI] qla2xxx: Disable local-interrupts while polling for RISC status. [SCSI] qla2xxx: Extend the 'fw_dump' SYSFS node the ability to initiate a firmware dump. [SCSI] qla2xxx: Don't depend on mailbox return values while enabling FCE tracing. [SCSI] qla2xxx: Convert vport_sem to a mutex [SCSI] qla2xxx: firmware semaphore to mutex [SCSI] qla2xxx: Correct locking within MSI-X interrupt handlers. [SCSI] qla2xxx: Display driver version at module init-time. [SCSI] qla2xxx: Return correct port_type to FC-transport for Vports. commit df6ab559bb1be44a78584e78ae7ad82d4e9e4f51 Merge: 3b5b60b... 39eb41e... Author: Linus Torvalds Date: Wed Jun 4 08:35:44 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26: sh: Add defconfig for RSK7203. sh: Update SE7206 defconfig. sh: Disable 4KSTACKS on nommu. sh: fix miscompilation of ip_fast_csum with gcc >= 4.3 sh: module.c use kernel unaligned helpers sh/kernel/cpu/irq/intc-sh5.c build fix commit 3b5b60b821e0e97531df9b0ba295283ab5a8859a Merge: d430a22... b33cb81... Author: Linus Torvalds Date: Wed Jun 4 08:08:27 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdbts: Use HW breakpoints with CONFIG_DEBUG_RODATA kgdb: use common ascii helpers and put_unaligned_be32 helper commit d430a227d272fa514bade388bf511dba4ec2962a Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 bogus format in ip6mr ptrdiff_t is %t..., not %Z... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c409d52bd1f16b37d35a50162cbf6401011f1135 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 celleb_scc_pciex endianness misannotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9307245765108a7ec827ef936560f333447c45ef Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 mpc52xx_gpio iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1a79d1c37178935a3092f73c8832933e9fed1f66 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 s2io iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1d92cfd54a51ff1b9593019fdde56793b66ba6a9 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 cifs endianness fixes __le16 fields used as host-endian. Signed-off-by: Al Viro Acked-by: Steve French Signed-off-by: Linus Torvalds commit 6399e7acbf9193c7d48827329ca592a1c8dc9e69 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 isp1760-if iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fa4144b758d58341d4e082ac2af259e97fbcbeee Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 cdc-wdm endianness fixes * wMaxPacketSize is le16; copying it to a field of local structure and then using that field as host-endian (size of object to be allocated) is broken. * bMaxPacketSize0 is 8-bit; feeding it to le16_to_cpu() is bogus and since the result is used as host-endian, it's not even misspelled cpu_to_le16(). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 76e6f2526ff69eba466f583d94beb7cf6b0bddd6 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 usb/c67x00 endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a064d5bdd0c9602e4cd930ad949392640b37dda7 Author: Al Viro Date: Mon Jun 2 10:59:02 2008 +0100 ibmaem endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 870568b39064cab2dd971fe57969916036982862 Author: Suresh Siddha Date: Mon Jun 2 15:57:27 2008 -0700 x86, fpu: fix CONFIG_PREEMPT=y corruption of application's FPU stack Jürgen Mell reported an FPU state corruption bug under CONFIG_PREEMPT, and bisected it to commit v2.6.19-1363-gacc2076, "i386: add sleazy FPU optimization". Add tsk_used_math() checks to prevent calling math_state_restore() which can sleep in the case of !tsk_used_math(). This prevents making a blocking call in __switch_to(). Apparently "fpu_counter > 5" check is not enough, as in some signal handling and fork/exec scenarios, fpu_counter > 5 and !tsk_used_math() is possible. It's a side effect though. This is the failing scenario: process 'A' in save_i387_ia32() just after clear_used_math() Got an interrupt and pre-empted out. At the next context switch to process 'A' again, kernel tries to restore the math state proactively and sees a fpu_counter > 0 and !tsk_used_math() This results in init_fpu() during the __switch_to()'s math_state_restore() And resulting in fpu corruption which will be saved/restored (save_i387_fxsave and restore_i387_fxsave) during the remaining part of the signal handling after the context switch. Bisected-by: Jürgen Mell Signed-off-by: Suresh Siddha Tested-by: Jürgen Mell Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit cd76374e9de4501acc74f833dc6cb5e7a5dca115 Author: Pavel Machek Date: Thu May 29 00:30:21 2008 -0700 suspend-vs-iommu: prevent suspend if we could not resume iommu/gart support misses suspend/resume code, which can do bad stuff, including memory corruption on resume. Prevent system suspend in case we would be unable to resume. Signed-off-by: Pavel Machek Tested-by: Patrick Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit be524fb96081e9e511d993ebf39b05a32b19476e Author: Andrew Morton Date: Thu May 29 00:01:28 2008 -0700 x86: section mismatch fix Fix this: WARNING: vmlinux.o(.text+0x114bb): Section mismatch in reference from the function nopat() to the function .cpuinit.text:pat_disable() The function nopat() references the function __cpuinit pat_disable(). This is often because nopat lacks a __cpuinit annotation or the annotation of pat_disable is wrong. Reported-by: "Fabio Comolli" Cc: Sam Ravnborg Signed-off-by: Ingo Molnar commit 282c454cd3a7041f59a37112bb2f82263bc38f6c Author: Venki Pallipadi Date: Thu May 29 12:01:44 2008 -0700 x86: fix Xorg crash with xf86MapVidMem error Clarify the usage of mtrr_lookup() in PAT code, and to make PAT code resilient to mtrr lookup problems. Specifically, pat_x_mtrr_type() is restructured to highlight, under what conditions we look for mtrr hint. pat_x_mtrr_type() uses a default type when there are any errors in mtrr lookup (still maintaining the pat consistency). And, reserve_memtype() highlights its usage ot mtrr_lookup for request type of '-1' and also defaults in a sane way on any mtrr lookup failure. pat.c looks at mtrr type of a range to get a hint on what mapping type to request when user/API: (1) hasn't specified any type (/dev/mem mapping) and we do not want to take performance hit by always mapping UC_MINUS. This will be the case for /dev/mem mappings used to map BIOS area or ACPI region which are WB'able. In this case, as long as MTRR is not WB, PAT will request UC_MINUS for such mappings. (2) user/API requests WB mapping while in reality MTRR may have UC or WC. In this case, PAT can map as WB (without checking MTRR) and still effective type will be UC or WC. But, a subsequent request to map same region as UC or WC may fail, as the region will get trackked as WB in PAT list. Looking at MTRR hint helps us to track based on effective type rather than what user requested. Again, here mtrr_lookup is only used as hint and we fallback to WB mapping (as requested by user) as default. In both cases, after using the mtrr hint, we still go through the memtype list to make sure there are no inconsistencies among multiple users. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Tested-by: Rufus & Azrael Signed-off-by: Ingo Molnar commit 511631011d39706ac81ee5e4c9084d61e5b4fd34 Author: Kevin Winchester Date: Thu May 29 21:14:35 2008 -0300 x86: fix pointer type warning in arch/x86/mm/init_64.c:early_memtest Changed the call to find_e820_area_size to pass u64 instead of unsigned long. Signed-off-by: Kevin Winchester Signed-off-by: Ingo Molnar commit 2884f110d5409714f3a04eeb6d2ecd77da66b242 Author: Hugh Dickins Date: Wed May 28 19:36:07 2008 +0100 x86: fix bad pmd ffff810000207xxx(9090909090909090) OGAWA Hirofumi and Fede have reported rare pmd_ERROR messages: mm/memory.c:127: bad pmd ffff810000207xxx(9090909090909090). Initialization's cleanup_highmap was leaving alignment filler behind in the pmd for MODULES_VADDR: when vmalloc's guard page would occupy a new page table, it's not allocated, and then module unload's vfree hits the bad 9090 pmd entry left over. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 226e9a93a253b7d8811b5ed9ac671c6c5a728022 Author: Ingo Molnar Date: Tue May 27 09:56:49 2008 +0200 x86: ioremap fix failing nesting check Mika Kukkonen noticed that the nesting check in early_iounmap() is not actually done. Reported-by: Mika Kukkonen Signed-off-by: Ingo Molnar Cc: torvalds@linux-foundation.org Cc: arjan@linux.intel.com Cc: mikukkon@iki.fi Signed-off-by: Thomas Gleixner commit e8a496ac8cd00cabbdaa373db4818a9ad19a1c5a Author: Suresh Siddha Date: Fri May 23 16:26:37 2008 -0700 x86: fix broken math-emu with lazy allocation of fpu area Fix the math emulation that got broken with the recent lazy allocation of FPU area. init_fpu() need to be added for the math-emulation path aswell for the FPU area allocation. math emulation enabled kernel booted fine with this, in the presence of "no387 nofxsr" boot param. Signed-off-by: Suresh Siddha Cc: hpa@zytor.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit 5c1ea08215f1f830dfaf4819a5f22efca41c3832 Author: Steven Rostedt Date: Sun May 25 11:13:32 2008 -0400 x86: enable preemption in delay The RT team has been searching for a nasty latency. This latency shows up out of the blue and has been seen to be as big as 5ms! Using ftrace I found the cause of the latency. pcscd-2995 3dNh1 52360300us : irq_exit (smp_apic_timer_interrupt) pcscd-2995 3dN.2 52360301us : idle_cpu (irq_exit) pcscd-2995 3dN.2 52360301us : rcu_irq_exit (irq_exit) pcscd-2995 3dN.1 52360771us : smp_apic_timer_interrupt (apic_timer_interrupt ) pcscd-2995 3dN.1 52360771us : exit_idle (smp_apic_timer_interrupt) Here's an example of a 400 us latency. pcscd took a timer interrupt and returned with "need resched" enabled, but did not reschedule until after the next interrupt came in at 52360771us 400us later! At first I thought we somehow missed a preemption check in entry.S. But I also noticed that this always seemed to happen during a __delay call. pcscd-2995 3dN.2 52360836us : rcu_irq_exit (irq_exit) pcscd-2995 3.N.. 52361265us : preempt_schedule (__delay) Looking at the x86 delay, I found my problem. In git commit 35d5d08a085c56f153458c3f5d8ce24123617faf, Andrew Morton placed preempt_disable around the entire delay due to TSC's not working nicely on SMP. Unfortunately for those that care about latencies this is devastating! Especially when we have callers to mdelay(8). Here I enable preemption during the loop and account for anytime the task migrates to a new CPU. The delay asked for may be extended a bit by the migration, but delay only guarantees that it will delay for that minimum time. Delaying longer should not be an issue. [ Thanks to Thomas Gleixner for spotting that cpu wasn't updated, and to place the rep_nop between preempt_enabled/disable. ] Signed-off-by: Steven Rostedt Cc: akpm@osdl.org Cc: Clark Williams Cc: Peter Zijlstra Cc: "Luis Claudio R. Goncalves" Cc: Gregory Haskins Cc: Linus Torvalds Cc: Andi Kleen Signed-off-by: Thomas Gleixner commit deef325086c3897393b8f7d6bccd03405244fe18 Author: Ingo Molnar Date: Mon May 12 15:44:38 2008 +0200 x86: disable preemption in native_smp_prepare_cpus Priit Laes reported the following warning: Call Trace: [] warn_on_slowpath+0x51/0x63 [] sys_ioctl+0x2d/0x5d [] _spin_lock+0xe/0x24 [] task_rq_lock+0x3d/0x73 [] set_cpu_sibling_map+0x336/0x350 [] read_apic_id+0x30/0x62 [] verify_local_APIC+0x90/0x138 [] native_smp_prepare_cpus+0x1f9/0x305 [] kernel_init+0x59/0x2d9 [] _spin_unlock_irq+0x11/0x2b [] child_rip+0xa/0x12 [] kernel_init+0x0/0x2d9 [] child_rip+0x0/0x12 fix this by generally disabling preemption in native_smp_prepare_cpus(). Reported-and-bisected-by: Priit Laes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb3bbd6a663fe972611676381adc4c60ddfe61ac Author: Yinghai Lu Date: Thu May 22 18:22:30 2008 -0700 x86: fix APIC warning on 32bit v2 for http://bugzilla.kernel.org/show_bug.cgi?id=10613 BIOS bug, APIC version is 0 for CPU#0! fixing up to 0x10. (tell your hw vendor) v2: fix 64 bit compilation Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: "Rafael J. Wysocki" Cc: Gabriel C Signed-off-by: Thomas Gleixner commit a57c1bade5a0ee5cd8b74502db9cbebb7f5780b2 Author: Alan Cox Date: Thu May 29 22:10:58 2008 +0100 libata-sff: Fix oops reported in kerneloops.org for pnp devices with no ctl - Make ata_sff_altstatus private so nobody uses it by mistake - Drop the 400nS delay from it Add ata_sff_irq_status - encapsulates the IRQ check logic This function keeps the existing behaviour for altstatus using devices. I actually suspect the logic was wrong before the changes but -rc isn't the time to play with that ata_sff_sync - ensure writes hit the device Really we want an io* operation for 'is posted' eg ioisposted(ioaddr) so that we can fix the nasty delay this causes on most systems. - ata_sff_pause - 400nS delay Ensure the command hit the device and delay 400nS - ata_sff_dma_pause Ensure the I/O hit the device and enforce an HDMA1:0 transition delay. Requires altstatus register exists, BUG if not so we don't risk corruption in MWDMA modes. (UDMA the checksum will save your backside in theory) The only other complication then is devices with their own handlers. rb532 can use dma_pause but scc needs to access its own altstatus register for internal errata workarounds so directly call the drivers own altstatus function. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4f0ebe3cc57f18ba26317b56b80b108c2848b1de Author: Tejun Heo Date: Tue May 20 02:17:50 2008 +0900 libata: kill unused constants Kill a few unused constants. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ba069e376cc0801cd28352ca5986ce20413acb21 Author: Mark Lord Date: Sat May 31 16:46:34 2008 -0400 sata_mv: PHY_MODE4 cleanups The handling for PHY_MODE4 was originally just cloned from the Marvell proprietary driver (with their blessing). But we can do better than that. Tidy things up with some judicious mask definitions, to improve maintainability. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e1fefea9cc4bc231b5c23fe19e3682fe061dc097 Author: Colin Ian King Date: Tue Jun 3 18:59:02 2008 +0200 [libata] ata_piix: more acer short cable quirks Add ICH6 on ACER Aspire 1694WLMi to list of laptops that use short cables rather than 80 wire OriginalAuthor: Tiago Sousa OriginalLocation: http://launchpadlibrarian.net/11627664/new.ich_laptop.short.cables.diff Bug: #187121 Signed-off-by: Colin Ian King Signed-off-by: maximilian attems Signed-off-by: Jeff Garzik commit 664d080c41463570b95717b5ad86e79dc1be0877 Author: Holger Macht Date: Tue Jun 3 20:27:59 2008 +0200 [libata] ACPI: Properly handle bay devices in dock stations * Differentiate between bay devices in dock stations and others: - When an ACPI_NOTIFY_EJECT_REQUEST appears, just signal uevent to userspace (that is when the optional eject button on a bay device is pressed/pulled) giving the possibility to unmount file systems and to clean up. Also, only send uevent in case we get an EJECT_REQUEST without doing anything else. In other cases, you'll get an add/remove event because libata attaches/detaches the device. - In case of a dock event, which in turn signals an ACPI_NOTIFY_EJECT_REQUEST, immediately detach the device, because it may already have been gone * In case of an ACPI_NOTIFY_DEVICE/BUS_CHECK, evaluate _STA to check if the device has been plugged or unplugged. If plugged, hotplug it, if unplugged, just signal event to userspace (initial patch by Matthew Garrett ) * Call ACPI _EJ0 for detached devices Signed-off-by: Holger Macht Signed-off-by: Jeff Garzik commit 378bd6a5211f05d6d8eb3e78a92e2a197e456e4e Author: Tony Vroon Date: Wed Jun 4 12:08:30 2008 +0200 [ALSA] hda - COMPAL IFL90/JFL-92 laptop quirk Use quirk table to assign ALC268_TOSHIBA to COMPAL IFL90/JFL-92 laptops. No analog output on autoprobe. Signed-off-by: Tony Vroon Tested-by: Guri Signed-off-by: Takashi Iwai commit ab32cd793dca21eec846a8204390d9594ed994d5 Author: Thomas Graf Date: Tue Jun 3 16:37:33 2008 -0700 route: Remove unused ifa_anycast field The field was supposed to allow the creation of an anycast route by assigning an anycast address to an address prefix. It was never implemented so this field is unused and serves no purpose. Remove it. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit bc3ed28caaef55e7e3a9316464256353c5f9b1df Author: Thomas Graf Date: Tue Jun 3 16:36:54 2008 -0700 netlink: Improve returned error codes Make nlmsg_trim(), nlmsg_cancel(), genlmsg_cancel(), and nla_nest_cancel() void functions. Return -EMSGSIZE instead of -1 if the provided message buffer is not big enough. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1f9d11c7c99da706e33646c3a9080dd5a8ef9a0b Author: Thomas Graf Date: Tue Jun 3 16:36:27 2008 -0700 route: Mark unused routing attributes as such Also removes an unused policy entry for an attribute which is only used in kernel->user direction. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 51b77cae0d5aa8e1546fca855dcfe48ddfadfa9c Author: Thomas Graf Date: Tue Jun 3 16:36:01 2008 -0700 route: Mark unused route cache flags as such. Also removes an obsolete check for the unused flag RTCF_MASQ. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 7557af25155a82ac2dad73eec6b0166868bf8ea2 Author: Brice Goglin Date: Tue Jun 3 16:07:45 2008 -0700 net_dma: remove duplicate assignment in dma_skb_copy_datagram_iovec No need to compute copy twice in the frags loop in dma_skb_copy_datagram_iovec(). Signed-off-by: Brice Goglin Acked-by: Shannon Nelson Signed-off-by: Maciej Sosnowski Signed-off-by: Dan Williams Signed-off-by: David S. Miller commit b9f5f52cca3e94f1e7509f366aa250ebbe1ed0b5 Author: Stephen Hemminger Date: Tue Jun 3 16:03:15 2008 -0700 net: neighbour table ABI problem The neighbor table time of last use information is returned in the incorrect unit. Kernel to user space ABI's need to use USER_HZ (or milliseconds), otherwise the application has to try and discover the real system HZ value which is problematic. Linux has standardized on keeping USER_HZ consistent (100hz) even when kernel is running internally at some other value. This change is small, but it breaks the ABI for older version of iproute2 utilities. But these utilities are already broken since they are looking at the psched_hz values which are completely different. So let's just go ahead and fix both kernel and user space. Older utilities will just print wrong values. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 57c511d8d47caeeae375cb8106662c0bd6a7e7e0 Author: Adrian Bunk Date: Tue Jun 3 16:00:01 2008 -0700 bridge: update URL This patch updates the URL of the bridge homepage. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 399dc43bc29fe1ac19340c56c0df84aa0ea53c85 Author: Alexey Dobriyan Date: Tue Jun 3 15:21:21 2008 -0700 sparc: switch /proc/led to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 9ecad877948deb2871d29e03786a7d7911687009 Author: Pavel Emelyanov Date: Tue Jun 3 15:18:36 2008 -0700 irda: Sock leak on error path in irda_create. Bad type/protocol specified result in sk leak. Fix is simple - release the sk if bad values are given, but to make it possible just to call sk_free(), I move some sk initialization a bit lower. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7dccf1f4e1696c79bff064c3770867cc53cbc71c Author: Jarek Poplawski Date: Tue Jun 3 14:53:46 2008 -0700 ax25: Fix NULL pointer dereference and lockup. From: Jarek Poplawski There is only one function in AX25 calling skb_append(), and it really looks suspicious: appends skb after previously enqueued one, but in the meantime this previous skb could be removed from the queue. This patch Fixes it the simple way, so this is not fully compatible with the current method, but testing hasn't shown any problems. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 537d59af73d894750cff14f90fe2b6d77fbab15b Author: Dave Young Date: Sun Jun 1 23:50:52 2008 -0700 bluetooth: rfcomm_dev_state_change deadlock fix There's logic in __rfcomm_dlc_close: rfcomm_dlc_lock(d); d->state = BT_CLOSED; d->state_changed(d, err); rfcomm_dlc_unlock(d); In rfcomm_dev_state_change, it's possible that rfcomm_dev_put try to take the dlc lock, then we will deadlock. Here fixed it by unlock dlc before rfcomm_dev_get in rfcomm_dev_state_change. why not unlock just before rfcomm_dev_put? it's because there's another problem. rfcomm_dev_get/rfcomm_dev_del will take rfcomm_dev_lock, but in rfcomm_dev_add the lock order is : rfcomm_dev_lock --> dlc lock so I unlock dlc before the taken of rfcomm_dev_lock. Actually it's a regression caused by commit 1905f6c736cb618e07eca0c96e60e3c024023428 ("bluetooth : __rfcomm_dlc_close lock fix"), the dlc state_change could be two callbacks : rfcomm_sk_state_change and rfcomm_dev_state_change. I missed the rfcomm_sk_state_change that time. Thanks Arjan van de Ven for the effort in commit 4c8411f8c115def968820a4df6658ccfd55d7f1a ("bluetooth: fix locking bug in the rfcomm socket cleanup handling") but he missed the rfcomm_dev_state_change lock issue. Signed-off-by: Dave Young Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 64e9159f5d2c4edf5fa6425031e556f8fddaf7e6 Author: Alan Cox Date: Tue Jun 3 15:18:54 2008 +0100 serial_core: uart_set_ldisc infrastructure The tty layer provides a callback that is used when the line discipline is changed. Some hardware uses this to configure hardware specific features such as IrDA mode on serial ports. Unfortunately the serial layer does not provide this feature or pass it down to drivers. Blackfin used to hack around this by rewriting the tty ops, but those are now properly shared and const so the hack fails. Instead provide the proper operations. This change plus a follow up from the Blackfin guys is needed to avoid blackfin losing features in this release. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 07bc76dfa19b10017b518dd9aa1b2719e8c863de Author: Takashi Iwai Date: Tue Jun 3 14:46:34 2008 +0200 [ALSA] hda - Fix resume of auto-config mode with Realtek codecs The auto-config mode of Realtek ALC codecs has a bug since 2.6.25 that it cannot resume properly. The problem was the wrong assignment of init_hook that overrides the whole initialization. Relevant bug reports: http://bugzilla.kernel.org/show_bug.cgi?id=10662 https://bugzilla.novell.com/show_bug.cgi?id=385473 Signed-off-by: Takashi Iwai commit 39eb41ef0732a02acb3babe5ba1df92d76b9fb8f Author: Paul Mundt Date: Tue Jun 3 20:30:10 2008 +0900 sh: Add defconfig for RSK7203. RSK7203 is supportable through the generic machvec, so we add a defconfig for those bits. This gets updated with more complete board support later. Signed-off-by: Paul Mundt commit f8cc3566d2e26ba1d9afd063ff5be40014e2e269 Author: Paul Mundt Date: Tue Jun 3 20:29:55 2008 +0900 sh: Update SE7206 defconfig. Signed-off-by: Paul Mundt commit bd628bd085c459838d38f93f2f154f1a2e019e48 Author: Mike Frysinger Date: Tue Jun 3 12:23:45 2008 +0800 Blackfin arch: fixup warnings with the new cplb saved values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1feaa51d84e9611521ec6e59172f9f90db274588 Author: Sonic Zhang Date: Tue Jun 3 12:19:45 2008 +0800 Blackfin Serial Driver: Clean up BF54x macro in blackfin UART driver. Hide difference in head file. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 4b34fe156455d26ee6ed67b61539f136bf4e439c Author: Bjorn Helgaas Date: Mon Jun 2 16:42:49 2008 -0600 PNP: mark resources that conflict with PCI devices "disabled" Both the PNP/PCI conflict detection quirk and the PNP system driver must use the same mechanism to mark resources as disabled. I think it's best to keep the resource and to keep the type bit (IORESOURCE_MEM, etc), so that we match the list from firmware as closely as possible. Fixes this regression from 2.6.25: http://lkml.org/lkml/2008/6/1/82 Signed-off-by: Bjorn Helgaas Tested-by: Avuton Olrich Signed-off-by: Linus Torvalds commit c3b25b32e8bef526cca748e1ba023c6bdd705a99 Merge: 28928b2... c4913c7... Author: Linus Torvalds Date: Mon Jun 2 15:30:44 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cts: Init SG tables commit 28928b2f1d769abdc173c96e2632d30cbde9ec4a Merge: 63e1462... 0f475b2... Author: Linus Torvalds Date: Mon Jun 2 15:28:45 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: [PATCH 3/3] ocfs2/net: Silence build warnings [PATCH 2/3] ocfs2/dlm: Silence build warnings [PATCH 1/3] ocfs2/net: Silence build warnings ocfs2: Rename 'user_stack' plugin structure to 'ocfs2_user_plugin' commit 63e14626eddb534ab429e9c2b95d3f7038b596b6 Author: Anton Vorontsov Date: Sun Jun 1 11:49:32 2008 +0200 mmc_spi: mmc_spi.h should include linux/interrupts.h Since mmc_spi.h uses irqreturn_t type, it should include appropriate header, otherwise build will break if users didn't include it (some of them do not use interrupts). Signed-off-by: Anton Vorontsov Signed-off-by: Pierre Ossman Signed-off-by: Linus Torvalds commit b09916e4f07de1cb2259cb01ec31e6ce535471bc Merge: 00e98a9... 96d97f2... Author: Linus Torvalds Date: Mon Jun 2 15:26:02 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild: fix $(src) assignmnet with external modules commit 00e98a9992641a14ace0bbc2dfcbc4e856ac3fd3 Merge: f365ad5... a4ed1e4... Author: Linus Torvalds Date: Mon Jun 2 15:25:27 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: 8250 Serial Driver: revert extra IRQ flag definition patch Blackfin arch: update anomaly headers from toolchain trunk Blackfin arch: Remove bad and usless code Blackfin arch: Fix bug - set corret SSEL and IRQ to enable AD7877 on BF527 Blackfin arch: Fix typo. it should be _outsw_8 Blackfin arch: Cleanup no functional changes commit f365ad5fc001cbd02968a376e0aecffe52ce79e1 Merge: 61ac7bf... 9c8b28c... Author: Linus Torvalds Date: Mon Jun 2 15:25:03 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix DMA nodes in the MPC8610 HPCD device tree [POWERPC] Export empty_zero_page and copy_page in arch/ppc [POWERPC] Add "memory" clobber to MMIO accessors [POWERPC] pasemi: update pasemi_defconfig, enable electra_cf electra_cf: Add MODULE_DEVICE_TABLE() commit 0ef2cfc0ca4625424e5b8ead6c47359c35a7a841 Author: Russell King Date: Mon Jun 2 20:38:15 2008 +0100 [ARM] pxa: fix tosa.c build error Work around: arch/arm/mach-pxa/tosa.c: In function `tosa_poweroff': arch/arm/mach-pxa/tosa.c:470: error: `GPIO_OUT' undeclared (first use in this function) arch/arm/mach-pxa/tosa.c:470: error: (Each undeclared identifier is reported only once arch/arm/mach-pxa/tosa.c:470: error: for each function it appears in.) The proper fix exists in the PXA branch of my kernel git tree, which will be pushed during the next merge window. Signed-off-by: Russell King commit 1e5c594607778f551b729577b046ee5d9333cfb5 Author: surinder Date: Wed May 28 09:51:16 2008 +0100 [ARM] 5067/1: _raw_write_can_lock macro bugfix The current __raw_write_can_lock macro tests whether the lock can be locked by checking if it is equal to 0x80000000, whereas the lock should be lockable if its value is 0 i.e. unlocked state is represented by 0. Hence the macro should test the value of lock against 0 and not 0x80000000. Signed-off-by: Surinder Pal Singh Signed-off-by: Russell King commit ea6a7404da4b381b35bcec48338d376a3873ea46 Author: Philipp Zabel Date: Fri May 30 18:53:55 2008 +0100 [ARM] 5070/1: pxa: add GPIO104_PSKTSEL to pxa27x MFP configuration PSKTSEL can be routed to GPIO pin 104. This configuration is used by HP iPAQ hx4700. Signed-off-by: Philipp Zabel Acked-by: Jrgen Schindele Signed-off-by: Russell King commit 106f62701fe79fd5c251e5d3e182516344882962 Author: Jonathan Cameron Date: Wed May 28 18:37:14 2008 +0100 [ARM] 5068/1: PXA2xx Additional gpio definitions Some additional alternate gpio definitions relating to FFUART and USB on the pxa27x. These are used on the xbow imote2 platform. Signed-off-by: Jonathan Cameron Signed-off-by: Russell King commit 31ab3ffb2b20cda79684a0b3a4265fd7170cdacc Author: Mike Rapoport Date: Mon Jun 2 12:58:23 2008 +0100 [ARM] 5066/2: EM-X270: Fix DM9000 IRQ flags initialisation Add the IORESOURCE_IRQ_HIGHEDGE to the DM9000 IRQ resource to stop the driver itself complaining it was not given any flags to use. Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit b095723526cb80494bd5a13de0e5078f8846866a Author: Mike Rapoport Date: Mon Jun 2 12:58:24 2008 +0100 [ARM] 5065/2: CM-X270: Fix DM9000 IRQ flags initialisation Add the IORESOURCE_IRQ_HIGHEDGE to the DM9000 IRQ resource to stop the driver itself complaining it was not given any flags to use. Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit f529626a86d61897862aa1bbbb4537773209238e Author: Pavel Machek Date: Thu May 29 00:30:21 2008 -0700 suspend-vs-iommu: prevent suspend if we could not resume iommu/gart support misses suspend/resume code, which can do bad stuff, including memory corruption on resume. Prevent system suspend in case we would be unable to resume. Signed-off-by: Pavel Machek Tested-by: Patrick Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit db9f600b96c16bb3c7f094e294fbdd370226ad86 Author: Miquel van Smoorenburg Date: Wed May 28 10:31:25 2008 +0200 x86: pci-dma.c: use __GFP_NO_OOM instead of __GFP_NORETRY On Wed, 2008-05-28 at 04:47 +0200, Andi Kleen wrote: > > So... why not just remove the setting of __GFP_NORETRY? Why is it > > wrong to oom-kill things in this case? > > When the 16MB zone overflows (which can be common in some workloads) > calling the OOM killer is pretty useless because it has barely any > real user data [only exception would be the "only 16MB" case Alan > mentioned]. Killing random processes in this case is bad. > > I think for 16MB __GFP_NORETRY is ok because there should be > nothing freeable in there so looping is useless. Only exception would be the > "only 16MB total" case again but I'm not sure 2.6 supports that at all > on x86. > > On the other hand d_a_c() does more allocations than just 16MB, especially > on 64bit and the other zones need different strategies. Okay, so how about this then ? Signed-off-by: Ingo Molnar commit 75b19b790bec3ebffbf513405b27500e22270cbc Author: Bertram Felgenhauer Date: Fri May 30 03:20:05 2008 +0200 pci, x86: add workaround for bug in ASUS A7V600 BIOS (rev 1005) This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586, which it is not. Without this patch, I get the following warning while booting, among others, | PCI: Using IRQ router VIA [1106/3227] at 0000:00:11.0 | ------------[ cut here ]------------ | WARNING: at arch/x86/pci/irq.c:265 pirq_via586_get+0x4a/0x60() | Modules linked in: | Pid: 1, comm: swapper Not tainted 2.6.26-rc4-00015-g1ec7d99 #1 | [] warn_on_slowpath+0x54/0x70 | [] ? vt_console_print+0x210/0x2b0 | [] ? vt_console_print+0x0/0x2b0 | [] ? __call_console_drivers+0x43/0x60 | [] ? _call_console_drivers+0x52/0x80 | [] ? release_console_sem+0x1c9/0x200 | [] ? raw_pci_read+0x41/0x70 | [] ? pci_read+0x2f/0x40 | [] pirq_via586_get+0x4a/0x60 | [] ? pirq_via586_get+0x0/0x60 | [] pcibios_lookup_irq+0x15d/0x430 | [] pcibios_irq_init+0x17a/0x3e0 | [] ? kernel_init+0x0/0x250 | [] kernel_init+0x73/0x250 | [] ? pcibios_irq_init+0x0/0x3e0 | [] ? schedule_tail+0x10/0x40 | [] ? ret_from_fork+0x6/0x1c | [] ? kernel_init+0x0/0x250 | [] ? kernel_init+0x0/0x250 | [] kernel_thread_helper+0x7/0x1c | ======================= | ---[ end trace 4eaa2a86a8e2da22 ]--- and IRQ trouble later, | irq 10: nobody cared (try booting with the "irqpoll" option) Now that's an VIA 8237 chip, so pirq_via586_get shouldn't be called at all; adding this workaround to via_router_probe() fixes the problem for me. Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll never understand why. Signed-off-by: Bertram Felgenhauer Acked-by: Alan Cox Signed-off-by: Ingo Molnar commit c4913c7b71abc79b008a3c118628cfb59bdb0efc Author: Alexey Dobriyan Date: Mon Jun 2 15:46:51 2008 +1000 [CRYPTO] cts: Init SG tables Steps to reproduce: modprobe tcrypt # with CONFIG_DEBUG_SG=y testing cts(cbc(aes)) encryption test 1 (128 bit key): ------------[ cut here ]------------ kernel BUG at include/linux/scatterlist.h:65! invalid opcode: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC CPU 0 Modules linked in: tea xts twofish twofish_common tcrypt(+) [maaaany] Pid: 16151, comm: modprobe Not tainted 2.6.26-rc4-fat #7 RIP: 0010:[] [] :cts:cts_cbc_encrypt+0x151/0x355 RSP: 0018:ffff81016f497a88 EFLAGS: 00010286 RAX: ffffe20009535d58 RBX: ffff81016f497af0 RCX: 0000000087654321 RDX: ffff8100010d4f28 RSI: ffff81016f497ee8 RDI: ffff81016f497ac0 RBP: ffff81016f497c38 R08: 0000000000000000 R09: 0000000000000011 R10: ffffffff00000008 R11: ffff8100010d4f28 R12: ffff81016f497ac0 R13: ffff81016f497b30 R14: 0000000000000010 R15: 0000000000000010 FS: 00007fac6fa276f0(0000) GS:ffffffff8060e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007f12ca7cc000 CR3: 000000016f441000 CR4: 00000000000026e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff4ff0 DR7: 0000000000000400 Process modprobe (pid: 16151, threadinfo ffff81016f496000, task ffff8101755b4ae0) Stack: 0000000000000001 ffff81016f496000 ffffffff80719f78 0000000000000001 0000000000000001 ffffffff8020c87c ffff81016f99c918 20646c756f772049 65687420656b696c 0000000000000020 0000000000000000 0000000033341102 Call Trace: [] ? restore_args+0x0/0x30 [] ? :aes_generic:crypto_aes_expand_key+0x311/0x369 [] ? check_object+0x15a/0x213 [] ? init_object+0x6e/0x76 [] ? __slab_free+0xfc/0x371 [] :cts:crypto_cts_encrypt+0xbb/0xca [] ? :crypto_blkcipher:setkey+0xc7/0xec [] :crypto_blkcipher:async_encrypt+0x38/0x3a [] :tcrypt:test_cipher+0x261/0x7c6 [] :tcrypt:tcrypt_mod_init+0x9df/0x1b30 [] sys_init_module+0x9e/0x1b2 [] system_call_after_swapgs+0x8a/0x8f Code: 45 c0 e8 aa 24 63 df 48 c1 e8 0c 48 b9 00 00 00 00 00 e2 ff ff 48 8b 55 88 48 6b c0 68 48 01 c8 b9 21 43 65 87 48 39 4d 80 74 04 <0f> 0b eb fe f6 c2 01 74 04 0f 0b eb fe 83 e2 03 4c 89 ef 44 89 RIP [] :cts:cts_cbc_encrypt+0x151/0x355 RSP ---[ end trace e8bahiarjand37fd ]--- Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu commit 1f8404ea5fd8c408d0a7c12a88091dffb7b6768b Author: Paul Mundt Date: Mon Jun 2 13:48:59 2008 +0900 sh: Disable 4KSTACKS on nommu. 4k stacks on nommu ends up blowing up with all sorts of interesting slab corruption. Disable this by default unless BROKEN is also enabled. Signed-off-by: Paul Mundt commit d02d6be5d52a98be32c93d2ea7a0068991774a20 Author: Paul Mundt Date: Mon Jun 2 12:40:14 2008 +0900 sh: fix miscompilation of ip_fast_csum with gcc >= 4.3 As noted by Matthew Wilcox: Kyle McMartin just tracked down a bug on parisc to a missing "memory" clobber in the inline assembly implementation of ip_fast_csum. The FRV, SH and Xtensa ports are also missing a memory clobber, so I thought it would be polite to let you know. The bug manifests as dropped network packets (obviously they have the wrong checksum). It started appearing for parisc with GCC 4.3. The GCC manual says: If your assembler instructions access memory in an unpredictable fashion, add `memory' to the list of clobbered registers. This will cause GCC to not keep memory values cached in registers across the assembler instruction and not optimize stores or loads to that memory. I see that FRV has a 400 byte memory output which may prevent this problem from appearing, but SH and Xtensa have nothing to prevent this bug. Hope this saves you a few days of debugging. Signed-off-by: Paul Mundt commit 1f9d29493992ddd6af6b3e313a603770f29c0408 Author: Harvey Harrison Date: Wed May 28 16:38:17 2008 -0700 sh: module.c use kernel unaligned helpers Replace the COPY_UNALIGNED_WORD helper. Signed-off-by: Harvey Harrison Signed-off-by: Paul Mundt commit 2beb0e2893b900fa5fb07ccf73a976c06a93b764 Author: Adrian Bunk Date: Fri May 30 01:04:49 2008 +0300 sh/kernel/cpu/irq/intc-sh5.c build fix This patch fixes the following build error caused by commit a1dc4b59fa4af97ae68ee214d4d72bbd7c7ec1dc (sh: intc_sh5 depends on cayman board for IRQ priority table.): <-- snip --> ... CC arch/sh/kernel/cpu/irq/intc-sh5.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/kernel/cpu/irq/intc-sh5.c: In function 'plat_irq_setup': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/kernel/cpu/irq/intc-sh5.c:257: error: expected declaration or statement at end of input make[4]: *** [arch/sh/kernel/cpu/irq/intc-sh5.o] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit 6d2545738a7c6ad1831d84ecc6483ea21c327bf4 Author: eric miao Date: Mon May 26 03:23:14 2008 +0100 [ARM] 5062/1: pxa: remove unused definition of CONFIG_ARCH_COTULLA_IDP Signed-off-by: Eric Miao Signed-off-by: Russell King commit 759e9408ad2e7f2115ce8341854be982e0186a8c Author: Greg Ungerer Date: Sun May 25 12:35:38 2008 +0100 [ARM] 5060/1: remove unnecessary include of asm/io.h Remove unnecessary include of asm/io.h. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit ee48a75c95145bf6af3be329cd7cbbca2ec89a2a Author: Russell King Date: Sun Jun 1 11:19:33 2008 +0100 [ARM] fix AT91 include loops AT91 has one include loop in its header files: include/asm-arm/io.h <- include/asm-arm/arch-at91/io.h <- include/asm-arm/io.h Circular include dependencies are dangerous since they can result in inconsistent definitions being provided to other code, especially if '#ifndef' constructs are used. Solve this by removing the offending includes. Built tested using my AT91 configuration. Acked-by: Andrew Victor Signed-off-by: Russell King commit ca05a99a54db1db5bca72eccb5866d2a86f8517f Author: Andrew G. Morgan Date: Tue May 27 22:05:17 2008 -0700 capabilities: remain source compatible with 32-bit raw legacy capability support. Source code out there hard-codes a notion of what the _LINUX_CAPABILITY_VERSION #define means in terms of the semantics of the raw capability system calls capget() and capset(). Its unfortunate, but true. Since the confusing header file has been in a released kernel, there is software that is erroneously using 64-bit capabilities with the semantics of 32-bit compatibilities. These recently compiled programs may suffer corruption of their memory when sys_getcap() overwrites more memory than they are coded to expect, and the raising of added capabilities when using sys_capset(). As such, this patch does a number of things to clean up the situation for all. It 1. forces the _LINUX_CAPABILITY_VERSION define to always retain its legacy value. 2. adopts a new #define strategy for the kernel's internal implementation of the preferred magic. 3. deprecates v2 capability magic in favor of a new (v3) magic number. The functionality of v3 is entirely equivalent to v2, the only difference being that the v2 magic causes the kernel to log a "deprecated" warning so the admin can find applications that may be using v2 inappropriately. [User space code continues to be encouraged to use the libcap API which protects the application from details like this. libcap-2.10 is the first to support v3 capabilities.] Fixes issue reported in https://bugzilla.redhat.com/show_bug.cgi?id=447518. Thanks to Bojan Smojver for the report. [akpm@linux-foundation.org: s/depreciate/deprecate/g] [akpm@linux-foundation.org: be robust about put_user size] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andrew G. Morgan Cc: Serge E. Hallyn Cc: Bojan Smojver Cc: stable@kernel.org Signed-off-by: Andrew Morton Signed-off-by: Chris Wright commit 96d97f262aa6120f8dd8e8e9c7a0b0677de7e29e Author: Sam Ravnborg Date: Sat May 31 22:28:40 2008 +0200 kbuild: fix $(src) assignmnet with external modules When we introduced support for KBUILD_EXTRA_SYMBOLS we started to include the externam module's kbuild file when doing the final modpost step. As external modules often do: ccflags-y := -I$(src) We had problems because $(src) was unassinged and gcc then used the next parameter for -I resulting in strange build failures. Fix is to assign $(src) and $(obj) when building external modules. This fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10798 Signed-off-by: Sam Ravnborg Cc: Tvrtko Cc: Andrea Arcangeli Cc: "Rafael J. Wysocki" commit a4ed1e41a734d77c9a83a88a8736e19b68e6a2a0 Author: Bryan Wu Date: Sat May 31 16:10:04 2008 +0800 8250 Serial Driver: revert extra IRQ flag definition patch As Russell pointed out, original patch will break some serial configurations because of the dependency of the header file. Revert it first and try to find out other solution later Cc: Javier Herrero Cc: Alan Cox Cc: Russell King Signed-off-by: Bryan Wu commit a70ce072b3883e431575449f3e294c27235590e5 Author: Mike Frysinger Date: Sat May 31 15:47:17 2008 +0800 Blackfin arch: update anomaly headers from toolchain trunk Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b06dcee9c8d24ef903dc0d192af22b8e179eef4b Author: Michael Hennerich Date: Sat May 31 15:35:40 2008 +0800 Blackfin arch: Remove bad and usless code Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2eb74ae20e65e71c2d5bf7b8ad7d0ac5d5acf55f Author: Bryan Wu Date: Sat May 31 15:17:25 2008 +0800 Blackfin arch: Fix bug - set corret SSEL and IRQ to enable AD7877 on BF527 AD7877 use SSEL_2 (P9.9) and IRQ_PF8 (P9.14) on BF527 - populating JP3 to enable STAMP - disable SW11.2 to disconnect SSEL_2/PF12 from Rotary NAND - disable SW18.1 to disconnect SSEL_2 from MAX1233 touchscreen chip Signed-off-by: Bryan Wu commit 9c8b28c2ef532c2cf32b59aaa0bc07eb3b866ef7 Author: Timur Tabi Date: Sat May 31 08:12:05 2008 +1000 [POWERPC] Fix DMA nodes in the MPC8610 HPCD device tree The node for DMA2 in the MPC8610 HPCD device tree has the wrong compatible properties. This breaks the DMA driver and the sound driver. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit 6907fa26d8934904a4c2594034c1affd8d717cae Author: Tony Breeds Date: Wed May 28 10:52:19 2008 +1000 [POWERPC] Export empty_zero_page and copy_page in arch/ppc Currently ext4 and fuse fail to link if modular: ERROR: "copy_page" [fs/fuse/fuse.ko] undefined! ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! make[3]: *** [__modpost] Error 1 make[2]: *** [modules] Error 2 make[1]: *** [sub-make] Error 2 While arch ppc exists it may as well compile, so this exports those symbols (which are already exported in arch/powerpc). Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit cfab3bdf8292edec19492c89520b1ad11279a648 Author: Benjamin Herrenschmidt Date: Wed May 28 10:18:17 2008 +1000 [POWERPC] Add "memory" clobber to MMIO accessors Gcc might re-order MMIO accessors vs. surrounding consistent memory accesses, which is a "bad thing", and could break drivers. This fixes it by adding a "memory" clobber to the MMIO accessors, which should prevent gcc from doing that reordering. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 56997fa838e333cea33ab641d4aeedd23aef0eb1 Author: Grant Grundler Date: Mon May 12 00:37:51 2008 -0600 [netdrvr] tulip: oops in tulip_interrupt when hibernating with swsusp/suspend2 The following patch is seems to fix the tulip suspend/resume panic: http://bugzilla.kernel.org/show_bug.cgi?id=8952#c46 My attempts at a cleaner patch failed and Pavel thinks this is OK. Original from: kernelbugs@tap.homeip.net Signed-off-by: Grant Grundler Signed-off-by: Jeff Garzik commit aefdbf1a3b832a580a50cf3d1dcbb717be7cbdbe Author: Alexey Dobriyan Date: Fri May 23 02:00:25 2008 +0400 atl1: fix 4G memory corruption bug When using 4+ GB RAM and SWIOTLB is active, the driver corrupts memory by writing an skb after the relevant DMA page has been unmapped. Although this doesn't happen when *not* using bounce buffers, clearing the pointer to the DMA page after unmapping it fixes the problem. http://marc.info/?t=120861317000005&r=2&w=2 Signed-off-by: Alexey Dobriyan Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 08722bc4a066705e3f5fb4a5a87ce717fe9f896e Author: Li Yang Date: Fri May 23 18:11:27 2008 +0800 ucc_geth_ethtool: Add a missing HW stats counter Signed-off-by: Joakim Tjernlund Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 25f03dcf63d233c13970751253b62a678bd85ccc Author: Joakim Tjernlund Date: Fri May 23 18:11:26 2008 +0800 ucc_geth_ethtool: Fix typo Signed-off-by: Joakim Tjernlund Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 11a3a1546d0adc36485c2ad4af7ab950712df6ff Author: Rusty Russell Date: Mon May 26 17:48:13 2008 +1000 virtio: fix delayed xmit of packet and freeing of old packets. Because we cache the last failed-to-xmit packet, if there are no packets queued behind that one we may never send it (reproduced here as TCP stalls, "cured" by an outgoing ping). Cc: Mark McLoughlin Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit 7eb2e25112bf920bb0a4d1cca445f3d96874c25f Author: Rusty Russell Date: Mon May 26 17:42:42 2008 +1000 virtio: fix virtio_net xmit of freed skb bug If we fail to transmit a packet, we assume the queue is full and put the skb into last_xmit_skb. However, if more space frees up before we xmit it, we loop, and the result can be transmitting the same skb twice. Fix is simple: set skb to NULL if we've used it in some way, and check before sending. Signed-off-by: Rusty Russell Signed-off-by: Jeff Garzik commit d399cf8c04c595d738d82d02ae2755b902a51571 Author: Brice Goglin Date: Wed May 28 09:10:01 2008 +0200 myri10ge: update driver version Update myri10ge version to 1.3.99-1.347. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 6f94f709b5b1d3a9b5f1ff7d4f3534de6cde3ff6 Author: Cesar Eduardo Barros Date: Thu May 29 21:58:36 2008 -0300 sc92031: remove bogus unlikely() Commit 5a0a92e67b5009a71e011658da04fb92dad8961f mentions len < ETH_ZLEN is true for ARP packets. This obviously is not unlikely. Signed-off-by: Cesar Eduardo Barros Signed-off-by: Jeff Garzik commit 17a9440f7deb781935c76e2e55d376a35611a6f9 Author: Wang Chen Date: Fri May 30 11:18:55 2008 +0800 [netdrvr] CS89X0: Add cleanup for dma after fail After request_dma() succeeding, any error path should do free_dma(). Signed-off-by: Wang Chen Signed-off-by: Jeff Garzik commit b055629eaef7758b35dc91c76cf4f158025562bf Author: Ben Hutchings Date: Fri May 30 22:18:35 2008 +0100 [netdrvr] sfc: Report XAUI link down at default log level This is normal when the external link is down so don't report it as an error. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 61ac7bf538db2044d0238fcd87b3d9df59294bf2 Merge: 14d03fd... 3072c37... Author: Linus Torvalds Date: Fri May 30 15:39:05 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: change the Device IDs of nvidia MCP7B AHCI controller in ahci.c [libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support libata: SRST can't be trusted on PMP sil3726 libata: fix libata-scsi kernel-doc notation ata: Convert to static DEFINE_SPINLOCK(lock) ata_piix: fix macbook ich8m problems sata_mv: implement SoC guideline SATA_S11 sata_mv: workaround for 60x1 errata sata13 sata_mv: nuke unreleased GenIIe revisions sata_mv: PHY_MODEx errata fixes sata_mv: move SOC_FLAG to hpriv commit 0f475b2abed6cbccee1da20a0bef2895eb2a0edd Author: Sunil Mushran Date: Mon May 12 18:31:37 2008 -0700 [PATCH 3/3] ocfs2/net: Silence build warnings This patch silences the build warnings concerning o2net_init_nst() and friends when building without CONFIG_DEBUG_FS enabled. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 959040c37a8cae8117907d4aed87f1b01ff1ea19 Author: Sunil Mushran Date: Mon May 12 18:31:36 2008 -0700 [PATCH 2/3] ocfs2/dlm: Silence build warnings This patch silences the build warnings concerning dlm_debug_init() and friends when building without CONFIG_DEBUG_FS enabled. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 271d772d02507c7541d5e6b4938ed2380e59a39a Author: Sunil Mushran Date: Mon May 12 18:31:35 2008 -0700 [PATCH 1/3] ocfs2/net: Silence build warnings This patch silences the build warnings concerning o2net_debugfs_init() and friends when building without CONFIG_DEBUG_FS enabled. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit a12630b186d56a77d17c9b34c82b88dda4337ed7 Author: Joel Becker Date: Fri May 9 18:49:29 2008 -0700 ocfs2: Rename 'user_stack' plugin structure to 'ocfs2_user_plugin' The static structure describing the userspace cluster plugin for ocfs2 was named 'user_stack', which is a real pain when people are grep(1)ing the tree for the program stack object 'user_stack'. Change the name to something distinct and namespaced. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 14d03fd98e076c6e60e1085a962410dc4d70ab59 Author: Linus Torvalds Date: Fri May 30 14:02:21 2008 -0700 Mark 'scripts/decodecode' executable .. because it is. Signed-off-by: Linus Torvalds commit 28d7647de2ee075aaed5ca835f445e885884f163 Author: Andrew Vasquez Date: Mon May 19 14:25:41 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 08b95a12cd956e98b4a1ad5b638935dcb6c88c67 Author: Seokmann Ju Date: Mon May 19 14:25:40 2008 -0700 [SCSI] qla2xxx: Correct handling of AENs postings for vports. Initialize all proper structure members in order to support work-list vport processing. This code also properly acquires the correct (physical hardware_lock) lock during work submission. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3c39740073b20d4cbb0e3567225500e96acf383c Author: Seokmann Ju Date: Mon May 19 14:25:39 2008 -0700 [SCSI] qla2xxx: Revert "qla2xxx: Use proper HA during asynchronous event handling." This reverts commit bd2a1846b2313e32d0270151a31a6b8335384a20. The original (prior to the reverted commit) code was correct. Additionally, the vp_idx should be checked during MBA_PORT_UPDATE in order for proper handling to take place for a given vport. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ab8cd81830fef799177740d5ab709c0341e9ba5c Merge: f8356ed... 2088761... Author: Linus Torvalds Date: Fri May 30 10:20:03 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: notify on empty virtio: force callback on empty. virtio_blk: fix endianess annotations virtio_config: fix len calculation of config elements virtio_net: another race with virtio_net and enable_cb virtio: An entropy device, as suggested by hpa. virtio_blk: allow read-only disks lguest: fix ugly in /proc/interrupts virtio: set device index in common code. virtio: virtio_pci should not set bus_id. virtio: bus_id for devices should contain 'virtio' Fix crash in virtio_blk during modprobe ; rmmod ; modprobe lguest: use ioremap_cache, not ioremap commit f8356ed00ebcdc2f209504c02b4ab8ba9a8a7ebe Merge: 7536d7b... a9b841e... Author: Linus Torvalds Date: Fri May 30 10:18:02 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: fix rpadlpar pci hotplug driver sysfs usage commit 7536d7be7b718f8c5834cbcb7601816562e1b805 Merge: 57f50ca... 5adad01... Author: Linus Torvalds Date: Fri May 30 10:17:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: rename SW_RADIO to SW_RFKILL_ALL Input: gtco - fix double kfree in error handling path Input: pxa27x_keypad - miscellaneous fixes Input: atkbd - mark keyboard as disabled when suspending/unloading Input: apanel - remove duplicate include Input: wm9713 - support five wire panels Input: wm97xx-core - fix race on PHY init Input: wm97xx-core - fix driver name Input: wm97xx-core - report a phys for WM97xx touchscreens Input: i8042 - make sure Dritek quirk is invoked at resume Input: i8042 - add Dritek quirk for Acer TravelMate 660 commit 57f50ca127a3189566af0d6378394c75a26f0f7e Author: Ingo Molnar Date: Fri May 30 17:02:50 2008 +0200 drivers/watchdog/geodewdt.c: build fix * Wim Van Sebroeck wrote: > Author: Jordan Crouse > Date: Mon Jan 21 10:07:00 2008 -0700 > > [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers -tip testing found the following build failure on latest -git: drivers/watchdog/geodewdt.c: In function 'geodewdt_probe': drivers/watchdog/geodewdt.c:225: error: too many arguments to function 'geode_mfgpt_alloc_timer' make[1]: *** [drivers/watchdog/geodewdt.o] Error 1 make: *** [drivers/watchdog/geodewdt.o] Error 2 with this config: http://redhat.com/~mingo/misc/config-Fri_May_30_15_19_52_CEST_2008.bad find the fix below. Signed-off-by: Ingo Molnar Acked-by: Jordan Crouse Signed-off-by: Linus Torvalds commit a9b841e1a336822a25899ec8cdf70a55a6696ae7 Author: Benjamin Herrenschmidt Date: Fri May 30 13:39:12 2008 +1000 PCI: fix rpadlpar pci hotplug driver sysfs usage When Greg "fixed" the sysfs usage of that driver a while back, he seem to have introduced a bug where the quotes are added around the name of our specific sysfs files, thus breaking the user space tool. This fixes it. Tested DLPAR operations on a POWER6 machine successfully. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jesse Barnes commit 3072c379bccfa2844e33103ed9ff530780e660ea Author: peerchen Date: Mon May 19 14:44:57 2008 +0800 ahci: change the Device IDs of nvidia MCP7B AHCI controller in ahci.c Change the partial Device IDs of nvidia MCP7B AHCI controller in ahci.c, as the actual PCI IDs deployed in the field differed from the forecasted ones preemptively placed in the driver. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 034d8e8f273fcb02bebd6a62d8023ffa409fe92f Author: Ashish Kalra Date: Tue May 20 00:19:45 2008 -0500 [libata] sata_fsl: Fix broken driver, add port multiplier (PMP) support The following commit (4c9bf4e799ce06a7378f1196587084802a414c03): libata: replace tf_read with qc_fill_rtf for non-SFF drivers Broke the sata_fsl.c driver in 2.6.26-rc. I know the following patch fixes the issue, it clearly also adds port multipler support. The current 2.6.26-rc driver is broken. On boot with debug enabled we get something like (w/o this patch): spurious interrupt!!, CC = 0x1 interrupt status 0x1 xx_scr_read, reg_in = 1 spurious interrupt!!, CC = 0x1 interrupt status 0x1 xx_scr_read, reg_in = 1 spurious interrupt!!, CC = 0x1 interrupt status 0x1 xx_scr_read, reg_in = 1 .. continues for ever. This change fixes this as a side effect of adding port multiplier support. Signed-off-by: Ashish Kalra Signed-off-by: Jeff Garzik commit 19ef9d5e45ce805700f34c248a71a511877b8a5d Author: Tejun Heo Date: Wed May 21 14:11:24 2008 +0900 libata: SRST can't be trusted on PMP sil3726 As in sil4726, SRST can't be trusted on sil3726 causing detection problems under certain configuraitons. I thought it was from the Config Disk device but apparently not. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ec2a20e61974f7c9ebe6dd99ac479ec309a750bc Author: Randy Dunlap Date: Wed Apr 30 12:57:00 2008 -0700 libata: fix libata-scsi kernel-doc notation Fix libata-scsi kernel-doc notation: Warning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1659): No description found for parameter 'cmd' Warning(linux-2.6.25-git15//drivers/ata/libata-scsi.c:1971): No description found for parameter 'buf' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 2da676594a73825f10d2a99358cc7465119684f9 Author: Pradeep Singh Rautela Date: Thu May 29 23:28:14 2008 +0530 ata: Convert to static DEFINE_SPINLOCK(lock) Replace deprecated static spinlock_t instance to static DEFINE_SPINLOCK(lock). Signed-off-by: Pradeep Singh Signed-off-by: Jeff Garzik commit 23cf296e3b047da46112eb6b4dc89917c93c8f19 Author: Tejun Heo Date: Thu May 29 22:04:22 2008 +0900 ata_piix: fix macbook ich8m problems ICH8M on macbooks are peculiar in that some of them lock up when the second port is enabled, some return bogus values on SIDPR access while yet others hang on SIDPR access. Also, the ich8m_apple_sata entry was wrongly added below generic ich8m entry making it virtually useless. This patch works around macbook ich8m problems by * moving ich8m_apple_sata entry above generic ich8m entry * dropping PIIX_FLAG_SIDPR from ich8m_apple_sata * adding subsystem 106b:00a1 as ich8m_apple_sata Reported and tested by MATSUBAYASHI. Signed-off-by: Tejun Heo Cc: MATSUBAYASHI 'Shaolin' Kohji Signed-off-by: Jeff Garzik commit 0388a8c0d54aa039758a8eca68d82325a563f8db Author: Mark Lord Date: Wed May 28 13:41:52 2008 -0400 sata_mv: implement SoC guideline SATA_S11 The 5182 System-On-Chip (SOC) variant wants certain lower bits to be cleared on any write to the PHY_MODE3 register. If/when support is added for other SOC variants, we'll need some way to uniquely identify the 5182, and not perform this workaround for the others. But for now, it is the only SOC variant we support here. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit b406c7a6655da7a2fcd9f72e41262f93ff707748 Author: Mark Lord Date: Wed May 28 12:01:12 2008 -0400 sata_mv: workaround for 60x1 errata sata13 The "B2" variant of the 6041/6081 (genII) chips requires that the PHY_MODE3 register be rewritten after any write to PHY_MODE4. This fixes a regression introduced by an earlier patch. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 5cf73bfb061552aa18d816d2859409be9ace5306 Author: Mark Lord Date: Tue May 27 17:58:56 2008 -0400 sata_mv: nuke unreleased GenIIe revisions The only public release of the 6042/7042 chips was/is revision "B0". Remove code that attempted to deal with earlier, non-released revs. This matches the logic of the current Marvell "proprietary" driver. Also, bump up the sata_mv version number, to reflect this batch of erratas. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8c30a8b9b574cf6c51e207464b852a6f559da153 Author: Mark Lord Date: Tue May 27 17:56:31 2008 -0400 sata_mv: PHY_MODEx errata fixes Fix and update the errata handling for the PHY_MODEx registers. This improves receiver noise tolerance, among other things. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1f39847255a02c69190ae30c33b8ccf4c10840df Author: Mark Lord Date: Tue May 27 17:54:48 2008 -0400 sata_mv: move SOC_FLAG to hpriv Convert the System-on-Chip flag from a host flag to an hpriv flag, for better consistency with other chip-rev flags, and for easier use in errata fixes etc. Also change the related "HAS_PCI()" into "!IS_SOC()" for better consistency of naming/use (everything else SOC-related already uses "SOC"). There are no functionality changes in this patch. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 79d06432a27601f096e08716fee3f0a7d3b68d5f Author: Takashi Iwai Date: Fri May 30 16:54:49 2008 +0200 [ALSA] hda - Fix model for LG LS75 laptop Set the proper model for LG LS75 with CM9880 codec. See ALSA bug#2105: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2105 Signed-off-by: Takashi Iwai commit 1beee8dc8cf58e3f605bd7b34d7a39939be7d8d2 Merge: 9db8ee3... 3446b9d... Author: Linus Torvalds Date: Fri May 30 07:45:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (26 commits) llc: Fix double accounting of received packets netfilter: nf_conntrack_expect: fix error path unwind in nf_conntrack_expect_init() bluetooth: fix locking bug in the rfcomm socket cleanup handling mac80211: fix alignment issue with compare_ether_addr() mac80211: Fix for NULL pointer dereference in sta_info_get() mac80211: fix a typo in ieee80211_handle_filtered_frame comment rndis_wlan: add missing range check for power_output modparam iwlwifi: fix rate scale TLC column selection bug iwlwifi: fix exit from stay_in_table state rndis_wlan: Make connections to TKIP PSK networks work mac80211 : Fixes the status message for iwconfig rt2x00: Use atomic interface iteration in irq context rt2x00: Reset antenna RSSI after switch rt2x00: Don't count retries as failure rt2x00: Fix memleak in tx() path mac80211: reorder channel and freq reporting in wext scan report b43: Fix controller restart crash mac80211: fix ieee80211_rx_bss_put/get imbalance net/mac80211: always true conditionals b43: Upload both beacon templates on initial load ... commit 9db8ee3d96e98705ba4e9260815ca326b0d07741 Merge: e3aa51f... 0066ed5... Author: Linus Torvalds Date: Fri May 30 07:44:19 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] disassembler: fix idte instruction format. [S390] tape: fix race with stack local wait_queue_head_t. [S390] 3270: fix race with stack local wait_queue_head_t. [S390] dasd: use a generic wait_queue for sleep_on [S390] sclp_vt220: fix scheduling while atomic bug. [S390] showmem: Only walk spanned pages. [S390] appldata: prevent cpu hotplug when walking cpu_online_map. [S390] Fix section mismatch warnings. [S390] s390 types: make dma_addr_t 64 bit capable [S390] tape: Fix race condition in tape block device driver [S390] fix sparsemem related compile error with allnoconfig on s390 commit e3aa51fecdc941c859ed0515084323d3f997aa4a Author: Harvey Harrison Date: Thu May 29 17:51:57 2008 -0700 acpi: fix sparse const errors In this case we want a constant pointer to constant chars: drivers/misc/thinkpad_acpi.c:3824:19: error: Just how const do you want this type to be? Like the error says. drivers/misc/thinkpad_acpi.c:3863:19: error: Just how const do you want this type to be? drivers/misc/thinkpad_acpi.c:3864:19: error: Just how const do you want this type to be? drivers/misc/thinkpad_acpi.c:3865:19: error: Just how const do you want this type to be? drivers/misc/thinkpad_acpi.c:3866:19: error: Just how const do you want this type to be? Signed-off-by: Harvey Harrison Acked-by: Henrique de Moraes Holschuh Signed-off-by: Linus Torvalds commit 5adad0133907790c50283bf03271d920d6897043 Author: Henrique de Moraes Holschuh Date: Fri May 30 10:40:46 2008 -0400 Input: rename SW_RADIO to SW_RFKILL_ALL The SW_RADIO code for EV_SW events has a name that is not descriptive enough of its intended function, and could induce someone to think KEY_RADIO is its EV_KEY counterpart, which is false. Rename it to SW_RFKILL_ALL, and document what this event is for. Keep the old name around, to avoid userspace ABI breaks. The SW_RFKILL_ALL event is meant to be used by rfkill master switches. It is not bound to a particular radio switch type, and usually applies to all types. It is semantically tied to master rfkill switches that enable or disable every radio in a system. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Dmitry Torokhov commit 501a5250589be41c4c060afa855bc60b4539a340 Author: Dmitry Torokhov Date: Fri May 30 10:40:28 2008 -0400 Input: gtco - fix double kfree in error handling path The code would try to free 'report' twice upon input_register_device() failure. Reported-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 269ef19caa16650bf3a68fd33a6cb800683419dd Author: Takashi Iwai Date: Fri May 30 15:32:15 2008 +0200 [ALSA] hda - Fix mic input on HP2133 The mic pins are wrongly assigned on AD1884A mobile model. The mic handling is fixed for the automatic mic selection, too. Signed-off-by: Takashi Iwai commit e48d6d97bb6bd8c008045ea0522ea8278fdccc55 Author: Takashi Iwai Date: Thu May 29 08:16:56 2008 +0200 [ALSA] ac97 - Fix ASUS A9T laptop output ASUS A9T laptop uses line-out pin as the real front-output while other devices use it as the surround. Signed-off-by: Takashi Iwai commit 3446b9d57edd0b96a89715fef222879e4919a115 Author: Arnaldo Carvalho de Melo Date: Fri May 30 02:57:29 2008 -0700 llc: Fix double accounting of received packets llc_sap_rcv was being preceded by skb_set_owner_r, then calling llc_state_process that calls sock_queue_rcv_skb, that in turn calls skb_set_owner_r again making the space allowed to be used by the socket to be leaked, making the socket to get stuck. Fix it by setting skb->sk at llc_sap_rcv and leave the accounting to be done only at sock_queue_rcv_skb. Reported-by: Dmitry Petukhov Tested-by: Dmitry Petukhov Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fbaa20f66a8283359523dfe961ebe66f0b8fac59 Author: Benjamin Herrenschmidt Date: Fri May 30 02:01:28 2008 -0700 sparc64: IO accessors fix From: Benjamin Herrenschmidt I added a full memory clobber on all asm accessors except the _raw ones. Signed-off-by: David S. Miller commit 0066ed55a9a061ed64bbc09c16f45daf0b976ac5 Author: Martin Schwidefsky Date: Fri May 30 10:03:35 2008 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 209fb9090f4ca5874289c9ca82991393f85c1eff Author: Martin Schwidefsky Date: Fri May 30 10:03:34 2008 +0200 [S390] disassembler: fix idte instruction format. The correct instruction format of idte is "idte r1,r3,r2" with r1 at bit 24, r3 at bit 16 and r2 at bit 28. Signed-off-by: Martin Schwidefsky commit 4657fb8a98a4e02981a574492bbe470c147b6657 Author: Martin Schwidefsky Date: Fri May 30 10:03:33 2008 +0200 [S390] tape: fix race with stack local wait_queue_head_t. A wait_event call with a stack local wait_queue_head_t structure that is used to do the wake up for the wait_event is inherently racy. After the wait_event finished the wake_up call might not have completed yet. Replace the stack local wait_queue_head_t in tape_do_io and tape_do_io_interruptible with a per device wait queue. Signed-off-by: Martin Schwidefsky commit 54ad64129cc166b9eec7151f3f9fc83589e33555 Author: Martin Schwidefsky Date: Fri May 30 10:03:32 2008 +0200 [S390] 3270: fix race with stack local wait_queue_head_t. A wait_event call with a stack local wait_queue_head_t structure that is used to do the wake up for the wait_event is inherently racy. After the wait_event finished the wake_up call might not have completed yet. Remove the stack local wait_queue_head_t from raw3270_start_init and use the global raw3270_wait_queue instead. Signed-off-by: Martin Schwidefsky commit c80ee724966a8ce9a68020d9095233fb1c6f57e8 Author: Stefan Haberland Date: Fri May 30 10:03:31 2008 +0200 [S390] dasd: use a generic wait_queue for sleep_on Use a generic wait_queue to prevent the wait_queue in dasd_sleep_on_ functions from being referenced by callback_data while it does not exist any more. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit d4820e44b0ae6830b1d634e6d0a425d839388c06 Author: Heiko Carstens Date: Fri May 30 10:03:30 2008 +0200 [S390] sclp_vt220: fix scheduling while atomic bug. The driver incorrectly assumed that putchar will only be called from schedulable process context and therefore blocked and waited if no free output buffers where available. Since putchar may also be called from BH context this may lead to deadlocks. To fix this just return the number of characters accepted and let the upper layer handle the rest. The console write function will busy wait (sclp_sync_wait) until a buffer is available again. Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c1bb7f31eaef6ed6b9f895b99d9ea12e6b853606 Author: Heiko Carstens Date: Fri May 30 10:03:29 2008 +0200 [S390] showmem: Only walk spanned pages. Convert show_mem() so its nearly the same as on x86/powerpc. Gives us proper locking and we get also rid of the only use of max_mapnr. Also the number of pages was contained in an int which might not be sufficient not too far in the future. Cc: Johannes Weiner Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1760537b69123905bf4f4b56f5746ae4547e9694 Author: Gerald Schaefer Date: Fri May 30 10:03:28 2008 +0200 [S390] appldata: prevent cpu hotplug when walking cpu_online_map. Use get_online_cpus() to prevent cpu hotplug in situations where for_each_online_cpu() is called. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 67060d9c1f5d91c917cc51bed464cb5638eaddbc Author: Heiko Carstens Date: Fri May 30 10:03:27 2008 +0200 [S390] Fix section mismatch warnings. This fixes the last remaining section mismatch warnings in s390 architecture code. It reveals also a real bug introduced by... me with git commit 2069e978d5a6e7b45d58027e3de7f879b8c5e488 ("[S390] sparsemem vmemmap: initialize memmap.") Calling the generic vmemmap_alloc_block() function to get initialized memory is a nice idea, however that function is __meminit annotated and therefore the function might be gone if we try to call it later. This can happen if a DCSS segment gets added. So basically revert the patch and clear the memmap explicitly to fix the original bug. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bebd9a455b2593ba6543b961bc82c43350c2d8d9 Author: Christian Borntraeger Date: Fri May 30 10:03:26 2008 +0200 [S390] s390 types: make dma_addr_t 64 bit capable virtio tests with guests larger than 4 GB revealed that the dma_addr_t definition for s390 did not make it into the 64bit world. This patch changes the definition on s390 to have an u64 on 64bit and u32 on 32bit systems. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit f71ad62a264a89cb1952df0c92b167005de8d1b0 Author: Michael Holzheu Date: Fri May 30 10:03:25 2008 +0200 [S390] tape: Fix race condition in tape block device driver Due to incorrect function call sequence it can happen that a tape block request is finished before the request is taken from the block request queue. The following sequence leads to that condition: * tapeblock_start_request() -> start CCW program * Request finishes -> IO interrupt * tapeblock_end_request() * end_that_request_last() If blkdev_dequeue_request() has not been called before end_that_request_last(), a kernel bug is triggered in end_that_request_last() because the request is still queued. To solve that problem blkdev_dequeue_request() has to be called before starting the CCW program. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 97195d6b411fec8e33aa55b6a7c3dde7984d65ca Author: Hans-Joachim Picht Date: Fri May 30 10:03:24 2008 +0200 [S390] fix sparsemem related compile error with allnoconfig on s390 On s390 make allnoconfig fails with the following build error: arch/s390/mm/init.c: In function 'show_mem': arch/s390/mm/init.c:55: error: implicit declaration of function 'pfn_valid' make[1]: *** [arch/s390/mm/init.o] Error 1 make: *** [arch/s390/mm] Error 2 This problem can by fixed ensuring that ARCH_SELECT_MEMORY_MODEL is always turned on. Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit 20887611523e749d99cc7d64ff6c97d27529fbae Author: Rusty Russell Date: Fri May 30 15:09:46 2008 -0500 lguest: notify on empty This is the lguest implementation of the VIRTIO_F_NOTIFY_ON_EMPTY feature. It is currently only published for network devices, but it is turned on for everyone. Signed-off-by: Rusty Russell commit b4f68be6c5d507afdcd74f5be3df0b1209cda503 Author: Rusty Russell Date: Fri May 30 15:09:45 2008 -0500 virtio: force callback on empty. virtio allows drivers to suppress callbacks (ie. interrupts) for efficiency (no locking, it's just an optimization). There's a similar mechanism for the host to suppress notifications coming from the guest: in that case, we ignore the suppression if the ring is completely full. It turns out that life is simpler if the host similarly ignores callback suppression when the ring is completely empty: the network driver wants to free up old packets in a timely manner, and otherwise has to use a timer to poll. We have to remove the code which ignores interrupts when the driver has disabled them (again, it had no locking and hence was unreliable anyway). Signed-off-by: Rusty Russell commit 7757f09c70af87887dfc195e6d6ddd54f5cc7c39 Author: Christian Borntraeger Date: Thu May 29 11:10:01 2008 +0200 virtio_blk: fix endianess annotations Since commit 72e61eb40b55dd57031ec5971e810649f82b0259 (virtio: change config to guest endian) config space is no longer fixed endian. Lets change the virtio_blk_config variables. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 7f31fe05000af54e1af81f65a96cab90db8d7ed8 Author: Christian Borntraeger Date: Thu May 29 11:08:01 2008 +0200 virtio_config: fix len calculation of config elements Rusty, This patch is a prereq for the virtio_blk blocksize patch, please apply it first. Adding an u32 value to the virtio_blk_config unconvered a small bug the config space defintions: v is a pointer, to we have to use sizeof(*v) instead of sizeof(v). Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 52a3a05f3ab82655ffa4c9bf6835565c98a3c2e5 Author: Christian Borntraeger Date: Mon May 26 11:29:27 2008 +0200 virtio_net: another race with virtio_net and enable_cb Hello Rusty, seems that we still have a problem with virtio_net and the enable_cb callback. During a long running network stress tests with virtio and got the following oops: ------------[ cut here ]------------ kernel BUG at drivers/virtio/virtio_ring.c:230! illegal operation: 0001 [#1] SMP Modules linked in: CPU: 0 Not tainted 2.6.26-rc2-kvm-00436-gc94c08b-dirty #34 Process netserver (pid: 2582, task: 000000000fbc4c68, ksp: 000000000f42b990) Krnl PSW : 0704c00180000000 00000000002d0ec8 (vring_enable_cb+0x1c/0x60) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000000000 0000000000000000 000000000ef3d000 0000000010009800 0000000000000000 0000000000419ce0 0000000000000080 000000000000007b 000000000adb5538 000000000ef40900 000000000ef40000 000000000ef40920 0000000000000000 0000000000000005 000000000029c1b0 000000000fea7d18 Krnl Code: 00000000002d0ebc: a7110001 tmll %r1,1 00000000002d0ec0: a7740004 brc 7,2d0ec8 00000000002d0ec4: a7f40001 brc 15,2d0ec6 >00000000002d0ec8: a517fffe nill %r1,65534 00000000002d0ecc: 40103000 sth %r1,0(%r3) 00000000002d0ed0: 07f0 bcr 15,%r0 00000000002d0ed2: e31020380004 lg %r1,56(%r2) 00000000002d0ed8: a7480000 lhi %r4,0 Call Trace: ([<000000000029c0fc>] virtnet_poll+0x290/0x3b8) [<0000000000333fb8>] net_rx_action+0x9c/0x1b8 [<00000000001394bc>] __do_softirq+0x74/0x108 [<000000000010d16a>] do_softirq+0x92/0xac [<0000000000139826>] irq_exit+0x72/0xc8 [<000000000010a7b6>] do_extint+0xe2/0x104 [<0000000000110508>] ext_no_vtime+0x16/0x1a Last Breaking-Event-Address: [<00000000002d0ec4>] vring_enable_cb+0x18/0x60 I looked into the virtio_net code for some time and I think the following scenario happened. Please look at virtnet_poll: [...] /* Out of packets? */ if (received < budget) { netif_rx_complete(vi->dev, napi); if (unlikely(!vi->rvq->vq_ops->enable_cb(vi->rvq)) && napi_schedule_prep(napi)) { vi->rvq->vq_ops->disable_cb(vi->rvq); __netif_rx_schedule(vi->dev, napi); goto again; } } If an interrupt arrives after netif_rx_complete, a second poll routine can run on a different cpu. The second check for napi_schedule_prep would prevent any harm in the network stack, but we have called enable_cb possibly after the disable_cb in skb_recv_done. static void skb_recv_done(struct virtqueue *rvq) { struct virtnet_info *vi = rvq->vdev->priv; /* Schedule NAPI, Suppress further interrupts if successful. */ if (netif_rx_schedule_prep(vi->dev, &vi->napi)) { rvq->vq_ops->disable_cb(rvq); __netif_rx_schedule(vi->dev, &vi->napi); } } That means that the second poll routine runs with interrupts enabled, which is ok, since we can handle additional interrupts. The problem is now that the second poll routine might also call enable_cb, triggering the BUG. The only solution I can come up with, is to remove the BUG statement in enable_cb - similar to disable_cb. Opinions or better ideas where the oops could come from? Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit f7f510ec195781c857ab76366a3e1c59e1caae42 Author: Rusty Russell Date: Fri May 30 15:09:44 2008 -0500 virtio: An entropy device, as suggested by hpa. Note that by itself, having a "hardware" random generator does very little: you should probably run "rngd" in your guest to feed this into the kernel entropy pool. Included: virtio_rng: dont use vmalloced addresses for virtio If virtio_rng is build as a module, random_data is an address in vmalloc space. As virtio expects guest real addresses, this can cause any kind of funny behaviour, so lets allocate random_data dynamically with kmalloc. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 3ef536095446552823fc488fec1c5451aab1260d Author: Christian Borntraeger Date: Fri May 16 11:17:03 2008 +0200 virtio_blk: allow read-only disks Hello Rusty, sometimes it is useful to share a disk (e.g. usr). To avoid file system corruption, the disk should be mounted read-only in that case. This patch adds a new feature flag, that allows the host to specify, if the disk should be considered read-only. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit a16ffe93c46dfca211434d00453ebb695025978b Author: Rusty Russell Date: Fri May 30 15:09:42 2008 -0500 lguest: fix ugly in /proc/interrupts Before: root@ubuntu:~# cat /proc/interrupts CPU0 1: 1672 lguest- virtio0 2: 1 lguest- virtio1 ... After: root@ubuntu:~# cat /proc/interrupts CPU0 1: 2889 lguest-level virtio0 2: 9 lguest-level virtio1 Signed-off-by: Rusty Russell commit b769f579081943f14e0ff03b7b0bd3a11cf14625 Author: Rusty Russell Date: Fri May 30 15:09:42 2008 -0500 virtio: set device index in common code. Anthony Liguori points out that three different transports use the virtio code, but each one keeps its own counter to set the virtio_device's index field. In theory (though not in current practice) this means that names could be duplicated, and that risk grows as more transports are created. So we move the selection of the unique virtio_device.index into the common code in virtio.c, which has the side-benefit of removing duplicate code. The only complexity is that lguest and S/390 use the index to uniquely identify the device in case of catastrophic failure before register_virtio_device() is called: now we use the offset within the descriptor page as a unique identifier for the printks. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Cc: Martin Schwidefsky Cc: Carsten Otte Cc: Heiko Carstens Cc: Chris Lalancette Cc: Anthony Liguori commit 5610bd1524332fe7d651eb56cc780e32763a2ac3 Author: Rusty Russell Date: Fri May 30 15:09:42 2008 -0500 virtio: virtio_pci should not set bus_id. The common virtio code sets the bus_id, overriding anything virtio_pci sets anyway. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Cc: Martin Schwidefsky Cc: Carsten Otte Cc: Heiko Carstens Cc: Chris Lalancette Cc: Anthony Liguori commit 2ad3cfbac58d0a6c6e65aafd9e0e757ca3d35292 Author: Rusty Russell Date: Fri May 30 15:09:41 2008 -0500 virtio: bus_id for devices should contain 'virtio' Chris Lalancette points out that virtio.c sets all device names to '0', '1', etc, which looks silly in /proc/interrupts. We change this from '%d' to 'virtio%d'. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Cc: Martin Schwidefsky Cc: Carsten Otte Cc: Heiko Carstens Cc: Chris Lalancette Cc: Anthony Liguori commit ac9d463afb1ca2434335351f3b7d9e4c8f8470e9 Author: Chris Lalancette Date: Fri May 30 15:09:41 2008 -0500 Fix crash in virtio_blk during modprobe ; rmmod ; modprobe Fix a modprobe virtio_blk ; rmmod virtio_blk ; modprobe virtio_blk crash; this was basically because we weren't doing "del_gendisk()" in the remove path. Signed-off-by: Chris Lalancette Signed-off-by: Rusty Russell (moved del_gendisk up) commit e27810f11340987df123a99eb9ae14c054a55639 Author: Rusty Russell Date: Fri May 30 15:09:40 2008 -0500 lguest: use ioremap_cache, not ioremap Thanks to Jon Corbet & LWN. Only took me a day to join the dots. Host->Guest netcat before (with unnecessily large receive buffers): 1073741824 bytes (1.1 GB) copied, 24.7528 seconds, 43.4 MB/s After: 1073741824 bytes (1.1 GB) copied, 17.6369 seconds, 60.9 MB/s Signed-off-by: Rusty Russell commit 916941b2bfd9c4a8b66855f198ae16c3f51ef570 Merge: fbf4d7f... 413c239... Author: Linus Torvalds Date: Thu May 29 21:29:39 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: driver-core: prepare for 2.6.27 api change by adding dev_set_name commit fbf4d7ffda0398e8b20aa8b34ca751bf946699ef Merge: 4bd2797... bb7e698... Author: Linus Torvalds Date: Thu May 29 21:27:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: Revert "USB: EHCI: fix performance regression" USB: fsl_usb2_udc: fix recursive lock USB: usb-serial: option: Don't match Huawei driver CD images USB: pl2303: another product ID USB: add another scanner quirk USB: Add support for ROKR W5 in unusual_devs.h USB: Fix M600i unusual_devs entry USB: usb-storage: unusual_devs update for Cypress ATACB USB: EHCI: fix performance regression USB: EHCI: fix bug in Iso scheduling USB: EHCI: fix remote-wakeup regression USB: EHCI: suppress unwanted error messages USB: EHCI: fix up root-hub TT mess USB: add all configs to the "descriptors" attribute USB: fix possible deadlock involving sysfs attributes USB: Firmware loader driver for USB Apple iSight camera USB: FTDI_SIO : Add support for Matrix Orbital PID Range commit 413c239fad68258157f903b3ffd9bfcc53f5e34b Author: Stephen Rothwell Date: Fri May 30 10:16:40 2008 +1000 driver-core: prepare for 2.6.27 api change by adding dev_set_name Create the dev_set_name function now so that various subsystems can start changing over to it before other changes in 2.6.27 will make it compulsory. Cc: Kay Sievers Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit bb7e6984ecaebe6989d0e781e303469255871432 Author: Greg Kroah-Hartman Date: Thu May 29 19:43:27 2008 -0700 Revert "USB: EHCI: fix performance regression" This reverts commit fa38dfcc56b5f6cce787f9aaa5d1830509213802. It wasn't really a regression and David and Alan are still working through the issues reported. Signed-off-by: Greg Kroah-Hartman commit 185e3dead35dacb79c8cca1073fd67a26d09a0d7 Author: Li Yang Date: Thu May 29 21:04:45 2008 +0800 USB: fsl_usb2_udc: fix recursive lock UDC needs to release lock before calling out to gadget driver, since it may need to reenter. The change fixes kernel BUG observed on rt kernel. > kernel BUG at kernel/rtmutex.c:683! > stopped custom tracer. > Oops: Exception in kernel mode, sig: 5 [#1] > PREEMPT MPC834x ITX > NIP: c021629c LR: c0216270 CTR: 00000000 > REGS: df761d70 TRAP: 0700 Not tainted (2.6.23.9-rt13) > MSR: 00021032 CR: 28000022 XER: 00000000 > TASK = df632080[241] 'IRQ-38' THREAD: df760000 > GPR00: 00000001 df761e20 df632080 00000000 11111111 00000000 df761e6c > 00000000 > GPR08: df761e48 00000000 df761e50 00000000 80000000 ede5cdde 1fffd000 > 00800000 > GPR16: ffffffff 00000000 007fff00 00000040 00000000 007ffeb0 00000000 > 1fff8b08 > GPR24: 00000000 00000026 00000000 df79a320 c026b2e8 c02240bc 00009032 > df79a320 > NIP [c021629c] rt_spin_lock_slowlock+0x9c/0x200 > LR [c0216270] rt_spin_lock_slowlock+0x70/0x200 > Call Trace: > [df761e20] [c0216270] rt_spin_lock_slowlock+0x70/0x200 (unreliable) > [df761e90] [c0182828] fsl_ep_disable+0xcc/0x154 > [df761eb0] [c0184d30] eth_reset_config+0x88/0x1d0 > [df761ed0] [c0184ec0] eth_disconnect+0x48/0x64 > [df761ef0] [c01831a4] reset_queues+0x60/0x78 > [df761f00] [c0183b74] fsl_udc_irq+0x9b8/0xa58 > [df761f50] [c003ef30] handle_IRQ_event+0x64/0x100 > [df761f80] [c003f758] thread_simple_irq+0x6c/0xc8 > [df761fa0] [c003f888] do_irqd+0xd4/0x2e4 > [df761fd0] [c0032284] kthread+0x50/0x8c > [df761ff0] [c000f9b4] kernel_thread+0x44/0x60 Signed-off-by: Li Yang Cc: Eugene T. Bordenkircher Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a7f3872c43b8001f01000f79583d422c6995f98d Author: Michael Karcher Date: Wed May 28 23:58:18 2008 +0200 USB: usb-serial: option: Don't match Huawei driver CD images Add the interface info matching to all Huawei cards, as they all also contain a Mass Storage Device interface (usually containing Windows drivers) which should not get bound by this driver. See also drivers/usb/storage/unusual_devs.h Signed-off-by: Michael Karcher Signed-off-by: Greg Kroah-Hartman commit 4be2fa186d54758296d30c565d7b5111dd45b000 Author: Steve Murphy Date: Fri May 23 23:39:05 2008 +0530 USB: pl2303: another product ID I've just got a USB GPRS/EDGE modem branded Manufacturer Micromax Model MMX610U (see http://www.airtel.in/level2_t3data.aspx?path=1/106/179) working by adding another product ID to pl2303. Modem info reports same module as Max Arnold's i.e.SIMCOM SIM600 but with product ID 0x0612 (cf Ox0611). From: Steve Murphy Signed-off-by: Greg Kroah-Hartman commit 598eff6d2f3b8805232edc5f4a6b0c1e698dc482 Author: René Rebe Date: Tue May 27 09:05:46 2008 +0200 USB: add another scanner quirk Like the HP53{00,70} scanner other devices of the OEM Avision require the USB_QUIRK_STRING_FETCH_255 to correct set a configuration with "recent" Linux kernels. Signed-off-by: René Rebe Signed-off-by: Greg Kroah-Hartman commit 2a8bc9e7cfb1761a62ea897b407ea13ec887fd0c Author: Javier Smaldone Date: Mon May 26 21:44:00 2008 +0200 USB: Add support for ROKR W5 in unusual_devs.h This patch adds support for rev 2 of an existing unusual_devs entry enabling ROKR W5s to work. Greg, please apply. From: Javier Smaldone Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit c5f23b0e08d84f4efc20dece04d7b6796dcc6774 Author: Phil Dibowitz Date: Mon May 26 21:33:58 2008 +0200 USB: Fix M600i unusual_devs entry It turns out that the unusual_devs entry for the Motorola M600i needs another flag. This patch adds it. Thanks to Atte André Jensen . Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit c7257bd2ecb7b4cc42f9f152c7c059258d434169 Author: Alan Stern Date: Wed May 21 13:53:01 2008 -0400 USB: usb-storage: unusual_devs update for Cypress ATACB This patch (as1101) updates the unusual_devs entry for the Cypress ATACB pass-through. The protocol field is changed from US_PR_BULK to US_PR_DEVICE, since the Cypress devices already set bInterfaceProtocol to Bulk-only. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fa38dfcc56b5f6cce787f9aaa5d1830509213802 Author: Alan Stern Date: Tue May 20 16:59:33 2008 -0400 USB: EHCI: fix performance regression This patch (as1099) fixes a performance regression in ehci-hcd. The fundamental problem is that queue headers get removed from the schedule too quickly, since the code checks for a counter advancing rather than making an actual time-based check. The latency involved in removing the queue header and then relinking it can severely degrade certain kinds of workloads. The patch replaces a simple counter with a timestamp derived from the controller's uframe value. In addition, the delay for unlinking an idle queue header is increased from 5 ms to 10 ms; since some controllers (nVidia) have a latency of up to 1 ms for unlinking, this reduces the relative impact from 20% to 10%. Finally, a logical error left over from the IAA watchdog-timer conversion is corrected. Now the driver will always either unlink an idle queue header or set up a timer to unlink it later. The old code would sometimes fail to do either. Signed-off-by: Alan Stern Cc: David Brownell Cc: Leonid Signed-off-by: Greg Kroah-Hartman commit b40e43fcc532fa44a375a37d592e32cd0d50fe7a Author: Alan Stern Date: Tue May 20 16:59:10 2008 -0400 USB: EHCI: fix bug in Iso scheduling This patch (as1098) changes the way ehci-hcd schedules its periodic Iso transfers. That the current scheduling code is wrong is clear on the face of it: Sometimes it returns -EL2NSYNC (meaning that an URB couldn't be scheduled because it was submitted too late), but it does this even when the URB_ISO_ASAP flag is set (meaning the URB should be scheduled as soon as possible). The new code properly implements as-soon-as-possible scheduling, assigning the next unexpired slot as the URB's starting point. It also is more careful about checking for Iso URB completion: It doesn't bother to check for activity during frames that are already over, and it allows for the possibility that some of the URB's packets may have raced the hardware when they were submitted and so never got used (the packet status is set to -EXDEV). This fixes problems several people have experienced with USB video applications. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d1f114d12bb4db3147e1b1342ae31083c5a79c84 Author: Alan Stern Date: Tue May 20 16:58:58 2008 -0400 USB: EHCI: fix remote-wakeup regression This patch (as1097) fixes a bug in the remote-wakeup handling in ehci-hcd. The driver currently does not keep track of whether the change-suspend feature is enabled for each port; the feature is automatically reset the first time it is read. But recent changes to the hub driver require that the feature be read at least twice in order to work properly. A bit-vector is added for storing the change-suspend feature values. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3a31155cfff0935e4b178f3dca733d2d60d2eb8d Author: Alan Stern Date: Tue May 20 16:58:29 2008 -0400 USB: EHCI: suppress unwanted error messages This patch (as1096) fixes an annoying problem: When a full-speed or low-speed device is plugged into an EHCI controller, it fails to enumerate at high speed and then is handed over to the companion controller. But usbcore logs a misleading and unwanted error message when the high-speed enumeration fails. The patch adds a new HCD method, port_handed_over, which asks whether a port has been handed over to a companion controller. If it has, the error message is suppressed. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit a8e5177583e975fc1f7c621c93956f494df9b979 Author: Alan Stern Date: Tue May 20 16:58:11 2008 -0400 USB: EHCI: fix up root-hub TT mess This patch (as1095) cleans up the HCD glue and several of the EHCI bus-glue files. The ehci->is_tdi_rh_tt flag is redundant, since it means the same thing as the hcd->has_tt flag, so it is removed and the other flag used in its place. Some of the bus-glue files didn't get the relinquish_port method added to their hc_driver structures. Although that routine currently doesn't do anything for controllers with an integrated TT, in the future it might. So the patch adds it where it is missing. Lastly, some of the bus-glue files have erroneous entries for their hc_driver's suspend and resume methods. These method pointers are specific to PCI and shouldn't be used otherwise. (The patch also includes an invisible whitespace fix.) Signed-off-by: Alan Stern Acked-by: David Brownell commit 217a9081d8e69026186067711131b77f0ce219ed Author: Alan Stern Date: Tue May 20 16:40:42 2008 -0400 USB: add all configs to the "descriptors" attribute This patch (as1094) changes the output of the "descriptors" binary attribute. Now it will contain the device descriptor followed by all the configuration descriptors, not just the descriptor for the current config. Userspace libraries want to have access to the kernel's cached descriptor information, so they can learn about device characteristics without having to wake up suspended devices. So far the only user of this attribute is the new libusb-1.0 library; thus changing its contents shouldn't cause any problems. This should be considered for 2.6.26, if for no other reason than to minimize the range of releases in which the attribute contains only the current config descriptor. Also, it doesn't hurt that the patch removes the device locking -- which was formerly needed in order to know for certain which config was indeed current. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e16362a0c8d90e9adbfe477acbe32b021823fb22 Author: Alan Stern Date: Tue May 20 16:37:34 2008 -0400 USB: fix possible deadlock involving sysfs attributes There is a potential deadlock when the usb_generic driver is unbound from a device. The problem is that generic_disconnect() is called with the device lock held, and it removes a bunch of device attributes from sysfs. If a user task happens to be running an attribute method at the time, the removal will block until the method returns. But at least one of the attribute methods (the store routine for power/level) needs to acquire the device lock! This patch (as1093) eliminates the deadlock by moving the calls to create and remove the sysfs attributes from the usb_generic driver into usb_new_device() and usb_disconnect(), where they can be invoked without holding the device lock. Besides, the other sysfs attributes are created when the device is registered and removed when the device is unregistered. So it seems only fitting for the extra attributes to be created and removed at the same time. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 62d104d0deeabd4148e49eba729d963e740e205f Author: Matthew Garrett Date: Tue May 20 20:06:28 2008 +0100 USB: Firmware loader driver for USB Apple iSight camera Uninitialised Apple iSight drivers present with a distinctive USB ID. Once firmware has been uploaded, they disconnect and reconnect with a new ID. At this point they can be driven by the uvcvideo driver. As this is unique to the Apple cameras and not functionality shared by any other UVC devices, it makes sense to provide the firmware loading functionality in a separate driver. This driver will read an isight.fw file extracted from the Apple driver using the tools at http://bersace03.free.fr/ift/ and upload it to the camera. It will also handle the case where the device loses its firmware during hibernation and must have it reloaded. Signed-off-by: Matthew Garrett Signed-off-by: Greg Kroah-Hartman commit ebb3770c01a8afd049e3e91b0a026dcdfcb2da9f Author: Ray Molenkamp Date: Wed May 21 17:06:26 2008 -0600 USB: FTDI_SIO : Add support for Matrix Orbital PID Range This patch adds support for the range of PIDs that have been allocated for FTDI based devices at Matrix Orbital. A small number of units have been shipped early 2008 with a faulty USB Descriptor. Products that may have this issue have been marked with the existing quirk to work around the problem. Signed-off-by: R. Molenkamp Signed-off-by: Greg Kroah-Hartman commit 4bd27972e2c35b1e9e672ff05e0a781644f9c905 Merge: a7f75d3... dca0261... Author: Linus Torvalds Date: Thu May 29 10:04:54 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c commit a7f75d3bed2871655d9806c62a5d6f46552b9a4a Merge: 3897b82... 6715930... Author: Linus Torvalds Date: Thu May 29 09:26:17 2008 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: re-tune NUMA topologies sched: stop wake_affine from causing serious imbalance sched: fix sched_clock_cpu() revert ("sched: fair-group: SMP-nice for group scheduling") sched: cleanup show_schedstat(): fix memleak sched: unite unlikely pairs in rt_policy() and schedule_debug() revert ("sched: fair: weight calculations") commit dca026139317dcbc642a30320d551f559692182f Author: Lothar Waßmann Date: Thu May 29 17:54:52 2008 +0200 [CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c In drivers/cpufreq/cpufreq.c the function cpufreq_add_dev() takes the error exit 'err_out_unregister' from different places once with the 'cpu_policy_rwsem' lock held, once with the lock released: | if (ret) | goto err_out_unregister; | } | | policy->governor = NULL; /* to assure that the starting sequence is | * run in cpufreq_set_policy */ | | /* set default policy */ | ret = __cpufreq_set_policy(policy, &new_policy); | policy->user_policy.policy = policy->policy; | policy->user_policy.governor = policy->governor; | | unlock_policy_rwsem_write(cpu); | | if (ret) { | dprintk("setting policy failed\n"); | goto err_out_unregister; | } This leads to the following error message in case of a failing __cpufreq_set_policy() call: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- swapper/1 is trying to release lock (&per_cpu(cpu_policy_rwsem, cpu)) at: [] unlock_policy_rwsem_write+0x30/0x40 but there are no more locks to release! other info that might help us debug this: 1 lock held by swapper/1: #0: (sysdev_drivers_lock){--..}, at: [] sysdev_driver_register+0x74/0x130 stack backtrace: [] (dump_stack+0x0/0x14) from [] (print_unlock_inbalance_bug+0xc8/0x104) [] (print_unlock_inbalance_bug+0x0/0x104) from [] (lock_release_non_nested+0xc4/0x19c) r6:00000028 r5:c3c1ab80 r4:c01b4564 [] (lock_release_non_nested+0x0/0x19c) from [] (lock_release+0x15c/0x18c) r8:60000013 r7:00000001 r6:c01b4564 r5:c0541bb4 r4:c3c1ab80 [] (lock_release+0x0/0x18c) from [] (up_write+0x24/0x30) r8:c0541b80 r7:00000000 r6:ffffffea r5:c3c34828 r4:c0541b8c [] (up_write+0x0/0x30) from [] (unlock_policy_rwsem_write+0x30/0x40) r4:c3c34884 [] (unlock_policy_rwsem_write+0x0/0x40) from [] (cpufreq_add_dev+0x324/0x398) [] (cpufreq_add_dev+0x0/0x398) from [] (sysdev_driver_register+0xc0/0x130) [] (sysdev_driver_register+0x0/0x130) from [] (cpufreq_register_driver+0xbc/0x174) Signed-off-by: Lothar Waßmann Signed-off-by: Dave Jones commit 6715930654e06c4d2e66e718ea159079f71838f4 Merge: ea3f01f... e490517... Author: Ingo Molnar Date: Thu May 29 16:05:05 2008 +0200 Merge commit 'linus/master' into sched-fixes-for-linus commit ea3f01f8afd3bc5daff915cc4ea5cc5ea9e7d427 Author: Ingo Molnar Date: Thu May 29 14:32:23 2008 +0200 sched: re-tune NUMA topologies improve the sysbench ramp-up phase and its peak throughput on a 16way NUMA box, by turning on WAKE_AFFINE: tip/sched tip/sched+wake-affine ------------------------------------------------- 1: 700 830 +15.65% 2: 1465 1391 -5.28% 4: 3017 3105 +2.81% 8: 5100 6021 +15.30% 16: 10725 10745 +0.19% 32: 10135 10150 +0.16% 64: 9338 9240 -1.06% 128: 8599 8252 -4.21% 256: 8475 8144 -4.07% ------------------------------------------------- SUM: 57558 57882 +0.56% this change also improves lat_ctx from 6.69 usecs to 1.11 usec: $ ./lat_ctx -s 0 2 "size=0k ovr=1.19 2 1.11 $ ./lat_ctx -s 0 2 "size=0k ovr=1.22 2 6.69 in sysbench it's an overall win with some weakness at the lots-of-clients side. That happens because we now under-balance this workload a bit. To counter that effect, turn on NEWIDLE: wake-idle wake-idle+newidle ------------------------------------------------- 1: 830 834 +0.43% 2: 1391 1401 +0.65% 4: 3105 3091 -0.43% 8: 6021 6046 +0.42% 16: 10745 10736 -0.08% 32: 10150 10206 +0.55% 64: 9240 9533 +3.08% 128: 8252 8355 +1.24% 256: 8144 8384 +2.87% ------------------------------------------------- SUM: 57882 58591 +1.21% as a bonus this not only improves the many-clients case but also improves the (more important) rampup phase. sysbench is a workload that quickly breaks down if the scheduler over-balances, so since it showed an improvement under NEWIDLE this change is definitely good. commit 12293bf91126ad253a25e2840b307fdc7c2754c3 Author: Alexey Dobriyan Date: Thu May 29 03:19:37 2008 -0700 netfilter: nf_conntrack_expect: fix error path unwind in nf_conntrack_expect_init() Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3137bc8e77962a8e3b4dfdc1bcfd38e437bd278 Author: Mike Galbraith Date: Thu May 29 11:11:41 2008 +0200 sched: stop wake_affine from causing serious imbalance Prevent short-running wakers of short-running threads from overloading a single cpu via wakeup affinity, and wire up disconnected debug option. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a381759d6ad5c5dea5a981918e0b4493e9b66ac7 Author: Peter Zijlstra Date: Thu May 29 10:07:15 2008 +0200 sched: fix sched_clock_cpu() Make sched_clock_cpu() return 0 before it has been initialized and avoid corrupting its state due to doing so. This fixes the weird printk timestamp jump reported. Signed-off-by: Peter Zijlstra commit 6363ca57c76b7b83639ca8c83fc285fa26a7880e Author: Ingo Molnar Date: Thu May 29 11:28:57 2008 +0200 revert ("sched: fair-group: SMP-nice for group scheduling") Yanmin Zhang reported: Comparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1. It's about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito. With bisect, I located the following patch: | 18d95a2832c1392a2d63227a7a6d433cb9f2037e is first bad commit | commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e | Author: Peter Zijlstra | Date: Sat Apr 19 19:45:00 2008 +0200 | | sched: fair-group: SMP-nice for group scheduling Revert it so that we get v2.6.25 behavior. Bisected-by: Yanmin Zhang Signed-off-by: Ingo Molnar commit 4285f594f84d1f0641fc962d00e6638dec4a19c4 Author: Ingo Molnar Date: Fri May 16 17:47:14 2008 +0200 sched: cleanup Signed-off-by: Ingo Molnar commit c6fba5451a84143f34056a465e72ba187fcc651c Author: Adrian Bunk Date: Wed May 14 16:22:59 2008 -0700 show_schedstat(): fix memleak The Coverity checker spotted a memleak introduced by commit 39106dcf85285e78f3b290022122c76f851379b8 (cpumask: use new cpus_scnprintf function). It seems the kfree() got lost between v2 and v3 of this patch... Signed-off-by: Adrian Bunk Cc: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 3f33a7ce9567ded582af1ab71f9802165fe12f09 Author: Roel Kluin Date: Tue May 13 23:44:11 2008 +0200 sched: unite unlikely pairs in rt_policy() and schedule_debug() Removes obfuscation and may improve assembly. Signed-off-by: Roel Kluin Signed-off-by: Ingo Molnar commit f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3 Author: Ingo Molnar Date: Thu May 29 11:23:17 2008 +0200 revert ("sched: fair: weight calculations") Yanmin Zhang reported: Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has many regressions with 2.6.26-rc1: 1) 8-core stoakley: 28%; 2) 16-core tigerton: 20%; 3) Itanium Montvale: 50%. Bisect located this patch: | 8f1bc385cfbab474db6c27b5af1e439614f3025c is first bad commit | commit 8f1bc385cfbab474db6c27b5af1e439614f3025c | Author: Peter Zijlstra | Date: Sat Apr 19 19:45:00 2008 +0200 | | sched: fair: weight calculations Revert it to the 2.6.25 state. Bisected-by: Yanmin Zhang Signed-off-by: Ingo Molnar commit 8c3a01d0c259ec8b283c52dbeadda0122582a68b Merge: 4c8411f... c97c23e... Author: David S. Miller Date: Thu May 29 01:49:04 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 4c8411f8c115def968820a4df6658ccfd55d7f1a Author: Arjan van de Ven Date: Thu May 29 01:32:47 2008 -0700 bluetooth: fix locking bug in the rfcomm socket cleanup handling in net/bluetooth/rfcomm/sock.c, rfcomm_sk_state_change() does the following operation: if (parent && sock_flag(sk, SOCK_ZAPPED)) { /* We have to drop DLC lock here, otherwise * rfcomm_sock_destruct() will dead lock. */ rfcomm_dlc_unlock(d); rfcomm_sock_kill(sk); rfcomm_dlc_lock(d); } } which is fine, since rfcomm_sock_kill() will call sk_free() which will call rfcomm_sock_destruct() which takes the rfcomm_dlc_lock()... so far so good. HOWEVER, this assumes that the rfcomm_sk_state_change() function always gets called with the rfcomm_dlc_lock() taken. This is the case for all but one case, and in that case where we don't have the lock, we do a double unlock followed by an attempt to take the lock, which due to underflow isn't going anywhere fast. This patch fixes this by moving the stragling case inside the lock, like the other usages of the same call are doing in this code. This was found with the help of the www.kerneloops.org project, where this deadlock was observed 51 times at this point in time: http://www.kerneloops.org/search.php?search=rfcomm_sock_destruct Signed-off-by: Arjan van de Ven Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit c97c23e38625f59e3e9869664eeeb0cab1822948 Author: Senthil Balasubramanian Date: Wed May 28 23:15:32 2008 +0530 mac80211: fix alignment issue with compare_ether_addr() This addresses an alignment issue with compare_ether_addr(). The addresses passed to compare_ether_addr should be two bytes aligned. It may function properly in x86 platform. However may not work properly on IA-64 or ARM processor. This also fixes a typo in mlme.c where the sk_buff struct name is incorect. Though sizeof() works for any incorrect structure pointer name as its just a pointer length that we want, lets just fix it. Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 70d251b24c44ab2fcba1807a5206e844cf10eb38 Author: Senthil Balasubramanian Date: Wed May 28 20:08:12 2008 +0530 mac80211: Fix for NULL pointer dereference in sta_info_get() This addresses a NULL pointer dereference in sta_info_get(). TID and sta_info are extracted in ADDBA Timer expiry function through the timer handler's argument. The problem is extracging the TID (which was stored in timer_to_tid[] array of type "u8") through "int *" typecast which may also yield unwanted bytes for the MSB of TID that results in incorrect sta_info and ieee80211_local pointers. ieee80211_local pointer is NULL as illustrated below, it crashes in sta_info_get(). The problem started when extracting ieee80211_local pointer out of sta_info iteself and eventually crashed in stat_info_get(). The proper way to fix is to change the data type of TID to u8 instead of u16. However changing all the occurences requires some prototype changes as well. We should fix this in upcoming patches. Signed-off-by: Senthil Balasubramanian Signed-off-by: Luis Rodriguez Signed-off-by: John W. Linville commit f6d97104890203ba9c2cf8e34894c4c8e64cb880 Author: Yi Zhu Date: Tue May 27 17:50:50 2008 +0300 mac80211: fix a typo in ieee80211_handle_filtered_frame comment fix a typo in ieee80211_handle_filtered_frame comment Signed-off-by: Yi Zhu Signed-off-by: John W. Linville commit a7624837261b55259d4a88309fd88529643fbb80 Author: Jussi Kivilinna Date: Tue May 27 11:15:08 2008 +0300 rndis_wlan: add missing range check for power_output modparam Range check for power_output were missing. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 135a5484c3e0c6710035630b630cef3c856b78e2 Author: Guy Cohen Date: Tue May 27 11:29:35 2008 +0800 iwlwifi: fix rate scale TLC column selection bug This patch fixes a case that a wrong maximal rate is selected when searching for better configurations. Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 47cfd463962ab0748ecbad761ff6ef2916b54aac Author: Guy Cohen Date: Tue May 27 11:29:34 2008 +0800 iwlwifi: fix exit from stay_in_table state When exiting from stay in table state (e.g. timer expiration), all the statistics are reset and the RS flow should not continue but only after enough statistics are collected again. Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4364623cb79d02945ace7a4faa1f11e617dde198 Author: Scott Ashcroft Date: Tue May 27 00:06:15 2008 +0300 rndis_wlan: Make connections to TKIP PSK networks work This patch allows the rndis_wlan driver to connect to TKIP PSK networks. It uses the ASSOCIATION_INFORMATION RNDIS call to pull back the IEs and sends them back to userspace using wireless events. Tested on a few wireless networks I have access to. Based on the similar code in ndiswrapper. Signed-off-by: Scott Ashcroft [edit: cleanups] Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d4231ca3e162387a2b6964dacaa83604e065c4e9 Author: Abhijeet Kolekar Date: Fri May 23 10:15:26 2008 -0700 mac80211 : Fixes the status message for iwconfig iwconfig was showing incorrect status messages when disassociated. Patch fixes this by always checking for association status in ioctl calls for getting ap address. Signed-off-by: Abhijeet Kolekar Acked-by: Dan Williams Signed-off-by: John W. Linville commit 633257d3db547e7553500f05e0aa2692c876d7a5 Author: Ivo van Doorn Date: Fri May 23 18:14:02 2008 +0200 rt2x00: Use atomic interface iteration in irq context rt2x00lib_beacondone() is called from interrupt context, this means we cannot use the mac80211 interface iterator that uses the rtnl lock (since that uses a mutex which can sleep). Instead we should use the atomic mac80211 interface iterator. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f06a0f486dc8bbe8808f46b81fbfd73241529fae Author: Ivo van Doorn Date: Fri May 23 18:13:56 2008 +0200 rt2x00: Reset antenna RSSI after switch When the antenna configuration has changed we should reset the antenna RSSI value. Otherwise the value will be influenced by the previous configuration quality which in turn will affect the antenna diversity. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2088d4174e4292aef892bb7095fc3c3ea5bd117c Author: Ivo van Doorn Date: Fri May 23 18:13:49 2008 +0200 rt2x00: Don't count retries as failure Link quality estimation became quite low for all rt2x00 drivers because the number of retries it took to send the frame were counted as failure. This does not correspond to the legacy driver link quality calculation, by not counting it we will send somewhat more optimistic values to mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0f3e63a55b1a7b695a79bf3eec2ff5ab6b336037 Author: Ivo van Doorn Date: Fri May 23 18:13:41 2008 +0200 rt2x00: Fix memleak in tx() path When the tx() handler runs while the device has disapeared, we did return NETDEV_TX_OK but didn't free the skb. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9381be059bf5831d259e8735005cfa35b7488543 Author: Tomas Winkler Date: Fri May 23 01:36:36 2008 +0300 mac80211: reorder channel and freq reporting in wext scan report This patch switch order of channel and freq (SIOCGIWFREQ) reports in scan results in order to overcome wpa_supplicant inability to handle channel numbers in 5.2Ghz band. Wext reporting channel number is ambiguous as channels 7-12 (802.11j) exist on both bands. Signed-off-by: Tomas Winkler Signed-off-by: Emmanuel Grumbach Acked-by: Dan Williams Signed-off-by: John W. Linville commit 3bf0a32e22fedc0b46443699db2d61ac2a883ac4 Author: Michael Buesch Date: Thu May 22 16:32:16 2008 +0200 b43: Fix controller restart crash This fixes a kernel crash on rmmod, in the case where the controller was restarted before doing the rmmod. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 167ad6f7a2b2ae58dfaa46620b9b3212594f38e6 Author: Tomas Winkler Date: Wed May 21 18:17:05 2008 +0300 mac80211: fix ieee80211_rx_bss_put/get imbalance This patch fixes iee80211_rx_bss_put/get imbalance introduced by 'mac80211: enable IBSS merging' patch. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 679fda1aa49fddf938bb699df7867c01988371ab Author: Nicolas Kaiser Date: Tue May 20 18:42:54 2008 +0200 net/mac80211: always true conditionals Correct always true conditionals. Signed-off-by: Nicolas Kaiser Signed-off-by: John W. Linville commit 6b4bec010d888c5b8c731aa596635cd83dd3416c Author: Michael Buesch Date: Tue May 20 12:16:28 2008 +0200 b43: Upload both beacon templates on initial load This updates the beacon template code to upload both templates, if we never uploaded one before. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit bc1b1fb2753873314ad1bf56bc7d5b8dd447cd2a Author: Andrea Merello Date: Sat May 10 13:34:16 2008 +0200 rtl8180: fix wrong parameter in grf5101_rf_set_channel The grf5101 RF code needs to invoke grf5101_write_phy_antenna every time the channel is being switch. This should be done passing the channel number to that function. Incorrectly we were passing the same value that is written on the channel RF register. This may cause problems when operating on ch 14. This patch fixes it. Thanks to Alessandro Di Marco who found this issue! Signed-off-by: Andrea Merello Signed-off-by: John W. Linville commit 0a0ab41e833c8184c6d4ab663f137d5bbd50e049 Author: Andrea Merello Date: Sat May 10 13:32:34 2008 +0200 rtl8180: fix wrong parameter in max2820_rf_set_channel The max2820 RF code needs to invoke max2820_write_phy_antenna every time the channel is being switch. This should be done passing the channel number to that function. Incorrectly we were passing the same value that is written on the channel RF register. This may cause problems when operating on ch 14. This patch fixes it. Thanks to Alessandro Di Marco who found this issue! Signed-off-by: Andrea Merello Signed-off-by: John W. Linville commit 0823b2c3c10a4db21cd39a8c72cda96b4dd6d914 Author: Andrea Merello Date: Sat May 10 13:30:12 2008 +0200 rtl8180: fix wrong parameter in sa2400_rf_set_channel The sa2400 RF code needs to invoke sa2400_write_phy_antenna every time the channel is being switch. This should be done passing the channel number to that function. Incorrectly we were passing the same value that is written on the channel RF register. This may cause problems when operating on ch 14. This patch fixes it. Thanks to Alessandro Di Marco who found this issue! Signed-off-by: Andrea Merello Signed-off-by: John W. Linville commit 6f6c218f68e632e4596cae6e6d43658d26a5e0fe Author: John W. Linville Date: Tue May 27 17:01:55 2008 -0400 rtl8180: avoid NULL dereference in max2820_rf_set_channel The static function max2820_rf_set_channel is called with conf == NULL within its compilation unit. Originally this defaulted to b/g channel 1, but "cfg80211 API for channels/bitrates, mac80211 and driver conversion" (commit 8318d78a44d49ac1edf2bdec7299de3617c4232e) mistakenly dropped this check. This patch minimally restores the expected behavior. Reported-by: Colin Lai Signed-off-by: John W. Linville commit 3897b82c3586e774260d6bca56cc1efca79cd335 Merge: 0a2ce2f... 4dcc29e... Author: Linus Torvalds Date: Wed May 28 12:58:12 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Workaround for RSE issue commit 471637a575329f9250e7e4099e84084820a35e11 Author: Antonio Ospite Date: Wed May 28 14:35:52 2008 -0400 Input: pxa27x_keypad - miscellaneous fixes 1. Set input bits for direct keys codes 2. Set input bits for rotary encoder codes only if rotary encoder is enabled 3. Enable EV_REL only if rotary encoder is enabled and rel_codes are set up Signed-off-by: Antonio Ospite Signed-off-by: Dmitry Torokhov commit b33cb815b565a94c654a0fe8e62e36f5b4053888 Author: Jason Wessel Date: Wed May 28 12:49:57 2008 -0500 kgdbts: Use HW breakpoints with CONFIG_DEBUG_RODATA Whenever CONFIG_DEBUG_RODATA is set in the kernel config many kernel text sections become read-only, and the use of software breakpoints in the kgdb tests will cause the kernel to fail to complete the start up. Until such time that there is an official API for modifying read-only text sections hardware breakpoints must be used to run the do_fork or sys_open tests or the tests get skipped. Also fix the duplicated include reported by: Huang Weiyi Signed-off-by: Jason Wessel commit 827e609b4581282b98bdf7666f6e93ff1bd1a63e Author: Harvey Harrison Date: Wed May 28 12:49:56 2008 -0500 kgdb: use common ascii helpers and put_unaligned_be32 helper Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Jason Wessel commit 0a2ce2ffc358da96792d514c1024b72c52be9cc1 Author: David Howells Date: Wed May 28 16:49:01 2008 +0100 Fix FRV minimum slab/kmalloc alignment > +#define ARCH_KMALLOC_MINALIGN (sizeof(long) * 2) > +#define ARCH_SLAB_MINALIGN (sizeof(long) * 2) This doesn't work if SLAB is selected and slab debugging is enabled as these are passed to the preprocessor, and the preprocessor doesn't understand sizeof. Signed-off-by: Linus Torvalds commit b4412323cc954bd0a2144b1c2ed573dd2eddb32c Merge: dc1d60a... d6de8be... Author: Linus Torvalds Date: Wed May 28 08:00:51 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: fix RCU problem in cfq_cic_lookup() block: make blktrace use per-cpu buffers for message notes Added in elevator switch message to blktrace stream Added in MESSAGE notes for blktraces block: reorder cfq_queue to save space on 64bit builds block: Move the second call to get_request to the end of the loop splice: handle try_to_release_page() failure splice: fix sendfile() issue with relay commit dc1d60a014aa9614518f9856ff661716d0969ffd Author: David Howells Date: Wed May 28 15:36:34 2008 +0100 FRV: Specify the minimum slab/kmalloc alignment Specify the minimum slab/kmalloc alignment to be 8 bytes. This fixes a crash when SLOB is selected as the memory allocator. The FRV arch needs this so that it can use the load- and store-double instructions without faulting. By default SLOB sets the minimum to be 4 bytes. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5e55843bb8ed1ec7d134a759c53e34beb1618952 Author: Vegard Nossum Date: Wed May 28 13:55:24 2008 +0100 MN10300: Fix typo in header guard Fix a typo in the header guard of asm/ipc.h. Signed-off-by: Vegard Nossum Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d6de8be711b28049a5cb93c954722c311c7d3f7f Author: Jens Axboe Date: Wed May 28 14:46:59 2008 +0200 cfq-iosched: fix RCU problem in cfq_cic_lookup() cfq_cic_lookup() needs to properly protect ioc->ioc_data before dereferencing it and also exclude updaters of ioc->ioc_data as well. Also add a number of comments documenting why the existing RCU usage is OK. Thanks a lot to "Paul E. McKenney" for review and comments! Signed-off-by: Jens Axboe commit 64565911cdb57c2f512a9715b985b5617402cc67 Author: Jens Axboe Date: Wed May 28 14:45:33 2008 +0200 block: make blktrace use per-cpu buffers for message notes Currently it uses a single static char array, but that risks being corrupted when multiple users issue message notes at the same time. Make the buffers dynamically allocated when the trace is setup and make them per-cpu instead. The default max message size of 1k is also very large, the interface is mainly for small text notes. So shrink it to 128 bytes. Signed-off-by: Jens Axboe commit 4722dc52a891ab6cb2d637ddb87233e0ce277827 Author: Alan D. Brunelle Date: Tue May 27 14:55:00 2008 +0200 Added in elevator switch message to blktrace stream Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit 9d5f09a424a67ddb959829894efb4c71cbf6d600 Author: Alan D. Brunelle Date: Tue May 27 14:54:41 2008 +0200 Added in MESSAGE notes for blktraces Allows messages to be inserted into blktrace streams. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit be754d2c2161c0cce11d62727016985ecb76831b Author: Richard Kennedy Date: Fri May 23 06:52:00 2008 +0200 block: reorder cfq_queue to save space on 64bit builds saves 8 bytes of padding & increases objects/slab from 30 to 32 on my AMD64 config Signed-off-by: Richard Kennedy Signed-off-by: Jens Axboe commit 05caf8dbc1880415df3378cfd114d832c9618b60 Author: Zhang, Yanmin Date: Thu May 22 15:13:29 2008 +0200 block: Move the second call to get_request to the end of the loop In function get_request_wait, the second call to get_request could be moved to the end of the while loop, because if the first call to get_request fails, the second call will fail without sleep. Signed-off-by: Zhang Yanmin Signed-off-by: Jens Axboe commit ca39d651d17df49b6d11f851d56c0ce0ce01ea1a Author: Jens Axboe Date: Tue May 20 21:27:41 2008 +0200 splice: handle try_to_release_page() failure splice currently assumes that try_to_release_page() always suceeds, but it can return failure. If it does, we cannot steal the page. Acked-by: Mingming Cao commit a82c53a0e3f57f02782330372b7adad67b417645 Author: Tom Zanussi Date: Fri May 9 13:28:36 2008 +0200 splice: fix sendfile() issue with relay Splice isn't always incrementing the ppos correctly, which broke relay splice. Signed-off-by: Tom Zanussi Tested-by: Dan Williams Signed-off-by: Jens Axboe commit 57f5b1590f2d801a3a7f072e2c65f14d4545852c Author: Dmitry Torokhov Date: Wed May 28 00:54:01 2008 -0400 Input: atkbd - mark keyboard as disabled when suspending/unloading This will shut off garbage that may come from KBD port during resume. Signed-off-by: Dmitry Torokhov commit 1ec7d99c16e69a9ed8ffeaa6c1846025b84bebad Merge: 3dbfd08... 9e4f2e8... Author: Linus Torvalds Date: Tue May 27 18:47:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: pciehp: add message about pciehp_slot_with_bus option pci hotplug core: add check of duplicate slot name pciehp: move msleep after power off pciehp: poll cmd completion if hotplug interrupt is disabled pciehp: fix slow probing pciehp: fix NULL dereference in interrupt handler shpchp: add message about shpchp_slot_with_bus option PCI: don't enable ASPM on devices with mixed PCIe/PCI functions commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 Author: Kenji Kaneshige Date: Tue May 27 19:07:33 2008 +0900 pciehp: add message about pciehp_slot_with_bus option Some (broken?) platform assign the same slot name to multiple hotplug slots. On such system, slot initialization would fail because of name collision. The pciehp driver already have a "slot_with_bus" module option which adds the bus number into the slot name. This patch adds the message about this module option that will be displayed when slot name collision is detected. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit a86161b3134465f072d965ca7508ec9c1e2e52c7 Author: Kenji Kaneshige Date: Tue May 27 19:07:01 2008 +0900 pci hotplug core: add check of duplicate slot name Fix the following errors reported by Jan C. Nordholz in http://bugzilla.kernel.org/show_bug.cgi?id=10751. kobject_add_internal failed for 2 with -EEXIST, don't try to register things with the same name in the same directory. Pid: 1, comm: swapper Tainted: G W 2.6.26-rc3 #1 [] kobject_add_internal+0x140/0x190 [] kobject_init_and_add+0x2d/0x40 [] pci_hp_register+0x81/0x2f0 [] pciehp_probe+0x1a7/0x470 [] sysfs_add_one+0x44/0xa0 [] sysfs_addrm_start+0x3f/0xb0 [] sysfs_create_link+0x8a/0xf0 [] pcie_port_probe_service+0x50/0x80 [] driver_sysfs_add+0x55/0x70 [] driver_probe_device+0x82/0x180 [] __driver_attach+0x6c/0x70 [] bus_for_each_dev+0x3a/0x60 [] pcied_init+0x0/0x80 [] driver_attach+0x16/0x20 [] __driver_attach+0x0/0x70 [] bus_add_driver+0x1a1/0x220 [] pcied_init+0x0/0x80 [] driver_register+0x4d/0x120 [] ibm_acpiphp_init+0x0/0x190 [] printk+0x1b/0x20 [] pcied_init+0x0/0x80 [] pcied_init+0xe/0x80 [] kernel_init+0x10a/0x300 [] schedule_tail+0x18/0x50 [] ret_from_fork+0x6/0x1c [] kernel_init+0x0/0x300 [] kernel_init+0x0/0x300 [] kernel_thread_helper+0x7/0x1c ======================= pci_hotplug: Unable to register kobject '2'<3>pciehp: pci_hp_register failed with error -22 Slot with the same name can be registered multiple times if shpchp or pciehp driver is loaded after acpiphp is loaded because ACPI based hotplug driver and Native OS hotplug driver trying to handle the same physical slot. In this case, current pci_hotplug core will call kobject_init_and_add() muliple time with the same name. This is the cause of this problem. To fix this problem, this patch adds the check into pci_hp_register() to see if the slot with the same name. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 0711c70ec0e9d2c002b1e9b5fb9f21e49d77f4fd Author: Kenji Kaneshige Date: Tue May 27 19:06:22 2008 +0900 pciehp: move msleep after power off According to the PCI Express specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. For this, current pciehp wait for 1 second after issuing the power off command in hpc_power_off_slot() function. But waiting for 1 second in hpc_power_off_slot() can make pciehp probing slow-down because pciehp probe code calls hpc_power_off_slot() if the slot is not occupied just in case. We don't need to wait for 1 second at the pciehp probe time because there is no action on that empty slot. So move 1 second wait from hpc_power_off_slot() to the caller of hpc_power_off_slot(). Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 6592e02ae4bd7b277230aa0c5821588a13b9d8e3 Author: Kenji Kaneshige Date: Tue May 27 19:05:26 2008 +0900 pciehp: poll cmd completion if hotplug interrupt is disabled Fix improper long wait for command completion in pciehp probing. As described in PCI Express specification, software notification is not generated if the command that occurs as a result of a write to the Slot Control register that disables software notification of command completed events. Since pciehp driver doesn't take it into account, such command is issued in pciehp probing, and it causes improper long wait for command completion. This patch changes the pciehp driver to take such command into account. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 5808639bfa98d69f77a481d759570d85f164fea0 Author: Kenji Kaneshige Date: Tue May 27 19:04:30 2008 +0900 pciehp: fix slow probing Fix the "pciehp probing slow" problem reported from Jan C. Nordholz in http://bugzilla.kernel.org/show_bug.cgi?id=10751. The command completed bit in Slot Status register applies only to commands issued to control the attention indicator, power indicator, power controller, or electromechanical interlock. However, writes to other parts of the Slot Control register would end up writing to the control fields. Hence, any write to Slot Control register is considered as a command. However, if the controller doesn't support any of attention indicator, power indicator, power controller and electromechanical interlock, command completed bit would not set in writing to Slot Control register. In this case, we should not wait for command completed bit set, otherwise all commands would be considered not completed in timeout seconds (1 sec.). The cause of the problem is pciehp driver didn't take this situation into account. This patch changes pciehp to take it into account. This patch also add the check for "No Command Completed Support" bit in Slot Capability register. If it is set, we should not wait for command completed bit set as well. This problem seems to be revealed by the commit c27fb883dffe11aa4cb35ecea1fa1832ba45d4da that fixed the bug that pciehp did not wait for command completed properly (pciehp just ignored the command completion event). Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08 Author: Kenji Kaneshige Date: Tue May 27 19:03:16 2008 +0900 pciehp: fix NULL dereference in interrupt handler Fix the following NULL dereference problem reported from Pierre Ossman and Ingo Molnar. pciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 ss_did 0 pciehp: pciehp_find_slot: slot (device=0x0) not found BUG: unable to handle kernel NULL pointer dereference at 0000000000000070 IP: [] pciehp_handle_presence_change+0x7e/0x113 PGD 0 Oops: 0000 [1] CPU 0 Modules linked in: Pid: 1, comm: swapper Tainted: G W 2.6.26-rc3-sched-devel.git-00001-g2b99b26-dirty #170 RIP: 0010:[] [] pciehp_handle_presence_change+0x7e/0x113 RSP: 0000:ffff81003f83fbb0 EFLAGS: 00010046 RAX: 0000000000000039 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000046 RBP: ffff81003f83fbd0 R08: 0000000000000001 R09: ffffffff80245103 R10: 0000000000000020 R11: 0000000000000000 R12: ffff81003ea53a30 R13: 0000000000000000 R14: 0000000000000011 R15: ffffffff80495926 FS: 0000000000000000(0000) GS:ffffffff80be7400(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000070 CR3: 0000000000201000 CR4: 00000000000006a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff81003f83e000, task ffff81003f840000) Stack: 0000000000000008 ffff81003f83fbf6 ffff81003ea53a30 0000000000000008 ffff81003f83fc10 ffffffff80495ab4 0000000000000011 0000000000000002 0000000000000202 0000000000000202 00000000fffffff4 ffff81003ea53a30 Call Trace: [] pcie_isr+0x18e/0x1bc [] request_irq+0x106/0x12f [] pcie_init+0x15e/0x6cc [] pciehp_probe+0x64/0x541 [] pcie_port_probe_service+0x4c/0x76 [] driver_probe_device+0xd4/0x1f0 [] __driver_attach+0x7c/0x7e [] ? __driver_attach+0x0/0x7e [] bus_for_each_dev+0x53/0x7d [] driver_attach+0x1c/0x1e [] bus_add_driver+0xdd/0x25b [] ? pcied_init+0x0/0x8b [] driver_register+0x5f/0x13e [] ? pcied_init+0x0/0x8b [] pcie_port_service_register+0x47/0x49 [] pcied_init+0x15/0x8b [] kernel_init+0x75/0x243 [] ? _spin_unlock_irq+0x2b/0x3a [] ? finish_task_switch+0x57/0x9a [] child_rip+0xa/0x12 [] ? restore_args+0x0/0x30 [] ? kernel_init+0x0/0x243 [] ? child_rip+0x0/0x12 Code: 83 80 00 00 00 48 39 f0 75 e1 0f b6 c9 48 c7 c2 00 0e 8d 80 48 c7 c6 8a 60 a6 80 48 c7 c7 10 db a8 80 31 c0 e8 3f 8d d9 ff 31 db <48> 8b 43 70 48 8d 75 ef 48 89 df ff 50 30 80 7d ef 00 74 37 48 RIP [] pciehp_handle_presence_change+0x7e/0x113 RSP CR2: 0000000000000070 Kernel panic - not syncing: Fatal exception The situation under which it occurs is hw and timing related: it appears to happen on a system that has PCI hotplug hardware but with no active hotplug cards, and another interrupt in the same (shared) IRQ line arrives too early, before the hotplug-slot entry has been set up - as triggered by CONFIG_DEBUG_SHIRQ=y: This patch contains the following two fixes. (1) Clear all events bits in Slot Status register to prevent the pciehp driver from detecting the spurious events that would have been occur before pciehp loading. (2) Add check whether slot initialization had been already done. This is short term fix. We need more structural fixes to install interrupt handler after slot initialization is done. Signed-off-by: Ingo Molnar Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a Author: Kenji Kaneshige Date: Tue May 27 19:08:23 2008 +0900 shpchp: add message about shpchp_slot_with_bus option Some (broken?) platform assign the same slot name to multiple hotplug slots. On such system, slot initialization would fail because of name collision. The shpchp driver already have a "slot_with_bus" module option which adds the bus number into the slot name. This patch adds the message about this module option that will be displayed when slot name collision is detected. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 732bee4c859012edf05f3e09b53b68fc332a369d Author: Olof Johansson Date: Tue May 27 16:11:13 2008 -0500 [POWERPC] pasemi: update pasemi_defconfig, enable electra_cf Refresh pasemi_defconfig and enable ELECTRA_CF=y. Signed-off-by: Olof Johansson commit c433a1b6426880d3e23267938c3542706f3d03a6 Author: Olof Johansson Date: Tue May 27 16:07:26 2008 -0500 electra_cf: Add MODULE_DEVICE_TABLE() Add a module device table to electra_cf so that modules can be auto-probed/loaded. Signed-off-by: Olof Johansson commit 4dcc29e1574d88f4465ba865ed82800032f76418 Author: Tony Luck Date: Tue May 27 13:23:16 2008 -0700 [IA64] Workaround for RSE issue Problem: An application violating the architectural rules regarding operation dependencies and having specific Register Stack Engine (RSE) state at the time of the violation, may result in an illegal operation fault and invalid RSE state. Such faults may initiate a cascade of repeated illegal operation faults within OS interruption handlers. The specific behavior is OS dependent. Implication: An application causing an illegal operation fault with specific RSE state may result in a series of illegal operation faults and an eventual OS stack overflow condition. Workaround: OS interruption handlers that switch to kernel backing store implement a check for invalid RSE state to avoid the series of illegal operation faults. The core of the workaround is the RSE_WORKAROUND code sequence inserted into each invocation of the SAVE_MIN_WITH_COVER and SAVE_MIN_WITH_COVER_R19 macros. This sequence includes hard-coded constants that depend on the number of stacked physical registers being 96. The rest of this patch consists of code to disable this workaround should this not be the case (with the presumption that if a future Itanium processor increases the number of registers, it would also remove the need for this patch). Move the start of the RBS up to a mod32 boundary to avoid some corner cases. The dispatch_illegal_op_fault code outgrew the spot it was squatting in when built with this patch and CONFIG_VIRT_CPU_ACCOUNTING=y Move it out to the end of the ivt. Signed-off-by: Tony Luck commit cc94bc37d5e02aaf8a6409a28e3c62bbd479b9a8 Author: Chris Wright Date: Mon May 19 14:58:43 2008 -0700 LSM: remove stale web site from MAINTAINERS Pointed out by Adrian Bunk. Signed-off-by: Chris Wright commit ca61668b82a902143997794aae3f681a602e6ebc Author: Brian King Date: Mon May 19 10:27:56 2008 -0500 [SCSI] ibmvscsi: Non SCSI error status fixup Some versions of the Virtual I/O Server on Power return 0x99 in the non-SCSI error status field as success, rather than 0. This fixes the ibmvscsi driver to treat this response as success. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7ba2db5f38955907e46a65c9334d287cd3da32c2 Author: Michael Reed Date: Thu Mar 13 14:53:56 2008 -0500 [SCSI] fusion mpt: fix target missing after resetting external raid Following a hard reset of a SAS raid, one of the raid targets is occasionally missing. I tracked this down to a pretty obscure little bug. The LSI fusion drivers for SAS and Fibre Channel both use their respective transport layers. Those transport layers increment the target number assigned to new targets. The routine __scsi_scan_target uses the "this_id" element of the Scsi_Host structure to avoid scanning the scsi host adapter. Both fusion drivers set "this_id" from a value returned in a firmware PortFacts response. For my particular test case (SAS) the firmware id assigned to the initiator was 173. After enough raid resets to cause the raid targets to go and come a sufficient number of times, the id assigned by the transport to a raid target would match the id assigned by the host adapter to the "this_id" field, resulting in that target not being scanned. Fix by not assigning this_id and not checking it in slave_configure. Signed-off-by: Michael Reed Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 3dbfd0801bbbaf2800d7497d83d743a614430e82 Merge: edb2301... f04d264... Author: Linus Torvalds Date: Tue May 27 08:27:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Fix cpufreq oops when ondemand governor is default avr32: Update defconfigs avr32: export strnlen_user avr32: export copy_page commit edb2301f2903e96beadc333f9584222c05858518 Author: David Woodhouse Date: Tue May 27 06:31:43 2008 +0100 ck804rom: fix driver_data in probe table. There's a reason why using C99 initialisers even in the supposedly trivial structs is a good idea. Signed-off-by: Carl-Daniel Hailfinger Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 825de27d9e40b3117b29a79d412b7a4b78c5d815 Author: Gerrit Renker Date: Tue May 27 06:33:54 2008 -0700 dccp ccid-3: Fix "t_ipi explosion" bug The identification of this bug is thanks to Cheng Wei and Tomasz Grobelny. To avoid divide-by-zero, the implementation previously ignored RTTs smaller than 4 microseconds when performing integer division RTT/4. When the RTT reached a value less than 4 microseconds (as observed on loopback), this prevented the Window Counter CCVal value from advancing. As a result, the receiver stopped sending feedback. This in turn caused non-ending expiries of the nofeedback timer at the sender, so that the sending rate was progressively reduced until reaching the minimum of one packet per 64 seconds. The patch fixes this bug by handling integer division more intelligently. Due to consistent use of dccp_sample_rtt(), divide-by-zero-RTT is avoided. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6079a463cf95fafcc704a4e5e92a4da12444bd3c Author: Wei Yongjun Date: Tue May 27 06:22:38 2008 -0700 dccp: Fix to handle short sequence numbers packet correctly RFC4340 said: 8.5. Pseudocode ... If P.type is not Data, Ack, or DataAck and P.X == 0 (the packet has short sequence numbers), drop packet and return But DCCP has some mistake to handle short sequence numbers packet, now it drop packet only if P.type is Data, Ack, or DataAck and P.X == 0. Signed-off-by: Wei Yongjun Acked-by: Gerrit Renker Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f04d264afc51acdffeba9cdf3baf04116687680c Author: Haavard Skinnemoen Date: Tue May 27 09:37:42 2008 +0200 avr32: Fix cpufreq oops when ondemand governor is default Move the AP7 cpufreq init to late_initcall() so that we don't try to bring up cpufreq until the governor is ready. x86 also uses late_initcall() for this. Signed-off-by: Haavard Skinnemoen commit 87a54a28970fb6a91de3993120eccc01a0ece732 Author: Huang Weiyi Date: Tue May 27 01:38:45 2008 -0400 Input: apanel - remove duplicate include Remove duplicate include file . Signed-off-by: Huang Weiyi Signed-off-by: Dmitry Torokhov commit 43f83a8f9963a11a9c3f41beecc363da21ae3602 Author: Mark Brown Date: Tue May 27 01:37:26 2008 -0400 Input: wm9713 - support five wire panels Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 5de4cd431db749bdca58ec88862462729f6159b2 Author: Mark Brown Date: Tue May 27 01:37:19 2008 -0400 Input: wm97xx-core - fix race on PHY init The chip phy_init() function must be called before the dig_enable() function but dig_enable() is called when the device is opened and we only call phy_init() after having reigstered the device, meaning the two can race. Fix this by doing the phy_init() before we register the input device. Thanks to Rodolfo Giometti for the report. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit ef9db4929a4d9559abf1812fd89cc3b09c56b49b Author: Mark Brown Date: Tue May 27 01:37:08 2008 -0400 Input: wm97xx-core - fix driver name Fix driver name - thanks to Guennadi Liakhovetski for reporting this. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 6b32ca39d70f5d92f4d450dc54966f20e8b5c1f6 Author: Mark Brown Date: Tue May 27 01:36:47 2008 -0400 Input: wm97xx-core - report a phys for WM97xx touchscreens phys is displayed in diagnostic output like that from evbug so ensure that it is set to something. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit d35895db7aadc24086b6002101154eec478e9dd6 Author: Bruno Prémont Date: Tue May 27 01:36:04 2008 -0400 Input: i8042 - make sure Dritek quirk is invoked at resume Also do not fail i8042 entire initialization if enabling dritek extension fails. Signed-off-by: Bruno Prémont Signed-off-by: Dmitry Torokhov commit 5f6256066790e1a9a90438f5eece73069c531ffc Author: Chien Tung Date: Mon May 26 15:23:32 2008 -0700 MAINTAINERS: Update NetEffect (iw_nes) entry Add Chien and remove Nishi from maintainers list for NetEffect. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 03031f71c7e64aada1add057ccc4a8bc6a79924c Author: Ralph Campbell Date: Mon May 26 15:22:17 2008 -0700 IB/ipath: Fix device capability flags The driver supports a few features (RNR NAK, port active event, SRQ resize) that were not reported in the device capability flags. This patch fixes that. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e8ffef73c8dd2c2d00287829db87cdaf229d3859 Author: Roland Dreier Date: Mon May 26 15:20:34 2008 -0700 IB/ipath: Avoid test_bit() on u64 SDMA status value Gabriel C pointed out that when the x86 bitops are updated to operate on unsigned long, the code in sdma_abort_task() will produce warnings: drivers/infiniband/hw/ipath/ipath_sdma.c: In function 'sdma_abort_task': drivers/infiniband/hw/ipath/ipath_sdma.c:267: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type and so on, because it uses test_bit() to operation on a u64 value (returned by ipath_read_kref64() for a hardware register). Fix up these warnings by converting the test_bit() operations to &ing with appropriate symbolic defines of the bits within the hardware register. This has the benign side-effect of making the code more self-documenting as well. Signed-off-by: Roland Dreier commit e490517a039a99d692cb3a5561941b0a5f576172 Author: Linus Torvalds Date: Mon May 26 11:07:53 2008 -0700 Linux 2.6.26-rc4 commit cbaffba12ce08beb3e80bfda148ee0fa14aac188 Author: Oleg Nesterov Date: Mon May 26 20:55:42 2008 +0400 posix timers: discard SI_TIMER signals on exec Based on Roland's patch. This approach was suggested by Austin Clements from the very beginning, and then by Linus. As Austin pointed out, the execing task can be killed by SI_TIMER signal because exec flushes the signal handlers, but doesn't discard the pending signals generated by posix timers. Perhaps not a bug, but people find this surprising. See http://bugzilla.kernel.org/show_bug.cgi?id=10460 Signed-off-by: Oleg Nesterov Cc: Austin Clements Cc: Roland McGrath Signed-off-by: Linus Torvalds commit c8e85b4f4b9ee23bf0e79bdeb3da274a0f9c663f Author: Oleg Nesterov Date: Mon May 26 20:55:42 2008 +0400 posix timers: sigqueue_free: don't free sigqueue if it is queued Currently sigqueue_free() removes sigqueue from list, but doesn't cancel the pending signal. This is not consistent, the task should either receive the "full" signal along with siginfo_t, or it shouldn't receive the signal at all. Change sigqueue_free() to clear SIGQUEUE_PREALLOC but leave sigqueue on list if it is queued. This is a user-visible change. If the signal is blocked, it stays queued after sys_timer_delete() until unblocked with the "stale" si_code/si_value, and of course it is still counted wrt RLIMIT_SIGPENDING which also limits the number of posix timers. Signed-off-by: Oleg Nesterov Cc: Austin Clements Cc: Roland McGrath Signed-off-by: Linus Torvalds commit 84a881657d391121cd88c37f0a312dec3528fa44 Merge: 1434b65... 2548baa... Author: Linus Torvalds Date: Mon May 26 10:24:06 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Align i2c_device_id tuner: Do not alter i2c_client.name commit 1434b65731963207a4cc84bd87e6191e34321986 Merge: 4934ed8... 7699441... Author: Linus Torvalds Date: Mon May 26 10:21:26 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: ksize() abuse checks slob: Fix to return wrong pointer commit 4934ed888e6fe78d9d339471fb870819da911e8b Merge: 0dfdf77... 9c28faa... Author: Linus Torvalds Date: Mon May 26 10:20:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26: sh: Drop broken URAM support on SH7723. sh: update Migo-R defconfig sh: use sm501 8250 mfd support on r2d boards sh: add probe support for new sh7723 cut sh: fix VPU interrupt vector for sh7723 sh: fix USBF resource for sh7722 commit 0dfdf77ab81040e9e4569c9cdaaae5419d18aaaa Merge: c5e6fd2... 551dec4... Author: Linus Torvalds Date: Mon May 26 10:14:37 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: global_reg_snapshot is not for userspace commit c5e6fd28e5776200a737e9df337a529d36fa9a54 Merge: b373303... 289c79a... Author: Linus Torvalds Date: Mon May 26 10:14:02 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (52 commits) vlan: Use bitmask of feature flags instead of seperate feature bits fmvj18x_cs: add NextCom NC5310 rev B support xirc2ps_cs: re-initialize the multicast address in do_reset 3C509: rx_bytes should not be increased when alloc_skb failed NETFRONT: Use __skb_queue_purge() VIRTIO: Use __skb_queue_purge() phylib: do EXPORT_SYMBOL on get_phy_id netlink: Fix nla_parse_nested_compat() to call nla_parse() directly WAN: protect HDLC proto list while insmod/rmmod drivers/net/fs_enet: remove null pointer dereference S2io: Version update for napi and MSI-X patches S2io: Added napi support when MSIX is enabled. S2io: Move all the transmit completions to a single msi-x (alarm) vector drivers/net/ehea - remove unnecessary memset after kzalloc au1000_eth: remove useless check Blackfin EMAC Driver: Removed duplicated include cpmac bugfixes and enhancements e1000e: use resource_size_t, not unsigned long, for phys addrs net/usb: add support for Apple USB Ethernet Adapter uli526x: add support for netpoll ... commit 571640cad3fda6475da45d91cf86076f1f86bd9b Author: Eric Sandeen Date: Mon May 26 12:29:46 2008 -0400 ext4: enable barriers by default I can't think of any valid reason for ext4 to not use barriers when they are available; I believe this is necessary for filesystem integrity in the face of a volatile write cache on storage. An administrator who trusts that the cache is sufficiently battery- backed (and power supplies are sufficiently redundant, etc...) can always turn it back off again. SuSE has carried such a patch for ext3 for quite some time now. Also document the mount option while we're at it. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 034772b068be62a79470d6c1b81b01fbe27793ac Author: Theodore Ts'o Date: Tue Jun 3 22:31:11 2008 -0400 jbd2: Fix barrier fallback code to re-lock the buffer head If the device doesn't support write barriers, the write is retried without ordered mode. But the buffer head needs to be re-locked or submit_bh will fail with on BUG(!buffer_locked(bh)). Signed-off-by: "Theodore Ts'o" commit cd0b6a39a1d68b61b1073662f40f747c8b728f98 Author: Theodore Ts'o Date: Mon May 26 10:28:28 2008 -0400 ext4: Display the journal_async_commit mount option in /proc/mounts Cc: Andreas Dilger Cc: Girish Shilamkar Signed-off-by: "Theodore Ts'o" commit 624080eded68738daee041ad64672a9d2614754f Author: Theodore Ts'o Date: Fri Jun 6 17:50:40 2008 -0400 jbd2: If a journal checksum error is detected, propagate the error to ext4 If a journal checksum error is detected, the ext4 filesystem will call ext4_error(), and the mount will either continue, become a read-only mount, or cause a kernel panic based on the superblock flags indicating the user's preference of what to do in case of filesystem corruption being detected. Signed-off-by: "Theodore Ts'o" commit 8ea76900be3b4522396e2021260d2818a27b3a5b Author: Theodore Ts'o Date: Mon May 26 10:28:09 2008 -0400 jbd2: Fix memory leak when verifying checksums in the journal Cc: Andreas Dilger Cc: Girish Shilamkar Signed-off-by: "Theodore Ts'o" commit 944600930a37aa725ba6f93c3244e2d77a1e3581 Author: Josef Bacik Date: Fri Jun 6 18:05:52 2008 -0400 ext4: fix online resize bug There is a bug when we are trying to verify that the reserve inode's double indirect blocks point back to the primary gdt blocks. The fix is obvious, we need to mod the gdb count by the addr's per block. This was verified using the same testcase as with the ext3 equivalent of this patch. Signed-off-by: Josef Bacik Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 0bf7e8379ce7e0159a2a6bd3d937f2f6ada79799 Author: Jose R. Santos Date: Tue Jun 3 14:07:29 2008 -0400 ext4: Fix uninit block group initialization with FLEX_BG With FLEX_BG block bitmaps, inode bitmaps and inode tables _MAY_ be allocated outside the group. So, when initializing an uninitialized block bitmap, we need to check the location of this blocks before setting the corresponding bits in the block bitmap of the newly initialized group. Also return the right number of free blocks when counting the available free blocks in uninit group. Tested-by: Aneesh Kumar K.V Signed-off-by: Jose R. Santos Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 03cddb80ed2dacaf03c370d38bcc75f8303a03b8 Author: Aneesh Kumar K.V Date: Thu Jun 5 20:59:29 2008 -0400 ext4: Fix use of uninitialized data with debug enabled. Fix use of uninitialized data with debug enabled. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2548baa07ddf37ea8604e9627f042616d1cdc43e Author: Jiri Slaby Date: Mon May 26 16:08:40 2008 +0200 i2c: Align i2c_device_id Align i2c_device_id.driver_data to 8 bytes to not fail on crossbuilds. (Added in d2653e92732bd3911feff6bee5e23dbf959381db.) Signed-off-by: Jiri Slaby Signed-off-by: Jean Delvare commit 7271e60a950b3677f136a31e084bc4b0463c7018 Author: Michael Krufky Date: Mon May 26 16:08:40 2008 +0200 tuner: Do not alter i2c_client.name The tuner driver used to change i2c_client.name for its own needs, but it really shouldn't, as this field is used by i2c-core to do the device/driver matching. So, create and use a separate field for the tuner driver needs. Signed-off-by: Michael Krufky Signed-off-by: Jean Delvare commit d56acacdcd370c0077821a012607876cb11b1b3b Author: Haavard Skinnemoen Date: Mon May 26 13:25:05 2008 +0200 avr32: Update defconfigs Just provide reasonable defaults for the new stuff. Tickless and hrtimers are turned on for all boards except ATSTK1004. Signed-off-by: Haavard Skinnemoen commit 01575995de4289aa73aa7cb22cf8fe0461093589 Author: Adrian Bunk Date: Thu May 22 01:01:38 2008 +0300 avr32: export strnlen_user This patch fixes the following build error: <-- snip --> ... MODPOST 1327 modules ERROR: "strnlen_user" [drivers/input/misc/uinput.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit a0ed3d8d94b6a28c886cf9c023693afa3bb773f2 Author: Adrian Bunk Date: Mon May 5 21:29:57 2008 +0300 avr32: export copy_page This patch fixes the following build error: <-- snip --> ... MODPOST 61 modules ERROR: "copy_page" [fs/fuse/fuse.ko] undefined! ... make[2]: *** [__modpost] Error 1 <-- snip --> Also add an empty line since *_page aren't "String functions". Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 551dec47bb5964478db594385a896eb0d4ab2b0a Author: Adrian Bunk Date: Sun May 25 22:50:16 2008 -0700 sparc64: global_reg_snapshot is not for userspace global_reg_snapshot shouldn't be visible in our userspace headers. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 9c28faaab19132b3f029d4ffa9a4dee8a11f0cbb Author: Paul Mundt Date: Mon May 26 11:45:45 2008 +0900 sh: Drop broken URAM support on SH7723. This was copied over from the previous MobileR bits, which doesn't apply to R2. The URAM block on R2 is recycled for the L2 instead. Signed-off-by: Paul Mundt commit b3733034f113a4119f734b84e94180a42c8bc1a1 Merge: c8ff99a... 7353190... Author: Linus Torvalds Date: Sun May 25 15:00:27 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: Kconfig: introduce ARCH_DEFCONFIG to DEFCONFIG_LIST .gitignore: match ncscope.out scripts/ver_linux use 'gcc -dumpversion' commit c8ff99a7c2fb23a0f1165f3821fd66fd65f30264 Merge: 32522bf... a49056d... Author: Linus Torvalds Date: Sun May 25 14:59:59 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] Add ICH9DO into the iTCO_wdt.c driver [WATCHDOG] Fix booke_wdt.c on MPC85xx SMP system's [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers [WATCHDOG] hpwdt: Fix NMI handling. [WATCHDOG] Blackfin Watchdog Driver: split platform device/driver [WATCHDOG] Add w83697h_wdt early_disable option [WATCHDOG] Make w83697h_wdt timeout option string similar to others [WATCHDOG] Make w83697h_wdt void-like functions void commit 32522bfdaed094e447f71cce68c349847ae9c7d5 Merge: eb90d81... 587755f... Author: Linus Torvalds Date: Sun May 25 14:59:27 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] hda - Fix capture mute Widget for stac9250/9251 [ALSA] snd-pcsp - fix pcsp_treble_info() to honour an item number [ALSA] hda - Added support for Foxconn P35AX-S mainboard [ALSA] hda - Fix COEF and EAPD in ALC889 auto-configuration mode [ALSA] hda - Fix noise on VT1708 codec [ALSA] hda - Add model for ASUS P5K-E/WIFI-AP commit 73531905ed53576d9e8707659a761e7046a60497 Author: Sam Ravnborg Date: Sun May 25 23:03:18 2008 +0200 Kconfig: introduce ARCH_DEFCONFIG to DEFCONFIG_LIST init/Kconfig contains a list of configs that are searched for if 'make *config' are used with no .config present. Extend this list to look at the config identified by ARCH_DEFCONFIG. With this change we now try the defconfig targets last. This fixes a regression reported by: Linus Torvalds Signed-off-by: Sam Ravnborg Cc: Linus Torvalds Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit 9723c046bd5989aa9064038ce142f498bb1870d6 Author: Jike Song Date: Thu May 22 09:23:10 2008 +0800 .gitignore: match ncscope.out Sometimes I got this: $ git-status {snip} # On branch master # Untracked files: # (use "git add ..." to include in what will be committed) # # ncscope.out nothing added to commit but untracked files present (use "git add" to track) Fix it. Signed-off-by: Jike Song Signed-off-by: Sam Ravnborg commit 656a3f797889dafcce2f5b8b222ad66e9974b6f7 Author: Gabriel C Date: Wed May 21 20:36:19 2008 +0200 scripts/ver_linux use 'gcc -dumpversion' These magic greps and hacks in ver_linux to get the gcc version always break after some gcc releases. Since now gcc >4.3 allows compiling with '--with-pkgversion' ( which can be everything 'My Cool Gcc' or something ) ver_linux will report random junk for these. Simply use 'gcc -dumpversion' to get the gcc version which should always work. Signed-off-by: Gabriel C Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 587755f1f6a983a9f0f3322d284034f4e146891a Author: Mauro Carvalho Chehab Date: Sun May 25 18:20:06 2008 +0200 [ALSA] hda - Fix capture mute Widget for stac9250/9251 Fix capture mute widget for STAC9250/9251 codecs. The widget 0x09 has no mute but 0x14 does actually. Signed-off-by: Mauro Carvalho Chehab commit 97e08f5d732bbfd5180f73aa7875d328421bee8a Author: Stas Sergeev Date: Sat May 24 18:05:47 2008 +0200 [ALSA] snd-pcsp - fix pcsp_treble_info() to honour an item number This solves the problem with mixers wrongly displaying the PWM freq. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit a49056da0325742d3b4f5d1ef7bf8ab0690c3888 Author: Gabriel C Date: Wed Apr 30 16:51:10 2008 +0200 [WATCHDOG] Add ICH9DO into the iTCO_wdt.c driver Add the Intel ICH9DO controller ID's for the iTCO_wdt kernel driver and bump the driver version. Tested on an P5E-VM DO ASUS motherboard. Signed-off-by: Gabriel Craciunescu Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit f172ddc61ad7a7c444b2b3e08992a45c76b821f9 Author: Chen Gong Date: Tue Apr 29 16:42:05 2008 +0800 [WATCHDOG] Fix booke_wdt.c on MPC85xx SMP system's On Book-E SMP systems each core has its own private watchdog. If only one watchdog is enabled, when the core that doesn't enable the watchdog is hung, system can't reset because no watchdog is running on it. That's bad. It means we must enable watchdogs on both cores. We can use smp_call_function() to send appropriate messages to all the other cores to enable and update the watchdog. Signed-off-by: Chen Gong Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 0b36086b5d7c397a128784bed6e332418e500af1 Author: Jordan Crouse Date: Mon Jan 21 10:07:00 2008 -0700 [WATCHDOG] Add a watchdog driver based on the CS5535/CS5536 MFGPT timers Add a watchdog timer based on the MFGPT timers in the CS5535/CS5536 companion chips to the AMD Geode GX and LX processors. Only caveat is that the BIOS must provide at least a one free timer, and most do not. Signed-off-by: Jordan Crouse Signed-off-by: Wim Van Sebroeck commit 7f7f894c6d3285407b2493d1575500fb25e3d495 Author: Mingarelli, Thomas Date: Tue Mar 25 17:17:30 2008 +0000 [WATCHDOG] hpwdt: Fix NMI handling. I need to just return in case it's not my NMI so someone else can take a look at it (and reset die_nmi_called to 0 in case I actually do get one that's mine to handle). Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit 93539b194696a6291e6895be07d4241c8d972c4b Author: Mike Frysinger Date: Thu Mar 27 11:53:32 2008 -0700 [WATCHDOG] Blackfin Watchdog Driver: split platform device/driver - split platform device/driver registering from actual watchdog device/driver registering so that we can cleanly load/unload - fixup __initdata with __initconst and __devinitdata with __devinitconst Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Wim Van Sebroeck commit 6fd656012bb8d5c5a4570adc2e630668b0109cb0 Author: Samuel Tardieu Date: Wed Mar 12 14:28:03 2008 +0100 [WATCHDOG] Add w83697h_wdt early_disable option Pádraig Brady requested the possibility of not disabling the watchdog at module load time or kernel boot time if it had been previously enabled in the bios. It may help rebooting the machine if it freezes before the userland daemon kicks in. Signed-off-by: Samuel Tardieu Cc: Pádraig Brady Signed-off-by: Wim Van Sebroeck commit 5794a9f412676ee7ec87828a926d0f58f0a2ffbf Author: Samuel Tardieu Date: Wed Mar 12 14:28:02 2008 +0100 [WATCHDOG] Make w83697h_wdt timeout option string similar to others Signed-off-by: Samuel Tardieu Signed-off-by: Wim Van Sebroeck commit 03315adca76ee93128e4d92566d1f18a1a937e79 Author: Samuel Tardieu Date: Wed Mar 12 14:28:01 2008 +0100 [WATCHDOG] Make w83697h_wdt void-like functions void Some non-exported functions always returned 0. Mark them void instead. Signed-off-by: Samuel Tardieu Signed-off-by: Wim Van Sebroeck commit 5132861a7a44498ebb18357473f8b8d4cdc70e9f Author: Jeff Layton Date: Thu May 22 09:33:34 2008 -0400 disable most mode changes on non-unix/non-cifsacl mounts CIFS currently allows you to change the mode of an inode on a share that doesn't have unix extensions enabled, and isn't using cifsacl. The inode in this case *only* has its mode changed in memory on the client. This is problematic since it can change any time the inode is purged from the cache. This patch makes cifs_setattr silently ignore most mode changes when unix extensions and cifsacl support are not enabled, and when the share is not mounted with the "dynperm" option. The exceptions are: When a mode change would remove all write access to an inode we turn on the ATTR_READONLY bit on the server and remove all write bits from the inode's mode in memory. When a mode change would add a write bit to an inode that previously had them all turned off, it turns off the ATTR_READONLY bit on the server, and resets the mode back to what it would normally be (generally, the file_mode or dir_mode of the share). Signed-off-by: Jeff Layton Signed-off-by: Steve French commit eb90d81d03c0917b0fd629f6342554a3b58ea52c Merge: d3c5f8b... b1979a5... Author: Linus Torvalds Date: Sat May 24 10:20:00 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86: prevent PGE flush from interruption/preemption x86: use explicit copy in vdso_gettimeofday() namespacecheck: automated fixes x86/xen: fix arbitrary_virt_to_machine() x86: don't read maxlvt before checking if APIC is mapped x86: disable TSC for sched_clock() when calibration failed x86: distangle user disabled TSC from unstable x86: fix setup of cyc2ns in tsc_64.c commit d3c5f8b93febadf62da9a4b39a2dca8e66a4da40 Merge: 25d5cb4... 7c28472... Author: Linus Torvalds Date: Sat May 24 10:13:16 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] integrator: fix build warnings and errors [ARM] fix OMAP include loops Revert "[ARM] pxa: spitz wants PXA27x UDC definitions" [ARM] 5053/1: define before use of processor_id [ARM] 5052/1: export clock functions for the at91x40 [ARM] 5051/1: define pgtable_t for the !CONFIG_MMU case too [ARM] omap: fix omap clk support build errors [ARM] 5039/1: S3C244X: Rename SDI device if running on S3C244X. [ARM] 5043/1: pxafb: remove unused mode variable in pxafb_init_fbinfo [ARM] 5041/1: VR1000: Fix DM9000 IRQ flags initialisation [ARM] 5040/1: BAST: Fix DM9000 IRQ flags initialisation [ARM] 5038/1: ARM: OMAP: Remove tsc2102 references from board-palmte.c [ARM] 5025/2: fix collie cpu initialisation commit 25d5cb4b0375e5864ec0ccf35e12ff1d1b5cf3f0 Author: David Brownell Date: Fri May 23 13:05:03 2008 -0700 spi: remove some spidev oops-on-rmmod paths Somehow the spidev code forgot to include a critical mechanism: when the underlying device is removed (e.g. spi_master rmmod), open file descriptors must be prevented from issuing new I/O requests to that device. On penalty of the oopsing reported by Sebastian Siewior ... This is a partial fix, adding handshaking between the lower level (SPI messaging) and the file operations using the spi_dev. (It also fixes an issue where reads and writes didn't return the number of bytes sent or received.) There's still a refcounting issue to be addressed (separately). Signed-off-by: David Brownell Reported-by: Sebastian Siewior Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c02b575780d0d785815a1e7b79a98edddee895a Author: Cedric Le Goater Date: Fri May 23 13:05:02 2008 -0700 cgroups: remove node_ prefix_from ns subsystem This is a slight change in the namespace cgroup subsystem api. The change is that previously when cgroup_clone() was called (currently only from the unshare path in ns_proxy cgroup, you'd get a new group named "node_$pid" whereas now you'll get a group named after just your pid.) The only users who would notice it are those who are using the ns_proxy cgroup subsystem to auto-create cgroups when namespaces are unshared - something of an experimental feature, which I think really needs more complete container/namespace support in order to be useful. I suspect the only users are Cedric and Serge, or maybe a few others on containers@lists.linux-foundation.org. And in fact it would only be noticed by the users who make the assumption about how the name is generated, rather than getting it from the /proc//cgroups file for the process in question. Whether the change is actually needed or not I'm fairly agnostic on, but I guess it is more elegant to just use the pid as the new group name rather than adding a fairly arbitrary "node_" prefix on the front. [menage@google.com: provided changelog] Signed-off-by: Cedric Le Goater Cc: "Paul Menage" Cc: "Serge E. Hallyn" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d15f0d51d47cec39d1d7250e81573c5cbd8b5d Author: Fernando Luis Vazquez Cao Date: Fri May 23 13:05:01 2008 -0700 for_each_online_pgdat(): kerneldoc fix for_each_pgdat() was renamed to for_each_online_pgdat() and kerneldoc comments should be updated accordingly. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb56f0f9922d3fb2c5503cdc346dc3f86c897bc4 Author: Adrian Bunk Date: Fri May 23 13:05:00 2008 -0700 frv: export empty_zero_page Fix the following build error: ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! Reported-by: Adrian Bunk Signed-off-by: Adrian Bunk Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b26655f6208fdefa9ab0adc016116324f8d4ba8 Author: Shi Weihua Date: Fri May 23 13:04:59 2008 -0700 sys_prctl(): fix return of uninitialized value If none of the switch cases match, the PR_SET_PDEATHSIG and PR_SET_DUMPABLE cases of the switch statement will never write to local variable `error'. Signed-off-by: Shi Weihua Cc: Andrew G. Morgan Acked-by: "Serge E. Hallyn" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f99c90094bffbe1cf38ef66f198a808c14a02d56 Author: Kumar Gala Date: Fri May 23 13:04:58 2008 -0700 edac: mpc85xx: fix building as a module including of causes build problems since it doesn't exist. Also removed warning: drivers/edac/mpc85xx_edac.c:45: warning: 'mpc85xx_ctl_name' defined but not used Signed-off-by: Kumar Gala Acked-by: Doug Thompson Acked-by: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ea0205b56546cef782b74d9f4664ec00290a6ae Author: David Brownell Date: Fri May 23 13:04:58 2008 -0700 gpio: build fixes This fixes various gpio-related build errors (mostly potential) reported in part by Russell King and Uwe Kleine-König. Signed-off-by: David Brownell Cc: Uwe Kleine-König Cc: Russell King Cc: Arnaud Patard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee29420aca6ca6fbb3e72ee8a980b2600911b864 Author: Ben Dooks Date: Fri May 23 13:04:57 2008 -0700 S3C2410: fix driver MODULE_ALIAS() Add a correct MODULE_ALIAS() entry for this driver to enable udev module loading. Signed-off-by: Ben Dooks Cc: Arnaud Patard Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a0e4ec7bcc6e80d2a32a4c0b83a32c904aadc05 Author: Ben Dooks Date: Fri May 23 13:04:56 2008 -0700 S3C2410: clean out changelog header and tidy Remove the old changelog entries which are now out of date and should be extractable from git anyway. Also tidy up the copyright for the driver. Signed-off-by: Ben Dooks Cc: Arnaud Patard Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d585dfe840c93ea800afc124333b6ac04722d359 Author: Ben Dooks Date: Fri May 23 13:04:56 2008 -0700 S3C2410: add error print if we cannot add attribute Fix the following warning by checking the result of device_create_file and printing an error but not removing the device (loss of debug registers is not fatal). drivers/video/s3c2410fb.c:905: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Ben Dooks Cc: Arnaud Patard Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 673b4600e3b3cc6689025e6a6fc6909b6e53dd5e Author: Ben Dooks Date: Fri May 23 13:04:55 2008 -0700 S3C2410: ensure that FB_BLANK_POWERDOWN shuts down the controller When a blank level of FB_BLANK_POWERDOWN is used, we should shut down the controller so that it no longer tries to produce any panel signals or data, and shuts down the DMA which is not needed. Signed-off-by: Ben Dooks Cc: Arnaud Patard Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdc83ae2453ddb19060e05e6afd22b1254128c42 Author: Ben Dooks Date: Fri May 23 13:04:53 2008 -0700 SM501: reverse FPEN/VBIASEN flags behaviour To keep backwards compatibility, reverse the meanings of these flags so that when they are not set, the driver uses the original behvaiour. Signed-off-by: Ben Dooks Cc: Arnaud Patard Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd94b9dbfa300fc42e45f230010623fc08d59563 Author: Heiko Carstens Date: Fri May 23 13:04:52 2008 -0700 memory hotplug: fix early allocation handling Trying to add memory via add_memory() from within an initcall function results in bootmem alloc of 163840 bytes failed! Kernel panic - not syncing: Out of memory This is caused by zone_wait_table_init() which uses system_state to decide if it should use the bootmem allocator or not. When initcalls are handled the system_state is still SYSTEM_BOOTING but the bootmem allocator doesn't work anymore. So the allocation will fail. To fix this use slab_is_available() instead as indicator like we do it everywhere else. [akpm@linux-foundation.org: coding-style fix] Reviewed-by: Andy Whitcroft Cc: Dave Hansen Cc: Gerald Schaefer Cc: KAMEZAWA Hiroyuki Acked-by: Yasunori Goto Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb54824b76793dd86afb54f182ef9aa64b3a45a Author: Andy Whitcroft Date: Fri May 23 13:04:50 2008 -0700 zonelists: handle a node zonelist with no applicable entries When booting 2.6.26-rc3 on a multi-node x86_32 numa system we are seeing panics when trying node local allocations: BUG: unable to handle kernel NULL pointer dereference at 0000034c IP: [] get_page_from_freelist+0x4a/0x18e *pdpt = 00000000013a7001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: Pid: 0, comm: swapper Not tainted (2.6.26-rc3-00003-g5abc28d #82) EIP: 0060:[] EFLAGS: 00010282 CPU: 0 EIP is at get_page_from_freelist+0x4a/0x18e EAX: c1371ed8 EBX: 00000000 ECX: 00000000 EDX: 00000000 ESI: f7801180 EDI: 00000000 EBP: 00000000 ESP: c1371ec0 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 0, ti=c1370000 task=c12f5b40 task.ti=c1370000) Stack: 00000000 00000000 00000000 00000000 000612d0 000412d0 00000000 000412d0 f7801180 f7c0101c f7c01018 c10426e4 f7c01018 00000001 00000044 00000000 00000001 c12f5b40 00000001 00000010 00000000 000412d0 00000286 000412d0 Call Trace: [] __alloc_pages_internal+0x99/0x378 [] __alloc_pages+0x7/0x9 [] kmem_getpages+0x66/0xef [] cache_grow+0x8f/0x123 [] ____cache_alloc_node+0xb9/0xe4 [] kmem_cache_alloc_node+0x92/0xd2 [] setup_cpu_cache+0xaf/0x177 [] kmem_cache_create+0x2c8/0x353 [] kmem_cache_init+0x1ce/0x3ad [] start_kernel+0x178/0x1ee This occurs when we are scanning the zonelists looking for a ZONE_NORMAL page. In this system there is only ZONE_DMA and ZONE_NORMAL memory on node 0, all other nodes are mapped above 4GB physical. Here is a dump of the zonelists from this system: zonelists pgdat=c1400000 0: c14006c0:2 f7c006c0:2 f7e006c0:2 c1400360:1 c1400000:0 1: c14006c0:2 c1400360:1 c1400000:0 zonelists pgdat=f7c00000 0: f7c006c0:2 f7e006c0:2 c14006c0:2 c1400360:1 c1400000:0 1: f7c006c0:2 zonelists pgdat=f7e00000 0: f7e006c0:2 c14006c0:2 f7c006c0:2 c1400360:1 c1400000:0 1: f7e006c0:2 When performing a node local allocation we call get_page_from_freelist() looking for a page. It in turn calls first_zones_zonelist() which returns a preferred_zone. Where there are no applicable zones this will be NULL. However we use this unconditionally, leading to this panic. Where there are no applicable zones there is no possibility of a successful allocation, so simply fail the allocation. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a74dcc7eebe6edd778317e82fafdf71e68488c Author: Arjan van de Ven Date: Fri May 23 13:04:49 2008 -0700 serial: fix enable_irq_wake/disable_irq_wake imbalance in serial_core.c enable_irq_wake() and disable_irq_wake() need to be balanced. However, serial_core.c calls these for different conditions during the suspend and resume functions... This is causing a regular WARN_ON() as found at http://www.kerneloops.org/search.php?search=set_irq_wake This patch makes the conditions for triggering the _wake enable/disable sequence identical. Signed-off-by: Arjan van de Ven Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4185a0e019387f5ad6e99009804965531fa1fab Author: Denis V. Lunev Date: Fri May 23 13:04:47 2008 -0700 proc: proc_get_inode() should get module only once Any file under /proc/net opened more than once leaked the refcounter on the module it belongs to. The problem is that module_get is called for each file opening while module_put is called only when /proc inode is destroyed. So, lets put module counter if we are dealing with already initialised inode. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10737 Signed-off-by: Denis V. Lunev Cc: David Miller Cc: Patrick McHardy Acked-by: Pavel Emelyanov Acked-by: Robert Olsson Acked-by: Eric W. Biederman Reported-by: Roland Kletzing Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53978d0a7a27eb036b9bf33c4caa06257a9dbed7 Author: Marcin Krol Date: Fri May 23 13:04:46 2008 -0700 brd: don't show ramdisks in /proc/partitions In 2.6.25, ramdisk devices show up in /proc/partitions, which is a behaviour change from the old rd.c. Add GENHD_FL_SUPPRESS_PARTITION_INFO, which was present in rd.c. All kernels prior to 2.6.25 weren't displaying ramdisks in /proc/partitions. Since there are many userspace tools using information from /proc/partitions some of them may now behave incorrectly (I didn't tested any though). For example before 2.6.25 /proc/partitions was empty if no block devices like hard disks and such were detected by kernel. Now all 16 ramdisks are always visible there. Some software may rely on such information (I mean, on empty /proc/partitions). There was quite similar situation back in 2004, and ramdisks were excluded back from displaying. Thats why I called this a regression (maybe a bit unfortunate). See this patch for info: http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/broken-out/nbd-proc-partitions-fix.patch I also think that someone somewhere (long time ago) excluded ramdisks from /proc/partitions for good reasons. It is possible that now such new "feature" is harmless, but I think there are more chances that someone will say "hey, /proc/partitions has changed, now my software doesn't work" then "hey where did my new 2.6.25 feature go". nbd devices are also excluded, maybe for very same (unknown to me) reasons. Signed-off-by: Marcin Krol Signed-off-by: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6089093e588ee3f6aed99d08b1cf5ea37c52cf97 Author: Alan Cox Date: Fri May 23 13:04:45 2008 -0700 ip2: fix crashes on load/unload This doesn't need to be two modules, and making it one cleans up the problem Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bff5fda972dc23bd1806a47c2098ae173585d013 Author: Trent Piepho Date: Fri May 23 13:04:44 2008 -0700 gpiolib: fix off by one errors The last gpio belonging to a chip is chip->base + chip->ngpios - 1. Some places in the code, but not all, forgot the critical minus one. Signed-off-by: Trent Piepho Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d1c1d9b557a12320174058d2d313ffb0f8611f4 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri May 23 13:04:43 2008 -0700 gpio: mcp23s08 debug fix The return value of mcp23s08_read_regs() can only be evaluated when signed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69292b342193d4068f6435660368ff98713d8164 Author: David Brownell Date: Fri May 23 13:04:42 2008 -0700 gpio: pca953x driver handles pca9554 too Teach drivers/gpio/pca953x.c about PCA9554, another compatible chip. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da7978b0348d497688541e2d2f5739aa2a2c334f Author: Oleg Nesterov Date: Fri May 23 13:04:41 2008 -0700 signals: fix sigqueue_free() vs __exit_signal() race __exit_signal() does flush_sigqueue(tsk->pending) outside of ->siglock. This can race with another thread doing sigqueue_free(), we can free the same SIGQUEUE_PREALLOC sigqueue twice or corrupt the pending->list. Note that even sys_exit_group() can trigger this race, not only sys_timer_delete(). Move the callsite of flush_sigqueue(tsk->pending) under ->siglock. This patch doesn't touch flush_sigqueue(->shared_pending) below, it is called when there are no other threads which can play with signals, and sigqueue_free() can't be used outside of our thread group. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfc7064500061677720fa26352963c772d3ebe6b Author: NeilBrown Date: Fri May 23 13:04:39 2008 -0700 md: restart recovery cleanly after device failure. When we get any IO error during a recovery (rebuilding a spare), we abort the recovery and restart it. For RAID6 (and multi-drive RAID1) it may not be best to restart at the beginning: when multiple failures can be tolerated, the recovery may be able to continue and re-doing all that has already been done doesn't make sense. We already have the infrastructure to record where a recovery is up to and restart from there, but it is not being used properly. This is because: - We sometimes abort with MD_RECOVERY_ERR rather than just MD_RECOVERY_INTR, which causes the recovery not be be checkpointed. - We remove spares and then re-added them which loses important state information. The distinction between MD_RECOVERY_ERR and MD_RECOVERY_INTR really isn't needed. If there is an error, the relevant drive will be marked as Faulty, and that is enough to ensure correct handling of the error. So we first remove MD_RECOVERY_ERR, changing some of the uses of it to MD_RECOVERY_INTR. Then we cause the attempt to remove a non-faulty device from an array to fail (unless recovery is impossible as the array is too degraded). Then when remove_and_add_spares attempts to remove the devices on which recovery can continue, it will fail, they will remain in place, and recovery will continue on them as desired. Issue: If we are halfway through rebuilding a spare and another drive fails, and a new spare is immediately available, do we want to: 1/ complete the current rebuild, then go back and rebuild the new spare or 2/ restart the rebuild from the start and rebuild both devices in parallel. Both options can be argued for. The code currently takes option 2 as a/ this requires least code change b/ this results in a minimally-degraded array in minimal time. Cc: "Eivind Sarto" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b08710e41a07d4ff0fb8940dcce3a552991a56 Author: Bernd Schubert Date: Fri May 23 13:04:38 2008 -0700 md: allow parallel resync of md-devices. In some configurations, a raid6 resync can be limited by CPU speed (Calculating P and Q and moving data) rather than by device speed. In these cases there is nothing to be gained byt serialising resync of arrays that share a device, and doing the resync in parallel can provide benefit. So add a sysfs tunable to flag an array as being allowed to resync in parallel with other arrays that use (a different part of) the same device. Signed-off-by: Bernd Schubert Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f54b0e9485644a3c5fca2ae43bcbe7376825747 Author: Dan Williams Date: Fri May 23 13:04:37 2008 -0700 md: notify userspace on 'stop' events This additional notification to 'array_state' is needed to allow the monitor application to learn about stop events via sysfs. The sysfs_notify("sync_action") call that comes at the end of do_md_stop() (via md_new_event) is insufficient since the 'sync_action' attribute has been removed by this point. (Seems like a sysfs-notify-on-removal patch is a better fix. Currently removal updates the event count but does not wake up waiters) Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a44cc15079f80c1416cde1a1d5b2cdd8f2118a Author: NeilBrown Date: Fri May 23 13:04:36 2008 -0700 md: notify userspace on 'write-pending' changes to array_state When an array enters write pending, 'array_state' changes, so we must be sure to sysfs_notify. Also, when waiting for user-space to acknowledge 'write-pending' by marking the metadata as dirty, we don't want to wait for MD_CHANGE_DEVS to be cleared as that might not happen. So explicity test for the bits that we are really interested in. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698b18c1e8bddf39cbf1ba50792b0fe302dbe6d6 Author: NeilBrown Date: Fri May 23 13:04:35 2008 -0700 md: raid1: Fix restoration of bio between failed read and write. When performing a "recovery" or "check" pass on a RAID1 array, we read from each device and possible, if there is a difference or a read error, write back to some devices. We use the same 'bio' for both read and write, resetting various fields between the two operations. We forgot to reset bv_offset and bv_len however. These are often left unchanged, but in the case where there is an IO error one or two sectors into a page, they are changed. This results in correctable errors not being corrected properly. It does not result in any data corruption. Cc: "Fairbanks, David" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6be9d4940134b36f9ed020aead36f831f19b49f1 Author: Bernd Schubert Date: Fri May 23 13:04:34 2008 -0700 md: md: raid5 rate limit error printk Last night we had scsi problems and a hardware raid unit was offlined during heavy i/o. While this happened we got for about 3 minutes a huge number messages like these Apr 12 03:36:07 pfs1n14 kernel: [197510.696595] raid5:md7: read error not correctable (sector 2993096568 on sdj2). I guess the high error rate is responsible for not scheduling other events - during this time the system was not pingable and in the end also other devices run into scsi command timeouts causing problems on these unrelated devices as well. Signed-off-by: Bernd Schubert Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bcfd601861cce45ca73ac1d714f1286b6b3f0d4 Author: Christoph Hellwig Date: Fri May 23 13:04:34 2008 -0700 md: kill file_path wrapper Kill the trivial and rather pointless file_path wrapper around d_path. Signed-off-by: Christoph Hellwig Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03de250a269bfa8e6a9e6ccb4a1dbce19dae8a61 Author: Adrian Bunk Date: Fri May 23 13:04:33 2008 -0700 md: proper extern for mdp_major This patch adds a proper extern for mdp_major in include/linux/raid/md.h Signed-off-by: Adrian Bunk Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84255d1018c50e72c71a49f359989597d53a3f53 Author: NeilBrown Date: Fri May 23 13:04:32 2008 -0700 md: fix possible oops when removing a bitmap from an active array It is possible to add a write-intent bitmap to an active array, or remove the bitmap that is there. When we do with the 'quiesce' the array, which causes make_request to block in "wait_barrier()". However we are sampling the value of "mddev->bitmap" before the wait_barrier call, and using it afterwards. This can result in using a bitmap structure that has been freed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80119ef5c8153e0a6cc5edf00c083dc98a9bd348 Author: Alan Cox Date: Fri May 23 13:04:31 2008 -0700 mm: fix atomic_t overflow in vm The atomic_t type is 32bit but a 64bit system can have more than 2^32 pages of virtual address space available. Without this we overflow on ludicrously large mappings Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c7c6afbb8c0e60d32a563cae7c6889211e9d9d8 Author: maximilian attems Date: Fri May 23 13:04:29 2008 -0700 types.h: don't expose struct ustat to userspace can't be used together with because they both define struct ustat: $ cat test.c #include #include $ gcc -c test.c In file included from test.c:2: /usr/include/linux/types.h:165: error: redefinition of 'struct ustat' has been reported a while ago to debian, but seems to have been lost in cat fighting: http://bugs.debian.org/429064 Signed-off-by: maximilian attems Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b6f6ce97ecc20eb8f3ece3c8370faacfe73e8c2 Author: Ignacio García Pérez Date: Fri May 23 13:04:28 2008 -0700 serial: support for InstaShield IS-400 four port RS-232 PCI card Add support for the InstaShield IS-400 four port RS-232 PCI card. Signed-off-by: Ignacio García Pérez Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25829b0e977a7e396b284dad0f523099394390e7 Author: Mariusz Kozlowski Date: Fri May 23 13:04:28 2008 -0700 fix parenthesis in include/asm-mips/mach-au1x00/au1000.h Parenthesis fix in include/asm-mips/mach-au1x00/au1000.h Signed-off-by: Mariusz Kozlowski Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d5437a15884bfb3429aee99f76fc014c7de039a Author: Mariusz Kozlowski Date: Fri May 23 13:04:26 2008 -0700 fix parenthesis in include/asm-mips/gic.h Parenthesis fix in include/asm-mips/gic.h Signed-off-by: Mariusz Kozlowski Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8808a793f052c0a67426a24b961402fa20e92814 Author: Darrick J. Wong Date: Fri May 23 13:04:25 2008 -0700 ibmaem: new driver for power/energy/temp meters in IBM System X hardware This driver reads IBM Active Energy Manager energy/temperature/power sensors on IBM System X hardware. [akpm@linux-foundation.org: fix printk warnings] Signed-off-by: Darrick J. Wong Cc: "Mark M. Hoffman" Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8fdaf5a05adbf80e5a943bb3f65b46b5fb9b488 Author: Darrick J. Wong Date: Fri May 23 13:04:25 2008 -0700 i5k_amb: support Intel 5400 chipset Minor rework to support the Intel 5400 chipset. Signed-off-by: Darrick J. Wong Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca68d0ac16539a062ae26ca50da8b186fa3a0814 Author: Gabor Czigola Date: Fri May 23 13:04:23 2008 -0700 hdaps: invert the axes for HDAPS on Lenovo R61i ThinkPads Cc: "Mark M. Hoffman" Cc: Dmitry Torokhov Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80bfc25f42db6d4715c7688ae2352c5a8038fe7e Author: Marcin Slusarz Date: Fri May 23 13:04:22 2008 -0700 ntfs: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7232154198f928fc25f420d6190468212a7632a Author: Johannes Weiner Date: Fri May 23 13:04:21 2008 -0700 mm: don't drop a partial page in a zone's memory map size In a zone's present pages number, account for all pages occupied by the memory map, including a partial. Signed-off-by: Johannes Weiner Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f899b0adc6fc8f60a9db8b52f36f06fd1abeaf7c Author: Karel Zak Date: Fri May 23 13:04:21 2008 -0700 MAINTAINERS: add util-linux-ng package (akpm: we often deal with util-linux and I (at least) can never remember where they hang out). Signed-off-by: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71fd5179e8d1d4d503b517e0c5374f7c49540bfc Author: Cyrill Gorcunov Date: Fri May 23 13:04:20 2008 -0700 ecryptfs: fix missed mutex_unlock Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03fb0bce01490c9bdedad861962c76f987531014 Author: Miklos Szeredi Date: Fri May 23 13:04:19 2008 -0700 fuse: fix bdi naming conflict Fuse allocates a separate bdi for each filesystem, and registers them in sysfs with "MAJOR:MINOR" of sb->s_dev (st_dev). This works fine for anon devices normally used by fuse, but can conflict with an already registered BDI for "fuseblk" filesystems, where sb->s_dev represents a real block device. In particularl this happens if a non-partitioned device is being mounted. Fix by registering with a different name for "fuseblk" filesystems. Thanks to Ioan Ionita for the bug report. Signed-off-by: Miklos Szeredi Reported-by: Ioan Ionita Tested-by: Ioan Ionita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42172d751b4596b8ca4346a1c251b5f1c661ab0c Author: Nick Piggin Date: Fri May 23 13:04:18 2008 -0700 mm: allow pfnmap ->fault()s Take out an assertion to allow ->fault handlers to service PFNMAP regions. This is required to reimplement .nopfn handlers with .fault handlers and subsequently remove nopfn. Signed-off-by: Nick Piggin Acked-by: Jes Sorensen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97ec710cab76f90a6bece76a04e76aa50096a470 Author: Travis Place Date: Fri May 23 18:31:46 2008 +0200 [ALSA] hda - Added support for Foxconn P35AX-S mainboard Added IDs for the Foxconn P35AX-S mainboard to patch_realtek.c, so that ALC883_6ST_DIG is used by default. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai commit 20a3a05dd66ad0f678a587688cc85f0b36869876 Author: Takashi Iwai Date: Fri May 23 17:52:53 2008 +0200 [ALSA] hda - Fix COEF and EAPD in ALC889 auto-configuration mode Fix the missing COEF and EAPD initialization in ALC889 auto-configuration mode. Signed-off-by: Takashi Iwai commit bc9b56238eedda865070dcaed6694d65b517c8d6 Author: Takashi Iwai Date: Fri May 23 17:50:27 2008 +0200 [ALSA] hda - Fix noise on VT1708 codec We get quite noisy output on the right channel on VT1708 codec when 24bit samples are used. Suppress the 24bit support until any real fix is found. https://bugzilla.novell.com/show_bug.cgi?id=390473 Signed-off-by: Takashi Iwai commit b9e16bc548600124da9d24186364ee8d06040569 Author: Travis Place Date: Wed May 21 16:57:20 2008 +0200 [ALSA] hda - Add model for ASUS P5K-E/WIFI-AP Added a config table entry for the ASUS P5K-E/WIFI-AP mainboard (ID 1043:8227) to use AD1988_6STACK_DIG Signed-off-by: Travis Place Signed-off-by: Takashi Iwai commit 4efeb4dd3c0bf534e431a8e7c72d0afbd4cd24aa Author: Yinghai Lu Date: Mon May 12 21:21:05 2008 +0200 PCI: use dev_to_node in pci_call_probe to make sure get one online node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1f42ea7bc0ddfadebd9e1c5362b41b53902dbcb1 Author: James Bottomley Date: Thu May 22 12:34:41 2008 +0100 [SCSI] fix intermittent oops in scsi_bus_uevent Reported-by: Sitsofe Wheeler > BUG: unable to handle kernel paging request at e6f17fac > IP: [] scsi_bus_uevent+0x1/0x17 > *pde = 2714b163 *pte = 26f17160 > Oops: 0000 [#1] DEBUG_PAGEALLOC > last sysfs file: > > Pid: 1, comm: swapper Not tainted (2.6.26-rc2-next-20080516skw #30) > EIP: 0060:[] EFLAGS: 00010282 CPU: 0 > EIP is at scsi_bus_uevent+0x1/0x17 > EAX: e6f18014 EBX: e6f18014 ECX: c02604d5 EDX: e7173000 > ESI: e7173000 EDI: e7173000 EBP: e7851ca0 ESP: e7851c90 > DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 The problem is caused by: commit b0ed43360fdca227048d88a08290365cb681c1a8 Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] add scsi_host and scsi_target to scsi_bus which added scsi_bus_type to the struct scsi_target device. This causes both the scsi_device and scsi_target to fire scsi_bus_uevents. However, the actualy scsi_bus_uevent() call assumes blindly that it's a struct scsi_device. Check for this and return immediately if it isn't. Signed-off-by: James Bottomley commit b7206153f61bb63ee2cffa63905b57ec01d20e6e Author: Steve French Date: Fri May 23 20:35:07 2008 +0000 [CIFS] Correct incorrect obscure open flag Also add defines for pipe subcommand codes Signed-off-by: Steve French commit 27adb44c4f671d15932eb0702a09d27244a8a7c1 Author: Steve French Date: Fri May 23 19:43:29 2008 +0000 [CIFS] warn if both dynperm and cifsacl mount options specified Signed-off-by: Steve French commit 7c28472a5d4ecf7c61b3c3901994be878cd6c5d2 Author: Russell King Date: Fri May 23 19:35:52 2008 +0100 [ARM] integrator: fix build warnings and errors Fix resource_size_t warning in impd1.c, and printascii() build errors in pci_v3.c Signed-off-by: Russell King commit 4ca691a892e8ab4f79583de1394f17a7dcfa2b57 Author: Jeff Layton Date: Thu May 22 09:33:34 2008 -0400 silently ignore ownership changes unless unix extensions are enabled or we're faking uid changes CIFS currently allows you to change the ownership of a file, but unless unix extensions are enabled this change is not passed off to the server. Have CIFS silently ignore ownership changes that can't be persistently stored on the server unless the "setuids" option is explicitly specified. We could return an error here (-EOPNOTSUPP or something), but this is how most disk-based windows filesystems on behave on Linux (e.g. VFAT, NTFS, etc). With cifsacl support and proper Windows to Unix idmapping support, we may be able to do this more properly in the future. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4e94a105ed0df78e25b20ff8ed6761f5937662b1 Author: Steve French Date: Fri May 23 18:22:46 2008 +0000 [CIFS] remove trailing whitespace Signed-off-by: Steve French commit b0fd30d3e7e768aad5e398caaea6ae5a5c814eab Author: Jeff Layton Date: Thu May 22 09:33:34 2008 -0400 when creating new inodes, use file_mode/dir_mode exclusively on mount without unix extensions When CIFS creates a new inode on a mount without unix extensions, it temporarily assigns the mode that was passed to it in the create/mkdir call. Eventually, when the inode is revalidated, it changes to have the file_mode or dir_mode for the mount. This is confusing to users who expect that the mode shouldn't change this way. It's also problematic since only the mode is treated this way, not the uid or gid. Suppose you have a CIFS mount that's mounted with: uid=0,gid=0,file_mode=0666,dir_mode=0777 ...if an unprivileged user comes along and does this on the mount: mkdir -m 0700 foo touch foo/bar ...there is a period of time where the touch will fail, since the dir will initially be owned by root and have mode 0700. If the user waits long enough, then "foo" will be revalidated and will get the correct dir_mode permissions. This patch changes cifs_mkdir and cifs_create to not overwrite the mode found by the initial cifs_get_inode_info call after the inode is created on the server. Legacy behavior can be reenabled with the new "dynperm" mount option. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4468eb3fd102cad559e51594a01cbc65b994d264 Author: Jeff Layton Date: Thu May 22 09:31:40 2008 -0400 on non-posix shares, clear write bits in mode when ATTR_READONLY is set When mounting a share with posix extensions disabled, cifs_get_inode_info turns off all the write bits in the mode for regular files if ATTR_READONLY is set. Directories and other inode types, however, can also have ATTR_READONLY set, but the mode gives no indication of this. This patch makes this apply to other inode types besides regular files. It also cleans up how modes are set in cifs_get_inode_info for both the "normal" and "dynperm" cases. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c2448278e3be3a43fe0343e138444742af1e99ae Merge: e6b027a... 5a4f2b6... Author: Linus Torvalds Date: Fri May 23 11:11:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mad: Fix kernel crash when .process_mad() returns SUCCESS|CONSUMED IPoIB: Test for NULL broadcast object in ipiob_mcast_join_finish() MAINTAINERS: Add cxgb3 and iw_cxgb3 NIC and iWARP driver entries IB/mlx4: Fix creation of kernel QP with max number of send s/g entries IB/mthca: Fix max_sge value returned by query_device RDMA/cxgb3: Fix uninitialized variable warning in iwch_post_send() IB/mlx4: Fix uninitialized-var warning in mlx4_ib_post_send() IB/ipath: Fix UC receive completion opcode for RDMA WRITE with immediate IB/ipath: Fix printk format for ipath_sdma_status commit 5a4f2b675210718aceb4abf41617a3af31bba718 Author: Dave Olson Date: Fri May 23 10:52:59 2008 -0700 IB/mad: Fix kernel crash when .process_mad() returns SUCCESS|CONSUMED If a low-level driver returns IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_CONSUMED, handle_outgoing_dr_smp() doesn't clean up properly. The fix is to kfree the local data and break, rather than falling through. This was observed with the ipath driver, but could happen with any driver. This fixes . Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit aaa9bbe039febf1d3a0f3a374deea0680d9f5758 Author: Steve French Date: Fri May 23 17:38:32 2008 +0000 [CIFS] remove unused variables CC: Jeff Layton Signed-off-by: Steve French commit e6b027a398bcfbb8897353a88a2edfcc97fd604d Merge: 57f7bd5... 4f74369... Author: Linus Torvalds Date: Fri May 23 09:24:52 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] clarify license of freq_table.c [CPUFREQ] Remove documentation of removed ondemand tunable. [CPUFREQ] Crusoe: longrun cpufreq module reports false min freq [CPUFREQ] powernow-k8: improve error messages commit b1979a5fda7869a790f4fd83fb06c78498d26ba1 Author: Ingo Molnar Date: Mon May 12 21:21:15 2008 +0200 x86: prevent PGE flush from interruption/preemption CR4 manipulation is not protected against interrupts and preemption, but KVM uses smp_function_call to manipulate the X86_CR4_VMXE bit either from the CPU hotplug code or from the kvm_init call. We need to protect the CR4 manipulation from both interrupts and preemption. Original bug report: http://lkml.org/lkml/2008/5/7/48 Bugzilla entry: http://bugzilla.kernel.org/show_bug.cgi?id=10642 This is not a regression from 2.6.25, it's a long standing and hard to trigger bug. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 57f7bd5b455298dbe94227aa1fedbbfe63bbf252 Author: Jesse Barnes Date: Fri May 23 08:40:45 2008 -0700 remove debug printk from DRM suspend path Not sure how this snuck upstream, but it really doesn't belong there. We don't need a KERN_ERR printk in the suspend path to know what's going on (at least not anymore). Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit cbff290491cd97bcd449b14f672d98992ddad5cb Merge: 6483d15... 8962cad... Author: Linus Torvalds Date: Fri May 23 08:15:12 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] iSeries: Remove unused mail address [POWERPC] mpic: Fix use of uninitialized variable [POWERPC] Add kernstart_addr to list of allowed symbols in prom_init [POWERPC] Fix __set_fixmap() for STRICT_MM_TYPECHECKS [POWERPC] PS3: Fix memory hotplug commit 6483d152acffb83442b90dad1517fde8a7b1e12d Merge: cb61896... 6ab455e... Author: Linus Torvalds Date: Fri May 23 08:13:39 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] Fix memory corruption with small buffer reads [XFS] Fix inode list allocation size in writeback. [XFS] Don't allow memory reclaim to wait on the filesystem in inode [XFS] Fix fsync() b0rkage. [XFS] Include linux/random.h in all builds, not just debug builds. commit cb618965bc2073267b7f9345066f502515fcfdf5 Merge: 5e2daeb... 3401a61... Author: Linus Torvalds Date: Fri May 23 08:13:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: stop_machine: make stop_machine_run more virtualization friendly doc: add a chapter about trylock functions [Bug 9011] modules: proper cleanup of kobject without CONFIG_SYSFS module loading ELF handling: use SELFMAG instead of numeric constant commit 5e2daeb3c982ea19ecad0c2e720a4052034be14b Author: Harvey Harrison Date: Thu May 22 15:45:08 2008 -0700 fbdev: fix integer as NULL pointer warning drivers/video/aty/atyfb_base.c:3359:26: warning: Using plain integer as NULL pointer drivers/video/aty/radeon_base.c:2280:32: warning: Using plain integer as NULL pointer drivers/video/matrox/matroxfb_base.h:203:25: warning: Using plain integer as NULL pointer drivers/video/matrox/matroxfb_base.h:203:25: warning: Using plain integer as NULL pointer drivers/video/sis/sis_main.c:5790:44: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 9bcf091083065c751a4d90317b766370d2497ae9 Author: Harvey Harrison Date: Thu May 22 15:45:07 2008 -0700 scsi: fix integer as NULL pointer warning drivers/scsi/aha152x.c:3585:60: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:3845:56: warning: Using plain integer as NULL pointer drivers/scsi/qla1280.c:2814:37: warning: Using plain integer as NULL pointer drivers/scsi/atp870u.c:750:47: warning: Using plain integer as NULL pointer drivers/scsi/3w-9xxx.c:1281:36: warning: Using plain integer as NULL pointer drivers/scsi/3w-9xxx.c:1293:36: warning: Using plain integer as NULL pointer drivers/scsi/3w-9xxx.c:1301:35: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:447:10: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:457:10: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:479:24: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:483:22: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:1213:23: warning: Using plain integer as NULL pointer drivers/scsi/hptiop.c:1214:23: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 94b5e0ac694baba20efbe7d8ce6ff9cbe1776162 Author: Harvey Harrison Date: Thu May 22 15:45:07 2008 -0700 isdn: fix integer as NULL pointer warning drivers/isdn/hysdn/hycapi.c:465:42: warning: Using plain integer as NULL pointer drivers/isdn/hysdn/hycapi.c:467:44: warning: Using plain integer as NULL pointer drivers/isdn/hysdn/hycapi.c:469:42: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit b62151de496d26a705942b945fab9cecdb3fb8da Author: Harvey Harrison Date: Thu May 22 15:45:06 2008 -0700 acpi: fix integer as NULL pointer warning drivers/acpi/dispatcher/dsmethod.c:568:50: warning: Using plain integer as NULL pointer drivers/acpi/executer/exmutex.c:329:30: warning: Using plain integer as NULL pointer drivers/acpi/executer/exmutex.c:466:31: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 7fafd91d85181e946207bed18c44addc47e36c63 Author: Harvey Harrison Date: Thu May 22 15:45:06 2008 -0700 x86: fix integer as NULL pointer warning arch/x86/boot/printf.c:59:10: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit cfb41bf756cac168c829e27def36072dbfbe6fd0 Author: Russell King Date: Fri May 23 15:38:07 2008 +0100 [ARM] fix OMAP include loops OMAP has two include loops in its header files: asm-arm/hardware.h <- asm-arm/arch-omap/io.h <- asm-arm/arch-omap/hardware.h <- asm-arm/hardware.h asm-arm/arch-omap/board-palmte.h <- asm-arm/arch-omap/hardware.h <- asm-arm/hardware.h <- asm-arm/arch-omap/gpio.h <- asm-arm/arch-omap/board-palmte.h Circular include dependencies are dangerous since they can result in inconsistent definitions being provided to other code, especially if '#ifndef' constructs are used. Solve these by removing the offending includes, and add additional includes where necessary. Acked-by: Tony Lindgren Signed-off-by: Russell King commit 2a740d7a64807acaceb7e44ccf50df35107a34ab Author: Russell King Date: Fri May 23 13:53:31 2008 +0100 Revert "[ARM] pxa: spitz wants PXA27x UDC definitions" This reverts commit 53491e042e79578765e2d33512a45d50eb0d8801, which hit the kernel tree too early. Signed-off-by: Russell King commit 415ad1e50abcc86c235a42fbab57f2b6134412d7 Author: Greg Ungerer Date: Fri May 23 08:31:39 2008 +0100 [ARM] 5053/1: define before use of processor_id For the simple read_cpuid() macro case the variable processor_id has no definition on use of the macro. Add an extern for it. Move all the processor ID macros into the #ifndef __ASSEMBLEY__ block. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 66aaeff1c27545909e502546120be2c5432394e3 Author: Greg Ungerer Date: Fri May 23 08:26:24 2008 +0100 [ARM] 5052/1: export clock functions for the at91x40 Export the AT91 clock functions for the AT91X40. Some external code common to all AT91 family parts relys on this, like the gpio and serial support. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 50346e621252617a07eb800dfa3f876ccd52d534 Author: Greg Ungerer Date: Fri May 23 07:16:52 2008 +0100 [ARM] 5051/1: define pgtable_t for the !CONFIG_MMU case too The non-MMU case also needs the type definition of pgtable_t. So move it out of a CONFIG_MMU conditional section. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit a1289643adb6272c04db9399653ae195072c482a Author: Andi Kleen Date: Wed May 14 16:10:42 2008 -0700 x86: use explicit copy in vdso_gettimeofday() Jeremy's gcc 3.4 seems to be unable to inline a 8 byte memcpy. But the vdso doesn't support external references. Copy the structure members of struct timezone explicitely instead. Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2ddfd20e7c55421435cbf95a5ed3dd6e423cf934 Author: Ingo Molnar Date: Thu May 22 10:37:48 2008 +0200 namespacecheck: automated fixes Signed-off-by: Ingo Molnar commit de067814d6b69030d0030e1c5b3dbaf0385aae41 Author: Jan Beulich Date: Thu May 15 13:24:52 2008 +0100 x86/xen: fix arbitrary_virt_to_machine() While I realize that the function isn't currently being used, I still think an obvious mistake like this should be corrected. Signed-off-by: Jan Beulich Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2584a82deed7196f48066f1b1a7fad4ec5bea961 Author: Chuck Ebbert Date: Tue May 20 18:18:12 2008 -0400 x86: don't read maxlvt before checking if APIC is mapped A check for unmapped apic was added before reading maxlvt but the early read of maxlvt wasn't removed. Signed-off-by: Chuck Ebbert Cc: Andi Kleen Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 74dc51a3de06aa516e3b9fdc4017b2aeb38bf44b Author: Thomas Gleixner Date: Sun May 18 22:17:59 2008 +0200 x86: disable TSC for sched_clock() when calibration failed When the TSC calibration fails then TSC is still used in sched_clock(). Disable it completely in that case. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 9ccc906c97e34fd91dc6aaf5b69b52d824386910 Author: Thomas Gleixner Date: Tue May 13 12:31:00 2008 +0200 x86: distangle user disabled TSC from unstable tsc_enabled is set to 0 from the command line switch "notsc" and from the mark_tsc_unstable code. Seperate those functionalities and replace tsc_enable with tsc_disable. This makes also the native_sched_clock() decision when to use TSC understandable. Preparatory patch to solve the sched_clock() issue on 32 bit. Signed-off-by: Thomas Gleixner commit b6db80ee1331e7beaeb91b4b3d946dd16c72e388 Author: Thomas Gleixner Date: Sun May 18 19:27:48 2008 +0200 x86: fix setup of cyc2ns in tsc_64.c When the TSC is calibrated against the PIT due to the nonavailability of PMTIMER/HPET or due to SMI interference then the setup of the per CPU cyc2ns variables is skipped. This is unlikely to happen but it would definitely render sched_clock() unusable. This was introduced with commit 53d517cdbaac704352b3d0c10fecb99e0b54572e x86: scale cyc_2_nsec according to CPU frequency Update the per CPU cyc2ns variables in all exit pathes of tsc_calibrate. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 6ab455eeaff6893cd06da33843e840d888cdc04a Author: Christoph Hellwig Date: Mon May 19 16:34:42 2008 +1000 [XFS] Fix memory corruption with small buffer reads When we have multiple buffers in a single page for a blocksize == pagesize filesystem we might overwrite the page contents if two callers hit it shortly after each other. To prevent that we need to keep the page locked until I/O is completed and the page marked uptodate. Thanks to Eric Sandeen for triaging this bug and finding a reproducible testcase and Dave Chinner for additional advice. This should fix kernel.org bz #10421. Tested-by: Eric Sandeen SGI-PV: 981813 SGI-Modid: xfs-linux-melb:xfs-kern:31173a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 289c79a4bd350e8a25065102563ad1a183d1b402 Author: Patrick McHardy Date: Fri May 23 00:22:04 2008 -0700 vlan: Use bitmask of feature flags instead of seperate feature bits Herbert Xu points out that the use of seperate feature bits for features to be propagated to VLAN devices is going to get messy real soon. Replace the VLAN feature bits by a bitmask of feature flags to be propagated and restore the old GSO_SHIFT/MASK values. Signed-off-by: Patrick McHardy Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 7bece8155be133cd67c41eed2b31c60a310609de Merge: b9a2f2e... bdefff1... Author: David S. Miller Date: Fri May 23 00:05:14 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 8962cadbe7cbc4ed0fff94f56ebab505a10afd2e Author: Stephen Rothwell Date: Fri May 23 11:41:46 2008 +1000 [POWERPC] iSeries: Remove unused mail address I don't use my IBM email address normally and people can find me in CREDITS. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 06a901c5621f85e07e00ac4816c7ca95620ee74a Author: Stephen Rothwell Date: Wed May 21 16:24:31 2008 +1000 [POWERPC] mpic: Fix use of uninitialized variable Compiling ppc64_defconfig with gcc 4.3 gives thes warnings: arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_get_priority': arch/powerpc/sysdev/mpic.c:1351: warning: 'is_ipi' may be used uninitialized in this function arch/powerpc/sysdev/mpic.c: In function 'mpic_irq_set_priority': arch/powerpc/sysdev/mpic.c:1328: warning: 'is_ipi' may be used uninitialized in this function It turns out that in the cases where is_ipi is uninitialized, another variable (mpic) will be NULL and it is dereferenced. Protect against this by returning if mpic is NULL in mpic_irq_set_priority, and removing mpic_irq_get_priority completely as it has no in tree callers. This has the nice side effect of making the warning go away. Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d1e8d50d5a4bc7e40b119bf513804188ce2933d0 Author: Michael Ellerman Date: Tue May 20 22:48:03 2008 +1000 [POWERPC] Add kernstart_addr to list of allowed symbols in prom_init Since commit "85xx: Add support for relocatable kernel (and booting at non-zero)" (37dd2badcfcec35f5e21a0926968d77a404f03c3), PHYSICAL_START is #defined as kernstart_addr if RELOCATABLE and FLATMEM is enabled. PHYSICAL_START is used in prom_init.c and so kernstart_addr needs to be added to the list of allowed symbols that prom_init.c can access. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit 46a7417963a84f67984af1af59d43261159dd96b Author: David Gibson Date: Mon May 19 16:16:00 2008 +1000 [POWERPC] Fix __set_fixmap() for STRICT_MM_TYPECHECKS __set_fixmap() in pgtable_32.c currently fails to compile if STRICT_MM_TYPECHECKS is defined. This fixes it. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit ecc240f90bce23651f9866a1523ba55faa89f009 Author: Geoff Levand Date: Fri May 16 06:09:59 2008 +1000 [POWERPC] PS3: Fix memory hotplug A change was made to walk_memory_resource() in commit 4b119e21d0c66c22e8ca03df05d9de623d0eb50f that added a check of find_lmb(). Add the coresponding lmb_add() call to ps3_mm_add_memory() so that that check will succeed. This fixes the condition where the PS3 boots up with only the 128 MiB of boot memory, and doesn't see the other 128MiB that is available. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit c8f5f12e46f079a954d4f7163ba59dadee08ca26 Author: David Chinner Date: Tue May 20 11:30:15 2008 +1000 [XFS] Fix inode list allocation size in writeback. We only need to allocate space for the number of inodes in the cluster when writing back inodes, not every byte in the inode cluster. This reduces the amount of memory needing to be allocated to 256 bytes instead of 64k. SGI-PV: 981949 SGI-Modid: xfs-linux-melb:xfs-kern:31182a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 49383b0e98ad1f69ff4c816eb1961f703df12318 Author: David Chinner Date: Mon May 19 16:29:34 2008 +1000 [XFS] Don't allow memory reclaim to wait on the filesystem in inode writeback If we allow memory reclaim to wait on the pages under writeback in inode cluster writeback we could deadlock because we are currently holding the ILOCK on the initial writeback inode which is needed in data I/O completion to change the file size or do unwritten extent conversion before the pages are taken out of writeback state. SGI-PV: 981091 SGI-Modid: xfs-linux-melb:xfs-kern:31015a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 978b7237123d007b9fa983af6e0e2fa8f97f9934 Author: David Chinner Date: Mon May 19 16:29:46 2008 +1000 [XFS] Fix fsync() b0rkage. xfs_fsync() fails to wait for data I/O completion before checking if the inode is dirty or clean to decide whether to log the inode or not. This misses inode size updates when the data flushed by the fsync() is extending the file. Hence, like fdatasync(), we need to wait for I/o completion first, then check the inode for cleanliness. Doing so makes the behaviour of xfs_fsync() identical for fsync and fdatasync and we *always* use synchronous semantics if the inode is dirty. Therefore also kill the differences and remove the unused flags from the xfs_fsync function and callers. SGI-PV: 981296 SGI-Modid: xfs-linux-melb:xfs-kern:31033a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit c1e554aeea12d2dab5183e011c27dee6142dc927 Merge: c203e45... 78b58e5... Author: Lachlan McIlroy Date: Fri May 23 13:48:37 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit 3401a61e16a5b852d4e353c8850c857105a67a9c Author: Christian Borntraeger Date: Thu May 8 15:20:38 2008 +0200 stop_machine: make stop_machine_run more virtualization friendly On kvm I have seen some rare hangs in stop_machine when I used more guest cpus than hosts cpus. e.g. 32 guest cpus on 1 host cpu triggered the hang quite often. I could also reproduce the problem on a 4 way z/VM host with a 64 way guest. It turned out that the guest was consuming all available cpus mostly for spinning on scheduler locks like rq->lock. This is expected as the threads are calling yield all the time. The problem is now, that the host scheduling decisings together with the guest scheduling decisions and spinlocks not being fair managed to create an interesting scenario similar to a live lock. (Sometimes the hang resolved itself after some minutes) Changing stop_machine to yield the cpu to the hypervisor when yielding inside the guest fixed the problem for me. While I am not completely happy with this patch, I think it causes no harm and it really improves the situation for me. I used cpu_relax for yielding to the hypervisor, does that work on all architectures? p.s.: If you want to reproduce the problem, cpu hotplug and kprobes use stop_machine_run and both triggered the problem after some retries. Signed-off-by: Christian Borntraeger CC: Ingo Molnar Signed-off-by: Rusty Russell commit 4d2e7d0d77e4e1e8a21cc990c607985fdba20e66 Author: Matti Linnanvuori Date: Tue May 13 18:31:47 2008 +0300 doc: add a chapter about trylock functions [Bug 9011] Add a chapter about trylock functions. http://bugzilla.kernel.org/show_bug.cgi?id=9011 Signed-off-by: Matti Linnanvuori Signed-off-by: Rusty Russell (removed down_trylock) commit 34e4e2fef4c7a2f7699b3d25e48d871d3ac4c3e7 Author: Denis V. Lunev Date: Tue May 20 13:59:48 2008 +0400 modules: proper cleanup of kobject without CONFIG_SYSFS kobject: '' (ffffffffa0104050): is not initialized, yet kobject_put() is being called. ------------[ cut here ]------------ WARNING: at /home/den/src/linux-netns26/lib/kobject.c:583 kobject_put+0x53/0x55() Modules linked in: ipv6 nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs ide_cd_mod cdrom button [last unloaded: pktgen] comm: rmmod Tainted: G W 2.6.26-rc3 #585 Call Trace: [] warn_on_slowpath+0x58/0x7a [] ? printk+0x67/0x69 [] ? printk+0x67/0x69 [] kobject_put+0x53/0x55 [] free_module+0x87/0xfa [] sys_delete_module+0x178/0x1e1 [] ? lockdep_sys_exit_thunk+0x35/0x67 [] ? trace_hardirqs_on_thunk+0x35/0x3a [] system_call_after_swapgs+0x7b/0x80 ---[ end trace 8f5aafa7f6406cf8 ]--- mod->mkobj.kobj is not initialized without CONFIG_SYSFS. Do not call kobject_put in this case. Signed-off-by: Denis V. Lunev Cc: Rusty Russell Cc: Kay Sievers Signed-off-by: Rusty Russell commit c4ea6fcf5a192dbba54666f308bdace1c278e0c1 Author: Cyrill Gorcunov Date: Wed May 14 16:27:29 2008 -0700 module loading ELF handling: use SELFMAG instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Rusty Russell commit c511afb41f21857fbbae78f83f88b1247597f46f Author: Magnus Damm Date: Thu May 22 22:38:36 2008 +0900 sh: update Migo-R defconfig Update the Migo-R defconfig to include support for KEYSC, I2C, RTC and NAND and NOR MTD devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fa7ff086008d1af6b7325bf556a0cf70aaf2efd3 Author: Magnus Damm Date: Thu May 22 22:34:28 2008 +0900 sh: use sm501 8250 mfd support on r2d boards Make use of recently added sm501 8250 uart support, commit 61711f8fd8180e458cfb6846bcf4fc636a95f3db makes the mfd code handle 8250 uarts so there is no longer need to do it from the r2d board code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b76baf4cf5978efeabf5a3e054551e40ef599b69 Author: Magnus Damm Date: Thu May 22 22:24:51 2008 +0900 sh: add probe support for new sh7723 cut This patch adds support for sh7723 silicon with a prr value of 0x51. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 760130447248de94943cf75c80fa3ac8fe9d977d Author: Magnus Damm Date: Thu May 22 22:19:39 2008 +0900 sh: fix VPU interrupt vector for sh7723 This patch fixes a VPU vector typo for sh7723. The correct value is 0x980, the same as for sh7722. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 526c1c23a23785114f618624e22480a3317388e1 Author: Magnus Damm Date: Thu May 22 22:15:31 2008 +0900 sh: fix USBF resource for sh7722 The USBF function on sh7722 is currently not working with the m66592_udc driver. The driver is using platform_get_resource_byname() so my commit a0d29798e568116aa6c32aef7bab2d9e620c88ad broke sh7722 support. The long term fix is to replace platform_get_resource_byname() in the driver with platform_get_resource(), but this helps until that happens. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4f74369422b883164c50b5936517d010a3e1ce59 Author: Dominik Brodowski Date: Thu May 22 08:52:05 2008 +0200 [CPUFREQ] clarify license of freq_table.c Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit bdefff1f54cb76a19700663f211350de2f65cc91 Author: Komuro Date: Mon May 5 10:51:12 2008 +0900 fmvj18x_cs: add NextCom NC5310 rev B support fmvj18x_cs: The manfid of "NextCom NC5310 rev B" is MANF_ID_FUJITSU. but this card is MBH10302 based card. use ConfigBase to detect the cardtype for this card. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 43fc63dceb8ff58c5ef0a30c70abd31336b5e8b4 Author: Komuro Date: Sun Apr 20 14:32:34 2008 +0900 xirc2ps_cs: re-initialize the multicast address in do_reset keep bit7,8 of XIRCREG42_SWC1 in set_multicast_list. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit f7f312a0c7e7a1947cf193e0e94a257ad7742cb2 Author: Wang Chen Date: Tue May 20 17:13:52 2008 +0800 3C509: rx_bytes should not be increased when alloc_skb failed If alloc_skb failed, the recieved packet will be dropped. Do not increase rx_bytes for dropped packet. Signed-off-by: Wang Chen Signed-off-by: Jeff Garzik commit 56cfe5d028687468f76e8b613c63ca41f209982d Author: Wang Chen Date: Thu May 22 18:09:06 2008 +0800 NETFRONT: Use __skb_queue_purge() Use standard routine for queue purging. Signed-off-by: Wang Chen Signed-off-by: Jeff Garzik commit 288369cc2580178ef6ed7c5c63cc1ef08c803250 Author: Wang Chen Date: Thu May 22 18:07:43 2008 +0800 VIRTIO: Use __skb_queue_purge() Use standard routine for queue purging. Signed-off-by: Wang Chen Signed-off-by: Jeff Garzik commit a01b3d766c0ad3e63978b0f6faf4004688f13522 Author: Paul Gortmaker Date: Thu May 22 12:43:50 2008 -0400 phylib: do EXPORT_SYMBOL on get_phy_id Commit cac1f3c8 factored out the code for get_phy_id so that it could be reused in multiple places. Turns out that some of the users can be modular, so we need to export this symbol as well. Signed-off-by: Paul Gortmaker Signed-off-by: Jeff Garzik commit b9a2f2e450b0f770bb4347ae8d48eb2dea701e24 Author: Thomas Graf Date: Thu May 22 10:48:59 2008 -0700 netlink: Fix nla_parse_nested_compat() to call nla_parse() directly The purpose of nla_parse_nested_compat() is to parse attributes which contain a struct followed by a stream of nested attributes. So far, it called nla_parse_nested() to parse the stream of nested attributes which was wrong, as nla_parse_nested() expects a container attribute as data which holds the attribute stream. It needs to call nla_parse() directly while pointing at the next possible alignment point after the struct in the beginning of the attribute. With this patch, I can no longer reproduce the reported leftover warnings. Signed-off-by: Thomas Graf Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 76994412f8e824e79a593d6777ec327d85f942b2 Author: Pekka Enberg Date: Thu May 22 19:22:25 2008 +0300 slub: ksize() abuse checks Add a WARN_ON for pages that don't have PageSlab nor PageCompound set to catch the worst abusers of ksize() in the kernel. Acked-by: Christoph Lameter Cc: Matt Mackall Signed-off-by: Pekka Enberg commit a1676072558854b95336c8f7db76b0504e909a0a Author: Tony Camuso Date: Thu May 15 14:40:14 2008 -0400 PCI: Correct last two HP entries in the bfsort whitelist Greetings. There is a code flaw in the bfsort whitelist, where there are redundant entries for the same two HP systems, DL385 G2 and DL585 G2. This patch replaces those redundant entries with the correct ones. The correct entries are for large-volume systems, the DL360 and DL380. ----------------------------------------------------------------------- commit ec69f0374c3b0ad7ea991b0e9ac00377acfe5b1a Author: Tony Camuso Date: Wed May 14 07:09:28 2008 -0400 Replace Redundant Whitelist Entries with the Correct Ones The ProLiant DL585 G2 and the DL585 G2 are entered reundantly in the dmi_system_id table. What should have been there are the DL360 and DL380. This patch simply replaces the redundant entries with the correct entries. arch/x86/pci/common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Signed-off-by: Tony Camuso Signed-off-by: Pat Schoeller Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b851cb289d905ea04e5f0b518bf3f28407a72118 Author: Russell King Date: Thu May 22 16:38:50 2008 +0100 [ARM] omap: fix omap clk support build errors arch/arm/plat-omap/clock.c:397: warning: "struct cpufreq_frequency_table" declared inside parameter list arch/arm/plat-omap/clock.c:397: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/plat-omap/clock.c: In function `clk_init_cpufreq_table': arch/arm/plat-omap/clock.c:402: error: structure has no member named `clk_init_cpufreq_table' arch/arm/plat-omap/clock.c:403: error: structure has no member named `clk_init_cpufreq_table' Signed-off-by: Russell King commit 75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4 Merge: a0abb93... 0a891ad... Author: Linus Torvalds Date: Thu May 22 08:08:25 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix reversed memset arguments Adds username in the upcall key for unattended mounts with keytab [CIFS] Remove redundant NULL check commit 0a891adccc867c28b022128bc342a779e476c816 Author: Dave Jones Date: Thu May 22 14:20:21 2008 +0000 [CIFS] Fix reversed memset arguments Signed-off-by: Dave Jones Signed-off-by: Steve French commit e4058245ac0c4d9a517cda688a35aef065cb7f4e Author: Igor Mammedov Date: Wed Apr 2 17:33:47 2008 +0400 Adds username in the upcall key for unattended mounts with keytab Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 90239bbd598c6a0fc7f2c7352e9886bd3be968d0 Author: Ben Dooks Date: Wed May 21 10:24:17 2008 +0100 [ARM] 5039/1: S3C244X: Rename SDI device if running on S3C244X. Rename the SDI device if on an S3C2440 or S3C2442. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 4ba35fbe293be319b1a5d97951e567c0d9527d09 Author: Philipp Zabel Date: Thu May 22 10:19:28 2008 +0100 [ARM] 5043/1: pxafb: remove unused mode variable in pxafb_init_fbinfo Signed-off-by: Philipp Zabel Acked-by: Eric Miao Signed-off-by: Russell King commit e142848300b1a13d59a6e5fff8c914096d3830fb Author: Ben Dooks Date: Wed May 21 10:25:01 2008 +0100 [ARM] 5041/1: VR1000: Fix DM9000 IRQ flags initialisation Add the IRQF_TRIGGER_ type to the DM9000 IRQ resource to stop the driver itself complaining it was not given any flags to use. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ace94f9efb8ad2c21b308b3bdf02db984d8b3c5f Author: Ben Dooks Date: Wed May 21 10:24:46 2008 +0100 [ARM] 5040/1: BAST: Fix DM9000 IRQ flags initialisation Add the IRQF_TRIGGER_ type to the DM9000 IRQ resource to stop the driver itself complaining it was not given any flags to use. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 59d83db559315bb75aea849ee773f571ddcc3574 Author: Tony Lindgren Date: Mon May 19 05:20:56 2008 +0100 [ARM] 5038/1: ARM: OMAP: Remove tsc2102 references from board-palmte.c As noted by Russell King. These depend on tsc210x drivers getting integrated first. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 864d0ec9db9c0c18b79cebb9d8b7ac75c3b70571 Author: Thomas Kunze Date: Mon May 19 22:06:51 2008 +0100 [ARM] 5025/2: fix collie cpu initialisation collie.h: * add some meaningfull names to some gpios collie.c: * initialize cpu registers correctly Signed-off-by: Thomas Kunze Signed-off-by: Russell King commit fa701bd24d6e64a2283d6fa386554775fd4336e7 Author: Krzysztof Halasa Date: Mon May 19 19:00:51 2008 +0200 WAN: protect HDLC proto list while insmod/rmmod WAN: protect protocol list in hdlc.c with RTNL. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 4ecc8c066f3cecb55807644a01435084d8ed638a Author: Julia Lawall Date: Mon May 12 15:38:26 2008 +0200 drivers/net/fs_enet: remove null pointer dereference The following code appears in the function fs_init_instance in the file drivers/net/fs_enet/fs_enet-main.c. if (fep->ops == NULL) { printk(KERN_ERR DRV_MODULE_NAME ": %s No matching ops found (%d).\n", ndev->name, fpi->fs_no); err = -EINVAL; goto err; } This code implies that at the point of err, fep->ops can be NULL, so an extra test is needed before dereferencing this value. This problem was found using the following semantic match (http://www.emn.fr/x-info/coccinelle/) // @@ expression E, E1; identifier f; statement S1,S2,S3; @@ * if (E == NULL) { ... when != if (E == NULL) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit 0b5923cd477674755dde670ba804649523f27c97 Author: Sreenivasa Honnur Date: Mon May 12 13:43:05 2008 -0400 S2io: Version update for napi and MSI-X patches - Updated version number Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit f61e0a3544be2f615a0af4aec71eb85a96bdbd62 Author: Sreenivasa Honnur Date: Mon May 12 13:42:17 2008 -0400 S2io: Added napi support when MSIX is enabled. - Added napi support when MSIX is enabled. - Moved test_msi function from s2io_open to probe function. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit ac731ab66960547c33a4e2c504419389ae747067 Author: Sreenivasa Honnur Date: Mon May 12 13:41:32 2008 -0400 S2io: Move all the transmit completions to a single msi-x (alarm) vector - Move all the transmit completions to a single msi-x (alarm) vector. - Enable the continuous timer interrupt for only one transmit fifo. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 25c16fffa8ed82d3ef31980d76ff95d3c6430f00 Author: Joe Perches Date: Mon May 12 14:38:17 2008 -0700 drivers/net/ehea - remove unnecessary memset after kzalloc Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit d04455fba3777fa5c3963348be76510169bbf4df Author: Francois Romieu Date: Mon May 12 18:44:21 2008 +0200 au1000_eth: remove useless check The lifespan of the device covers the request_irq .. free_irq interval. The cast of a void * pointer is not needed either. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 94a47f4161798c34bec7718768f72cf16bcfb4f0 Author: Huang Weiyi Date: Mon May 12 12:14:04 2008 +0800 Blackfin EMAC Driver: Removed duplicated include Signed-off-by: Huang Weiyi Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit f917d58031fce6dfd7cea71259ea6a2b663ec813 Author: Matteo Croce Date: Wed May 14 00:58:32 2008 +0200 cpmac bugfixes and enhancements * Resolve some locking issues using atomic_inc/atomic_dec * move status code in cpmac_check_status * unmark the BROKEN flag in Kconfig * move code which should have been in platform code in arch/mips/ar7/platform.c * fixed an IRQ storm which lets the kernel hang * fixed a double call to netif_start_queue which causes a kernel panic * don't fail to register the PHY, works on many devices now Signed-off-by: Matteo Croce Signed-off-by: Felix Fietkau Signed-off-by: Jeff Garzik commit f47e81fc36371a2f5e2b9792b6a8c56a4564ebbe Author: Becky Bruce Date: Thu May 1 18:03:11 2008 -0500 e1000e: use resource_size_t, not unsigned long, for phys addrs The use of unsigned long causes the driver to fail on 32-bit systems which support 64-bit resources. Signed-off-by: Becky Bruce Signed-off-by: Jeff Garzik commit 3d60efb55f634e200fd99e0960a8e099fb38446a Author: Aurelien Nephtali Date: Wed May 14 17:04:13 2008 -0700 net/usb: add support for Apple USB Ethernet Adapter Add support for Apple USB Ethernet Adapter. http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?nplm=MB442Z/A Signed-off-by: Aurelien Nephtali Acked-by: Greg KH Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7fa0cba330af3a24f43ac85e14b0b5fed557cdab Author: Anton Vorontsov Date: Fri May 16 23:04:51 2008 +0400 uli526x: add support for netpoll This patch adds netpoll support for the uli526x ethernet driver -- simply call the interrupt handler for polling. To do this without disable_irq()/enable_irq() pair we should fully protect the handler. Luckily, it's already using irqsave spinlock, the only unprotected place is interrupts re-enabling write. It was safe to re-enable interrupts without holding the spinlock, but with netpoll possibility now it doesn't seem so. Patch was tested using netconsole and KGDBoE. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit 7f80202bb964dd9c5b408af8100c7f0fd39a15c7 Author: Andy Fleming Date: Thu May 15 17:00:21 2008 -0500 ucc_geth: Fix arguments to dma map/unmap functions We were passing NULL as the device. When we actually start supporting more interesting memory configurations, this will break things, so we proactively are fixing the bug. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 940608be2e6117c17c19b203f7393ced4d02590a Author: Maciej W. Rozycki Date: Sat May 17 07:07:36 2008 +0100 PHYLIB: Kconfig: Fix the dependency on S390 PHYLIB was first marked as BROKEN on S390, then the enclosing menu marked as non-S390, then the two dependencies merged with the conversion to menuconfig. Reduce to non-S390. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 5a0a92e67b5009a71e011658da04fb92dad8961f Author: Gerrit Renker Date: Sat May 17 08:35:36 2008 +0100 [SC92031] Using padto turned driver into an IPv6-only interface IPv4 would work with this driver only with static arp table entries, the patch reverts a padto introduced in commit 26a17b7bbb36a8552d531bc1ad08472fb5aa3007 sc92031: start transmit return value bugfix The padto does not work because the driver code evaluates `len' later on and there are cases where skb->len is not updated accordingly. This was observed with ARP frames (skb->len = 42 bytes, !skb_cloned(), skb_tailroom = 84 bytes). Then in skb_pad(), the first condition is true, where skb->len is not updated. As a consequence, the driver uses 42 bytes instead of the 60 bytes, and the ARP frame never makes it onto the wire. Signed-off-by: Gerrit Renker Signed-off-by: Jeff Garzik commit 789585e968f07653a29a9e829aed20386043636c Author: Stephen Hemminger Date: Sun May 18 04:45:09 2008 +0100 sb1250: use netdev_alloc_skb Use netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also simplify and cleanup the alignment code. Signed-off-by: Stephen Hemminger Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 40ba182e3ca9f019f299ce5052fcd7e4cf68d11b Author: Tobias Diedrich Date: Sun May 18 15:00:36 2008 +0200 [netdrvr] forcedeth: Restore multicast settings on resume nv_open() resets multicast settings, call nv_set_multicast(dev) to restore them. (Maybe this should rather be moved into nv_open()) Signed-off-by: Tobias Diedrich Signed-off-by: Jeff Garzik commit aff26e2faa782e196f28b86d04b093fd3bae1ffb Author: Krzysztof Halasa Date: Mon May 19 19:11:08 2008 +0200 WAN: protect Cisco HDLC state changes with a spinlock. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 0178ec3d3e4e48c63b350e712835a4a5c15c6c86 Author: Adrian Bunk Date: Tue May 20 00:53:00 2008 +0300 make myri10ge_get_firmware_capabilities() static This patch makes the needlessly global myri10ge_get_firmware_capabilities() static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 7ad62dbcb5766dae38516e0333a6f68a1b6df884 Author: Ilpo Järvinen Date: Tue May 13 14:16:54 2008 +0300 s2io: add missing block braces to multistatement if statement Signed-off-by: Ilpo Järvinen Cc: Ramkrishna Vepa Cc: Rastapur Santosh Cc: Sivakumar Subramani Cc: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 6941727a08d49c88a58bc3afb55044df7932549e Author: Ilpo Järvinen Date: Tue May 13 14:16:53 2008 +0300 hamradio/scc: add missing block braces to multi-statement if Signed-off-by: Ilpo Järvinen Signed-off-by: Jeff Garzik commit 7fb1c2ac8ecaf0883f2fcb38dfc9ec2d15cee11d Author: Brian King Date: Wed May 14 09:48:25 2008 -0500 ehea: Fix use after free on reboot Fixes the following use after free oops: ehea: Reboot: freeing all eHEA resources Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6c5b Faulting instruction address: 0xd000000000354488 cpu 0x0: Vector: 300 (Data Access) at [c00000002ec6f310] pc: d000000000354488: .ehea_shutdown_single_port+0x50/0x78 [ehea] lr: d00000000035447c: .ehea_shutdown_single_port+0x44/0x78 [ehea] sp: c00000002ec6f590 msr: 8000000000009032 dar: 6b6b6b6b6b6b6c5b dsisr: 40000000 current = 0xc0000000281412e0 paca = 0xc0000000006df300 pid = 10930, comm = reboot enter ? for help [c00000002ec6f590] d00000000035d64c .ehea_remove+0x44/0x124 [ehea] (unreliable) [c00000002ec6f630] c000000000319f88 .of_platform_device_remove+0x40/0x58 [c00000002ec6f6a0] c000000000291018 .__device_release_driver+0xb0/0xf0 [c00000002ec6f730] c000000000291120 .driver_detach+0xc8/0xfc [c00000002ec6f7c0] c00000000028fe24 .bus_remove_driver+0xb4/0x114 [c00000002ec6f850] c000000000291768 .driver_unregister+0x54/0x74 [c00000002ec6f8e0] c00000000031a0c8 .of_unregister_driver+0x14/0x28 [c00000002ec6f950] c000000000023ba0 .ibmebus_unregister_driver+0x10/0x24 [c00000002ec6f9c0] d000000000354180 .ehea_reboot_notifier+0x30/0x4c [ehea] [c00000002ec6fa40] c0000000003c95a8 .notifier_call_chain+0x5c/0xcc [c00000002ec6fae0] c000000000082cd4 .__blocking_notifier_call_chain+0x70/0xb0 [c00000002ec6fb90] c000000000075cf8 .kernel_restart_prepare+0x24/0x58 [c00000002ec6fc10] c000000000075f0c .kernel_restart+0x20/0x6c [c00000002ec6fc90] c000000000078674 .sys_reboot+0x1d4/0x290 [c00000002ec6fe30] c0000000000086ac syscall_exit+0x0/0x40 Signed-off-by: Jeff Garzik commit 74ef5c5025fed5ad6a1cbdfb5c2e831acdbbd2fe Author: Pierre Ynard Date: Wed May 14 16:20:16 2008 -0700 rndis_host: increase delay in command response loop Some devices running some WinCE firmware (with SC_* Samsung processors according to the SynCE project, verified on a HTC P3600 device) fail to register because they apparently need extra time to respond correctly to requests. Increase the existing delay to satisfy them. Based on code from the SynCE project, on a suggestion of David Brownell. This patch Works For Me(tm). Signed-off-by: Pierre Ynard Acked-by: David Brownell Cc: Greg KH Cc: Jeff Garzik Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 63dac8ff1b3709b5f7ba71283eb48b4e1f18d563 Author: Andrew Morton Date: Wed May 14 16:20:15 2008 -0700 drivers/net/tokenring/olympic.c: fix warning When dev_name() is changed to return `const char *': drivers/net/tokenring/olympic.c: In function 'olympic_probe': drivers/net/tokenring/olympic.c:234: warning: assignment discards qualifiers from pointer target type Cc: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5d9bac8ece5e2a64a2a450c7e2d6901ed9152052 Author: Andrew Morton Date: Wed May 14 16:20:15 2008 -0700 drivers/net/tokenring/3c359.c: squish a warning When dev_name() is changed to return `const char *': drivers/net/tokenring/3c359.c: In function 'xl_probe': drivers/net/tokenring/3c359.c:318: warning: assignment discards qualifiers from pointer target type Cc: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b166cfba01d62d04ae81ecce2d5dbe308db8083a Author: Andrew Morton Date: Wed May 14 16:20:14 2008 -0700 pcnet32: fix warning pci_name() will be changed to return `const char *': drivers/net/pcnet32.c: In function 'pcnet32_probe1': drivers/net/pcnet32.c:1884: warning: passing argument 2 of 'pcnet32_alloc_ring' discards qualifiers from pointer target type Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5bceeda3253d9ea6a38e2e918362a2610677f9c0 Author: Andrew Morton Date: Wed May 14 16:20:12 2008 -0700 [netdrvr] dm9000: use delayed work to update mii phy state fix use cancel_delayed_work_sync() Cc: Ben Dooks Cc: Enrico Scholz Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d494eacde8858f9b53f5c640692caf14eb3c8239 Author: Stephen Hemminger Date: Wed May 14 17:04:13 2008 -0700 sky2: restore vlan acceleration on reset If device has to be reset by sky2_restart, then need to restore the VLAN acceleration settings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8757a5f71530c2dc8db7823ad68a5d4c2fbdad19 Author: Ben Hutchings Date: Fri May 16 21:21:06 2008 +0100 sfc: Remove sub-minor component from driver version This driver has diverged from the out-of-tree driver to which the version number originally applied. It should be identified primarily by kernel version. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 9b7bfc4c4c601a5cb368751f60cac054492c45f5 Author: Ben Hutchings Date: Fri May 16 21:20:20 2008 +0100 sfc: Added checks for heap allocation failure Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit d3208b5ebae9e62c32f0cf74dce1d4ddfac3f895 Author: Ben Hutchings Date: Fri May 16 21:20:00 2008 +0100 sfc: Remove redundant casts to and from void * Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 5daab96d873721cb84f4583f232b88fcd67c51fb Author: Ben Hutchings Date: Fri May 16 21:19:43 2008 +0100 sfc: Change type of efx_nic::nic_data to struct falcon_nic_data * Remove redundant casts and variable. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 24c28edc5a1b1dc4677eb13408ff3492d65df159 Author: Ben Hutchings Date: Fri May 16 21:19:21 2008 +0100 sfc: Use __packed macro Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 6f8135ca7224d98c2de43edde69f4e6bec12da0e Author: Ben Hutchings Date: Fri May 16 21:19:05 2008 +0100 sfc: Do not define inline macro Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 9bbd7d9a3528de1b5b915fa77df027b4de62174c Author: Ben Hutchings Date: Fri May 16 21:18:48 2008 +0100 sfc: Use DMA_BIT_MASK() instead of our own DMA mask macros Also change type of efx_nic_type::max_dma_mask to u64, matching pci_dma_supported() parameter type. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 5b9e207ced5bb7af98b3c147171893435f5104ca Author: Ben Hutchings Date: Fri May 16 21:18:14 2008 +0100 sfc: Correct and expand some comments These comments have been revised in response to questions raised by Andrew Morton in <20080501120858.207b6dd6.akpm@linux-foundation.org>. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 086ea3564a5378a06c7cbfaf9d2727bc58a8c285 Author: Ben Hutchings Date: Fri May 16 21:17:06 2008 +0100 sfc: Use resource_size_t for PCI bus address This should make the driver work on 32-bit systems with 64-bit PCI support. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 184be0c21aba048cf510036edeee095e68740951 Author: Ben Hutchings Date: Fri May 16 21:16:31 2008 +0100 sfc: Merged efx_page_offset() into efx_rx_buf_offset() Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 55668611d0b2a5947cd17f66243be3cebf21400c Author: Ben Hutchings Date: Fri May 16 21:16:10 2008 +0100 sfc: Replaced various macros with inline functions Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit b3475645ed8b823c063f7560b243026150d7c3f8 Author: Ben Hutchings Date: Fri May 16 21:15:49 2008 +0100 sfc: Added and removed braces to comply with kernel style Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 2c118e0f6b7f3b8021df3c80c80c0545402f38b4 Author: Ben Hutchings Date: Fri May 16 21:15:29 2008 +0100 sfc: Removed unncesssary UL suffixes on 0 literals Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit f7f13b0b9253e21557ad090144a44f20860332f1 Author: Ben Hutchings Date: Fri May 16 21:15:06 2008 +0100 sfc: Simplified efx_rx_calc_buffer_size() using get_order() Merged it into its only caller, efx_init_channels(). Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 91ad757c2fc35ec79dd2c909dc6dc721b9c257f3 Author: Ben Hutchings Date: Fri May 16 21:14:27 2008 +0100 sfc: Removed casts to void Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 4cc58bdebfcb7561de401999705a5cde16674842 Author: Ben Hutchings Date: Fri May 16 21:13:57 2008 +0100 sfc: Use mod_timer() to set expiry and add_timer() together Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit a0abb93bf9dc590b031a1123f3e6c6c225c1cdd1 Merge: 9956c11... 071f92d... Author: Linus Torvalds Date: Wed May 21 22:14:39 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: The world is not perfect patch. tcp: Make prior_ssthresh a u32 xfrm_user: Remove zero length key checks. net/ipv4/arp.c: Use common hex_asc helpers cassini: Only use chip checksum for ipv4 packets. tcp: TCP connection times out if ICMP frag needed is delayed netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ af_key: Fix selector family initialization. libertas: Fix ethtool statistics mac80211: fix NULL pointer dereference in ieee80211_compatible_rates mac80211: don't claim iwspy support orinoco_cs: add ID for SpeedStream wireless adapters hostap_cs: add ID for Conceptronic CON11CPro rtl8187: resource leak in error case ath5k: Fix loop variable initializations commit 9956c1120826bce3b42093099a0149b7f62d0b8a Merge: 78b58e5... ada44a0... Author: Linus Torvalds Date: Wed May 21 22:00:12 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Prevent stack backtrace false positives on trap frames. sparc64: Fix stack tracing through trap frames. sparc64: Fix kernel thread stack termination. sunhv: Fix locking in non-paged I/O case. commit ada44a0430fdd00b3f38aad0aa518e97cb760bd0 Author: David S. Miller Date: Wed May 21 21:50:01 2008 -0700 sparc64: Prevent stack backtrace false positives on trap frames. When we fully commit to returning back to kernel mode from a trap, zero out the regs->magic value to prevent false positives during stack backtraces. Signed-off-by: David S. Miller commit 0d817bc0d6cdd92ff1ab2e98dd5878659a48659c Author: Steve French Date: Thu May 22 02:02:03 2008 +0000 [CIFS] Remove redundant NULL check Noticed by Coverity checker. Signed-off-by: Steve French commit ddc9753fcddfe5f9885dc133824962c047252b43 Author: Shaohua Li Date: Wed May 21 16:58:40 2008 +0800 PCI: don't enable ASPM on devices with mixed PCIe/PCI functions The Slot 03:00.* of JMicron controller has two functions, but one is PCIE endpoint the other isn't PCIE device, very strange. PCIE spec defines all functions should have the same config for ASPM, so disable ASPM for the whole slot in this case. Signed-off-by: Shaohua Li Signed-off-by: Jesse Barnes commit 14d2c68baa659cfd15dc782dd229ea304330c4f6 Author: David S. Miller Date: Wed May 21 18:15:53 2008 -0700 sparc64: Fix stack tracing through trap frames. The offset to the pt_regs area was wrong, so we weren't looking at the right location for the magic cookie. A trap frame is composed of a "struct sparc_stackf" then a "struct pt_regs", the code was using "struct reg_window" instead of "struct sparc_stackf". Signed-off-by: David S. Miller commit a051bc5bb1ac6dc138d529077fa20cbbc6622d95 Author: David S. Miller Date: Wed May 21 18:14:28 2008 -0700 sparc64: Fix kernel thread stack termination. Because of the silly way I set up the initial stack for new kernel threads, there is a loop at the top of the stack. To fix this, properly add another stack frame that is copied from the parent and terminate it in the child by setting the frame pointer in that frame to zero. Signed-off-by: David S. Miller commit 071f92d05967a0c8422f1c8587ce0b4d90a8b447 Author: Rami Rosen Date: Wed May 21 17:47:54 2008 -0700 net: The world is not perfect patch. Unless there will be any objection here, I suggest consider the following patch which simply removes the code for the -DI_WISH_WORLD_WERE_PERFECT in the three methods which use it. The compilation errors we get when using -DI_WISH_WORLD_WERE_PERFECT show that this code was not built and not used for really a long time. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 4b749440445ebcb6fad402fc762bc35af871f689 Author: Ilpo Järvinen Date: Wed May 21 17:40:05 2008 -0700 tcp: Make prior_ssthresh a u32 If previous window was above representable values of u16, strange things will happen if undo with the truncated value is called for. Alternatively, this could be fixed by some max trickery but that would limit undoing high-speed undos. Adds 16-bit hole but there isn't anything to fill it with. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 88860c9ef45963eb69411b0d2ace4e8ba0f7a32f Author: David S. Miller Date: Wed May 21 17:36:21 2008 -0700 xfrm_user: Remove zero length key checks. The crypto layer will determine whether that is valid or not. Suggested by Herbert Xu, based upon a report and patch by Martin Willi. Signed-off-by: David S. Miller Acked-by: Herbert Xu commit 51f82a2b128131c411880aed2cb802b166fe3445 Author: Denis Cheng Date: Wed May 21 17:34:32 2008 -0700 net/ipv4/arp.c: Use common hex_asc helpers Here the local hexbuf is a duplicate of global const char hex_asc from lib/hexdump.c, except the hex letters' cases: const char hexbuf[] = "0123456789ABCDEF"; const char hex_asc[] = "0123456789abcdef"; and here to print HW addresses, the hex cases are not significant. Thanks to Harvey Harrison to introduce the hex_asc_hi/hex_asc_lo helpers. Signed-off-by: Denis Cheng Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b1443e2f6501f06930a162ff1ff08382a98bf23e Author: David S. Miller Date: Wed May 21 17:05:34 2008 -0700 cassini: Only use chip checksum for ipv4 packets. According to David Monro, at least with Natsemi Saturn chips the cassini driver has some trouble with ipv6 checksums. Until we have more information about what's going on here, only use the chip checksums for ipv4. This workaround was suggested and tested by David. Update version and release date. Signed-off-by: David S. Miller commit 78b58e549a3098a8c1408d0214bd25e5d5e7a3a3 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 HTC_EGPIO is ARM-only driver uses symbols defined only on ARM Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 337e3c48e95e071a6ec1bfe95b55325e97f4908e Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 provide out-of-line strcat() for m68k Whether we sidestep it in init/main.c or not, such situations will arise again; compiler does generate calls of strcat() on optimizations, so we really ought to have an out-of-line version... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8c5330a505ca58013a65ce9c55953ff7ded79202 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 caiaq endianness fix Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 839cd31050096c88d929cc7c790c80cae87e2d85 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 MODULE_LICENSE expects "GPL v2", not "GPLv2" ... and we have few enough places using the latter to make it simpler to do search and replace... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e3428e2cf83ca47b66c194559b9e8a74af915947 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 msnd_* is ISA-only Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 46cb69ccdf76bf3649a249f6e626c5adc3c2f572 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 missing dependencies on HAS_DMA Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9d8df6aa9b1ca74127b11537d91de492dbea666a Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 ocfs2 endianness fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f6c2fb5ccff51e19850b1aca024a3b20b16a81e9 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 irda-usb endianness annotations and fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 572abae844e380ef4f8484d4e374a9ccf73dd568 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 sbus bpp: instances missed in s/dev_name/bpp_dev_name/ Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 79bc12a0a09c2eb1ccbb01c192045f994567bda2 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 ecryptfs fixes memcpy() from userland pointer is a Bad Thing(tm) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4ec7ffa2df247054d422b48148ad82369a45e986 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 misc drivers/net endianness noise Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8152b4a5b40da7c3e8c80e578c5c0608c5a8a142 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 thanks to net/mac80211 we need to pull drivers/leds/Kconfig on uml Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 3e3b48e5198544dd90e27265a70c1a834139e025 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 missing export of csum_partial() on uml/amd64 Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d347926a7ef9fa1334894a0531aa0c5f8a1ddeae Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 uml: add missing exports for UML_RANDOM=m Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 13c48c490208d9e70d8d66d56f96c5054db69af7 Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 fix hppfs Makefile breakage Fallout from commit 46d7b522ebf486edbd096965d534cc6465e9e309 ("uml: move hppfs_kern.c to hppfs.c") Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 3787fa6df5bb6e80b274ff805e10b6a9bfc4588c Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 fix include order in sys-i386/registers.c We want sys/ptrace.h before any includes of linux/ptrace.h and asm/user.h pulls the latter. Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 296cd66f7f6e130fe08e6880ecb13c3fc615a8db Author: Al Viro Date: Wed May 21 06:32:11 2008 +0100 missed kmalloc() in pcap_user.c Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 7d227cd235c809c36c847d6a597956ad9e9d2bae Author: Sridhar Samudrala Date: Wed May 21 16:42:20 2008 -0700 tcp: TCP connection times out if ICMP frag needed is delayed We are seeing an issue with TCP in handling an ICMP frag needed message that is received after net.ipv4.tcp_retries1 retransmits. The default value of retries1 is 3. So if the path mtu changes and ICMP frag needed is lost for the first 3 retransmits or if it gets delayed until 3 retransmits are done, TCP doesn't update MSS correctly and continues to retransmit the orginal message until it timesout after tcp_retries2 retransmits. I am seeing this issue even with the latest 2.6.25.4 kernel. In tcp_retransmit_timer(), when retransmits counter exceeds tcp_retries1 value, the dst cache entry of the socket is reset. At this time, if we receive an ICMP frag needed message, the dst entry gets updated with the new MTU, but the TCP sockets dst_cache entry remains NULL. So the next time when we try to retransmit after the ICMP frag needed is received, tcp_retransmit_skb() gets called. Here the cur_mss value is calculated at the start of the routine with a NULL sk_dst_cache. Instead we should call tcp_current_mss after the rebuild_header that caches the dst entry with the updated mtu. Also the rebuild_header should be called before tcp_fragment so that skb is fragmented if the mss goes down. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit c8942f1f0a7e2160ebf2e51ba89e50ee5895a1e7 Author: Patrick McHardy Date: Wed May 21 14:08:38 2008 -0700 netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__ Greg Steuck points out that some of the netfilter headers can't be used in userspace without including linux/types.h first. The headers include their own linux/types.h include statements, these are stripped by make headers-install because they are inside #ifdef __KERNEL__ however. Move them out to fix this. Reported and Tested by Greg Steuck. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4da5105687e0993a3bbdcffd89b2b94d9377faab Author: Kazunori MIYAZAWA Date: Wed May 21 13:26:11 2008 -0700 af_key: Fix selector family initialization. This propagates the xfrm_user fix made in commit bcf0dda8d2408fe1c1040cdec5a98e5fcad2ac72 ("[XFRM]: xfrm_user: fix selector family initialization") Based upon a bug report from, and tested by, Alan Swanson. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit 3651751fff44ede58f65cbb1e39242139ead251b Author: David S. Miller Date: Tue May 20 23:42:09 2008 -0700 sunhv: Fix locking in non-paged I/O case. This causes the lock to be taken twice, thus resulting in a deadlock. Signed-off-by: David S. Miller commit 5cf11daf9abdfd7bf5f5893137155cb38ccbdeb8 Merge: d40ace0... 397d71d... Author: Linus Torvalds Date: Tue May 20 21:12:14 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (21 commits) [CIFS] Remove debug statement Fix possible access to undefined memory region. [CIFS] Enable DFS support for Windows query path info [CIFS] Enable DFS support for Unix query path info [CIFS] add missing seq_printf to cifs_show_options for hard mount option [CIFS] add more complete mount options to cifs_show_options [CIFS] Add missing defines for DFS CIFSGetDFSRefer cleanup + dfs_referral_level_3 fixed to conform REFERRAL_V3 the MS-DFSC spec. Fixed DFS code to work with new 'build_path_from_dentry', that returns full path if share in the dfs, now. [CIFS] enable parsing for transport encryption mount parm [CIFS] Finishup DFS code [CIFS] BKL-removal: convert CIFS over to unlocked_ioctl [CIFS] suppress duplicate warning [CIFS] Fix paths when share is in DFS to include proper prefix add function to convert access flags to legacy open mode clarify return value of cifs_convert_flags() [CIFS] don't explicitly do a FindClose on rewind when directory search has ended [CIFS] cleanup old checkpatch warnings [CIFS] CIFSSMBPosixLock should return -EINVAL on error fix memory leak in CIFSFindNext ... commit 397d71ddfda5b11b85e396d6ea822011c132b962 Author: Steve French Date: Wed May 21 03:49:46 2008 +0000 [CIFS] Remove debug statement Signed-off-by: Steve French commit 5651ced3ab196b5e7dc485c5777f210aa41e2d8d Author: Igor Mammedov Date: Tue May 20 13:02:01 2008 +0400 Fix possible access to undefined memory region. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit d8ac48d4cbae0cc59b7784399292fbda3e231be3 Merge: d3ede32... 5d283e8... Author: David S. Miller Date: Tue May 20 20:34:22 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 5d283e8cdb8097b6a3e9304c9c8942ad9dc1a4eb Author: David Woodhouse Date: Mon May 19 16:32:02 2008 +0100 libertas: Fix ethtool statistics Fix various problems: - We converted MESH_ACCESS to a direct command but missed this caller. - We were trying to access mesh stats even on meshless firmware. - We should really zero the buffer if something goes wrong. Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0d580a774b3682b8b2b5c89ab9b813d149ef28e7 Author: Helmut Schaa Date: Tue May 20 09:56:37 2008 +0200 mac80211: fix NULL pointer dereference in ieee80211_compatible_rates Fix a possible NULL pointer dereference in ieee80211_compatible_rates introduced in the patch "mac80211: fix association with some APs". If no bss is available just use all supported rates in the association request. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit d40ace0c7b4a329f7d869d0fbf27435543bb2acc Merge: e616c63... 68432a0... Author: Linus Torvalds Date: Tue May 20 19:30:54 2008 -0700 Merge branch 'for-2.6.26' of git://linux-nfs.org/~bfields/linux * 'for-2.6.26' of git://linux-nfs.org/~bfields/linux: (25 commits) svcrdma: Verify read-list fits within RPCSVC_MAXPAGES svcrdma: Change svc_rdma_send_error return type to void svcrdma: Copy transport address and arm CQ before calling rdma_accept svcrdma: Set rqstp transport address in rdma_read_complete function svcrdma: Use ib verbs version of dma_unmap svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free svcrdma: Move the QP and cm_id destruction to svc_rdma_free svcrdma: Add reference for each SQ/RQ WR svcrdma: Move destroy to kernel thread svcrdma: Shrink scope of spinlock on RQ CQ svcrdma: Use standard Linux lists for context cache svcrdma: Simplify RDMA_READ deferral buffer management svcrdma: Remove unused READ_DONE context flags bit svcrdma: Return error from rdma_read_xdr so caller knows to free context svcrdma: Fix error handling during listening endpoint creation svcrdma: Free context on post_recv error in send_reply svcrdma: Free context on ib_post_recv error svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler svcrdma: Fix return value in svc_rdma_send svcrdma: Fix race with dto_tasklet in svc_rdma_send ... commit da8395be0bb04f685d55f124d046766d9209214a Author: Dave Jones Date: Tue May 20 22:13:09 2008 -0400 [CPUFREQ] Remove documentation of removed ondemand tunable. sampling_down_factor was removed in ccb2fe209dac9ff67f6351e783e610073afaaeaf back in June 2006. Signed-off-by: Dave Jones commit e616c6303306df62223ebe2e68bb2f19c420dd81 Merge: 789319d... d3ede32... Author: Linus Torvalds Date: Tue May 20 17:23:03 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) pktgen: make sure that pktgen_thread_worker has been executed [VLAN]: Propagate selected feature bits to VLAN devices drivers/atm/: remove CVS keywords vlan: Correctly handle device notifications for layered VLAN devices net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags() net_sched: cls_api: fix return value for non-existant classifiers ipsec: Use the correct ip_local_out function ipv6 addrconf: Allow infinite prefix lifetime. ipv6 route: Fix lifetime in netlink. ipv6 addrconf: Fix route lifetime setting in corner case. ndisc: Add missing strategies for per-device retrans timer/reachable time settings. ipv6: Move from header-y to unifdef-y. l2tp: avoid skb truesize bug if headroom is increased wireless: Create 'device' symlink in sysfs wireless, airo: waitbusy() won't delay libertas: fix command timeout after firmware failure mac80211: Add RTNL version of ieee80211_iterate_active_interfaces mac80211 : Association with 11n hidden ssid ap. hostap: fix "registers" registration in procfs isdn/capi: Return proper errnos on module init. ... commit 789319db76ccb8f61d2f6a91d2f2fcb70edae9c5 Merge: fd9908c... 93dae5b... Author: Linus Torvalds Date: Tue May 20 17:21:32 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Add global register dumping facility. sparc: remove CVS keywords sparc64: remove CVS keywords commit fd9908c078b30db393e9855fb96f804793af23ba Merge: 57312b7... afba937... Author: Linus Torvalds Date: Tue May 20 17:20:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: CDC WDM driver USB: ehci-orion: the Orion EHCI root hub does have a Transaction Translator USB: serial: ch341: New VID/PID for CH341 USB-serial USB: build fix USB: pxa27x_udc - Fix Oops USB: OPTION: fix name of Onda MSA501HS HSDPA modem USB: add TELIT HDSPA UC864-E modem to option driver usb-serial: Use ftdi_sio driver for RATOC REX-USB60F commit 57312b75aa06b09c28acd9c5a9c70827da3696d2 Merge: 1b5e2a7... 24b4256... Author: Linus Torvalds Date: Tue May 20 17:20:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: SCSI: fix race in device_create USB: Core: fix race in device_create USB: Phidget: fix race in device_create s390: fix race in device_create SOUND: fix race in device_create UIO: fix race in device_create Power Supply: fix race in device_create LEDS: fix race in device_create IB: fix race in device_create ide: fix race in device_create fbdev: fix race in device_create mm: bdi: fix race in bdi_class device creation Driver core: add device_create_vargs and device_create_drvdata commit 68432a03f8ff93a9eecee95cc8f02e7fe2025cc9 Merge: d71a4dd... a6f911c... Author: J. Bruce Fields Date: Tue May 20 19:57:38 2008 -0400 Merge branch 'from-tomtucker' into for-2.6.26 commit e1d50dce5af77cb6d33555af70e2b8748dd84009 Author: Jack Morgenstein Date: Tue May 20 15:41:09 2008 -0700 IPoIB: Test for NULL broadcast object in ipiob_mcast_join_finish() We saw a kernel oops in our regression testing when a multicast "join finish" occurred just after the interface was -- this is . The test randomly causes the HCA physical port to go down then up. The cause of this is that ipoib_mcast_join_finish() processing happen just after ipoib_mcast_dev_flush() was invoked (in which case the broadcast pointer is NULL). This patch tests for and handles the case where priv->broadcast is NULL. Cc: Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d3ede327e83f202c3a0962e207318f65717c5eb7 Author: Denis V. Lunev Date: Tue May 20 15:12:44 2008 -0700 pktgen: make sure that pktgen_thread_worker has been executed The following courruption can happen during pktgen stop: list_del corruption. prev->next should be ffff81007e8a5e70, but was 6b6b6b6b6b6b6b6b kernel BUG at lib/list_debug.c:67! :pktgen:pktgen_thread_worker+0x374/0x10b0 ? autoremove_wake_function+0x0/0x40 ? _spin_unlock_irqrestore+0x42/0x80 ? :pktgen:pktgen_thread_worker+0x0/0x10b0 kthread+0x4d/0x80 child_rip+0xa/0x12 ? restore_args+0x0/0x30 ? kthread+0x0/0x80 ? child_rip+0x0/0x12 RIP list_del+0x48/0x70 The problem is that pktgen_thread_worker can not be executed if kthread_stop has been called too early. Insert a completion on the normal initialization path to make sure that pktgen_thread_worker will gain the control for sure. Signed-off-by: Denis V. Lunev Acked-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 51e779f0daa5c712439d37b907d58543e4fcf12a Author: Johannes Berg Date: Mon May 19 07:18:10 2008 +0200 mac80211: don't claim iwspy support We removed iwspy support a very long time ago because it is useless, but forgot to stop claiming to support it. Apparently, nobody cares, but remove it nonetheless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 682c97c04b3041d0f29241b8bfa013093201e269 Author: Pavel Roskin Date: Fri May 16 17:53:03 2008 -0400 orinoco_cs: add ID for SpeedStream wireless adapters Reported by Gerald Willmann Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 449fecca0b74502b571f4199d46bcd6a11a5e2c2 Author: Pavel Roskin Date: Fri May 16 17:52:57 2008 -0400 hostap_cs: add ID for Conceptronic CON11CPro Reported by Santiago Garcia Mantinan Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit ea8ee240251cbac73b66d70d35eeabfbff86d3ce Author: Oliver Neukum Date: Thu May 15 21:49:16 2008 +0200 rtl8187: resource leak in error case This fixes resource leaks in error cases due to urb submission failures. Signed-off-by: Oliver Neukum Signed-off-by: John W. Linville commit 5fb13570543f4ae022996c9d7c0c099c8abf22dd Author: Patrick McHardy Date: Tue May 20 14:54:50 2008 -0700 [VLAN]: Propagate selected feature bits to VLAN devices Propagate feature bits from the NETDEV_FEAT_CHANGE notifier. For now only TSO is propagated for devices that announce their ability to support TSO in combination with VLAN accel by setting the NETIF_F_VLAN_TSO flag. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b9a3260f25ab5d2ba5c8b9508e7952848b9d704b Author: Steve French Date: Tue May 20 21:52:32 2008 +0000 [CIFS] Enable DFS support for Windows query path info Final piece for handling DFS in query_path_info, constructing a fake inode for the junction directory which the submount will cover. This handles the non-Unix (Windows etc.) code path. Signed-off-by: Steve French commit 7ff6e6f779960e1078a78b60a881571c04f52b9b Author: Adrian Bunk Date: Tue May 20 14:52:25 2008 -0700 drivers/atm/: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time. Signed-off-by: Adrian Bunk Acked-by: Chas Williams Signed-off-by: David S. Miller commit 89fd2e282ad510f801c1f44a660086f9d5bdf088 Author: Bob Copeland Date: Mon May 12 21:16:44 2008 -0400 ath5k: Fix loop variable initializations In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are initialized at the top of the tasklet, but not within the loop. If the loop is executed multiple times in the tasklet then the variables may see changes from previous packets. For TKIP, this results in 'Invalid Michael MIC' errors if two packets are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by mac80211 when it decrypts the first encrypted packet. The subsequent packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211 will not try to decrypt it. We currently initialize all but two fields in the structures, so fix the other two. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 81d85346b3fcd8b3167eac8b5fb415a210bd4345 Author: Patrick McHardy Date: Tue May 20 14:37:36 2008 -0700 vlan: Correctly handle device notifications for layered VLAN devices Commit 30688a9 ([VLAN]: Handle vlan devices net namespace changing) changed the device notifier to special-case notifications for VLAN devices, effectively disabling state propagation to underlying VLAN devices. This is needed for layered VLANs though, so restore the original behaviour. Signed-off-by: Patrick McHardy Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0e91796eb46e29edc791131c832a2232bcaed9dd Author: David Woodhouse Date: Tue May 20 14:36:14 2008 -0700 net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags() Am I just being particularly dim today, or can the call to dev->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags() never happen? We've just set dev->flags = flags & IFF_MULTICAST, effectively. So the condition '(dev->flags ^ flags) & IFF_MULTICAST' is _never_ going to be true. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit f2df824948d559ea818e03486a8583e42ea6ab37 Author: Patrick McHardy Date: Tue May 20 14:34:46 2008 -0700 net_sched: cls_api: fix return value for non-existant classifiers cls_api should return ENOENT when the requested classifier doesn't exist. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1ac06e0306d0192a7a4d9ea1c9e06d355ce7e7d3 Author: Herbert Xu Date: Tue May 20 14:32:14 2008 -0700 ipsec: Use the correct ip_local_out function Because the IPsec output function xfrm_output_resume does its own dst_output call it should always call __ip_local_output instead of ip_local_output as the latter may invoke dst_output directly. Otherwise the return values from nf_hook and dst_output may clash as they both use the value 1 but for different purposes. When that clash occurs this can cause a packet to be used after it has been freed which usually leads to a crash. Because the offending value is only returned from dst_output with qdiscs such as HTB, this bug is normally not visible. Thanks to Marco Berizzi for his perseverance in tracking this down. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1b5e2a7e23439c13f73cacab1cf227f30cb9ae9f Merge: 737b0fb... eccf214... Author: Linus Torvalds Date: Tue May 20 14:28:34 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: iop-adma: fixup some kzalloc/memset confusions fsldma: update the fsldma driver MAINTAINERS info commit afba937e540c902c989cd516fd97ea0c8499bb27 Author: Oliver Neukum Date: Tue May 13 17:01:25 2008 +0200 USB: CDC WDM driver Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 129bd474a80726247e5b1c61fe66a413e63053bc Author: Lennert Buytenhek Date: Tue May 20 19:08:53 2008 +0200 USB: ehci-orion: the Orion EHCI root hub does have a Transaction Translator Commit 7329e211b987a493cbcfca0e98c60eb108ab42df ("USB: root hubs don't lie about their number of TTs") requires the various platform EHCI glue modules to set ->has_tt if the root hub has a Transaction Translator. The Orion EHCI root hub does have a Transaction Translator, so set ->has_tt in ehci_orion_setup(). This fixes oopsing on plugging in a low speed device. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 82078234d4023c61b9d88e8be5e795423d17538e Author: Michael F. Robbins Date: Fri May 16 23:48:42 2008 -0400 USB: serial: ch341: New VID/PID for CH341 USB-serial Recent USB-serial devices using the WinChipHead CH340/CH341 chipset are being shipped with a new vendor/product ID code pair, but an otherwise identical device. (This is confirmed by looking at INF for the included Windows driver.) Patch is tested and working, both with new and old devices. Signed-off-by: Michael F. Robbins Signed-off-by: Greg Kroah-Hartman commit f82b9878e9fe7351370d4426d9437a62c0c1ebe5 Author: Ingo Molnar Date: Fri May 16 09:30:14 2008 +0200 USB: build fix this config: http://redhat.com/~mingo/misc/config-Wed_Apr_30_15_12_48_CEST_2008.bad fails to build due to an #error. Turn that into a #warning instead to not break randconfig builds unnecessarily. Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 3f886620742edd4e7e037d7d9349be69df0ce59b Author: karl beldan Date: Fri May 16 11:30:22 2008 +0200 USB: pxa27x_udc - Fix Oops udc_disable oopses dereferencing udc_command. Signed-off-by: Karl Beldan Acked-by: Robert Jarzmik Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1b2d23d49cf4b4b1fe3b43d3ffd6077fc4ee9ac6 Author: Arnaldo Carvalho de Melo Date: Fri May 16 15:41:40 2008 -0300 USB: OPTION: fix name of Onda MSA501HS HSDPA modem This fixes the name of the onda MSA501HS device, I guess it is called different things in different countries. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman commit ee53b0ca0153b4f944cb142b5e65c96a1860d765 Author: Greg Kroah-Hartman Date: Thu May 15 10:07:44 2008 -0700 USB: add TELIT HDSPA UC864-E modem to option driver This adds the Telit UC864-E HDSPA modem support to the option driver. This lets their customers comply with the GPL instead of having to use a binary driver from the manufacturer. Cc: Simon Kissel Cc: Nico Erfurth Cc: Andrea Ghezzo Cc: Dietmar Staps Cc: stable Signed-off-by: Greg Kroah-Hartman commit 26ab705396b65a469233a8327ecb51b8aebb6be0 Author: Atsushi Nemoto Date: Sat May 17 00:13:56 2008 +0900 usb-serial: Use ftdi_sio driver for RATOC REX-USB60F This patch reverts 57833ea6b95a3995149f1f6d1a8d8862ab7a0ba2 ("usb-serial: pl2303: add support for RATOC REX-USB60F") and adds support for the device to ftdi_sio driver. Cc: Akira Tsukamoto Cc: stable Signed-off-by: Atsushi Nemoto Signed-off-by: Greg Kroah-Hartman commit e5ec3789c16e12a1936a3be7bdda51897a4148b8 Author: Steve Wise Date: Tue May 20 14:06:33 2008 -0700 MAINTAINERS: Add cxgb3 and iw_cxgb3 NIC and iWARP driver entries Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit cd155c1c7c9e64df6afb5504d292fef7cb783a4f Author: Roland Dreier Date: Tue May 20 14:00:02 2008 -0700 IB/mlx4: Fix creation of kernel QP with max number of send s/g entries When creating a kernel QP where the consumer asked for a send queue with lots of scatter/gater entries, set_kernel_sq_size() incorrectly returned an error if the send queue stride is larger than the hardware's maximum send work request descriptor size. This is not a problem; the only issue is to make sure that the actual descriptors used do not overflow the maximum descriptor size, so check this instead. Clamp the returned max_send_sge value to be no bigger than what query_device returns for the max_sge to avoid confusing hapless users, even if the hardware is capable of handling a few more s/g entries. This bug caused NFS/RDMA mounts to fail when the server adapter used the mlx4 driver. Signed-off-by: Roland Dreier commit eccf2144e1232c33a8235033ffa079b6ebf92faf Author: Christophe Jaillet Date: Tue May 20 16:33:06 2008 -0700 iop-adma: fixup some kzalloc/memset confusions 1) Remove an explicit memset(.., 0, ...) to a variable allocated with kzalloc (i.e. 'dest'). 2) Allocate 'src' with kmalloc instead of kzalloc as all elements of the 'src' buffer are initialized in a 'for(...)' loop just after. 3) remove useless 'sizeof(u8)', which always returns 1, when computing the size of the memory to be allocated. Signed-off-by: Christophe Jaillet Signed-off-by: Dan Williams commit 76b0c788e6033c514f2a75171b04c73c68d28e8d Author: Zhang Wei Date: Tue May 13 14:44:59 2008 -0700 fsldma: update the fsldma driver MAINTAINERS info Add Li Yang as the new maintainer for fsldma driver and update my email address. Acked-by: Li Yang Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit 24b42566c3fcbb5a9011d1446783d0f5844ccd45 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 SCSI: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). It fixes the problem in all of the scsi drivers that need it. Cc: Kay Sievers Cc: Doug Gilbert Cc: James E.J. Bottomley Signed-off-by: Greg Kroah-Hartman commit c013d040b70bc2bff5465917ebb255a70b650396 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 USB: Core: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit bfd3a5a96c1dd432303fdf2283e770419f6aecb3 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 USB: Phidget: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). It fixes all 3 phidget drivers, which all have the same problem. Cc: Kay Sievers Cc: Sean Young Signed-off-by: Greg Kroah-Hartman commit c5fb920aec2090a44aa4c33546b9f3c3affa538c Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 s390: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5d99a8b814abd76e89ef2cf90e29bbb879d6d66c Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 SOUND: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit 43691da4cefcf0d0dd6432f9e7e0dba902b59597 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 UIO: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 54d29ad33e3483bcc7ca433a21cf294854e5154a Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 Power Supply: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: Anton Vorontsov Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 0b00fc5851551781e8a30153af2c94cee9fa84af Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 LEDS: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: Richard Purdie Signed-off-by: Greg Kroah-Hartman commit 6c06aec2487f7568cf57471a20f422568f25d551 Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 IB: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Reviewed-by: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit 716ad8750a3ffe6b458d52da2d1c01cbf3e2f60d Author: Greg Kroah-Hartman Date: Fri May 16 17:55:12 2008 -0700 ide: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8b485877e0b9eb23c3579f50cca165f75442c6cc Author: Greg Kroah-Hartman Date: Thu May 15 13:44:08 2008 -0700 fbdev: fix race in device_create There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers Cc: James Simmons Signed-off-by: Greg Kroah-Hartman commit 19051c5035d217e572672a2ca9db06c1cef50e9b Author: Greg Kroah-Hartman Date: Thu May 15 13:44:08 2008 -0700 mm: bdi: fix race in bdi_class device creation There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_vargs(). Many thanks to Arthur Jones for reporting the bug, and testing patches out. Cc: Kay Sievers Cc: Arthur Jones Cc: Peter Zijlstra Cc: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 8882b39421bae317e3ee864edd845e994307ce16 Author: Greg Kroah-Hartman Date: Thu May 15 13:44:08 2008 -0700 Driver core: add device_create_vargs and device_create_drvdata We want to have the drvdata field set properly when creating the device as sysfs callbacks can assume it is present and it can race the later setting of this field. So, create two new functions, deviec_create_vargs() and device_create_drvdata() that take this new field. device_create_drvdata() will go away in 2.6.27 as the drvdata field will just be moved to the device_create() call as it should be. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0e4bbde94fdc33f5b3d793166b21bf768ca3e098 Author: Steve French Date: Tue May 20 19:50:46 2008 +0000 [CIFS] Enable DFS support for Unix query path info Final piece for handling DFS in unix_query_path_info, constructing a fake inode for the junction directory which the submount will cover. Acked-by: Igor Mammedov Signed-off-by: Steve French commit 737b0fbf448306975267509e6c6a074885ddb43c Merge: c110a2b... c1f69db... Author: Linus Torvalds Date: Tue May 20 10:55:04 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: correct mailing list address PCI: Correct last two HP entries in the bfsort whitelist commit 65e660aa3f76b120c2fe69bf07e1b416dae404a7 Author: Bruno Prémont Date: Tue May 20 13:47:28 2008 -0400 Input: i8042 - add Dritek quirk for Acer TravelMate 660 The Acer TravelMate 660 series also requires the Dritek quirk to enable the extra scancodes. Signed-off-by: Bruno Prémont Signed-off-by: Dmitry Torokhov commit c110a2bd82676a8f124cf4dfc39339fd366f0e59 Merge: 81b2dbc... 551f4cb... Author: Linus Torvalds Date: Tue May 20 10:12:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: prevent userspace from accessing shut down devices ieee1394: sbp2: use correct size of command descriptor block commit 81b2dbcad86732ffc02bad87aa25c4651199fc77 Author: Arjan van de Ven Date: Tue May 20 09:53:52 2008 -0700 Fix a deadlock in the bttv driver vidiocgmbuf() does this: mutex_lock(&fh->cap.vb_lock); retval = videobuf_mmap_setup(&fh->cap, gbuffers, gbufsize, V4L2_MEMORY_MMAP); and videobuf_mmap_setup() then just does mutex_lock(&q->vb_lock); ret = __videobuf_mmap_setup(q, bcount, bsize, memory); mutex_unlock(&q->vb_lock); which is an obvious double-take deadlock. This patch fixes this by having vidiocgmbuf() just call the __videobuf_mmap_setup function instead. Acked-by: Mauro Carvalho Chehab Reported-by: Koos Vriezen Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 551f4cb9de716ffcdaf968c99a450c22ff12e8c3 Author: Jay Fenlason Date: Fri May 16 11:15:23 2008 -0400 firewire: prevent userspace from accessing shut down devices If userspace ignores the POLLERR bit from poll(), and only attempts to read() the device when POLLIN is set, it can still make ioctl() calls on a device that has been removed from the system. The node_id and generation returned by GET_INFO will be outdated, but INITIATE_BUS_RESET would still cause a bus reset, and GET_CYCLE_TIMER will return data. And if you guess the correct generation to use, you can send requests to a different device on the bus, and get responses back. This patch prevents open, ioctl, compat_ioctl, and mmap against shutdown devices. Signed-off-by: Jay Fenlason Signed-off-by: Stefan Richter commit 93c596f7d611b379302bbdd26f31acdf72f4859a Author: Stefan Richter Date: Sun May 4 16:54:14 2008 +0200 ieee1394: sbp2: use correct size of command descriptor block Boaz Harrosh wrote: > cmd->cmd_len is now guarantied to be set properly at all cases. > And some commands you want to support will not be set correctly > by COMMAND_SIZE(). Signed-off-by: Stefan Richter commit babd90b274e6b43a7dc7bb08562bf566cbabdbf8 Merge: 424de91... 186c311... Author: Linus Torvalds Date: Tue May 20 08:49:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] hda - Fix ASUS P5GD1 model [ALSA] hda - Fix ALC262 fujitsu model snd-pcsp: use HRTIMER_CB_SOFTIRQ commit 424de91dd6163808729d7082de55c319e1096bee Merge: bca39da... f8dea7a... Author: Linus Torvalds Date: Tue May 20 08:16:25 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: remove CVS keywords HID: Add iMON LCDs to blacklist HID: add Microchip PICKit 1 and PICkit 2 to blacklist HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN. commit bca39da5645c72048e8854340575c338b8100bca Merge: 551395a... 09c2012... Author: Linus Torvalds Date: Tue May 20 08:15:34 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Update defconfigs for desktop/server systems [POWERPC] Fix mpc8377_mds.dts DMA nodes to match spec [POWERPC] Update arch/powerpc/boot/.gitignore [POWERPC] Remove generated files on make clean [POWERPC] powerpc/mm/hash_low_32.S: Remove CVS keyword [POWERPC] Update Cell MAINTAINERS entry, add spufs entry lmb: Fix compile warning commit 551395ae667d699189014f762355e9131fc03e79 Merge: a8375bd... 00377d8... Author: Linus Torvalds Date: Tue May 20 08:15:18 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: [GFS2] Prefer strlcpy() over snprintf() [GFS2] Fix cast from unsigned int to s64 [GFS2] filesystem consistency error from do_strip commit a8375bd81cf99cb81be37127eaf08316ecb87619 Author: Hugh Dickins Date: Tue May 20 13:59:47 2008 +0100 x86: strengthen 64-bit p?d_bad() The x86_64 pgd_bad(), pud_bad(), pmd_bad() inlines have differed from their x86_32 counterparts in a couple of ways: they've been unnecessarily weak (e.g. letting 0 or 1 count as good), and were typed as unsigned long. Strengthen them and return int. The PAE pmd_bad was too weak before, allowing any junk in the upper half; but got strengthened by the patch correcting its ~PAGE_MASK to ~PTE_MASK. The PAE pud_bad already said ~PTE_MASK; and since it folds into pgd_bad, and we don't set the protection bits at that level, it'll do as is. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit cbb3077cbe718795d7ae5d78ed11659ca73c97b9 Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:24 2008 +0100 xen: use PTE_MASK in pte_mfn() Use PTE_MASK to extract mfn from pte. Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit ba23cef5c23cf1e9298032037d919157553d1211 Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:23 2008 +0100 x86: use PTE_MASK rather than ad-hoc mask Use ~PTE_MASK to extract the non-pfn parts of the pte (ie, the pte flags), rather than constructing an ad-hoc mask. Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 86aaf4fd4ea25ddde05772d03b93dbce23c0ead1 Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:22 2008 +0100 x86: clarify use of _PAGE_CHG_MASK _PAGE_CHG_MASK is defined as the set of bits not updated by pte_modify(); specifically, the pfn itself, and the Accessed and Dirty bits (which are updated by hardware). Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 7f84133af6aaa86e9ef0e9e1970655439a8cf3a1 Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:21 2008 +0100 x86: use PTE_MASK in pgtable_32.h Signed-off-by: Linus Torvalds commit a4d6886270a5c892d71cd6e09186196a150a50dc Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:20 2008 +0100 x86: use PTE_MASK in 32-bit PAE Use PTE_MASK in 3-level pagetables (ie, 32-bit PAE). Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit c57c05d0032cd5a500c5eba18ede4867a6d2cd5f Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:19 2008 +0100 x86: rearrange __(VIRTUAL|PHYSICAL)_MASK Put the definitions of __(VIRTUAL|PHYSICAL)_MASK before their uses. Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 1bb271db63c356212564aad050b2cf026f800858 Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:18 2008 +0100 x86: fix warning on 32-bit non-PAE Fix the warning: include2/asm/pgtable.h: In function `pte_modify': include2/asm/pgtable.h:290: warning: left shift count >= width of type On 32-bit PAE the virtual and physical addresses are both 32-bits, so it ends up evaluating 1<<32. Do the shift as a 64-bit shift then cast to the appropriate size. This should all be done at compile time, and so have no effect on generated code. Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 2bd3a99c9d1851182f73d0a024dc5bdb0a470e8c Author: Jeremy Fitzhardinge Date: Tue May 20 08:26:17 2008 +0100 x86: define PTE_MASK in a universally useful way Define PTE_MASK so that it contains a meaningful value for all x86 pagetable configurations. Previously it was defined as a "long" which means that it was too short to cover a 32-bit PAE pte entry. It is now defined as a pteval_t, which is an integer type long enough to contain a full pte (or pmd, pud, pgd). This fixes an Xorg crash on 32-bit x86 with PAE due to corruption of the NX bit in mprotect due to the incorrect type/value of PTE_MASK reported by Hugh Dickins: "Yes, thanks Jeremy: I've checked that each stage builds and runs X on my boxes here, x86_32 and x86_32+PAE and x86_64. (So even 1/8 is enough to fix the PAT pte_modify issue, though 2/8 then fixes compiler warnings.)" Signed-off-by: Jeremy Fitzhardinge Tested-by: Hugh Dickins Signed-off-by: Linus Torvalds commit f8dea7a3d47ee7c857965b22e33229e7de410a88 Author: Adrian Bunk Date: Tue May 20 01:31:25 2008 +0200 HID: remove CVS keywords This patch removes CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: Jiri Kosina commit 0952c9e8eda6dea621176b2263323e74d05f50c1 Author: Dylan R Semler Date: Wed May 14 11:38:14 2008 +0200 HID: Add iMON LCDs to blacklist The new iMON LCDs from SoundGraph need to be blacklisted from HID in order to be used by lirc. Signed-off-by: Dylan R Semler Signed-off-by: Jiri Kosina commit f4971031f4acd98423a2903c6517fb3ef1aea8dc Author: Xiaofan Chen Date: Tue May 13 17:11:59 2008 +0200 HID: add Microchip PICKit 1 and PICkit 2 to blacklist Microchip PICkit 1 and PICKit 2 USB Programmers are USB HID class of device but they are not real HID device. They are now supported by libusb based programs like the following programs. pk2 and pk2cmd Linux port: http://home.pacbell.net/theposts/picmicro/ usb_pickit: http://tfc.duke.free.fr/pickit.html usb_pickit original version: http://charm.cs.uiuc.edu/users/olawlor/projects/2003/microchip/ Therefore it ispreferred to blacklist them. Signed-off-by: Xiaofan Chen Signed-off-by: Jiri Kosina commit 6e7045990f35ef9250804b3fd85e855b8c2aaeb6 Author: Diego 'Flameeyes' Petteno Date: Mon May 5 16:20:50 2008 +0200 HID: split Numlock emulation quirk from HID_QUIRK_APPLE_HAS_FN. Since 2.6.25 the HID_QUIRK_APPLE_HAS_FN quirk is enabled even for non-laptop Apple keyboards of the Aluminium series. The USB version of these don't need Numlock emulation, like the laptop (and Aluminium Wireless) do, as they have a proper keypad. This patch splits the Numlock emulation for Apple keyboards in a different quirk flag, so that it can be enabled for all the keyboards but the Aluminium USB ones. If the Numlock emulation is enabled for Aluminium USB keyboards, the JKL and UIO keys become the numeric pad, and the rest of the keyboard is disabled, included the key used to disable Numlock. Additionally, these keyboard should not have a Numlock at all, as the Numlock key is instead replaced by the 'Clear' key as usual for Apple USB keyboards. Signed-off-by: Diego 'Flameeyes' Petteno Signed-off-by: Jiri Kosina commit 09c201219b000c5d79a7a7ebeb2f9768e97224fc Author: Paul Mackerras Date: Tue May 20 20:04:12 2008 +1000 [POWERPC] Update defconfigs for desktop/server systems Signed-off-by: Paul Mackerras commit 186c3117f8aac0b2ac5290aaed254fcfdcc937de Author: Travis Place Date: Tue May 20 11:54:41 2008 +0200 [ALSA] hda - Fix ASUS P5GD1 model Corrected the model assignment for the ASUS P5GD1 w/SPDIF after reports of surround sound not being possible. Signed-off-by: Travis Place Signed-off-by: Takashi Iwai commit ebc7a406633acefc6d12c1ccc9441bfef69e0f33 Author: Takashi Iwai Date: Tue May 20 09:23:05 2008 +0200 [ALSA] hda - Fix ALC262 fujitsu model Fixed the speaker auto-mute with two laptop and docking headphones. Signed-off-by: Takashi Iwai Acked-by: Tony Vroon commit 4b7afb0d0d23b298a7e6d30eaba0679449542d2e Author: Stas Sergeev Date: Tue May 20 11:47:29 2008 +0200 snd-pcsp: use HRTIMER_CB_SOFTIRQ Change HRTIMER_CB_IRQSAFE to HRTIMER_CB_SOFTIRQ, as suggested by Thomas Gleixner. That solves the lock dependancy reported in Bug #10701. That also allows to call hrtimer_start() directly, tasklet "stupid hack" removed. Signed-off-by: Stas Sergeev Acked-by: Thomas Gleixner Signed-off-by: Takashi Iwai commit 927c258ac6c68868c6d36ce6cc17cda831ab8738 Merge: d3d3d3c... 8939700... Author: Paul Mackerras Date: Tue May 20 19:46:37 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge commit ca56d9aaf2a135e0eb528df427f7dda15d077b11 Author: Bryan Wu Date: Tue May 20 16:45:29 2008 +0800 Blackfin arch: Fix typo. it should be _outsw_8 Signed-off-by: Bryan Wu commit f086f23435bf42f700296f1be3878f6aa6e9b7dd Author: Michael Hennerich Date: Tue May 20 16:42:39 2008 +0800 Blackfin arch: Cleanup no functional changes Singed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 93dae5b70e7c1c8e927d22e1c20a941ca376906a Author: David S. Miller Date: Mon May 19 23:46:00 2008 -0700 sparc64: Add global register dumping facility. When a cpu really is stuck in the kernel, it can be often impossible to figure out which cpu is stuck where. The worst case is when the stuck cpu has interrupts disabled. Therefore, implement a global cpu state capture that uses SMP message interrupts which are not disabled by the normal IRQ enable/disable APIs of the kernel. As long as we can get a sysrq 'y' to the kernel, we can get a dump. Even if the console interrupt cpu is wedged, we can trigger it from userspace using /proc/sysrq-trigger The output is made compact so that this facility is more useful on high cpu count systems, which is where this facility will likely find itself the most useful :) Signed-off-by: David S. Miller commit 88278ca27a43ae503572b52ea2c171fbf45db5a2 Author: Adrian Bunk Date: Mon May 19 16:53:02 2008 -0700 sparc: remove CVS keywords This patch removes the CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b00dc8376465ee5f8dd49b95924e31b4c2404ab0 Author: Adrian Bunk Date: Mon May 19 16:52:27 2008 -0700 sparc64: remove CVS keywords This patch removes the CVS keywords that weren't updated for a long time from comments. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 8939700edcd2bdb7a1af0defceb2532ee2565bc3 Author: Kumar Gala Date: Sun May 18 13:30:03 2008 -0500 [POWERPC] Fix mpc8377_mds.dts DMA nodes to match spec Signed-off-by: Kumar Gala commit 4978757987e5535614a1307bf8ccc938e28765a9 Author: Kumar Gala Date: Sun May 18 13:25:28 2008 -0500 [POWERPC] Update arch/powerpc/boot/.gitignore * Add dtbImage.* * Added zImage.holly * Folded zImage.coff.lds into zImage.*lds * Removed some unused zImage. ignores Signed-off-by: Kumar Gala commit b58a45752886bdd282b1e707e01d41454ab7e271 Author: Kumar Gala Date: Sun May 18 13:23:03 2008 -0500 [POWERPC] Remove generated files on make clean dtbImage.* and several zImage. targets get created but never cleaned up. Also, moved zImage to the clean-files line associated with all other image results (was previously duplicated). Signed-off-by: Kumar Gala commit 6f704992d3658aadff9e506c7fd80957fce33c5f Author: YOSHIFUJI Hideaki Date: Mon May 19 16:56:11 2008 -0700 ipv6 addrconf: Allow infinite prefix lifetime. We need to handle infinite prefix lifetime specially. With help from original reporter "Bonitch, Joseph" . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 69cdf8f92a8dd191eee0e834c631d84a140b1121 Author: YOSHIFUJI Hideaki Date: Mon May 19 16:55:13 2008 -0700 ipv6 route: Fix lifetime in netlink. We could not see appropriate lifetime if the route had been scheduled to expired at 0 (in jiffies). We should check rt6i_flags instead of rt6i_expires to determine whether lifetime is valid or not. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit a3264435b4ca1ccee54cbef2970f2ba4bef39e2d Author: YOSHIFUJI Hideaki Date: Mon May 19 16:54:29 2008 -0700 ipv6 addrconf: Fix route lifetime setting in corner case. Because of arithmetic overflow avoidance, the actual lifetime setting (vs the value given by RA) did not increase monotonically around 0x7fffffff/HZ. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 8033c6e9736c29cce5f0d0abbca9a44dffb20c39 Merge: 2d3cf58... e5c0ef9... Author: Linus Torvalds Date: Mon May 19 16:40:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: at91_mci: minor cleanup mmc: mmc host test driver mmc: Fix omap compile by replacing dev_name with dma_dev_name commit 2d3cf588e9bf6df0a22581baece7edeacfbbc9f5 Author: Brice Goglin Date: Sat May 17 12:45:36 2008 +0200 Add maintainers for myri10ge driver Add a MAINTAINERS entry for the myri10ge driver. Signed-off-by: Brice Goglin Signed-off-by: Linus Torvalds commit 16ae527bfa03c6c82328098eafae972807ed32d4 Merge: e23a5f6... 6793a05... Author: Linus Torvalds Date: Mon May 19 16:38:10 2008 -0700 Merge branch 'audit.b51' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b51' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] list_for_each_rcu must die: audit [patch 1/1] audit_send_reply(): fix error-path memory leak [PATCH] open sessionid permissions commit e23a5f66877d32f21a2ac15a200ad4a2b4c8b0ee Merge: c9091f9... e9baf6e... Author: Linus Torvalds Date: Mon May 19 16:37:45 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] return to old errno choice in mkdir() et.al. [Patch] fs/binfmt_elf.c: fix wrong return values [PATCH] get rid of leak in compat_execve() [Patch] fs/binfmt_elf.c: fix a wrong free [PATCH] avoid multiplication overflows and signedness issues for max_fds [PATCH] dup_fd() part 4 - race fix [PATCH] dup_fd() - part 3 [PATCH] dup_fd() part 2 [PATCH] dup_fd() fixes, part 1 [PATCH] take init_files to fs/file.c commit c9091f9e571386992c8c5badcec84d49753b9df1 Merge: cc2020e... 13c501e... Author: Linus Torvalds Date: Mon May 19 16:36:28 2008 -0700 Merge branch 'for-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx * 'for-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx: [POWERPC] 4xx: Workaround for CHIP_11 Errata commit cc2020e62dd607ef907bb44325ac95cbb5b76eb2 Author: Alan Cox Date: Mon May 19 14:21:51 2008 +0100 MAINTAINERS needs further order fixing Signed-off-by: Linus Torvalds commit d3d3d3cdb12dcc72e7bbff3d01073b7600349d3c Author: Adrian Bunk Date: Tue May 20 01:07:25 2008 +0300 [POWERPC] powerpc/mm/hash_low_32.S: Remove CVS keyword This removes a CVS keyword that wasn't updated for a long time from a comment. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 754cdd4aba225b74dcc35cc384aeb0c42b505e8b Merge: db07b02... 460ed2e... Author: Linus Torvalds Date: Mon May 19 16:33:29 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin SPORTS UART Driver: converting BFIN->BLACKFIN Blackfin serial driver: add extra IRQ flag for 8250 serial driver 8250 Serial Driver: Added support for 8250-class UARTs in HV Sistemas H8606 board Blackfin arch: Fix bug - USB fails to build for BF524/BF526 Blackfin arch: update boards defconfig files Blackfin arch: IO Port functions to read/write unalligned memory Blackfin arch: enable a choice to provide 4M DMA memory Blackfin arch: cleanup the icplb/dcplb multiple hit checks Blackfin arch: Add workaround to read edge triggered GPIOs Blackfin arch: Sync channel defines with struct dma_register dma_io_base_addr. Blackfin arch: Check for Anomaly 05000182 [Blackfin] arch: rename bf5xx-flash to bfin-async-flash [Blackfin] arch: Blackfin checksum annotations commit db07b02304d0d70bf8273abc93d94e4c8d2f9cec Merge: 88e6c94... 336f1d3... Author: Linus Torvalds Date: Mon May 19 16:33:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix up restorer in debug_trap exception return path. sh: Make is_valid_bugaddr() more intelligent on nommu. sh: use the common ascii hex helpers sh: fix sh7785 master clock value sh: Fix up thread info pointer in syscall_badsys resume path. sh: Fix up optimized SH-4 memcpy on big endian. sh: disable initrd defaults in .empty_zero_page. sh: display boot params by default on entry. commit 44dc19c829c057dc78a5ffacaf851ac4c301eb58 Merge: 0686caa... 229ce3a... Author: David S. Miller Date: Mon May 19 16:29:40 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 88e6c9499f959cdac9ef120a1a1e857da5944052 Merge: 8c4bab3... c85665f... Author: Linus Torvalds Date: Mon May 19 16:29:29 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (28 commits) drivers/ata: trim trailing whitespace Fixups to ATA ACPI hotplug libata: ignore SIMG4726 config pseudo device sata_sil24: don't use NCQ if marvell 4140 PMP is attached libata: don't schedule LPM action seperately during probing libata: make sure PMP notification is turned off during recovery libata: increase PMP register access timeout to 3s libata: ignore recovered PHY errors libata: kill hotplug related race condition libata: move reset freeze/thaw handling into ata_eh_reset() libata: reorganize ata_eh_reset() no reset method path libata: fix sata_link_hardreset() @online out parameter handling sata_promise: other cleanups sata_promise: mmio access cleanups sata_promise: fix irq clearing buglets ata: remove FIT() macro sata_mv: ensure empty request queue for FBS-NCQ EH sata_mv: cache main_irq_mask register in hpriv sata_mv: disregard masked irqs sata_mv: fix pmp drives not found ... commit 0686caa35ed17cf5b9043f453957e702a7eb588d Author: YOSHIFUJI Hideaki Date: Mon May 19 16:25:42 2008 -0700 ndisc: Add missing strategies for per-device retrans timer/reachable time settings. Noticed from Al Viro via David Miller . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b815454221665b9253f68606bc27f8189ac9dce4 Author: Arnd Bergmann Date: Fri May 16 11:10:59 2008 +0200 [POWERPC] Update Cell MAINTAINERS entry, add spufs entry The MAINTAINERS file entry for the cell platform is outdated, even the name of the platform changed since the early days when it was initially submitted. The SPU file system is now maintained by Jeremy Kerr. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c1f69db782595a9869395dad4b60d331906c22ef Author: Jesse Barnes Date: Mon May 19 15:28:16 2008 -0700 PCI: correct mailing list address Forgot to update the PCI error handling address with the new @vger one. Signed-off-by: Jesse Barnes commit 89562b777c50d100d1694db7b1b023279839b9ae Author: Steve French Date: Mon May 19 22:26:42 2008 +0000 [CIFS] add missing seq_printf to cifs_show_options for hard mount option Also Kari Hurtta noticed a missing check in the same function which is now fixed. CC: Kari Hurtta Signed-off-by: Steve French commit 667ad4f70110357e8f024e81741c7bd1d7906e7d Author: maximilian attems Date: Thu May 8 22:10:01 2008 +0200 [CPUFREQ] Crusoe: longrun cpufreq module reports false min freq The longrun cpufreq module reports a false minimum frequency 3MHz on 300-600MHz Crusoe processor. This may be due to a calculation bug in the module. Original patch from Kaz Sasayama submitted as http://bugs.debian.org/468149 patch ported to x86 Cc: Kaz Sasayama Signed-off-by: maximilian attems Signed-off-by: Dave Jones commit eba9fe93a2959ec7f195c47c9db6ce7b5114ce1f Author: Mark Langsdorf Date: Tue Mar 18 15:24:32 2008 -0500 [CPUFREQ] powernow-k8: improve error messages The most common error with powernow-k8 is an ACPI _PSS error caused either by failure to load the ACPI processor module or a bad parse of the _PSS object. Make the error message returned to the user in these situations more straightforward and easier to understand. -Mark Langsdorf Operating System Research Center AMD Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Signed-off-by: Dave Jones commit c85665ffa8e351a5b38f8e4ceaec527d8783c970 Author: Jeff Garzik Date: Mon May 19 17:56:10 2008 -0400 drivers/ata: trim trailing whitespace Signed-off-by: Jeff Garzik commit ae6c23c4e1ec9720b99e1e6850fe47c6c7fddbb3 Author: Matthew Garrett Date: Mon May 19 17:29:34 2008 +0100 Fixups to ATA ACPI hotplug The libata-acpi.c code currently accepts hotplug messages from both the port and the device. This does not match the behaviour of the bay driver, and may result in confusion when two hotplug requests are received for the same device. This patch limits the hotplug notification to removable ACPI devices, which in turn allows it to use the _STA method to determine whether the device has been removed or inserted. On removal, devices are marked as detached. On insertion, a hotplug scan is started. This should avoid lockups caused by the ata layer attempting to scan devices which have been removed. The uevent sending is moved outside the spinlock in order to avoid a warning generated by it firing when interrupts are disabled. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit 50af2fa1e18d0ab411d06bf727ecadb7e01721e9 Author: Tejun Heo Date: Mon May 19 01:15:14 2008 +0900 libata: ignore SIMG4726 config pseudo device I was hoping ATA_HORKAGE_NODMA | ATA_HORKAGE_SKIP_PM could keep it happy but no even this doesn't work under certain configurations and it's not like we can do anything useful with the cofig device anyway. Replace ATA_HORKAGE_SKIP_PM with ATA_HORKAGE_DISABLE and use it for the config device. This makes the device completely ignored by libata. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 906c1ff44a81aaad96a9feb40ea13d73bbf3662a Author: Tejun Heo Date: Mon May 19 01:15:13 2008 +0900 sata_sil24: don't use NCQ if marvell 4140 PMP is attached When 4140 PMP is attached to sil24, NCQ commands to fan out port 1 and 2 (0 based) often stall if commands are in progress to other ports. I've tried a number of things but can't tell what's going on. It never happens w/ ahci and reportedly sata_mv which can issue NCQ commands to multiple devices simultaneously like sil24 does. Disable NCQ for devices behind 4140 PMP for the time being. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit 391191c116c088edc6794a6e5ace10a13928c2f6 Author: Tejun Heo Date: Mon May 19 01:15:12 2008 +0900 libata: don't schedule LPM action seperately during probing There's no reason to schedule LPM action after probing is complete causing another EH iteration. Just schedule it together with probing itself. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f1bbfb90e81dd84d59de6370689ee6fe6a71fee0 Author: Tejun Heo Date: Mon May 19 01:15:11 2008 +0900 libata: make sure PMP notification is turned off during recovery PMP notification during reset can make some controllers fail reset processing and needs to be turned off during resets. PMP attach and full-revalidation path did this via sata_pmp_configure() but the quick revalidation wasn't. Move the notification disable code right above fan-out port recovery so that it's always turned off. This fixes obscure reset failures. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit bf1bff6fa9fdd4e92e57d80a5434fd5201c051fc Author: Tejun Heo Date: Mon May 19 01:15:10 2008 +0900 libata: increase PMP register access timeout to 3s This timeout was set low because previously PMP register access was done via polling and register access timeouts could stack up. This is no longer the case. One timeout will make all following accesses fail immediately. In rare cases both marvell and SIMG PMPs need almost a second. Bump it to 3s. While at it, rename it to SATA_PMP_RW_TIMEOUT. It's not specific to SCR access. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e0614db2a398d4d0dc5fb47fe2c2783141262a3e Author: Tejun Heo Date: Mon May 19 01:15:09 2008 +0900 libata: ignore recovered PHY errors No reason to get overzealous about recovered comm and data errors. Some PHYs habitually sets them w/o no good reason and being draconian about these soft error conditions doesn't seem to help anybody. If need ever rises, we might need to add soft PHY error condition, say AC_ERR_MAYBE_ATA_BUS and use it only to determine whether speed down is necessary but I don't think that's very likely to happen. It's far more likely we'll get timeouts or fatal transmission errors if recovered errors are so prominent that they hamper operation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f046519fc85a8fdf6a058b4ac9d897cdee6f3e52 Author: Tejun Heo Date: Mon May 19 01:15:08 2008 +0900 libata: kill hotplug related race condition Originally, whole reset processing was done while the port is frozen and SError was cleared during @postreset(). This had two race conditions. 1: hotplug could occur after reset but before SError is cleared and libata won't know about it. 2: hotplug could occur after all the reset is complete but before the port is thawed. As all events are cleared on thaw, the hotplug event would be lost. Commit ac371987a81c61c2efbd6931245cdcaf43baad89 kills the first race by clearing SError during link resume but before link onlineness test. However, this doesn't fix race #2 and in some cases clearing SError after SRST is a good idea. This patch solves this problem by cross checking link onlineness with classification result after SError is cleared and port is thawed. Reset is retried if link is online but all devices attached to the link are unknown. As all devices will be revalidated, this one-way check is enough to ensure that all devices are detected and revalidated reliably. This, luckily, also fixes the cases where host controller returns bogus status while harddrive is spinning up after hotplug making classification run before the device sends the first FIS and thus causes misdetection. Low level drivers can bypass the logic by setting class explicitly to ATA_DEV_NONE if ever necessary (currently none requires this). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit dc98c32cbe80750ae2d9d9fbdae305d38f005de7 Author: Tejun Heo Date: Mon May 19 01:15:07 2008 +0900 libata: move reset freeze/thaw handling into ata_eh_reset() Previously reset freeze/thaw handling lived outside of ata_eh_reset() mainly because the original PMP reset code needed the port frozen while resetting all the fan-out ports, which is no longer the case. This patch moves freeze/thaw handling into ata_eh_reset(). @prereset() and @postreset() are now called w/o freezing the port although @prereset() an be called frozen if the port is frozen prior to entering ata_eh_reset(). This makes code simpler and will help removing hotplug event related races. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 932648b007de76badc61c1b13d7282288dbe887e Author: Tejun Heo Date: Mon May 19 01:15:06 2008 +0900 libata: reorganize ata_eh_reset() no reset method path Reorganize ata_eh_reset() such that @prereset() is called even when no reset method is available and if block is used instead of goto to skip actual reset. This makes no reset case behave better (readiness wait) and future changes easier. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0cbf0711a1ebcc4d3aea8e11def684afc2c07ef8 Author: Tejun Heo Date: Mon May 19 01:15:05 2008 +0900 libata: fix sata_link_hardreset() @online out parameter handling The @online out parameter is supposed to set to true iff link is online and reset succeeded as advertised in the function description and callers are coded expecting that. However, sata_link_reset() didn't behave this way on device readiness test failure. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7715a6f9cdb9c1422d2b1f4fea21b1fe86b5b0fe Author: Mikael Pettersson Date: Sat May 17 18:49:09 2008 +0200 sata_promise: other cleanups Minor coding-style fixes for sata_promise: - remove stray blank lines - fix checkpatch.pl errors; warnings about long lines remain, but I don't intend to address those at this time - remove two inline directives: neither is essential and both functions are trivially inlinable anyway by virtue of being static and having a single unique call site - fix comment in pdc_interrupt(): the bits in PDC_INT_SEQMASK denote SEQIDs not tags, the distinction becomes important when NCQ gets implemented Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 821d22cdcd3c2944b93ac5f217ec0b6593ae6f48 Author: Mikael Pettersson Date: Sat May 17 18:48:15 2008 +0200 sata_promise: mmio access cleanups This patch cleans up sata_promise's mmio accesses. In sata_promise there are three distinct mmio address spaces: 1. global registers, offsets from host->iomap[PDC_MMIO_BAR] 2. per-port ATA registers, offsets from ap->ioaddr.cmd_addr 3. per-port SATA registers, offsets from ap->ioaddr.scr_addr The driver currently often fails to indicate which address space a given mmio base pointer refers to, which is a source of bugs and confusion (see recent pdc_thaw() irq clearing bug; it's also been an obstacle for the pending NCQ extensions). To reduce these problems, adopt a coding style where the name of a base pointer always indicates which address space it refers to: 1. global registers: host_mmio 2. per-port ATA registers: ata_mmio 3. per-port SATA registers: sata_mmio Also rearrange register offset definitions to clearly indicate which address space they belong to, and add a symbolic definition for the previously hard-coded PHYMODE4 register. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit a13db78e2209ebfe1898207f53c353ed836d4a53 Author: Mikael Pettersson Date: Sat May 17 18:47:35 2008 +0200 sata_promise: fix irq clearing buglets This patch fixes two bugs in sata_promise's irq status clearing paths: 1. When clearing the irq status for a specific port, the driver read the global SEQMASK register. This is wrong because that clears the irq status for _all_ ports. 2. pdc_thaw() incorrectly added the PDC_INT_SEQMASK host register offset to a per-port ata engine base address. This resulted in it reading the unrelated PDC_PKT_SUBMIT register, which did not have the desired irq status clearing effect. In both cases the fix is to read from the port's Command/Status register. This also matches what Promise's own driver does. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 07633b5d0723ce2ec31262e1096dcf61311bf078 Author: Harvey Harrison Date: Wed May 14 16:17:00 2008 -0700 ata: remove FIT() macro Use the kernel-provided clamp_val() macro. FIT was always applied to a member of struct ata_timing (unsigned short) and two constants. clamp_val will not cast to short anymore. Signed-off-by: Harvey Harrison Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 06aaca3f6301d04463b1ee0eb75c0352147159f2 Author: Mark Lord Date: Mon May 19 09:01:24 2008 -0400 sata_mv: ensure empty request queue for FBS-NCQ EH Check for an empty request queue before stopping EDMA after a FBS-NCQ error, as per recommendation from the Marvell datasheet. This ensures that the EDMA won't suddenly become active again just after our subsequent check of the empty/idle bits. Also bump DRV_VERSION. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 96e2c487933e5f69e98fffdcae2c35c78a671c07 Author: Mark Lord Date: Sat May 17 13:38:00 2008 -0400 sata_mv: cache main_irq_mask register in hpriv Part five of simplifying/fixing handling of the main_irq_mask register to resolve unexpected interrupt issues observed in 2.6.26-rc*. Keep a cached copy of the main_irq_mask so that we don't have to stall the CPU to read it on every pass through mv_interrupt. This significantly speeds up interrupt handling, both for sata_mv, and for any other driver/device sharing the same PCI IRQ line. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a44253d24a97ec3efe601267274a5fb64d8696c1 Author: Mark Lord Date: Sat May 17 13:37:07 2008 -0400 sata_mv: disregard masked irqs Part four of simplifying/fixing handling of the main_irq_mask register to resolve unexpected interrupt issues observed in 2.6.26-rc*. Ignore masked IRQs in mv_interrupt(). This prevents "unexpected device interrupt while idle" messages. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 88e675e193159b9891c1c576de4348eaf490f5d0 Author: Mark Lord Date: Sat May 17 13:36:30 2008 -0400 sata_mv: fix pmp drives not found Part three of simplifying/fixing handling of the main_irq_mask register to resolve unexpected interrupt issues observed in 2.6.26-rc*. Partially fix a reported bug whereby we sometimes miss seeing drives on a port-multiplier, as reported by Gwendal Grignou . The problem was that we were receiving unexpected interrupts during EH from POLLed commands while accessing port-multiplier registers. These unexpected interrupts can be prevented by masking the DONE_IRQ bit for the port whenever not operating in EDMA mode. Also fix port_stop() to mask all port interrupts. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit c4de573b14d78ac83861d81d12977457d1e9cb6d Author: Mark Lord Date: Sat May 17 13:35:21 2008 -0400 sata_mv: consolidate main_irq_mask updates Part two of simplifying/fixing handling of the main_irq_mask register to resolve unexpected interrupt issues observed in 2.6.26-rc*. Consolidate all updates of the host main_irq_mask register into a single function. This simplifies maintenance, and also prepares the way for caching it (later). No functionality changes in this update. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 51de32d200b21333950abc52ea1e589bc4eecef7 Author: Mark Lord Date: Sat May 17 13:34:42 2008 -0400 sata_mv: don't blindly enable IRQs Part one of simplifying/fixing handling of the main_irq_mask register to resolve unexpected interrupt issues observed in 2.6.26-rc*. Don't blindly enable port IRQs at host init time. Instead, enable only the bits that we want, which in this case is simply the PCI_ERR bit. The per-port bits can wait until the ports are reset/probed for devices. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit c443c5002b24ff5d2f4efcc25a861f0cb835130a Author: Mark Lord Date: Wed May 14 09:24:39 2008 -0400 sata_mv: async notify for genIIe only Now that we handle the FIS_IRQ_CAUSE register correctly, we can also now handle SATA asynchronous notification events. So enable them, but only for the more modern GenIIe chips. (older chips have unaddressed errata issues related to this). This fixes hot plug/unplug for port-muliplier ports. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit ad3aef51e17b9c6a90a9014805f1645e8e441c17 Author: Mark Lord Date: Wed May 14 09:21:43 2008 -0400 sata_mv: group genIIe flags Group all of the flags for GenIIe devices into a common definition, to ensure that any updates to them are shared by all GenIIe devices. This will help make future maintenance somewhat simpler. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e40060772d85f3534d3d517197696e24bb01f45b Author: Mark Lord Date: Wed May 14 09:19:30 2008 -0400 sata_mv: fis irq register fixes Fix handling of the FIS_IRQ_CAUSE register in sata_mv. This register exists *only* on GenIIe devices, so don't bother writing to it on older chips. Also, it has to be read/cleared in mv_err_intr() before clearing the main ERR_IRQ_CAUSE register. This keeps sata_mv from getting stuck forever on certain error types. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 9dcffd99d0b1c0c1b8b2c0f85d240e791eca1055 Author: Mark Lord Date: Wed May 14 09:18:12 2008 -0400 sata_mv: always do softreset Always request a softreset after hardreset succeeds. This fixes a regression reported by Martin Michlmayr . Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 68b90ee7c8046864301823d8d4449eb1ce1d2f74 Author: Christophe Jaillet Date: Tue May 13 21:17:30 2008 +0200 avr32/pata: avoid unnecessary memset (updated after comments) Remove an explicit memset(.., 0, ...) to a variable allocated with kzalloc (i.e. 'info'). Signed-off-by: Christophe Jaillet Acked-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit b6e7b447975b0364c3430284c7b16e2e89ccf9e9 Author: Sonic Zhang Date: Mon May 12 12:12:16 2008 +0800 pata-bf54x: Set ATAPI HSM to control IDE device terminate sequence. Set ATAPI host state machine to control IDE device terminate sequence. Some IDE harddisk may assert terminate sequence in the middle of a formal DMA transaction and resume later. Bit DETECT_TERM in ATAPI_CTRL register determines whether the ATAPI host state machine or the kernel driver should take care of this case. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit e6da97e7df385a1674cf9f72c31b7a0e46e2620d Author: Robert P. J. Day Date: Mon May 19 14:13:11 2008 -0700 ipv6: Move from header-y to unifdef-y. Given that contains a __KERNEL__ test, it should be unifdef-ed. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 090c48d3dd5ea90b37350334aaed9a93b0c1e0a1 Author: James Chapman Date: Mon May 19 14:10:01 2008 -0700 l2tp: avoid skb truesize bug if headroom is increased A user reported seeing occasional bugs such as the following when using the L2TP driver. SKB BUG: Invalid truesize (272) len=72, sizeof(sk_buff)=208 When L2TP adds its header in the transmit path, it might need to increase the headroom of the skb. In some cases, the increased headroom trips a kernel bug when the skb is freed because the skb has grown beyond its truesize value. The fix is to increase the truesize by the amount of headroom added, after orphaning the skb. While here, fix a misleading comment. Thanks to Iouri Kharon for the initial report and testing the fix. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 8c4bab3a1aadaf4e38b2bfaf557eab74322a9fd4 Merge: 88d5376... c3cc3bd... Author: Linus Torvalds Date: Mon May 19 14:04:47 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: should be "unifdef"ed. dlm: fix plock dev_write return value dlm: tcp_connect_to_sock should check for -EINVAL, not EINVAL dlm: section mismatch warning fix dlm: convert connections_lock in a mutex commit 88d53766bd0f3bc6e46a0dff25be147a2b98c511 Merge: 860da5e... 54aaace... Author: Linus Torvalds Date: Mon May 19 13:53:21 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: LAPIC: ignore pending timers if LVTT is disabled KVM: Update MAINTAINERS for new mailing lists KVM: Fix kvm_vcpu_block() task state race KVM: ia64: Set KVM_IOAPIC_NUM_PINS to 48 KVM: ia64: fix GVMM module including position-dependent objects KVM: ia64: Define new kvm_fpreg struture to replace ia64_fpreg KVM: PIT: take inject_pending into account when emulating hlt s390: KVM guest: fix compile error KVM: x86 emulator: fix writes to registers with modrm encodings commit c3cc3bd0d36d1b16d4cb17e8fc64fff613f0b902 Author: Robert P. J. Day Date: Sat May 17 16:58:28 2008 -0400 dlm: should be "unifdef"ed. Given that contains a conditional __KERNEL__ test, it should be moved from header-y to unifdef-y. Signed-off-by: Robert P. J. Day Signed-off-by: David Teigland commit 817d10bad56f2fdfa321b4a864a21295226b123a Author: David Teigland Date: Tue May 13 14:28:26 2008 -0500 dlm: fix plock dev_write return value The return value on writes to the plock device should be the number of bytes written. It was returning 0 instead when an nfs lock callback was involved. Reported-by: Nathan Straz Signed-off-by: David Teigland commit 0035a4b14931eb62a5f8a7762284c18e7ab14289 Author: Marcin Slusarz Date: Sun May 11 22:01:29 2008 +0200 dlm: tcp_connect_to_sock should check for -EINVAL, not EINVAL Signed-off-by: Marcin Slusarz Cc: Christine Caulfield Cc: David Teigland Cc: cluster-devel@redhat.com Signed-off-by: David Teigland commit 88ad23195e4609cef73b6fcf2b4c08aaaef33204 Author: Leonardo Potenza Date: Sun May 11 19:15:34 2008 +0200 dlm: section mismatch warning fix Removed the section mismatch message: WARNING: fs/dlm/dlm.o(.init.text+0x132): Section mismatch in reference from the function init_module() to the function .exit.text:dlm_netlink_exit() Since dlm_netlink_exit() is called in the init_dlm() error handling, the __exit annotation has been removed. Signed-off-by: Leonardo Potenza Signed-off-by: David Teigland commit 7a936ce71eed7b887b8a0d6c54dd8a9072f71c9f Author: Matthias Kaehlcke Date: Mon May 12 10:04:51 2008 -0500 dlm: convert connections_lock in a mutex The semaphore connections_lock is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Christine Caulfield Cc: David Teigland Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: David Teigland commit 860da5e578c25d1ab4528c0d1ad13f9969e3490f Merge: 1bf9947... e948e99... Author: Linus Torvalds Date: Mon May 19 13:30:40 2008 -0700 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: save and restore dsparb and d_state registers. drm/i915: fix off by one in VGA save/restore of AR & CR regs. drm: disable tasklets not IRQs when taking the drm lock spinlock Revert "drm/vbl rework: rework how the drm deals with vblank." commit 8d64c781f0c5fbfdf8016bd1634506ff2ad1376a Author: Tony Camuso Date: Thu May 15 14:40:14 2008 -0400 PCI: Correct last two HP entries in the bfsort whitelist Replace Redundant Whitelist Entries with the Correct Ones The ProLiant DL585 G2 and the DL585 G2 are entered reundantly in the dmi_system_id table. What should have been there are the DL360 and DL380. This patch simply replaces the redundant entries with the correct entries. Signed-off-by: Tony Camuso Signed-off-by: Pat Schoeller Signed-off-by: Jesse Barnes commit 1bf99477226963d84b182b3995e355d3091199be Merge: 83e0c24... 7d3cc8b... Author: Linus Torvalds Date: Mon May 19 11:32:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: Don't clean bounds.h and asm-offsets.h kconfig: incorrect 'len' field initialisation ? kernel-doc: allow unnamed bit-fields kbuild: filter away debug symbols from kernel symbols Remove *.rej pattern from .gitignore MAINTAINERS: document names of new kbuild trees kbuild: disable modpost warnings for linkonce sections kbuild: escape meta characters in regular expression in make TAGS commit 7d3cc8b6d899e53222c22a78d98bb53a695f7962 Author: Jan Blunck Date: Fri May 16 13:54:59 2008 +0200 Don't clean bounds.h and asm-offsets.h Since 97965478a66fbdf0f4ad5e4ecc4828f0cb548a45 ("mm: Get rid of __ZONE_COUNT") mmzone.h includes bounds.h. Calling make clean after make prepare removes bounds.h again so when building external modules this fails. Signed-off-by: Jan Blunck Signed-off-by: Sam Ravnborg -- commit 107f43a0f7282511ec570214a0b8f639224ff525 Author: Christophe Jaillet Date: Sun May 18 23:10:24 2008 +0200 kconfig: incorrect 'len' field initialisation ? 1) The field 'len' of the 'gstr' structure seems to track the size of the memory already allocated for the "growable string". So the value of this field should be the same as the 'malloc()' just above, shouldn't it ? Signed-off-by: Christophe Jaillet Signed-off-by: Sam Ravnborg commit 7b97887eab6c35d23f2e4680bd5e285415068f35 Author: Randy Dunlap Date: Fri May 16 15:45:52 2008 -0700 kernel-doc: allow unnamed bit-fields Allow for unnamed bit-fields and skip them instead of printing an erroneous warning message for them, such as: Warning(include/asm-s390/cio.h:103): No description found for parameter 'u32' which contains: struct tm_scsw { u32 :1; Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit aab34ac8582303ef57b792710fc5dd5991477475 Author: Sam Ravnborg Date: Mon May 19 20:07:58 2008 +0200 kbuild: filter away debug symbols from kernel symbols Andi Kleen reported that he saw a lot of symbols like this: 0000000000000b24 N DW.aio.h.903a6d92.2 0000000000000bce N DW.task_io_accounting.h.8d8de327.0 0000000000000bec N DW.hrtimer.h.c23659c6.0 in his System.map / kallsyms output. Simple solution is to skip all debugging symbols (they are marked 'N'). Signed-off-by: Sam Ravnborg Cc: Paulo Marques commit 239f49c0800778c863585a103805c58afbad6748 Author: MinChan Kim Date: Mon May 19 22:12:08 2008 +0900 slob: Fix to return wrong pointer Although slob_alloc return NULL, __kmalloc_node returns NULL + align. Because align always can be changed, it is very hard for debugging problem of no page if it don't return NULL. We have to return NULL in case of no page. [penberg@cs.helsinki.fi: fix formatting as suggested by Matt.] Acked-by: Matt Mackall Signed-off-by: MinChan Kim Signed-off-by: Pekka Enberg commit 83e0c24a38aa91f7d932bbcab257093b82435074 Merge: 161fb0c... 42ece6c... Author: Linus Torvalds Date: Mon May 19 09:24:49 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: snd-pcsp: silent misleading warning snd-pcsp: depend on CONFIG_EXPERIMENTAL snd-pcsp: put back the compatibility code for the older alsa-libs snd-pcsp: adjust help texts to frighten users commit 13c501e69c3fba3ca0651abcc4aa7c9091fda70a Author: Josh Boyer Date: Fri May 16 00:43:46 2008 +1000 [POWERPC] 4xx: Workaround for CHIP_11 Errata The PowerPC 440EP, 440GR, 440EPx, and 440GRx chips have an issue that causes the PLB3-to-PLB4 bridge to wait indefinitely for transaction requests that cross the end-of-memory-range boundary. Since the DDR controller only returns the valid portion of a read request, the bridge will prevent other PLB masters from completing their transactions. This implements the recommended workaround for this errata for chips that use older versions of firmware that do not already handle it. The last 4KiB of memory are hidden from the kernel to prevent the problem transactions from occurring. Signed-off-by: Josh Boyer Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit a6f911c04e20b98feb4b33d3aba2976851977d6a Author: Tom Tucker Date: Tue May 13 09:16:05 2008 -0500 svcrdma: Verify read-list fits within RPCSVC_MAXPAGES A RDMA read-list cannot contain more elements than RPCSVC_MAXPAGES or it will overflow the DTO context. Verify this when processing the protocol header. Signed-off-by: Tom Tucker commit 008fdbc57164b0ac237ad6ee2766944f02ac9c28 Author: Tom Tucker Date: Wed May 7 15:47:42 2008 -0500 svcrdma: Change svc_rdma_send_error return type to void The svc_rdma_send_error function is called when an RPCRDMA protocol error is detected. This function attempts to post an error reply message. Since an error posting to a transport in error is ignored, change the return type to void. Signed-off-by: Tom Tucker commit af261af4db14230fb35bcdc0ba9ef78ed6cf7bc1 Author: Tom Tucker Date: Wed May 7 13:52:42 2008 -0500 svcrdma: Copy transport address and arm CQ before calling rdma_accept This race was found by inspection. Messages can be received from the peer immediately following the rdma_accept call, however, the CQ have not yet been armed and the transport address has not yet been set. Set the transport address in the connect request handler and arm the CQ prior to calling rdma_accept. Signed-off-by: Tom Tucker commit 69500c43b45f7155b72dcadad31cd55cda789c93 Author: Tom Tucker Date: Wed May 7 13:49:58 2008 -0500 svcrdma: Set rqstp transport address in rdma_read_complete function The rdma_read_complete function needs to copy the rqstp transport address from the transport. Failure to do so can result in using the wrong authentication method for the RPC or bug checking if the rqstp address is not valid. Signed-off-by: Tom Tucker commit 97a3df382e01c49555ea844bd7c4e5a08f245b9d Author: Tom Tucker Date: Thu May 1 14:02:45 2008 -0500 svcrdma: Use ib verbs version of dma_unmap Use the ib_verbs version of the dma_unmap service in the svc_rdma_put_context function. This should support providers using software rdma. Signed-off-by: Tom Tucker commit 356d0a1519867422c3f17f79e2183f8c2d44f8ee Author: Tom Tucker Date: Thu May 1 11:25:02 2008 -0500 svcrdma: Cleanup queued, but unprocessed I/O in svc_rdma_free When the transport is closing, the DTO tasklet may queue data that never gets processed. Clean up resources associated with this I/O. Signed-off-by: Tom Tucker commit 1711386c62c97f7fb086a2247d44cdb1f8867640 Author: Tom Tucker Date: Thu May 1 11:13:50 2008 -0500 svcrdma: Move the QP and cm_id destruction to svc_rdma_free Move the destruction of the QP and CM_ID to the free path so that the QP cleanup code doesn't race with the dto_tasklet handling flushed WR. The QP reference is not needed because we now have a reference for every WR. Also add a guard in the SQ and RQ completion handlers to ignore calls generated by some providers when the QP is destroyed. Signed-off-by: Tom Tucker commit 0905c0f0a2346516ecd12f0a4f33dca571b0dccd Author: Tom Tucker Date: Thu May 1 10:49:03 2008 -0500 svcrdma: Add reference for each SQ/RQ WR Add a reference on the transport for every outstanding WR. Signed-off-by: Tom Tucker commit 8da91ea8de873ee8be82377ff18637d05e882058 Author: Tom Tucker Date: Wed Apr 30 22:00:46 2008 -0500 svcrdma: Move destroy to kernel thread Some providers may wait while destroying adapter resources. Since it is possible that the last reference is put on the dto_tasklet, the actual destroy must be scheduled as a work item. Signed-off-by: Tom Tucker commit 47698e083e40bbd3ef87f5561390ae33abb13cd0 Author: Tom Tucker Date: Tue May 6 11:49:05 2008 -0500 svcrdma: Shrink scope of spinlock on RQ CQ The rq_cq_reap function is only called from the dto_tasklet. The only resource shared with other threads is the sc_rq_dto_q. Move the spin lock to protect only this list. Signed-off-by: Tom Tucker commit 8740767376b32a7772607e1b2b07cde0c24120cc Author: Tom Tucker Date: Wed Apr 30 20:44:39 2008 -0500 svcrdma: Use standard Linux lists for context cache Replace the one-off linked list implementation used to implement the context cache with the standard Linux list_head lists. Add a context counter to catch resource leaks. A WARN_ON will be added later to ensure that we've freed all contexts. Signed-off-by: Tom Tucker commit 02e7452de74d308ca642f54f7e5ef801ced60a92 Author: Tom Tucker Date: Wed Apr 30 19:50:56 2008 -0500 svcrdma: Simplify RDMA_READ deferral buffer management An NFS_WRITE requires a set of RDMA_READ requests to fetch the write data from the client. There are two principal pieces of data that need to be tracked: the list of pages that comprise the completed RPC and the SGE of dma mapped pages to refer to this list of pages. Previously this whole bit was managed as a linked list of contexts with the context containing the page list buried in this list. This patch simplifies this processing by not keeping a linked list, but rather only a pionter from the last submitted RDMA_READ's context to the context that maps the set of pages that describe the RPC. This significantly simplifies this code path. SGE contexts are cleaned up inline in the DTO path instead of at read completion time. Signed-off-by: Tom Tucker commit 10a38c33f46d128d11e299acba744bc325cde420 Author: Tom Tucker Date: Wed Apr 30 17:32:17 2008 -0500 svcrdma: Remove unused READ_DONE context flags bit The RDMACTXT_F_READ_DONE bit is not longer used. Remove it. Signed-off-by: Tom Tucker commit d16d40093a95f2b31007d7a7abefc50e6b27e236 Author: Tom Tucker Date: Tue May 6 10:04:50 2008 -0500 svcrdma: Return error from rdma_read_xdr so caller knows to free context The rdma_read_xdr function did not discriminate between no read-list and an error posting the read-list. This results in a leak of a page if there is an error posting the read-list. Signed-off-by: Tom Tucker commit 58e8f62137f1c55fe3d31234167660f2ce509297 Author: Tom Tucker Date: Tue May 6 09:45:54 2008 -0500 svcrdma: Fix error handling during listening endpoint creation A listening endpoint isn't known to the generic transport switch until the svc_create_xprt function returns without error. Calling svc_xprt_put within the xpo_create function causes the module reference count to be erroneously decremented. Signed-off-by: Tom Tucker commit 5ac461a6f05499fa233ea43b1de80b679d1eec21 Author: Tom Tucker Date: Fri Apr 25 18:08:59 2008 -0500 svcrdma: Free context on post_recv error in send_reply If an error is encountered trying to post a recv buffer in send_reply, free the passed in context. Return an error to the caller so it is aware that the request was not posted. Signed-off-by: Tom Tucker commit 05a0826a6e6d95ab6e9c3e4a10b58e10f233cc2b Author: Tom Tucker Date: Fri Apr 25 14:11:31 2008 -0500 svcrdma: Free context on ib_post_recv error If there is an error posting the recv WR to the RQ, free the context associated with the WR. This would leak a context when asynchronous errors occurred on the transport while conccurent threads were processing their RPC. Signed-off-by: Tom Tucker commit 120693d12cde0cc735d784c951b53381efec918f Author: Tom Tucker Date: Thu Apr 24 14:17:21 2008 -0500 svcrdma: Add put of connection ESTABLISHED reference in rdma_cma_handler The svcrdma transport takes a reference when it gets the ESTABLISHED event from the provider. This reference is supposed to be removed when the DISCONNECT event is received, however, the call to svc_xprt_put was missing in the switch statement. This results in the memory associated with the transport never being freed. Signed-off-by: Tom Tucker commit 9d6347acd2134373c3a4c65a4d43e4f1d59aa012 Author: Tom Tucker Date: Fri Apr 25 15:51:27 2008 -0500 svcrdma: Fix return value in svc_rdma_send Fix the return value on close to -ENOTCONN so caller knows to free context. Also if a thread is waiting for free SQ space, check for close when waking to avoid posting WR to a closing transport. Signed-off-by: Tom Tucker commit dbcd00eba99945acfc433508a58eadc5dcd18cad Author: Tom Tucker Date: Tue May 6 11:33:11 2008 -0500 svcrdma: Fix race with dto_tasklet in svc_rdma_send The svc_rdma_send function will attempt to reap SQ WR to make room for a new request if it finds the SQ full. This function races with the dto_tasklet that also reaps SQ WR. To avoid polling and arming the CQ unnecessarily move the test_and_clear_bit of the RDMAXPRT_SQ_PENDING flag and arming of the CQ to the sq_cq_reap function. Refactor the rq_cq_reap function to match sq_cq_reap so that the code is easier to follow. Signed-off-by: Tom Tucker commit 0e7f011a19696cc25d68a8d6631fc6c5aa60a54c Author: Tom Tucker Date: Wed Apr 23 16:49:54 2008 -0500 svcrdma: Simplify receive buffer posting The svcrdma transport provider currently allocates receive buffers to the RQ through the xpo_release_rqst method. This approach is overly complicated since it means that the rqstp rq_xprt_ctxt has to be selectively set based on whether the RPC is going to be processed immediately or deferred. Instead, just post the receive buffer when we are certain that we are replying in the send_reply function. Signed-off-by: Tom Tucker commit aa3314c8d6da673b3454549eed45547a79f7cbe1 Author: Tom Tucker Date: Thu Apr 24 21:30:47 2008 -0500 svc: Remove unused header files from svc_xprt.c This cosmetic patch removes unused header files that svc_xprt.c inherited from svcsock.c Signed-off-by: Tom Tucker commit fc63a050861a53ba99a6222229cda555796d669e Author: Tom Tucker Date: Fri Apr 25 11:07:10 2008 -0500 svc: Remove extra check for XPT_DEAD bit in svc_xprt_enqueue Remove a redundant check for the XPT_DEAD bit in the svc_xprt_enqueue function. This same bit is checked below while holding the pool lock and prints a debug message if found to be dead. Signed-off-by: Tom Tucker commit 336f1d326831873ffab6de5fcec4b3be05103ae0 Author: Paul Mundt Date: Mon May 19 19:39:33 2008 +0900 sh: Fix up restorer in debug_trap exception return path. There are a few different types of debug trap exceptions, though now that they are all going through a special jump table, the restorer needs to be unified as well. Presently this is falling through the ret_from_fork path, which more or less does the right thing on SH-3/4 whilst being completely unsuitable on MMU-less targets. Ultimately what we want here is a branch through the platform's restore_all directly, without worrying about the retval being clobbered. We can accomplish that through a branch to __restore_all directly, so switch it so we come back from the jump table and branch to the restorer. This fixes up a recursion in the nommu WARN_ON() path, as well as some other userspace nastiness where said recursion caused serious stack corruption. Signed-off-by: Paul Mundt commit 9a33fc217d2248838d52f8ef214b1909073f3eb4 Author: Paul Mundt Date: Mon May 19 19:32:07 2008 +0900 sh: Make is_valid_bugaddr() more intelligent on nommu. Currently is_valid_bugaddr() is true for anything >= PAGE_OFFSET, which happens to be 0 on nommu configurations. Make this a bit smarter by just reading in the opcode and comparing it against the trap type that we already know. Follows the logic from avr32. Signed-off-by: Paul Mundt commit 42ece6c1f8162cd782b44dc4863679e888531df5 Author: Stas Sergeev Date: Sun May 18 18:30:03 2008 +0200 snd-pcsp: silent misleading warning It appears that alsa allows a sound buffer with size not evenly devided by the period size. This triggers a warning in snd-pcsp and floods the log. As a quick fix, the warning should be disabled. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 2bc536a235382f2a14fbbefd4fa9cd6089c9d0d0 Author: Stas Sergeev Date: Sat May 17 08:46:55 2008 +0200 snd-pcsp: depend on CONFIG_EXPERIMENTAL Considering all the feedbacks I got, depending snd-pcsp on CONFIG_EXPERIMENTAL looks like the only safe way to get out of all the troubles at one go. :) Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 4dfd79546dfed83bf756f5c912f686ebac187c16 Author: Stas Sergeev Date: Sat May 17 08:44:41 2008 +0200 snd-pcsp: put back the compatibility code for the older alsa-libs The attached patch adds back the compatibility code, allowing the driver to work with older alsa-libs. The removal was premature, it breaks the real-life configs. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 3ccee69019d3b23f02204f4c2cb3085f436da252 Author: Stas Sergeev Date: Fri May 16 12:10:03 2008 +0200 snd-pcsp: adjust help texts to frighten users Added the warning text to the help of snd-pcsp about the possible problem with this driver so that user can know of the problem in advance. Also, removed the obsoleted text about ancient pc-speaker patch in CONFIG_SOUND help. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit c203e45f069af47ca7623e4dcd8c00bfba2722e4 Merge: a94477d... b8291ad... Author: Lachlan McIlroy Date: Mon May 19 15:09:05 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit f9ebcd9d410ba7209a8f321c41edf8615fc3ce67 Author: Kumar Gala Date: Sun May 18 13:18:01 2008 -0500 lmb: Fix compile warning lib/lmb.c: In function 'lmb_dump_all': lib/lmb.c:51: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'u64' Signed-off-by: Kumar Gala commit d71a4dd72e67210ae0767ccae69c79f1c933ff64 Author: J. Bruce Fields Date: Fri May 9 12:01:19 2008 -0700 svcrpc: fix proc/net/rpc/auth.unix.ip/content display Commit f15364bd4cf8799a7677b6daeed7b67d9139d974 ("IPv6 support for NFS server export caches") dropped a couple spaces, rendering the output here difficult to read. (However note that we expect the output to be parsed only by humans, not machines, so this shouldn't have broken any userland software.) Signed-off-by: J. Bruce Fields commit 88dd0be3874566796fa4ffbdf927a53c4a6a2f4b Author: J. Bruce Fields Date: Mon May 5 19:47:29 2008 -0400 nfsd: reorder printk in do_probe_callback to avoid use-after-free We're currently dereferencing the client after we drop our reference count to it. Signed-off-by: J. Bruce Fields commit 161fb0cf5c7e94cd0490e4bd04edcf1e24d1d288 Merge: b8291ad... b452876... Author: Linus Torvalds Date: Sun May 18 15:32:44 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: SUNRPC: AUTH_SYS "machine creds" shouldn't use negative valued uid/gid nfs: make nfs4_drop_state_owner() static nfs: path_{get,put}() cleanups nfs: replace remaining __FUNCTION__ occurrences nfs/lsm: make NFSv4 set LSM mount options NFSv4: Check the return value of decode_compound_hdr_arg() nfs: fix race in nfs_dirty_request NFS: Ensure that 'noac' and/or 'actimeo=0' turn off attribute caching commit b8291ad07a7f3b5b990900f0001198ac23ba893e Author: Linus Torvalds Date: Sun May 18 14:36:41 2008 -0700 Linux 2.6.26-rc3 commit 3e5b787ac38575c88ceb20619bcda09cb4c17d8b Merge: 026bf9b... 70455e7... Author: Linus Torvalds Date: Sun May 18 13:56:54 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c/max6875: Really prevent 24RF08 corruption i2c-amd756: Fix functionality flags i2c: Kill the old driver matching scheme i2c: Convert remaining new-style drivers to use module aliasing i2c: Switch pasemi to the new device/driver matching scheme i2c: Clean up Blackfin BF527 I2C device declarations i2c-nforce2: Disable the second SMBus channel on the DFI Lanparty NF4 Expert i2c: New co-maintainer commit 026bf9bbcf88f31ea619eb46cf9d62beade00821 Author: Geert Uytterhoeven Date: Sun May 18 20:47:24 2008 +0200 m68k: Add multi_defconfig Add multi_defconfig, to build a kernel for all supported m68k platforms, excluding Sun 3 (Sun 3 kernels are incompatible with all other m68k platforms) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit b4029b310795c2142afa6037668e7d4f5d8224bc Author: Geert Uytterhoeven Date: Sun May 18 20:47:23 2008 +0200 m68k: Update defconfigs Update the m68k defconfigs Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d5ec550a044c0136c3fece4007f05d08ee4a4fd8 Author: Geert Uytterhoeven Date: Sun May 18 20:47:22 2008 +0200 m68k: Correctly handle multi-ISA at runtime m68k: Correctly handle multi-ISA at runtime in multi-platform kernels Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 52de114e357b8035d54040be8b9148de437b5b4b Author: Geert Uytterhoeven Date: Sun May 18 20:47:21 2008 +0200 m68k: Prefix ISA type with ISA_TYPE_ The *_ISA type defines are quite generic and cause namespace conflicts (e.g. with `AMIGAHW_DECLARE(GG2_ISA)' in ) for some kernel configurations. Use ISA_TYPE_* to avoid such conflicts. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 91cf248396d18989f5f4090497723f4f90c8971f Author: Geert Uytterhoeven Date: Sun May 18 20:47:20 2008 +0200 m68k: export m68k_mmutype UIO needs m68k_mmutype: ERROR: "m68k_mmutype" [drivers/uio/uio.ko] undefined! (noticed by Christian T. Steigies) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f20a4ef57f4cbe8e2bbdb12640548795b32c6f7 Author: Geert Uytterhoeven Date: Sun May 18 20:47:19 2008 +0200 m68k: Q40/Q60 floppy support is broken Mark Q40/Q60 floppy support broken: arch/m68k/q40/q40ints.c: In function 'q40_irq_handler': arch/m68k/q40/q40ints.c:214: error: implicit declaration of function 'floppy_hardint' Including doesn't help, as it causes a lot of additional error messages (cfr. Sun 3x). Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fd5b462f0b3ae641e39966d1c6cd0dd66100cda5 Author: Geert Uytterhoeven Date: Sun May 18 20:47:18 2008 +0200 m68k: Return -ENODEV if no device is found According to the tests in do_initcalls(), the proper error code in case no device is found is -ENODEV, not -ENXIO or -EIO. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit eb98630ba02f6a23a2d202be082757a9e9940b2b Author: Geert Uytterhoeven Date: Sun May 18 20:47:17 2008 +0200 m68k: Some input drivers do not check the platform Some input drivers do not check whether they're actually running on the correct platform, causing multi-platform kernels to crash if they are not. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 0f734484ac51711f6b9e48b42242e19e88eb2926 Author: Geert Uytterhoeven Date: Sun May 18 20:47:16 2008 +0200 m68k: Some network drivers do not check the platform Some network drivers do not check whether they're actually running on the correct platform, causing multi-platform kernels to crash if they are not. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d6497700879beeaaae208c0e9fd10b74dc44db5e Author: Geert Uytterhoeven Date: Sun May 18 20:47:15 2008 +0200 m68k: dnfb doesnt check for Apollo The Apollo frame buffer device driver (dnfb) doesn't check whether it's actually running on Apollo hardware, causing a crash if it isn't. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3ce92a2a7b03dae6b7778e2a5ff52f2042512887 Author: Geert Uytterhoeven Date: Sun May 18 20:47:14 2008 +0200 m68k: macide doesnt check for Mac The Macintosh IDE driver (macide) doesn't check whether it's actually running on Mac hardware, causing a crash if it isn't. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f365e8ee90bf835553ea964ba5accf5b8ba4070 Author: Geert Uytterhoeven Date: Sun May 18 20:47:13 2008 +0200 m68k: Correct jump if not running on HP300 When running a HP300-enabled kernel on non-HP300 hardware, a test in the early startup code jumps to the wrong label, causing a double bus fault. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit e8006b060f3982a969c5170aa869628d54dd30d8 Author: Geert Uytterhoeven Date: Sun May 18 20:47:12 2008 +0200 m68k: Make gcc aware that BUG() does not return Use `__builtin_trap()' instead of `asm volatile("illegal")' in the m68k BUG() macros (as suggested by Andrew Pinski), to kill warnings in code that assumes BUG() does not return. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit eb4db450aa19dfc806fbd9747879c420e154dc33 Author: Geert Uytterhoeven Date: Sun May 18 20:47:11 2008 +0200 m68k vme_scc: avoid global namespace pollution m68k vme_scc: - make scc_ports[] static - kill unused global scc_initialized Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 47738a75cdf3fb6793a834ec5c4dc2c6a88e510a Author: Geert Uytterhoeven Date: Sun May 18 20:47:10 2008 +0200 m68k: Kill CONFIG_WHIPPET_SERIAL The Hisoft Whippet PCMCIA serial driver has been removed a long time ago, but it's Kconfig symbol still existed. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit ad7e484fad0d6b35c4788d265e4e7e1122b960f7 Author: Geert Uytterhoeven Date: Sun May 18 20:47:09 2008 +0200 m68k: FB_HP300 depends on DIO and doesnt need FB_CFB_FILLRECT Correct FB_HP300 dependencies: - FB_HP300 doesn't depend only on HP300, but also on DIO (which depends on HP300) - FB_HP300 does not need FB_CFB_FILLRECT Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8d13e5ca4851845cb3e688eaea3a766f16caf9db Author: Geert Uytterhoeven Date: Sun May 18 20:47:08 2008 +0200 m68k: Kill CONFIG_FB_DAFB CONFIG_FB_DAFB is a leftover from pre-Kconfig Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 70f9cac5e077df8fc5a613d84e2e13005a6ff841 Author: Geert Uytterhoeven Date: Sun May 18 20:47:07 2008 +0200 m68k: Convert access_ok() to an inline function Convert access_ok() from a macro to an inline function, so the compiler no longer complains about unused variables: fs/read_write.c: In function 'rw_copy_check_uvector': fs/read_write.c:556: warning: unused variable 'buf' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 70455e790391dac85d9b483a9e286a40df1ecc7f Author: Jean Delvare Date: Sun May 18 20:49:41 2008 +0200 i2c/max6875: Really prevent 24RF08 corruption i2c-core takes care of the possible corruption of 24RF08 chips for quite some times, so device devices no longer need to do it. And they really should not, as applying the prevention twice voids it. I thought that I had fixed all drivers long ago but apparently I had missed that one. Signed-off-by: Jean Delvare Cc: Ben Gardner commit 875b0a473c3ddd80bc4ae88a65cd20027428e160 Author: Jean Delvare Date: Sun May 18 20:49:41 2008 +0200 i2c-amd756: Fix functionality flags The i2c-amd756 driver pretends to support SMBus process call transactions but actually does not. Fix it. Signed-off-by: Jean Delvare commit eb8a79080984eb9819406a55e4dd17043c380a09 Author: Jean Delvare Date: Sun May 18 20:49:41 2008 +0200 i2c: Kill the old driver matching scheme Remove the old driver_name/type scheme for i2c driver matching. Only the standard aliasing model will be used from now on. Signed-off-by: Jean Delvare commit af294867a52bf718df835a688e8c786d550bee26 Author: Jean Delvare Date: Sun May 18 20:49:40 2008 +0200 i2c: Convert remaining new-style drivers to use module aliasing Update all the remaining new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. Note that the tuner driver is a bit quirky at the moment, as it overwrites i2c_client.name with arbitrary strings. We write "tuner" back on remove, to make sure that driver cycling will work properly, but there may still be troublesome corner cases. Signed-off-by: Jean Delvare commit 238a871e41ffbd9ba6608cac7c8b74549ac3bb9b Author: Jean Delvare Date: Sun May 18 20:49:40 2008 +0200 i2c: Switch pasemi to the new device/driver matching scheme The old device/driver matching scheme is going away so stop using it. Signed-off-by: Jean Delvare Acked-by: Olof Johansson commit 24fbacca029ef1ecf007dc804c8f2c2285b6ceb3 Author: Jean Delvare Date: Sun May 18 20:49:40 2008 +0200 i2c: Clean up Blackfin BF527 I2C device declarations I2C_BOARD_INFO() now sets the type field so no need to set it separatetly. Signed-off-by: Jean Delvare Cc: Bryan Wu commit 08851d6eb4eeb0894f4d095dfdf8ab61c435ad57 Author: Jean Delvare Date: Sun May 18 20:49:40 2008 +0200 i2c-nforce2: Disable the second SMBus channel on the DFI Lanparty NF4 Expert There is a strange chip at 0x2e on the second SMBus channel of the DFI Lanparty NF4 Expert motherboard. Accessing the chip reboots the system. As there's nothing interesting on this SMBus channel, the easiest and safest thing to do is to disable it on that board. This is a better fix to bug #5889 than the it87 driver update that was done originally: http://bugzilla.kernel.org/show_bug.cgi?id=5889 Signed-off-by: Jean Delvare commit 710cf7e75076e8d95ce677876b0655d37d14c1b8 Author: Jean Delvare Date: Sun May 18 20:49:40 2008 +0200 i2c: New co-maintainer Ben Dooks agreed to become my co-maintainer for the i2c subsystem. In particular, Ben will help with drivers for embedded systems, of which my experience is inexistent. Thanks Ben and welcome on board! Signed-off-by: Jean Delvare Acked-by: Ben Dooks commit b4528762ca92261c6ed3f03e76adeb1dc587aacb Author: Trond Myklebust Date: Sun May 11 12:18:51 2008 -0700 SUNRPC: AUTH_SYS "machine creds" shouldn't use negative valued uid/gid Apparently this causes Solaris 10 servers to refuse our NFSv4 SETCLIENTID calls. Fall back to root creds for now, since most servers that care are very likely to have root squashing enabled. Signed-off-by: Trond Myklebust commit 54aaacee35afd594bba3244c20b02cc98d80a961 Author: Marcelo Tosatti Date: Wed May 14 02:29:06 2008 -0300 KVM: LAPIC: ignore pending timers if LVTT is disabled Only use the APIC pending timers count to break out of HLT emulation if the timer vector is enabled. Certain configurations of Windows simply mask out the vector without disabling the timer. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1fc9d2bf75bbe5482cc503681dae0935df29b6b0 Author: Avi Kivity Date: Sun May 18 13:50:23 2008 +0300 KVM: Update MAINTAINERS for new mailing lists The KVM mailing lists are now hosted on vger.kernel.org. Also update the website URL. Signed-off-by: Avi Kivity commit e5c239cfd5b0ec22751c099dbf4d91f3c504a64f Author: Marcelo Tosatti Date: Thu May 8 19:47:01 2008 -0300 KVM: Fix kvm_vcpu_block() task state race There's still a race in kvm_vcpu_block(), if a wake_up_interruptible() call happens before the task state is set to TASK_INTERRUPTIBLE: CPU0 CPU1 kvm_vcpu_block add_wait_queue kvm_cpu_has_interrupt = 0 set interrupt if (waitqueue_active()) wake_up_interruptible() kvm_cpu_has_pending_timer kvm_arch_vcpu_runnable signal_pending set_current_state(TASK_INTERRUPTIBLE) schedule() Can be fixed by using prepare_to_wait() which sets the task state before testing for the wait condition. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit bd25ed033af52c8c054d43a9cce9c5976266ae74 Author: Xiantao Zhang Date: Wed May 14 19:44:57 2008 +0800 KVM: ia64: Set KVM_IOAPIC_NUM_PINS to 48 Guest's firmware needs an iosapic with 48 pins for ia64 guests. Needed to get networking going. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 25c437b01f3a04af5362c7fd80ba91a0ec74f007 Author: Xiantao Zhang Date: Wed May 7 17:34:52 2008 +0800 KVM: ia64: fix GVMM module including position-dependent objects The GVMM module is position independent since it is relocated to the guest address space. Commit ea696f9cf ("ia64 kvm fixes for O=... builds") broke this by linking GVMM with non-PIC objects. Fix by creating two files: memset.S and memcpy.S which just include the files under arch/ia64/lib/{memset.S, memcpy.S} respectively. [akpm: don't delete files which we need] Signed-off-by: Xiantao Zhang Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 021f4b6cc966d02b2bcd68841bc2f0c4897edcbb Author: Xiantao Zhang Date: Wed May 7 17:37:32 2008 +0800 KVM: ia64: Define new kvm_fpreg struture to replace ia64_fpreg The kernel's ia64_fpreg structure conflicts with userspace headers, so define a new structure to replace it. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit eedaa4e2af681a266c084c410238855bdfbc2787 Author: Marcelo Tosatti Date: Tue May 6 13:32:54 2008 -0300 KVM: PIT: take inject_pending into account when emulating hlt Otherwise hlt emulation fails if PIT is not injecting IRQ's. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5ca9fd54e3d75489ff9c70d7af6e0b9a390dd656 Author: Heiko Carstens Date: Tue May 6 17:38:30 2008 +0300 s390: KVM guest: fix compile error Fix kvm compile error: Commit c45a6816c19dee67b8f725e6646d428901a6dc24 (virtio: explicit advertisement of driver features) and commit e976a2b997fc4ad70ccc53acfe62811c4aaec851 (s390: KVM guest: virtio device support, and kvm hypercalls) don't like each other: CC drivers/s390/kvm/kvm_virtio.o drivers/s390/kvm/kvm_virtio.c:224: error: unknown field 'feature' specified in initializer drivers/s390/kvm/kvm_virtio.c:224: warning: initialization from incompatible pointer type make[3]: *** [drivers/s390/kvm/kvm_virtio.o] Error 1 Cc: Adrian Bunk Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Acked-by: Christian Borntraeger Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 107d6d2efa9eb8c48d050936d8019230ac6b24cd Author: Avi Kivity Date: Mon May 5 14:58:26 2008 +0300 KVM: x86 emulator: fix writes to registers with modrm encodings A register destination encoded with a mod=3 encoding left dst.ptr NULL. Normally we don't trap writes to registers, but in the case of smsw, we do. Fix by pointing dst.ptr at the destination register. Signed-off-by: Avi Kivity commit 29e92f483603d97dd1d2bafcb32101287dfac4ad Merge: 08c1896... dfb0ae0... Author: Linus Torvalds Date: Sat May 17 15:17:10 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: spitz wants PXA27x UDC definitions [ARM] pxa: fix pxafb build when cpufreq is enabled [ARM] fix parenthesis in include/asm-arm/arch-omap/control.h [ARM] colibri: fix support for DM9000 ethernet device [ARM] arm/kernel/arthur.c: add MODULE_LICENSE [ARM] 5037/1: Orion: fix DNS323/Kurobox Pro PCI initialisation [ARM] 5034/1: fix arm{925,926,940,946} dma_flush_range() in WT mode [ARM] export copy_page [ARM] 5026/1: locomo: add .settype for gpio and several small fixes ARM: OMAP: Fixed comments on global PRM register usage ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck ARM: OMAP: PRCM fixes to ssi clock handling ARM: OMAP: Add fuctional clock enabler for iva2 ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks ARM: OMAP: Keymap fix for palmte and palmz71 ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox ARM: OMAP: DMA: Fix incorrect channel linking ARM: OMAP: Warn on disabling clocks with no users ARM: OMAP: Add calls to omap2_set_globals_*() ARM: OMAP: Update MMC header to fix compile commit dfb0ae091479240c19bef4382026671776ca204e Merge: 1da7807... dfa3d03... Author: Russell King Date: Sat May 17 22:56:08 2008 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 1da7807842f7ccd9a3962dc276e489b76cd320c7 Merge: 53491e0... 2a52efb... Author: Russell King Date: Sat May 17 22:55:51 2008 +0100 Merge branch 'sa1100' commit 53491e042e79578765e2d33512a45d50eb0d8801 Author: Russell King Date: Sat May 17 22:51:35 2008 +0100 [ARM] pxa: spitz wants PXA27x UDC definitions ... so include the header file. Signed-off-by: Russell King commit 78d3cfd33e7acdae0108837de1c55a8cef04805f Author: Russell King Date: Sat May 17 22:51:14 2008 +0100 [ARM] pxa: fix pxafb build when cpufreq is enabled If cpufreq is enabled, pxafb wants to call the removed get_clk_frequency_khz() function for a debug printk. Remove this reference. Signed-off-by: Russell King commit 1df5a8d004f64b1aa3fb93e0556886ba00ebc979 Author: Mariusz Kozlowski Date: Thu May 15 11:52:24 2008 -0700 [ARM] fix parenthesis in include/asm-arm/arch-omap/control.h Parenthesis fix in include/asm-arm/arch-omap/control.h Signed-off-by: Mariusz Kozlowski Cc: Paul Walmsley Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d0afc85f15deda94abdfe9118ac225c4208d5897 Author: Michael Abbott Date: Wed May 14 16:29:24 2008 -0700 [ARM] colibri: fix support for DM9000 ethernet device Two changes are necessary to enable proper operation of the DM9000 device with the Colibri PXA 270 board: firstly, the IRQ type needs to be configured for rising edge interrupts, and secondly this configuration needs to be communicated through to the DM9000. [akpm@linux-foundation.org: remove set_irq_type() call as per ben-linux request] Signed-off-by: Michael Abbott Cc: Daniel Mack Cc: Jeff Garzik Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 7cc09c248f4e286a153b5068a30b3fa857f5ce71 Author: Adrian Bunk Date: Mon Mar 31 12:08:16 2008 +0300 [ARM] arm/kernel/arthur.c: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: Russell King commit bbdf1c1e58f215940243bedc235e48ed7e8d6f2d Author: Lennert Buytenhek Date: Thu May 15 10:31:14 2008 +0100 [ARM] 5037/1: Orion: fix DNS323/Kurobox Pro PCI initialisation Whereas most Orion 5x machine support code would initialise the PCI subsystem with nr_controllers in their struct hw_pci set to 2, the DNS323 and Kurobox Pro machine support code had nr_controllers set to 1. This was presumably done because on those two machines, the PCI(-X) controller (nr == 1) isn't used, requiring initialisation of only the PCIe controller (nr == 0.) However, not initialising the PCI(-X) controller on boards that don't use it leads to a situation where both the PCIe and the PCI(-X) controller think that their root bus is zero, and it messes up IRQ assignment. This patch changes the DNS323 and Kurobox Pro support code to always use nr_controllers == 2. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit b3a8b751c1c2997653c6bf2b5d10467c39f3cc6e Author: Lennert Buytenhek Date: Sat May 10 21:05:31 2008 +0100 [ARM] 5034/1: fix arm{925,926,940,946} dma_flush_range() in WT mode The CPU's dma_flush_range() operation needs to clean+invalidate the given memory area if the cache is in writeback mode, or do just the invalidate part if the cache is in writethrough mode, but the current proc-arm{925,926,940,946} (incorrectly) do a cache clean in the latter case. This patch fixes that. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit db2c4392907524fa376ffbd04f5781d6394e2666 Author: Russell King Date: Sun May 11 22:36:03 2008 +0100 [ARM] export copy_page Martin Michlmayr reported that fuse complains: ERROR: "copy_page" [fs/fuse/fuse.ko] undefined! so export the needed function. Signed-off-by: Russell King commit 2a52efb2cecf78201d61bd4930153bf52e57503b Author: Thomas Kunze Date: Tue Apr 29 17:44:54 2008 +0100 [ARM] 5026/1: locomo: add .settype for gpio and several small fixes irqs.h: * rename IRQ_LOCOMO_SPI_OVRN to IRQ_LOCOMO_SPI_REND locomo.h: * add some definition for locomo spi controller * correct some errors locomo.c: * correct some errors * add set_type for locomo gpio irq chip Signed-off-by: Thomas Kunze Signed-off-by: Russell King commit 08c18964a247b412acab56599a643e6f73e1ec5a Merge: 20a2498... e9623b3... Author: Linus Torvalds Date: Sat May 17 14:21:43 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: disable mwait for AMD family 10H/11H CPUs x86: fix crash on cpu hotplug on pat-incapable machines x86: remove mwait capability C-state check commit e9623b35599fcdbc00c16535cbefbb4d5578f4ab Author: Thomas Gleixner Date: Fri May 16 22:55:26 2008 +0200 x86: disable mwait for AMD family 10H/11H CPUs The previous revert of 0c07ee38c9d4eb081758f5ad14bbffa7197e1aec left out the mwait disable condition for AMD family 10H/11H CPUs. Andreas Herrman said: It depends on the CPU. For AMD CPUs that support MWAIT this is wrong. Family 0x10 and 0x11 CPUs will enter C1 on HLT. Powersavings then depend on a clock divisor and current Pstate of the core. If all cores of a processor are in halt state (C1) the processor can enter the C1E (C1 enhanced) state. If mwait is used this will never happen. Thus HLT saves more power than MWAIT here. It might be best to switch off the mwait flag for these AMD CPU families like it was introduced with commit f039b754714a422959027cb18bb33760eb8153f0 (x86: Don't use MWAIT on AMD Family 10) Re-add the AMD families 10H/11H check and disable the mwait usage for those. Signed-off-by: Thomas Gleixner commit 31f4d870b02e1590260ab7f2a9ff74306bd27e88 Author: Avi Kivity Date: Wed May 14 12:20:32 2008 +0300 x86: fix crash on cpu hotplug on pat-incapable machines pat_disable() is __init, which means it goes away after booting is complete. Unfortunately it is used by the hotplug code if the machine is not pat-capable, causing a crash. Fix by marking pat_disable() as __cpuinit. Signed-off-by: Avi Kivity Signed-off-by: Ingo Molnar commit a738d897b7b03b83488ae74a9bc03d26a2875dc6 Author: Ingo Molnar Date: Wed May 14 08:47:40 2008 +0200 x86: remove mwait capability C-state check Vegard Nossum reports: | powertop shows between 200-400 wakeups/second with the description | ": Rescheduling interrupts" when all processors have load (e.g. | I need to run two busy-loops on my 2-CPU system for this to show up). | | The bisect resulted in this commit: | | commit 0c07ee38c9d4eb081758f5ad14bbffa7197e1aec | Date: Wed Jan 30 13:33:16 2008 +0100 | | x86: use the correct cpuid method to detect MWAIT support for C states remove the functional effects of this patch and make mwait unconditional. A future patch will turn off mwait on specific CPUs where that causes power to be wasted. Bisected-by: Vegard Nossum Tested-by: Vegard Nossum Signed-off-by: Ingo Molnar commit e5c0ef90e6cfd40c819bd70748d675067ff862e7 Author: Marc Pignat Date: Fri May 9 11:07:07 2008 +0200 at91_mci: minor cleanup MMC_POWER_ON is a noop, no need to set the power pin again. Signed-off-by: Marc Pignat Signed-off-by: Pierre Ossman commit 460ed2ea04da012e5575eb357a47a7f6407767de Author: Mike Frysinger Date: Sat May 17 18:22:26 2008 +0800 Blackfin SPORTS UART Driver: converting BFIN->BLACKFIN Signed-off-by: Mike Frysinger Acked-by: Alan Cox Signed-off-by: Bryan Wu commit eedd306b51274fb64c00924b5ead679153fca78d Author: Javier Herrero Date: Sat May 17 18:21:57 2008 +0800 Blackfin serial driver: add extra IRQ flag for 8250 serial driver Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit b4aa54d951d38d7a989d6b6385494ef5ea7371d7 Author: Javier Herrero Date: Sat May 17 18:21:42 2008 +0800 8250 Serial Driver: Added support for 8250-class UARTs in HV Sistemas H8606 board Added support for 8250-class UARTs in HV Sistemas H8606 board, modification in 8250.c driver for correct compilation with Blackfin Besides, I think that there is more people using 8250-class UARTs with a different hardware than the H8606 board. This code can be shared by them. Signed-off-by: Javier Herrero Acked-by: Alan Cox Signed-off-by: Bryan Wu commit 7e291434eb128d7b4217dde6e0543f4342dd51fa Author: Bryan Wu Date: Mon May 19 14:56:42 2008 +0800 Blackfin arch: Fix bug - USB fails to build for BF524/BF526 BF524 is the same as BF525, except the speed of the processor BF526 is the same as BF527, except the speed of the processor Signed-off-by: Bryan Wu commit ecb9567e287e082f78fcf055e34613eaf1f7df24 Author: Michael Hennerich Date: Mon May 19 14:56:33 2008 +0800 Blackfin arch: update boards defconfig files Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 59069676383c6446f50555e04aed7f51d5de695e Author: Michael Hennerich Date: Sat May 17 16:38:52 2008 +0800 Blackfin arch: IO Port functions to read/write unalligned memory Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 86ad79321cbacdc4deebcde81849d19e26dd18e2 Author: Cliff Cai Date: Sat May 17 16:36:52 2008 +0800 Blackfin arch: enable a choice to provide 4M DMA memory support two cascaded AD73322 cards, more uncached DMA memory is needed, so add a choice to provide 4M DMA memory Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit c6c6f75d54ca734c409e336245662934c21fcee0 Author: Mike Frysinger Date: Sat May 17 16:18:08 2008 +0800 Blackfin arch: cleanup the icplb/dcplb multiple hit checks so that we always send the same signal and we handle the NULL ptr condition properly Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 803a8d2acbf220aeb27f0a98dacb36d4af3d6559 Author: Michael Hennerich Date: Sat May 17 16:01:51 2008 +0800 Blackfin arch: Add workaround to read edge triggered GPIOs Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 92322da9b568a5ddc3ab872491bdc0f1b47ef904 Author: Michael Hennerich Date: Sat May 17 15:59:11 2008 +0800 Blackfin arch: Sync channel defines with struct dma_register dma_io_base_addr. Otherwise we use the wrong DMA channels. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5ce998cf6d1dbb28f14dea879a366ed5348f9681 Author: Michael Hennerich Date: Sat May 17 15:57:01 2008 +0800 Blackfin arch: Check for Anomaly 05000182 IMDMA does not operate to full speed for 600MHz and higher devices Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6793a051fb9311f0f1ab7eafc5a9e69b8a1bd8d4 Author: Paul E. McKenney Date: Wed May 14 17:10:12 2008 -0700 [PATCH] list_for_each_rcu must die: audit All uses of list_for_each_rcu() can be profitably replaced by the easier-to-use list_for_each_entry_rcu(). This patch makes this change for the Audit system, in preparation for removing the list_for_each_rcu() API entirely. This time with well-formed SOB. Signed-off-by: Paul E. McKenney Signed-off-by: Al Viro commit fcaf1eb8685a00a99259e138e403841e984385b0 Author: Andrew Morton Date: Wed May 14 16:11:48 2008 -0700 [patch 1/1] audit_send_reply(): fix error-path memory leak Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10663 Reporter: Daniel Marjamki Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 6ee650467d5bf972d10441e99688e9b48171f99c Author: Steve Grubb Date: Tue Apr 29 15:01:13 2008 -0400 [PATCH] open sessionid permissions The current permissions on sessionid are a little too restrictive. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit 2b280fab12b6697b6a7a24a13aaf9f4339edd075 Author: Steve French Date: Sat May 17 03:12:45 2008 +0000 [CIFS] add more complete mount options to cifs_show_options adds various options to cifs_show_options (displayed when you cat /proc/mounts with a cifs mount). I limited the new ones to values that are associated with the mount with the exception of "seal" (which is a per tree connection property, but I thought was important enough to show through). Eventually cifs's parse_mount_options also needs to be rewritten to use the match_token API but that would be a big enough change that I would prefer that changing parse_mount_options wait until next release. Signed-off-by: Steve French commit 20a249896bb53536b69b228593dbdb6eb0d18113 Merge: 9a6ab76... 109d1c8... Author: Linus Torvalds Date: Fri May 16 15:39:28 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Update defconfig. sparc64: Fix lmb_reserve() args in find_ramdisk(). commit 12103dca52e79e23afe2fbcaf3d9e7fc9ceb6b18 Author: Roland Dreier Date: Fri May 16 14:58:44 2008 -0700 IB/mthca: Fix max_sge value returned by query_device The mthca driver returns the maximum number of scatter/gather entries returned by the firmware as the max_sge value when device properties are queried. However, the firmware also reports a limit on the maximum descriptor size allowed, and because mthca takes into account the worst case send request overhead when checking whether to allow a QP to be created, the largest number of scatter/gather entries that can be used with mthca may be limited by the maximum descriptor size rather than just by the actual s/g entry limit. This means that applications cannot actually create QPs with max_send_sge equal to the limit returned by ib_query_device(). Fix this by checking if the maximum descriptor size imposes a lower limit and if so returning that lower limit. Signed-off-by: Roland Dreier commit 21609ae3efa42f4118ce741f7e55d66d716cb17c Author: Roland Dreier Date: Fri May 16 14:58:40 2008 -0700 RDMA/cxgb3: Fix uninitialized variable warning in iwch_post_send() drivers/infiniband/hw/cxgb3/iwch_qp.c: In function 'iwch_post_send': drivers/infiniband/hw/cxgb3/iwch_qp.c:232: warning: 't3_wr_flit_cnt' may be used uninitialized in this function This is what akpm describes as "the dopey gcc-doesn't-know-that-foo(&var)-writes-to-var problem." Signed-off-by: Roland Dreier Acked-by: Steve Wise commit a3d8e1591dc90d359d444c759dfda2c6fc605251 Author: Andrew Morton Date: Fri May 16 14:28:30 2008 -0700 IB/mlx4: Fix uninitialized-var warning in mlx4_ib_post_send() drivers/infiniband/hw/mlx4/qp.c: In function 'mlx4_ib_post_send': drivers/infiniband/hw/mlx4/qp.c:1460: warning: 'seglen' may be used uninitialized in this function This is the dopey gcc-doesn't-know-that-foo(&var)-writes-to-var problem. Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit e9baf6e59842285bcf9570f5094e4c27674a0f7c Author: Al Viro Date: Thu May 15 04:49:12 2008 -0400 [PATCH] return to old errno choice in mkdir() et.al. In case when both EEXIST and EROFS would apply we used to return the former in mkdir(2) and friends. Lest anyone suspects us of being consistent, in the same situation knfsd gave clients nfs_erofs... ro-bind series had switched the syscall side of things to returning -EROFS and immediately broke an application - namely, mkdir -p. Patch restores the original behaviour... Signed-off-by: Al Viro commit 23c4971e3d97de4e1b7961ca6eacee35aa15ce5f Author: WANG Cong Date: Thu May 8 21:52:33 2008 +0800 [Patch] fs/binfmt_elf.c: fix wrong return values create_elf_tables() returns 0 on success. But when strnlen_user() "fails", it returns 0 directly. So this is wrong. Signed-off-by: WANG Cong Cc: Alexander Viro Signed-off-by: Al Viro commit 08a6fac1c63233c87eec129938022f1a9a4d51f6 Author: Al Viro Date: Sat May 10 16:38:25 2008 -0400 [PATCH] get rid of leak in compat_execve() Even though copy_compat_strings() doesn't cache the pages, copy_strings_kernel() and stuff indirectly called by e.g. ->load_binary() is doing that, so we need to drop the cache contents in the end. [found by WANG Cong ] Signed-off-by: Al Viro commit 5f719558edf9c84bfbb1f7ad37e84c483282d09f Author: WANG Cong Date: Tue May 6 12:45:35 2008 +0800 [Patch] fs/binfmt_elf.c: fix a wrong free In kmalloc failing path, we shouldn't free pointers in 'info', because the struct 'info' is uninitilized when kmalloc is called. And when kmalloc returns NULL, it's needless to kfree it. Signed-off-by: WANG Cong Cc: Alexander Viro Reviewed-by: Pekka Enberg -- Signed-off-by: Al Viro commit eceea0b3df05ed262ae32e0c6340cc7a3626632d Author: Al Viro Date: Sat May 10 10:08:32 2008 -0400 [PATCH] avoid multiplication overflows and signedness issues for max_fds Limit sysctl_nr_open - we don't want ->max_fds to exceed MAX_INT and we don't want size calculation for ->fd[] to overflow. Signed-off-by: Al Viro commit adbecb128cd2cc5d14b0ebef6d020ced0efd0ec6 Author: Al Viro Date: Thu May 8 21:19:42 2008 -0400 [PATCH] dup_fd() part 4 - race fix Parent _can_ be a clone task, contrary to the comment. Moreover, more files could be opened while we allocate a copy, in which case we end up copying only part into new descriptor table. Since what we get _is_ affected by all changes in the old range, we can get rather weird effects - e.g. dup2(0, 1024); close(0); in parallel with fork() resulting in child that sees the effect of close(), but not that of dup2() done just before that close(). What we need is to recalculate the open_count after having reacquired ->file_lock and if external fdtable we'd just allocated is too small for it, free the sucker and redo allocation. Signed-off-by: Al Viro commit afbec7fff4928c273a1f1bb14dfdfdf62688a193 Author: Al Viro Date: Thu May 8 21:11:17 2008 -0400 [PATCH] dup_fd() - part 3 merge alloc_files() into dup_fd(), leave setting newf->fdt until the end Signed-off-by: Al Viro commit 9dec3c4d306b09b31331e475e895bb9674e16d81 Author: Al Viro Date: Thu May 8 21:02:45 2008 -0400 [PATCH] dup_fd() part 2 use alloc_fdtable() instead of expand_files(), get rid of pointless grabbing newf->file_lock, kill magic in copy_fdtable() that used to be there only to skip copying when called from dup_fd(). Signed-off-by: Al Viro commit 02afc6267f6d55d47aba9fcafdbd1b7230d2294a Author: Al Viro Date: Thu May 8 19:42:56 2008 -0400 [PATCH] dup_fd() fixes, part 1 Move the sucker to fs/file.c in preparation to the rest Signed-off-by: Al Viro commit f52111b1546943545e67573c4dde1c7613ca33d3 Author: Al Viro Date: Thu May 8 18:19:16 2008 -0400 [PATCH] take init_files to fs/file.c Signed-off-by: Al Viro commit 229ce3abb6d6d4598de8ef1ed1e2da8163a9bbc0 Author: Masakazu Mokuno Date: Wed May 14 14:16:50 2008 +0900 wireless: Create 'device' symlink in sysfs Some network interfaces of the wireless drivers lack the 'device' symlink in sysfs. This patch lets the drivers create the links. Signed-off-by: Masakazu Mokuno Acked-by: Dan Williams Signed-off-by: John W. Linville commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a Author: Roel Kluin Date: Tue May 13 22:12:27 2008 +0200 wireless, airo: waitbusy() won't delay There will be no delay even when COMMAND_BUSY (defined 0x8000) is set: 0x8000 & (delay < 10000) will evaluate to 0 - when delay is 0. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 02969d296e91626d9942ea15f8a95fe056025ef1 Author: Brian Cavagnolo Date: Tue May 13 13:54:59 2008 +0100 libertas: fix command timeout after firmware failure This is a fix for OLPC ticket #6586: "SCAN command fails, timer doesn't fire". In fact, the timer was firing; the problem was that the dnld_sent state variable was not being updated after the timer expired, so lbs_execute_next_command was not being called. Signed-off-by: Brian Cavagnolo Signed-off-by: Javier Cardona Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2f561feb386d6adefbad63c59a1fcd298ac6a79c Author: Ivo van Doorn Date: Sat May 10 13:40:49 2008 +0200 mac80211: Add RTNL version of ieee80211_iterate_active_interfaces Since commit e38bad4766a110b61fa6038f10be16ced8c6cc38 mac80211: make ieee80211_iterate_active_interfaces not need rtnl rt2500usb and rt73usb broke down due to attempting register access in atomic context (which is not possible for USB hardware). This patch restores ieee80211_iterate_active_interfaces() to use RTNL lock, and provides the non-RTNL version under a new name: ieee80211_iterate_active_interfaces_atomic() So far only rt2x00 uses ieee80211_iterate_active_interfaces(), and those drivers require the RTNL version of ieee80211_iterate_active_interfaces(). Since they already call that function directly, this patch will automatically fix the USB rt2x00 drivers. v2: Rename ieee80211_iterate_active_interfaces_rtnl Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 34a961f7db36f10abd6b153411fe8c810f21f6b3 Author: Abhijeet Kolekar Date: Fri May 9 09:35:41 2008 -0700 mac80211 : Association with 11n hidden ssid ap. This patch fixes the association problem with 11n hidden ssid ap. Patch fixes the problem of associating with hidden ssid when all three parameters ap,essid and channel are given to iwconfig. This patch removes the condition of checking three parameters and always checks for bss in bss list while associating. Signed-off-by: Abhijeet Kolekar Signed-off-by: John W. Linville commit 109d1c88e9dd7e78ade8da742152e4e4da0d8103 Author: David S. Miller Date: Fri May 16 13:36:27 2008 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit 7047901ec7d6eca97cf66f54b8a4197bb0754f40 Author: David S. Miller Date: Wed May 14 23:10:33 2008 -0700 sparc64: Fix lmb_reserve() args in find_ramdisk(). This fixes the missing ram regression reported by Mikael Pettersson , much thanks for all of this help in diagnosing this. The second argument to lmb_reserve() is a size, not an end address bounds. Tested-by: Mikael Pettersson Signed-off-by: David S. Miller commit 9a6ab769bdacc65e7d4e931034e12e02c357c4d3 Author: Harvey Harrison Date: Fri May 16 11:20:25 2008 -0700 byteorder: don't directly include linux/byteorder/generic.h Use asm/byteorder.h instead. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit a1fe78f16eac7d03d3c391dd5d54559826574982 Author: Steve French Date: Fri May 16 18:48:38 2008 +0000 [CIFS] Add missing defines for DFS Also has minor cleanup of previous patch CC: Igor Mammedov Signed-off-by: Steve French commit fec4585fd71cc5ec35d134e8c3854f6e8c4503f0 Author: Igor Mammedov Date: Fri May 16 13:06:30 2008 +0400 CIFSGetDFSRefer cleanup + dfs_referral_level_3 fixed to conform REFERRAL_V3 the MS-DFSC spec. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 1d2e88e73ee0af52b0ed63b5fb8f42a919a4d9de Author: Adrian Bunk Date: Fri May 2 13:42:45 2008 -0700 nfs: make nfs4_drop_state_owner() static nfs4_drop_state_owner() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 31f31db1a15671513df9cd9fbe56ef45ee1e9a2a Author: Jan Blunck Date: Fri May 2 13:42:45 2008 -0700 nfs: path_{get,put}() cleanups Here are some more places where path_{get,put}() can be used instead of dput()/mntput() pair. Signed-off-by: Jan Blunck Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 3110ff8048fb757b36112b044b384aea9c44d6e4 Author: Harvey Harrison Date: Fri May 2 13:42:44 2008 -0700 nfs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 46c8ac74250a396aca855e494f49a960797a6b5e Author: Eric Paris Date: Fri May 2 13:42:42 2008 -0700 nfs/lsm: make NFSv4 set LSM mount options NFSv3 get_sb operations call into the LSM layer to set security options passed from userspace. NFSv4 hooks were not originally added since it was reasonably late in the merge window and NFSv3 was the only thing that had regressed (v4 has never supported any LSM options) This patch makes NFSv4 call into the LSM to set security options rather than just blindly dropping them with no notice to the user as happens today. This patch was tested in a simple NFSv4 environment with the context= option and appeared to work as expected. Signed-off-by: Eric Paris Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Stephen Smalley Acked-by: James Morris Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit 3a6258e1fb5ff717dcefa04afc35f81aaae3f3e0 Author: Trond Myklebust Date: Tue May 6 13:32:40 2008 -0400 NFSv4: Check the return value of decode_compound_hdr_arg() If decode_compound_hdr_arg() returns a resource error, then we cannot proceed to process the callback. Return a 'GARBAGE_ARGS' rpc-level error to the caller instead. If, however, the minor version field is incorrect, then we need to propagate the resulting NFS4ERR_MINOR_VERS_MISMATCH error back as the compound status field (setting the nops field to 0). Finally, if encode_compound_hdr_res() returns an error, we need to return an RPC_SYSTEM_ERR to the caller. Signed-off-by: Trond Myklebust commit 38def50fabc479dc96ea6bd2cb2526e0dfc36fa4 Author: Fred Isaman Date: Thu May 1 20:03:22 2008 +0300 nfs: fix race in nfs_dirty_request When called from nfs_flush_incompatible, the req is not locked, so req->wb_page might be set to NULL before it is used by PageWriteback. Signed-off-by: Fred Isaman Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b0b539739fe9b7d75002412a787cfdf4efddbc33 Author: Trond Myklebust Date: Mon May 5 11:45:41 2008 -0400 NFS: Ensure that 'noac' and/or 'actimeo=0' turn off attribute caching Both the 'noac' and 'actimeo=0' mount options should ensure that attributes are not cached, however a bug in nfs_attribute_timeout() means that currently, the attributes may in fact get cached for up to one jiffy. This has been seen to cause corruption in some applications. The reason for the bug is that the time_in_range() test returns 'true' as long as the current time lies between nfsi->read_cache_jiffies and nfsi->read_cache_jiffies + nfsi->attrtimeo. In other words, if jiffies equals nfsi->read_cache_jiffies, then we still cache the attribute data. Signed-off-by: Trond Myklebust commit de2db8d790b058fcd75d603780b913bd824972b3 Author: Igor Mammedov Date: Fri May 16 13:10:32 2008 +0400 Fixed DFS code to work with new 'build_path_from_dentry', that returns full path if share in the dfs, now. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit bfd3c7a728fbe642f79f99482a6c01158c675545 Author: Harvey Harrison Date: Mon May 12 12:05:43 2008 -0700 sh: use the common ascii hex helpers Signed-off-by: Harvey Harrison Signed-off-by: Paul Mundt commit 65b83427c6e5814556855c42bf9b4edeafd66623 Author: Yoshihiro Shimoda Date: Thu May 15 17:44:00 2008 +0900 sh: fix sh7785 master clock value Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e Author: Hideo Saito Date: Thu May 15 13:30:05 2008 +0900 sh: Fix up thread info pointer in syscall_badsys resume path. Entry to resume_userspace expects r8 to contain current_thread_info, which happens in all paths except for syscall_badsys, where r8 was being inadvertently trampled. Reload it before the branch. Signed-off-by: Hideo Saito Signed-off-by: Paul Mundt commit e08b954c9a140f2062649faec72514eb505f18c3 Author: Hideo Saito Date: Thu May 15 13:28:46 2008 +0900 sh: Fix up optimized SH-4 memcpy on big endian. Signed-off-by: Hideo Saito Signed-off-by: Paul Mundt commit 972ad0e0d51b67b862ae6143d858fb7da2f2a5f6 Author: Paul Mundt Date: Tue May 13 17:41:46 2008 +0900 sh: disable initrd defaults in .empty_zero_page. When using initramfs on systems that don't explicitly clear LOADER_TYPE, unpack_to_rootfs() tramples tramples the range with the defaults taken out of .empty_zero_page. This causes kernels with valid initramfs images to bail out with crc or gzip magic mismatch errors after the second unpack takes place on certain platform configurations. Signed-off-by: Paul Mundt commit 0105346cc763a6e34e80feb6adb36ed9781150d4 Author: Paul Mundt Date: Tue May 13 17:40:17 2008 +0900 sh: display boot params by default on entry. Some kernel and boot loader configurations tweak the .empty_zero_page settings, while others do not. Print the values out on entry as a debugging aid. Signed-off-by: Paul Mundt commit f26a3988917913b3d11b2bd741601a2c64ab9204 Merge: ac0e9c3... faa5b9d... Author: Linus Torvalds Date: Thu May 15 18:28:46 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] macintosh: Replace deprecated __initcall with device_initcall [POWERPC] cell: Fix section mismatches in io-workarounds code [POWERPC] spufs: Fix compile error [POWERPC] Fix uninitialized variable bug in copy_{to|from}_user [POWERPC] Add null pointer check to of_find_property [POWERPC] vmemmap fixes to use smaller pages [POWERPC] spufs: Fix pointer reference in find_victim [POWERPC] 85xx: SBC8548 - Add flash support and HW Rev reporting [POWERPC] 85xx: Fix some sparse warnings for 85xx MDS [POWERPC] 83xx: Enable DMA engine on the MPC8377 MDS board. [POWERPC] 86xx: mpc8610_hpcd: fix second serial port [POWERPC] 86xx: mpc8610_hpcd: add support for NOR and NAND flashes [POWERPC] 85xx: Add 8568 PHY workarounds to board code [POWERPC] 86xx: mpc8610_hpcd: use ULI526X driver for on-board ethernet commit ac0e9c30b1cb22c01f3edbb94857de2bae7611ca Merge: a76bfd0... 02c471c... Author: Linus Torvalds Date: Thu May 15 18:28:28 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: jbd2: update transaction t_state to T_COMMIT fix ext4: Retry block allocation if new blocks are allocated from system zone. ext4: mballoc fix mb_normalize_request algorithm for 1KB block size filesystems ext4: fix typos in messages and comments (journalled -> journaled) ext4: fix synchronization of quota files in journal=data mode ext4: Fix mount messages when quota disabled ext4: correct mount option parsing to detect when quota options can be changed commit a76bfd0da2321ed0a978ccbef192856ce7ed687a Author: Cyrill Gorcunov Date: Thu May 15 13:52:41 2008 -0700 initcalls: Fix m68k build and possible buffer overflow This patch fixes a build bug on m68k - gcc decides to emit a call to the strlen library function, which we don't implement. More importantly - my previous patch "init: don't lose initcall return values" (commit e662e1cfd434aa234b72fbc781f1d70211cb785b) had introduced potential buffer overflow by wrong calculation of string accumulator size. Use strlcat() instead, fixing both bugs. Many thanks Andreas Schwab and Geert Uytterhoeven for helping to catch and fix the bug. Signed-off-by: Cyrill Gorcunov Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0df154f45e40677781e971daec6c430cb34716b Author: Linus Torvalds Date: Thu May 15 18:14:01 2008 -0700 Split up 'do_initcalls()' into two simpler functions One function to just loop over the entries, one function to actually do the call and the associated debugging code. Signed-off-by: Linus Torvalds commit a442ac512f36981182e66a427ad05f449ff6593b Author: Linus Torvalds Date: Thu May 15 17:50:37 2008 -0700 Clean up 'print_fn_descriptor_symbol()' types Everybody wants to pass it a function pointer, and in fact, that is what you _must_ pass it for it to make sense (since it knows that ia64 and ppc64 use descriptors for function pointers and fetches the actual address from there). So don't make the argument be a 'unsigned long' and force everybody to add a cast. Signed-off-by: Linus Torvalds commit df3f0da8db6b5e7e8f0585221c8b1cd8ff806d35 Author: Ralph Campbell Date: Thu May 15 16:37:25 2008 -0700 IB/ipath: Fix UC receive completion opcode for RDMA WRITE with immediate When I fixed the RC receive completion opcode in 2bfc8e9e ("IB/ipath: Return the correct opcode for RDMA WRITE with immediate"), I forgot to fix UC, which had the same problem for RDMA write with immediate returning the wrong opcode. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit cd80ec6f81db89d109187a673470c04af4c09a63 Author: Roland Dreier Date: Thu May 15 15:28:55 2008 -0700 IB/ipath: Fix printk format for ipath_sdma_status Commit f018c7e1 ("IB/ipath: Change ipath_devdata.ipath_sdma_status to be unsigned long") changed ipath_sdma_status to be unsigned long, but left a few debug messages that printed it out with a %016llx format, which generates the warnings drivers/infiniband/hw/ipath/ipath_sdma.c:348: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' drivers/infiniband/hw/ipath/ipath_sdma.c:618: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' Fix this by changing the format used to print out the value to %08lx (8 hex digits are now sufficient, because the highest bit used is 31). Warnings reported by Randy Dunlap . Signed-off-by: Roland Dreier commit 7371fd11a6e2aed99895db4f100940fa5022f7fe Merge: 487ad7e... 839052d... Author: Linus Torvalds Date: Thu May 15 13:56:42 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix personality(PER_LINUX32) performance issue [IA64] Properly unregister legacy interrupts [IA64] Remove NULL pointer check for argument never passed as NULL. [IA64] trivial cleanup for perfmon.c [IA64] trivial cleanup for entry.S [IA64] fix interrupt masking for pending works on kernel leave [IA64] allow user to force_pal_cache_flush [IA64] Don't reserve crashkernel memory > 4 GB [IA64] machvec support for SGI UV platform [IA64] Add header files for SGI UV platform commit 23f40dc650c0344b37fe54143868a31be66db882 Author: Mathieu Chouquet-Stringer Date: Wed May 14 19:03:18 2008 -0400 hostap: fix "registers" registration in procfs The "registers" entry was incorrectly created in the procfs root instead of the device specific directory. Move "registers" registration immediately after the containing procfs directory is created. Signed-off-by: Mathieu Chouquet-Stringer Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 02c471cb17203c748e9bc87003052c1f46e5df69 Author: Mingming Cao Date: Thu May 15 14:46:17 2008 -0400 jbd2: update transaction t_state to T_COMMIT fix Updating the current transaction's t_state is protected by j_state_lock. We need to do the same when updating the t_state to T_COMMIT. Acked-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Andrew Morton commit 519deca0496a4df07d15acf3181ca5d573bffdec Author: Aneesh Kumar K.V Date: Thu May 15 14:43:20 2008 -0400 ext4: Retry block allocation if new blocks are allocated from system zone. If the block allocator gets blocks out of system zone ext4 calls ext4_error. But if the file system is mounted with errors=continue retry block allocation. We need to mark the system zone blocks as in use to make sure retry don't pick them again System zone is the block range mapping block bitmap, inode bitmap and inode table. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 487ad7efbf6b0ec338cdfc2a7b0fbeb53f17a94c Author: Ingo Molnar Date: Wed May 14 17:11:46 2008 +0200 tty: fix BKL related leak and crash Enabling the BKL to be lockdep tracked uncovered the following upstream kernel bug in the tty code, which caused a BKL reference leak: ================================================ [ BUG: lock held when returning to user space! ] ------------------------------------------------ dmesg/3121 is leaving the kernel with locks still held! 1 lock held by dmesg/3121: #0: (kernel_mutex){--..}, at: [] opost+0x24/0x194 this might explain some of the atomicity warnings and crashes that -tip tree testing has been experiencing since the BKL was converted back to a spinlock. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 839052d27e8db0c1545256fe5827abcd00fb51c5 Author: Huang, Xiaolan Date: Thu May 15 10:18:41 2008 +0800 [IA64] fix personality(PER_LINUX32) performance issue The patch aims to fix a performance issue for the syscall personality(PER_LINUX32). On IA-64 box, the syscall personality (PER_LINUX32) has poor performance because it failed to find the Linux/x86 execution domain. Then it tried to load the kernel module however it failed always and it used the default execution domain PER_LINUX instead. Requesting kernel modules is very expensive. It caused the performance issue. (see the function lookup_exec_domain in kernel/exec_domain.c). To resolve the issue, execution domain Linux/x86 is always registered in initialization time for IA-64 architecture. Signed-off-by: Xiaolan Huang Signed-off-by: Tony Luck commit 95b1cb90b79896c4bf5ea484bee2b41d7d293f43 Author: Steve French Date: Thu May 15 16:44:38 2008 +0000 [CIFS] enable parsing for transport encryption mount parm Samba now supports transport encryption on particular exports (mounted tree ids can be encrypted for servers which support the unix extensions). This adds parsing support to cifs mount option parsing for this. Signed-off-by: Steve French commit 8568dae21e186fbb111bbe6583033a33fe26f83d Merge: 713c051... 8dd79cb... Author: Linus Torvalds Date: Thu May 15 09:10:13 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map. [S390] smp: __smp_call_function_map vs cpu_online_map fix. [S390] tape: Use ccw_dev_id to build cdev_id. [S390] dasd: fix timeout handling in interrupt handler [S390] s390dbf: Use const char * for dbf name. [S390] dasd: Use const in busid functions. [S390] blacklist.c: removed duplicated include [S390] vmlogrdr: module initialization function should return negative errors [S390] sparsemem vmemmap: initialize memmap. [S390] Remove last traces of cio_msg=. [S390] cio: Remove CCW_CMD_SUSPEND_RECONN in front of CCW_CMD_SET_PGID. commit 713c0515a555952d53956196d47dec3a3ece860a Merge: 8f40f67... c913f94... Author: Linus Torvalds Date: Thu May 15 09:09:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: arch/parisc/kernel/perf_asm.S: build fix parisc: remove -traditional from assembler flags parisc: use conditional macro for 64-bit wide ops parisc: Remove ioctl.h content picked up from . arch/parisc/kernel/unaligned.c: use time_* macros parisc: remove redundant display of free swap space in show_mem() drivers/parisc: replace remaining __FUNCTION__ occurrences parisc: replace remaining __FUNCTION__ occurrences parisc: new termios definitions parisc: fix trivial section name warnings commit 7853099a70742b2a3c753282e5ccfbdda86cb29f Author: Andrew Vasquez Date: Mon May 12 22:21:16 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k3. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a7cd02320eeee9992c7eba347555e8970042b68c Author: Andrew Vasquez Date: Mon May 12 22:21:15 2008 -0700 [SCSI] qla2xxx: Revert "qla2xxx: Validate mid-layer 'underflow' during check-condition handling." This reverts commit 8084fe168a5252548cdddf2ed181c337fecd0523. The midlayer should be given the oppotunity to interpret the check-condition and based on scsi_cmnd->resid determine if a transfer should be retried or failed. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d2ba5675d8993e669182250e41ad83e7a0b5d4ad Author: Andrew Vasquez Date: Mon May 12 22:21:14 2008 -0700 [SCSI] qla2xxx: Disable local-interrupts while polling for RISC status. Matthew Wilcox reported the following lockdep warning: > ================================= > [INFO:inconsistentlockstate] > 2.6.26-rc1-00115-g0340eda-dirty#60 > --------------------------------- > inconsistent{hardirq-on-W}->{in-hardirq-W}usage. > swapper/1[HC1[1]:SC0[0]:HE0:SE1]takes: > (&ha->hardware_lock){+-..},at:[]qla2300_intr_handler+0x35/0x1f5 > {hardirq-on-W}statewasregisteredat: > []__lock_acquire+0x459/0xb1d > []__lock_acquire+0xad4/0xb1d > []lock_acquire+0x68/0x82 > []qla2300_intr_handler+0x35/0x1f5 > []_spin_lock+0x24/0x4d > []qla2300_intr_handler+0x35/0x1f5 > []qla2300_intr_handler+0x35/0x1f5 > []trace_hardirqs_on+0xe7/0x10e > []qla2x00_mailbox_command+0x1c6/0x433 ... > other info that might help us debug this: > no locks held by swapper/1. > > stack backtrace: > Pid:1,comm:swapperNottainted2.6.26-rc1-00115-g0340eda-dirty#60 > []print_usage_bug+0x100/0x10a > []mark_lock+0xaa/0x395 > []__lock_acquire+0x3f2/0xb1d > []__lock_acquire+0xad4/0xb1d > []lock_acquire+0x68/0x82 > []qla2300_intr_handler+0x35/0x1f5 > []_spin_lock+0x24/0x4d > []qla2300_intr_handler+0x35/0x1f5 > []qla2300_intr_handler+0x35/0x1f5 > []handle_IRQ_event+0x13/0x3d > []handle_fasteoi_irq+0x76/0xab Which shows that lockdep is detecting the driver's interrupt-handler is run in both process and interrupt context with irqs-enabled in the former case. During init-time and error-recovery (after a RISC reset), the driver disables interrupts and 'polls' for completions by calling qla2x00_poll(): static inline void qla2x00_poll(scsi_qla_host_t *ha) { ha->isp_ops->intr_handler(0, ha); } which in-turn calls the ISP registered interrupt handler. This patch corrects it by disabling local interrupts during polling. Reviewed-by: Matthew Wilcox Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 68af081151670af4ca405823f9dfb74ec6b20e66 Author: Andrew Vasquez Date: Mon May 12 22:21:13 2008 -0700 [SCSI] qla2xxx: Extend the 'fw_dump' SYSFS node the ability to initiate a firmware dump. The user-initiated dump can be a useful tool in triaging complex ISP and FC issues. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fa0926df0f5cf63b998a79127519bdcfe9bf05f7 Author: Andrew Vasquez Date: Mon May 12 22:21:12 2008 -0700 [SCSI] qla2xxx: Don't depend on mailbox return values while enabling FCE tracing. Recent firmwares no longer return the 'number of buffers' in mailbox6. The original code may result in a potential panic during a FW-dump process due to the driver misinterpreting the size of the allocated buffer. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6c2f527cb84cbd7d2d8a668c979e70bf78980ccc Author: matthias@kaehlcke.net Date: Mon May 12 22:21:11 2008 -0700 [SCSI] qla2xxx: Convert vport_sem to a mutex The semaphore vport_sem is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e1e82b6f0df0c5175ddd3d4f8862507aa71da8e9 Author: Daniel Walker Date: Mon May 12 22:21:10 2008 -0700 [SCSI] qla2xxx: firmware semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0e973a24f02ed8c627271b013d69683b4497828d Author: Andrew Vasquez Date: Mon May 12 22:21:09 2008 -0700 [SCSI] qla2xxx: Correct locking within MSI-X interrupt handlers. Both MSI-X vector handlers attempt to acquire the HA's hardware_lock. This though requires that interrupts be disabled/enabled during acquisition and release of the spinlock. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fd9a29f03600f306acb4faf49b92ca5472f39ee8 Author: Andrew Vasquez Date: Mon May 12 22:21:08 2008 -0700 [SCSI] qla2xxx: Display driver version at module init-time. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2f2fa13d5665d7d5f2ba6068dd28ca7796fa9ea8 Author: Shyam Sundar Date: Mon May 12 22:21:07 2008 -0700 [SCSI] qla2xxx: Return correct port_type to FC-transport for Vports. For Vports, the port_type should be set to FC_PORTTYPE_NPIV. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c913f94d86d75492af6222d268c53df236194afb Author: Kyle McMartin Date: Thu May 15 10:57:33 2008 -0400 arch/parisc/kernel/perf_asm.S: build fix Missing header for __HEAD macro. Signed-off-by: Kyle McMartin commit 3378f7ec6cbc04c64ec8512847ac96fb7f376d93 Author: Kyle McMartin Date: Thu May 15 10:56:36 2008 -0400 parisc: remove -traditional from assembler flags Signed-off-by: Kyle McMartin commit 872f6debcae63309eb39bfc2cc9462fb83450ee0 Author: Kyle McMartin Date: Thu May 15 10:53:57 2008 -0400 parisc: use conditional macro for 64-bit wide ops This work enables us to remove -traditional from $AFLAGS on parisc. Signed-off-by: Kyle McMartin commit f54d8a1b3fef79bb1aa2f0840dd356ce7bb180f9 Author: Robert P. J. Day Date: Wed May 14 15:14:52 2008 -0400 parisc: Remove ioctl.h content picked up from . Now that allows overriding of the most commonly changed macro values, take advantage of that. Signed-off-by: Robert P. J. Day Signed-off-by: Kyle McMartin commit 8dd79cb1051723496bbdcea2247e49567cedb3ac Author: Heiko Carstens Date: Thu May 15 16:52:39 2008 +0200 [S390] show_interrupts: prevent cpu hotplug when walking cpu_online_map. Surround all the code withing show_interrupts() with get/put_online_cpus() to prevent strange results wrt cpu hotplug. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 85cb185dad54be308c3f3a6068dd7d418b8b53e4 Author: Heiko Carstens Date: Thu May 15 16:52:38 2008 +0200 [S390] smp: __smp_call_function_map vs cpu_online_map fix. Both smp_call_function() and __smp_call_function_map() access cpu_online_map. Both functions run with preemption disabled which protects for cpus going offline. However new cpus can be added and therefore the cpu_online_map can change unexpectedly. So use the call_lock to protect against changes to the cpu_online_map in start_secondary() and all smp_call_* functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f455adcff102851629d716815f92bb7010de0c4e Author: Cornelia Huck Date: Thu May 15 16:52:37 2008 +0200 [S390] tape: Use ccw_dev_id to build cdev_id. To construct the integer containing the information from the bus_id, it is easier to use the data from ccw_dev_id than to parse the bus_id. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit f16f5843507ceaea315dae82b9fee29a65b72f24 Author: Stefan Weinhuber Date: Thu May 15 16:52:36 2008 +0200 [S390] dasd: fix timeout handling in interrupt handler When the dasd_int_handler is called with an error code instead of an irb, the associated request should be restarted. This handling was missing from the -ETIMEDOUT case. In fact it should be done in any case. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 5cbbf16a0fab91662af8400b5ada658990932a87 Author: Cornelia Huck Date: Thu May 15 16:52:35 2008 +0200 [S390] s390dbf: Use const char * for dbf name. We should use const char * for passing the name of the debug feature around since it will not be changed. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 69f90f6a5650a74dd8f428e8d2f05859d58da3d7 Author: Cornelia Huck Date: Thu May 15 16:52:34 2008 +0200 [S390] dasd: Use const in busid functions. We should use 'const char *' in the busid functions since the strings are not modified anyway. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c7a8548ffa0a2cf6313fe8b3bb4b4a199a9a080f Author: Huang Weiyi Date: Thu May 15 16:52:33 2008 +0200 [S390] blacklist.c: removed duplicated include Removed duplicated include in drivers/s390/cio/blacklist.c. Signed-off-by: Huang Weiyi Signed-off-by: Martin Schwidefsky commit 3cb2cea15e707dd030b3293d6d08183da369d291 Author: Marcin Slusarz Date: Thu May 15 16:52:32 2008 +0200 [S390] vmlogrdr: module initialization function should return negative errors Signed-off-by: Marcin Slusarz Signed-off-by: Martin Schwidefsky commit 2069e978d5a6e7b45d58027e3de7f879b8c5e488 Author: Heiko Carstens Date: Thu May 15 16:52:31 2008 +0200 [S390] sparsemem vmemmap: initialize memmap. Let's just use the generic vmmemmap_alloc_block() function which always returns initialized memory. Cc: Gerald Schaefer Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e0a45ee0b922b998f8d6737cf6e9e69a791252b7 Author: Cornelia Huck Date: Thu May 15 16:52:30 2008 +0200 [S390] Remove last traces of cio_msg=. cio_msg= is gone, also remove it from kernel-parameters.txt. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 32aff5732a11739e81994b3bcd7a9d0e8b1ea06e Author: Michael Ernst Date: Thu May 15 16:52:29 2008 +0200 [S390] cio: Remove CCW_CMD_SUSPEND_RECONN in front of CCW_CMD_SET_PGID. CCW_CMD_SUSPEND_RECONN causes a system hang if the cable of a reserved DASD is disconnected and connected again. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit e557d2775a530c12818fcb5895c4457a5fec59ae Author: S.Caglar Onur Date: Wed May 14 16:21:57 2008 -0700 arch/parisc/kernel/unaligned.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctl [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit b64af9b54c17008705367f554131415793a03fba Author: Johannes Weiner Date: Wed May 14 16:21:56 2008 -0700 parisc: remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit a8043ecb17bd2e4b034006bee315efeea3936278 Author: Harvey Harrison Date: Wed May 14 16:21:56 2008 -0700 drivers/parisc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 91bae23ce185b74c9b6dda86b92bb204a1c951c3 Author: Harvey Harrison Date: Wed May 14 16:21:55 2008 -0700 parisc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit 9e491e54f0589cc26e2c096664e9d95493b1af29 Author: Alan Cox Date: Wed May 14 16:21:54 2008 -0700 parisc: new termios definitions Signed-off-by: Alan Cox Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Kyle McMartin commit bd3bb8c15b9a80dbddfb7905b237a4a11a4725b4 Author: Helge Deller Date: Fri May 2 22:02:48 2008 +0200 parisc: fix trivial section name warnings This trivial patch fixes the following section warnings on PARISC: > WARNING: vmlinux.o (.text.1): unexpected section name. >The (.[number]+) following section name are ld generated and not expected. > Did you forget to use "ax"/"aw" in a .S file? > Note that for example contains > section definitions for use in .S files. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit faa5b9daa8bd8a18b5b1f3a8dd79261503f7cdd3 Author: Robert P. J. Day Date: Thu May 15 09:12:53 2008 +1000 [POWERPC] macintosh: Replace deprecated __initcall with device_initcall Signed-off-by: Robert P. J. Day Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 7012255aaee28203c15761f864e34b806b71dd53 Author: Ishizaki Kou Date: Wed May 14 19:05:19 2008 +1000 [POWERPC] cell: Fix section mismatches in io-workarounds code Fix following warnings: WARNING: arch/powerpc/platforms/cell/built-in.o(.devinit.text+0x9c): Section mismatch in reference from the function .cell_setup_phb() to the function .init.text:.iowa_register_bus() WARNING: arch/powerpc/platforms/cell/built-in.o(.devinit.text+0xa4): Section mismatch in reference from the function .cell_setup_phb() to the function .init.text:.io_workaround_init() Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit dfe1e09f220b73ff9b5614185ef24de4c07c578d Author: FUJITA Tomonori Date: Tue May 13 19:07:42 2008 +1000 [POWERPC] spufs: Fix compile error With CONFIG_VIRT_CPU_ACCOUNTING disabled, I got the following error: linux-2.6/arch/powerpc/platforms/cell/spufs/file.c: In function 'spu_switch_log_notify': linux-2.6/arch/powerpc/platforms/cell/spufs/file.c:2542: error: implicit declaration of function 'get_tb' make[4]: *** [arch/powerpc/platforms/cell/spufs/file.o] Error 1 Signed-off-by: FUJITA Tomonori Signed-off-by: Paul Mackerras commit 9c8387afdc93f90bf0241411d44e011d8d5b76df Author: Nate Case Date: Tue May 13 06:14:14 2008 +1000 [POWERPC] Fix uninitialized variable bug in copy_{to|from}_user Calls to copy_to_user() or copy_from_user() can fail when copying N bytes, where N is a constant less than 8, but not 1, 2, 4, or 8, because 'ret' is not initialized and is only set if the size is 1, 2, 4 or 8, but is tested after the switch statement for any constant size <= 8. This fixes it by initializing 'ret' to 1, causing the code to fall through to the __copy_tofrom_user call for sizes other than 1, 2, 4 or 8. Signed-off-by: Dave Scidmore Signed-off-by: Nate Case Signed-off-by: Paul Mackerras commit 64e4566f6d590fbb284da061b9b664c2486dd2de Author: Timur Tabi Date: Thu May 8 05:19:59 2008 +1000 [POWERPC] Add null pointer check to of_find_property Update function of_find_property() to return NULL if the device_node passed to it is also NULL. Otherwise, passing NULL will cause a null pointer dereference. Without this, the legacy_serial driver will crash if there's no 'chosen' node in the device tree. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit cec08e7a948326b01555be6311480aa08e637de2 Author: Benjamin Herrenschmidt Date: Wed Apr 30 15:41:48 2008 +1000 [POWERPC] vmemmap fixes to use smaller pages This changes vmemmap to use a different region (region 0xf) of the address space, and to configure the page size of that region dynamically at boot. The problem with the current approach of always using 16M pages is that it's not well suited to machines that have small amounts of memory such as small partitions on pseries, or PS3's. In fact, on the PS3, failure to allocate the 16M page backing vmmemmap tends to prevent hotplugging the HV's "additional" memory, thus limiting the available memory even more, from my experience down to something like 80M total, which makes it really not very useable. The logic used by my match to choose the vmemmap page size is: - If 16M pages are available and there's 1G or more RAM at boot, use that size. - Else if 64K pages are available, use that - Else use 4K pages I've tested on a POWER6 (16M pages) and on an iSeries POWER3 (4K pages) and it seems to work fine. Note that I intend to change the way we organize the kernel regions & SLBs so the actual region will change from 0xf back to something else at one point, as I simplify the SLB miss handler, but that will be for a later patch. Signed-off-by: Paul Mackerras commit 08fcf1d61193d7b7779aa6d7388535e26e064a0b Author: Luke Browning Date: Mon May 12 14:36:59 2008 +0000 [POWERPC] spufs: Fix pointer reference in find_victim If victim (not ctx) is in spu_run, add victim to rq. Signed-off-by: Luke Browning Acked-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 066b2118976e6e7cc50eed39e2747c75343a23c4 Author: Marcin Slusarz Date: Wed May 14 23:30:06 2008 -0700 isdn/capi: Return proper errnos on module init. cdebug_init() is called from kcapi_init() which is module initialization function, so it must return negative values on errors. Signed-off-by: Marcin Slusarz Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ffd8211fb18e1052b2d9eded629cc3c0b872d06a Author: Alan Cox Date: Wed May 14 23:28:47 2008 -0700 iphase: Fix 64bit warning. Time is unsigned long (except when you are in a hurry) so we need to store rx_tmp_jif in the right sized object. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 01bbf2c7ddc93479eecebf8495848c0f362130c5 Author: Andrew Morton Date: Wed May 14 23:27:18 2008 -0700 hysdn: No longer broken on SMP. With the cli/sti code sorted out we think this driver is OK for use on SMP systems. Acked-by: Mark Asselstine Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a9dd7fe28742c6b22eb8f214a04c4d2bcb2c0899 Author: Mark Asselstine Date: Wed May 14 23:25:33 2008 -0700 hysdn: Remove cli()/sti() calls. The use of cli()/sti() within the do/while was a way to ensure interrupts were only disabled for short periods of time while the bulk of the time interrupts were free to occur. The use of the spin lock has eliminated the need to play with interrupts in this way while still allowing for IO to be protected. The remaining 3 sti() calls seem unneeded now that at no other point in the driver is there a call to cli(). Signed-off-by: Mark Asselstine Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a1a61a435b3cc157830b7d42b175151ae5eabdd3 Author: Mike Frysinger Date: Wed May 14 23:24:09 2008 -0700 atm: Cleanup atm_tcp.h and atm.h for userspace. The atm_tcp.h uses types from linux/atm.h, but does not include it. It should also use the standard __u## types from linux/types.h rather than the uint##_t types since the former can be found with the kernel already. Same goes for linux/atm.h. The linux/socket.h include there also gets dropped as atm.h does not actually use anything from socket.h. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit c2cf07d591ef7bc25c220249822d9bdf0f44c75c Author: Steve French Date: Thu May 15 06:20:02 2008 +0000 [CIFS] Finishup DFS code Fixup GetDFSRefer to prepare for cleanup of SMB response processing Fix build warning in link.c Signed-off-by: Steve French commit f9ddcca4cf7d95238beb295484d1de7c0bf490dd Author: Steve French Date: Thu May 15 05:51:55 2008 +0000 [CIFS] BKL-removal: convert CIFS over to unlocked_ioctl cifs_ioctl doesn't seem to need the BKL for anything, so convert it over to use unlocked_ioctl. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Steve French commit c32916374b2b4f4d2b7ccdb357fe7989f3b407a6 Author: Steve French Date: Thu May 15 05:41:54 2008 +0000 [CIFS] suppress duplicate warning fs/cifs/dir.c: In function 'cifs_ci_compare': fs/cifs/dir.c:582: warning: passing argument 1 of 'memcpy' discards qualifiers from pointer target type Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 38d2f38be9e4a2f1e3324c973a903aa972f71d0f Author: Stephen Hemminger Date: Wed May 14 22:35:04 2008 -0700 bonding: handle case of device named bonding_master If device already exists named bonding_masters, then fail. This is a wierd corner case only a QA group could love. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0599ad53fee2d084f9ba26247d7452f06a40d298 Author: Stephen Hemminger Date: Wed May 14 22:34:16 2008 -0700 sysfs: remove error messages for -EEXIST case It is possible that the entry in sysfs already exists, one case of this is when a network device is renamed to bonding_masters. Anyway, in this case the proper error path is for device_rename to return an error code, not to generate bogus backtrace and errors. Also, to avoid possible races, the create link should be done before the remove link. This makes a device rename atomic operation like other renames. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman Signed-off-by: David S. Miller commit dcc997738e538919101d8756f19ca23110b25d8d Author: Stephen Hemminger Date: Wed May 14 22:33:38 2008 -0700 net: handle errors from device_rename device_rename can fail with -EEXIST or -ENOMEM, so handle any problems. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8f40f672e6bb071812f61bfbd30efc3fc1263ad1 Merge: 8978a31... 887b3ec... Author: Linus Torvalds Date: Wed May 14 19:30:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: fix error path during early mount 9p: make cryptic unknown error from server less scary 9p: fix flags length in net 9p: Correct fidpool creation failure in p9_client_create 9p: use struct mutex instead of struct semaphore 9p: propagate parse_option changes to client and transports fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure. 9p: Documentation updates add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust commit 8978a318837d7acefca82645017c0534aeba5a36 Merge: f7fd63c... 9a28dbf... Author: Linus Torvalds Date: Wed May 14 19:11:36 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Use a TS_RESTORE_SIGMASK lmb: Make lmb debugging more useful. lmb: Fix inconsistent alignment of size argument. sparc: Fix mremap address range validation. commit f7fd63c0b5e170efc20e7b9a0aad7f69dff62c64 Author: Andrew Morton Date: Wed May 14 16:05:59 2008 -0700 net/irda/irnet/irnet_irda.c needs unaligned.h net/irda/irnet/irnet_irda.c: In function 'irnet_discovery_indication': net/irda/irnet/irnet_irda.c:1676: error: implicit declaration of function 'get_unaligned' Signed-off-by: Andrew Morton Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 9ffee4cbc51907755809d98613d9e7133612803a Author: Andrew Morton Date: Wed May 14 16:05:58 2008 -0700 tty_check_change(): avoid taking tasklist_lock while holding tty->ctrl_lock May 11 09:42:27 [kernel] [ 1104.496819] rarian-sk-get-c[5630]: segfault at 0 ip 7f478556caf0 sp 7fff8e3fe338 error 4 in libc-2.6.1.so[7f47854f9000+136000] May 11 10:59:48 [kernel] [ 2494.165792] May 11 10:59:48 [kernel] [ 2494.165794] ======================================================= May 11 10:59:48 [kernel] [ 2494.165801] [ INFO: possible circular locking dependency detected ] May 11 10:59:48 [kernel] [ 2494.165805] 2.6.26-rc1-00007-g91b3a7a #217 May 11 10:59:48 [kernel] [ 2494.165807] ------------------------------------------------------- May 11 10:59:48 [kernel] [ 2494.165809] less/7053 is trying to acquire lock: May 11 10:59:48 [kernel] [ 2494.165812] (tasklist_lock){..??}, at: [] is_current_pgrp_orphaned+0x15/0x50 May 11 10:59:48 [kernel] [ 2494.165821] May 11 10:59:48 [kernel] [ 2494.165822] but task is already holding lock: May 11 10:59:48 [kernel] [ 2494.165824] (&tty->ctrl_lock){....}, at: [] tty_check_change+0x61/0x110 May 11 10:59:48 [kernel] [ 2494.165831] May 11 10:59:48 [kernel] [ 2494.165832] which lock already depends on the new lock. May 11 10:59:48 [kernel] [ 2494.165833] May 11 10:59:48 [kernel] [ 2494.165835] May 11 10:59:48 [kernel] [ 2494.165836] the existing dependency chain (in reverse order) is: May 11 10:59:48 [kernel] [ 2494.165838] May 11 10:59:48 [kernel] [ 2494.165839] -> #2 (&tty->ctrl_lock){....}: May 11 10:59:48 [kernel] [ 2494.165843] [] __lock_acquire+0xf86/0x1080 May 11 10:59:48 [kernel] [ 2494.165851] [] lock_acquire+0x92/0xc0 May 11 10:59:48 [kernel] [ 2494.165858] [] _spin_lock_irqsave+0x40/0x60 May 11 10:59:48 [kernel] [ 2494.165866] [] __proc_set_tty+0x35/0xe0 May 11 10:59:48 [kernel] [ 2494.165873] [] tty_ioctl+0xbf4/0xfe0 May 11 10:59:48 [kernel] [ 2494.165880] [] vfs_ioctl+0x31/0x90 May 11 10:59:48 [kernel] [ 2494.165888] [] do_vfs_ioctl+0x73/0x2d0 May 11 10:59:48 [kernel] [ 2494.165895] [] sys_ioctl+0x4a/0x80 May 11 10:59:48 [kernel] [ 2494.165902] [] system_call_after_swapgs+0x7b/0x80 May 11 10:59:48 [kernel] [ 2494.165910] [] 0xffffffffffffffff May 11 10:59:48 [kernel] [ 2494.165924] May 11 10:59:48 [kernel] [ 2494.165925] -> #1 (&sighand->siglock){++..}: May 11 10:59:48 [kernel] [ 2494.165929] [] __lock_acquire+0xf86/0x1080 May 11 10:59:48 [kernel] [ 2494.165936] [] lock_acquire+0x92/0xc0 May 11 10:59:48 [kernel] [ 2494.165943] [] _spin_lock+0x2f/0x40 May 11 10:59:48 [kernel] [ 2494.165951] [] copy_process+0x973/0x1210 May 11 10:59:48 [kernel] [ 2494.165959] [] do_fork+0x82/0x2f0 May 11 10:59:48 [kernel] [ 2494.165967] [] kernel_thread+0x81/0xde May 11 10:59:48 [kernel] [ 2494.165974] [] child_rip+0xa/0x12 May 11 10:59:48 [kernel] [ 2494.165981] [] 0xffffffffffffffff May 11 10:59:48 [kernel] [ 2494.166038] May 11 10:59:48 [kernel] [ 2494.166039] -> #0 (tasklist_lock){..??}: May 11 10:59:48 [kernel] [ 2494.166043] [] __lock_acquire+0xd9b/0x1080 May 11 10:59:48 [kernel] [ 2494.166050] [] lock_acquire+0x92/0xc0 May 11 10:59:48 [kernel] [ 2494.166057] [] _read_lock+0x32/0x50 May 11 10:59:48 [kernel] [ 2494.166063] [] is_current_pgrp_orphaned+0x15/0x50 May 11 10:59:48 [kernel] [ 2494.166071] [] tty_check_change+0xb0/0x110 May 11 10:59:48 [kernel] [ 2494.166078] [] set_termios+0x1f/0x4c0 May 11 10:59:48 [kernel] [ 2494.166085] [] tty_mode_ioctl+0x279/0x3e0 May 11 10:59:48 [kernel] [ 2494.166092] [] n_tty_ioctl+0x3d/0x260 May 11 10:59:48 [kernel] [ 2494.166100] [] tty_ioctl+0x154/0xfe0 May 11 10:59:48 [kernel] [ 2494.166107] [] vfs_ioctl+0x31/0x90 May 11 10:59:48 [kernel] [ 2494.166114] [] do_vfs_ioctl+0x73/0x2d0 May 11 10:59:48 [kernel] [ 2494.166121] [] sys_ioctl+0x4a/0x80 May 11 10:59:48 [kernel] [ 2494.166128] [] system_call_after_swapgs+0x7b/0x80 May 11 10:59:48 [kernel] [ 2494.166135] [] 0xffffffffffffffff May 11 10:59:48 [kernel] [ 2494.166142] May 11 10:59:48 [kernel] [ 2494.166143] other info that might help us debug this: May 11 10:59:48 [kernel] [ 2494.166144] May 11 10:59:48 [kernel] [ 2494.166146] 1 lock held by less/7053: May 11 10:59:48 [kernel] [ 2494.166148] #0: (&tty->ctrl_lock){....}, at: [] tty_check_change+0x61/0x110 May 11 10:59:48 [kernel] [ 2494.166155] May 11 10:59:48 [kernel] [ 2494.166156] stack backtrace: May 11 10:59:48 [kernel] [ 2494.166159] Pid: 7053, comm: less Not tainted 2.6.26-rc1-00007-g91b3a7a #217 May 11 10:59:48 [kernel] [ 2494.166161] May 11 10:59:48 [kernel] [ 2494.166162] Call Trace: May 11 10:59:48 [kernel] [ 2494.166168] [] print_circular_bug_tail+0x83/0x90 May 11 10:59:48 [kernel] [ 2494.166172] [] ? print_circular_bug_entry+0x49/0x60 May 11 10:59:48 [kernel] [ 2494.166178] [] __lock_acquire+0xd9b/0x1080 May 11 10:59:48 [kernel] [ 2494.166184] [] ? is_current_pgrp_orphaned+0x15/0x50 May 11 10:59:48 [kernel] [ 2494.166189] [] lock_acquire+0x92/0xc0 May 11 10:59:48 [kernel] [ 2494.166206] [] tty_check_change+0xb0/0x110 May 11 10:59:48 [kernel] [ 2494.166211] [] set_termios+0x1f/0x4c0 May 11 10:59:48 [kernel] [ 2494.166216] [] ? tty_ldisc_try+0x23/0x60 May 11 10:59:48 [kernel] [ 2494.166220] [] ? tty_ldisc_try+0x44/0x60 May 11 10:59:48 [kernel] [ 2494.166224] [] ? _spin_unlock_irqrestore+0x65/0x80 May 11 10:59:48 [kernel] [ 2494.166230] [] tty_mode_ioctl+0x279/0x3e0 May 11 10:59:48 [kernel] [ 2494.166234] [] ? tty_ldisc_try+0x44/0x60 May 11 10:59:48 [kernel] [ 2494.166239] [] n_tty_ioctl+0x3d/0x260 May 11 10:59:48 [kernel] [ 2494.166244] [] tty_ioctl+0x154/0xfe0 May 11 10:59:48 [kernel] [ 2494.166249] [] ? __lock_acquire+0x39a/0x1080 May 11 10:59:48 [kernel] [ 2494.166256] [] ? __lock_acquire+0x39a/0x1080 May 11 10:59:48 [kernel] [ 2494.166263] [] ? __lock_acquire+0x39a/0x1080 May 11 10:59:48 [kernel] [ 2494.166269] [] vfs_ioctl+0x31/0x90 May 11 10:59:48 [kernel] [ 2494.166274] [] do_vfs_ioctl+0x73/0x2d0 May 11 10:59:48 [kernel] [ 2494.166280] [] sys_ioctl+0x4a/0x80 May 11 10:59:48 [kernel] [ 2494.166286] [] system_call_after_swapgs+0x7b/0x80 May 11 10:59:48 [kernel] [ 2494.166292] Acked-by: Alan Cox Reported-by: Marcin Slusarz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7e72bf641b1fc7b9df6f40bd2c36dfccd8d647c Author: Neil Brown Date: Wed May 14 16:05:54 2008 -0700 Remove blkdev warning triggered by using md As setting and clearing queue flags now requires that we hold a spinlock on the queue, and as blk_queue_stack_limits is called without that lock, get the lock inside blk_queue_stack_limits. For blk_queue_stack_limits to be able to find the right lock, each md personality needs to set q->queue_lock to point to the appropriate lock. Those personalities which didn't previously use a spin_lock, us q->__queue_lock. So always initialise that lock when allocated. With this in place, setting/clearing of the QUEUE_FLAG_PLUGGED bit will no longer cause warnings as it will be clear that the proper lock is held. Thanks to Dan Williams for review and fixing the silly bugs. Signed-off-by: NeilBrown Cc: Dan Williams Cc: Jens Axboe Cc: Alistair John Strachan Cc: Nick Piggin Cc: "Rafael J. Wysocki" Cc: Jacek Luczak Cc: Prakash Punnoor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4920916f728fe3c51f54c25ab7b3d271254aab5a Author: Jiri Slaby Date: Wed May 14 16:05:53 2008 -0700 char: select fw_loader by moxa Select FW_LOADER since moxa needs it, otherwise we face link problems such as: drivers/built-in.o: In function moxa_pci_probe':moxa.c:(.devinit.text+0x76d8): undefined reference to request_firmware' :moxa.c:(.devinit.text+0x7e6e): undefined reference to release_firmware' make: *** [.tmp_vmlinux1] Error 1 Reported-by: Philippe Roussel Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76cdd58e558669366adfaded436fda01b30cce3e Author: Heiko Carstens Date: Wed May 14 16:05:52 2008 -0700 memory_hotplug: always initialize pageblock bitmap Trying to online a new memory section that was added via memory hotplug sometimes results in crashes when the new pages are added via __free_page. Reason for that is that the pageblock bitmap isn't initialized and hence contains random stuff. That means that get_pageblock_migratetype() returns also random stuff and therefore list_add(&page->lru, &zone->free_area[order].free_list[migratetype]); in __free_one_page() tries to do a list_add to something that isn't even necessarily a list. This happens since 86051ca5eaf5e560113ec7673462804c54284456 ("mm: fix usemap initialization") which makes sure that the pageblock bitmap gets only initialized for pages present in a zone. Unfortunately for hot-added memory the zones "grow" after the memmap and the pageblock memmap have been initialized. Which means that the new pages have an unitialized bitmap. To solve this the calls to grow_zone_span() and grow_pgdat_span() are moved to __add_zone() just before the initialization happens. The patch also moves the two functions since __add_zone() is the only caller and I didn't want to add a forward declaration. Signed-off-by: Heiko Carstens Cc: Andy Whitcroft Cc: Dave Hansen Cc: Gerald Schaefer Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c12c4cf9411eb130b245fa8d0fbbaf989477c7b Author: Venki Pallipadi Date: Wed May 14 16:05:51 2008 -0700 mprotect: prevent alteration of the PAT bits There is a defect in mprotect, which lets the user change the page cache type bits by-passing the kernel reserve_memtype and free_memtype wrappers. Fix the problem by not letting mprotect change the PAT bits. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c81433e8b05dbc85985d939046f10f95901184 Author: Eric Dumazet Date: Wed May 14 16:05:51 2008 -0700 per_cpu: fix DEFINE_PER_CPU_SHARED_ALIGNED for modules Current module loader lookups ".data.percpu" ELF section to perform per_cpu relocation. But DEFINE_PER_CPU_SHARED_ALIGNED() uses another section (".data.percpu.shared_aligned"), currently only handled in vmlinux.lds, not by module loader. To correct this problem, instead of adding logic into module loader, or using at build time a module.lds file for all arches to group ".data.percpu.shared_aligned" into ".data.percpu", just use ".data.percpu" for modules. Alignment requirements are correctly handled by ld and module loader. Signed-off-by: Eric Dumazet Cc: Rusty Russell Cc: Fenghua Yu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd8a4221ad76df700ff34875c9fbc42302aa4ba3 Author: Geoff Levand Date: Wed May 14 16:05:50 2008 -0700 memory_hotplug: check for walk_memory_resource() failure in online_pages() Add a check to online_pages() to test for failure of walk_memory_resource(). This fixes a condition where a failure of walk_memory_resource() can lead to online_pages() returning success without the requested pages being onlined. Signed-off-by: Geoff Levand Cc: Yasunori Goto Cc: KAMEZAWA Hiroyuki Cc: Dave Hansen Cc: Keith Mannthey Cc: Christoph Lameter Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc957721d18c93662f7d4dab455b80f53dd2641 Author: Harvey Harrison Date: Wed May 14 16:05:49 2008 -0700 lib: create common ascii hex array Add a common hex array in hexdump.c so everyone can use it. Add a common hi/lo helper to avoid the shifting masking that is done to get the upper and lower nibbles of a byte value. Pull the pack_hex_byte helper from kgdb as it is opencoded many places in the tree that will be consolidated. Signed-off-by: Harvey Harrison Acked-by: Paul Mundt Cc: Jason Wessel Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122a881c776b7c155bf3f379928cc27aab435288 Author: Robin Getz Date: Wed May 14 16:05:48 2008 -0700 video/logo: add support for Blackfin/Linux logo for framebuffer console This art design is beautiful, isn't it? And you can watch our demo on YouTube: http://youtube.com/watch?v=fKyQOntPEFs Signed-off-by: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e01c8e5420b6c7f9d85d34c15d8c7a15c9fc720 Author: Tiger Yang Date: Wed May 14 16:05:47 2008 -0700 ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle() This fix the uninitialized bs when we try to replace a xattr entry in ibody with the new value which require more than free space. This situation only happens we format ext3/4 with inode size more than 128 and we have put xattr entries both in ibody and block. The consequences about this bug is we will lost the xattr block which pointed by i_file_acl with all xattr entires in it. We will alloc a new xattr block and put that large value entry in it. The old xattr block will become orphan block. Signed-off-by: Tiger Yang Cc: Cc: Andreas Gruenbacher Acked-by: Andreas Dilger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c70814c311581a6c86198db4f982aa683c68fb8 Author: Mirco Tischler Date: Wed May 14 16:05:46 2008 -0700 cgroups: fix compile warning Return type of cpu_rt_runtime_write() should be int instead of ssize_t. Signed-off-by: Mirco Tischler Acked-by: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7cffc1f29c1bc729bc50c863c87f93f9b70994b Author: Mike Frysinger Date: Wed May 14 16:05:42 2008 -0700 asm-{alpha,h8300,um,v850,xtensa}/param.h: unbreak HZ for userspace I noticed this because alpha was broken due to the recent commit commit bdc807871d58285737d50dc6163d0feb72cb0dc2 ("avoid overflows in kernel/time.c"). Most arches do something like this in their asm/param.h: #ifdef __KERNEL__ # define HZ CONFIG_HZ #else # define HZ 100 #endif A few arches though (namely alpha/h8300/um/v850/xtensa) either do no set HZ at all for !__KERNEL__, or they set it wrongly. This should bring all arches in line by setting up HZ for userspace. Without this currently perl 5.10 doesn't build on alpha: perl.c: In function 'perl_construct': perl.c:388: error: 'CONFIG_HZ' undeclared (first use in this function) -> http://buildd.debian.org/fetch.cgi?pkg=perl;ver=5.10.0-10;arch=alpha;stamp=1210252894 Signed-off-by: Mike Frysinger Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Yoshinori Sato Cc: Jeff Dike Cc: Chris Zankel Cc: maximilian attems Signed-off-by: Andrew Morton [ HZ on alpha is 1024 for historical reasons. - Linus ] Signed-off-by: Linus Torvalds commit 772279c5f1dceb58d451dca94b557fd89b1ce890 Author: Mingming Cao Date: Wed May 14 16:05:41 2008 -0700 jbd: need to hold j_state_lock to updates to transaction t_state to T_COMMIT Updating the current transaction's t_state is protected by j_state_lock. We need to do the same when updating the t_state to T_COMMIT. Signed-off-by: Mingming Cao Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3723ca3874a8fc2218c4726d57e3a7da9e83e47 Author: Heiko Carstens Date: Wed May 14 16:05:40 2008 -0700 memory hotplug: memmap_init_zone called twice __add_zone calls memmap_init_zone twice if memory gets attached to an empty zone. Once via init_currently_empty_zone and once explictly right after that call. Looks like this is currently not a bug, however the call is superfluous and might lead to subtle bugs if memmap_init_zone gets changed. So make sure it is called only once. Cc: Yasunori Goto Acked-by: KAMEZAWA Hiroyuki Cc: Dave Hansen Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b7ec117bf6c98f5a845311c4ca5ca020a3d7689 Author: Nate Case Date: Wed May 14 16:05:39 2008 -0700 ipmi: support I/O resources in OF driver The current OF probing assumes that the resource is IORESOURCE_MEM. This checks for the IORESOURCE_IO flag and behaves appropriately. An I/O resource can exist with an ipmi device node on a legacy ISA bus. Signed-off-by: Nate Case Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90898709dfca860d9550c85f0924007f4c0467ea Author: Nicolas Ferre Date: Wed May 14 16:05:38 2008 -0700 atmel_lcdfb: fix initialization of a pre-allocated framebuffer Fix initialization of framebuffer not calling ioremap_writecombine() function and not using internal SRAM for at91sam9rl. This is a little rework of the "Don't initialize a pre-allocated framebuffer" patch that corrects the call to ioremap_writecombine() function. It also cuts the use of internal SRAM for at91sam9rl : it is a bit small for a framebuffer. Signed-off-by: Nicolas Ferre Cc: Andrew Victor Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ef0f720e47e895b613b0305eb0a483e3ec11f23 Author: Miklos Szeredi Date: Wed May 14 16:05:37 2008 -0700 mm: fix infinite loop in filemap_fault filemap_fault will go into an infinite loop if ->readpage() fails asynchronously. AFAICS the bug was introduced by this commit, which removed the wait after the final readpage: commit d00806b183152af6d24f46f0c33f14162ca1262a Author: Nick Piggin Date: Thu Jul 19 01:46:57 2007 -0700 mm: fix fault vs invalidate race for linear mappings Fix by reintroducing the wait_on_page_locked() after ->readpage() to make sure the page is up-to-date before jumping back to the beginning of the function. I've noticed this while testing nfs exporting on fuse. The patch fixes it. Signed-off-by: Miklos Szeredi Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b73a223661ed137c5d3d2635f954382e94f5a43 Author: Rene Herman Date: Wed May 14 16:05:36 2008 -0700 pnp: add ISAPnP MPU option quirks The AD181x and AZT230 chips don't support an IRQ-less MPU401 option but work fine without one. This adds (priority functional) IRQ-less options for each port option to help systems with few available IRQs. The AD1815 quirk can't use pnp_register_irq_resource() due to doubly penalizing the IRQ. Also, while not a practical issue due to no IRQ option being present for the dependents, this needs to add in front, not back. Doesn't use pnp_register_port_resource() for symetry with above. This does not delete the AD1815 independent option even though it should be empty after the IRQ transfer due to AD1816 coming with an empty but still present independent option by default. Was tested on AD1815, AD1816 and AZT2320. The ALSA snd-ad1818a driver also support the AZT2002 ID for MPU401 but this doesn't as I was unable to test it. Signed-off-by: Rene Herman Tested-by: Uwe Bugla Acked-by: Uwe Bugla Acked-by: Bjorn Helgaas Cc: Takashi Iwai Cc: Len Brown Signed-off-by: Linus Torvalds commit bc033c9b5fd261855278f4ed82c3713cc549afbe Author: Rene Herman Date: Wed May 14 16:05:34 2008 -0700 pnp: add pnp_build_option() to the API The subsequent AD181x quirk patch would like this as part of the API. pnp_register_dependent_option() adds to the same dependent chain the quirk is walking which is fairly unclean. This enables a private option chain build which it can then just add onto the end when done. Signed-off-by: Rene Herman Tested-by: Uwe Bugla Acked-by: Uwe Bugla Acked-by: Bjorn Helgaas Cc: Takashi Iwai Cc: Len Brown Signed-off-by: Linus Torvalds commit 726a7a3d17f183bd0f93daff4d56953c6af78c57 Author: Rene Herman Date: Wed May 14 16:05:33 2008 -0700 pnp: clean up pnp_fixup_device() Make it look a bit more like pci_fixup_device/pci_do_fixups. Also print the PnP ID and delete the () from the "foo+0x0/0x1234()". Signed-off-by: Rene Herman Tested-by: Uwe Bugla Acked-by: Uwe Bugla Acked-by: Bjorn Helgaas Cc: Takashi Iwai Cc: Len Brown Signed-off-by: Linus Torvalds commit 82f55af06af3d9c478292281ac37b48d2c43741e Author: Jens Rottmann Date: Wed May 14 16:05:32 2008 -0700 fix "lxfb: extend PLL table to support dotclocks below 25 MHz" The following patch caused a regression with OLPC panels: commit 3888d4639e78802c4ec1086127124e890461b9e4 lxfb: extend PLL table to support dotclocks below 25 MHz Extends the PLL frequency table of the AMD Geode-LX frame buffer driver to make use of the DIV4 bit, thus adding support for dotclocks between 6 and 25 MHz. These are needed for small LCDs (e.g. 320x240). Also inserts some intermediate steps between pre-existing frequencies. The problem was the insertion of intermediate steps into the frequency table; they would cause the wrong frequency to be matched. This patch drops those intermediate frequencies while keeping the sub-25MHz frequencies. Signed-off-by: Andres Salomon Signed-off-by: Jens Rottmann Tested-by: Andres Salomon Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b8b498836942c0c855333d357d121c0adeefbd9 Author: Eric Dumazet Date: Wed May 14 16:05:31 2008 -0700 oprofile: don't request cache line alignment for cpu_buffer Alignment was previously requested because cpu_buffer was an [NR_CPUS] array, to avoid cache line sharing between CPUS. After commit 608dfddd845da5ab6accef70154c8910529699f7 (oprofile: change cpu_buffer from array to per_cpu variable ), we dont need to force an alignement anymore since cpu_buffer sits in per_cpu zone. Signed-off-by: Eric Dumazet Cc: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7c5a770e6006ae2b5f4fd0491565b69e4d4bb48 Author: Sebastian Siewior Date: Wed May 14 16:05:30 2008 -0700 m68knommu: add info about removing mcfserial Schedule a removal for this driver. Alternative driver is available for a while now. Signed-off-by: Sebastian Siewior Acked-by: Greg Ungerer Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57cc097931e2d28a27e19515c549dc301ba6b6b2 Author: Grant Likely Date: Wed May 14 16:05:29 2008 -0700 mpc5200_psc_spi: typo fix in header block Signed-off-by: Grant Likely Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 646dd539878a194bc14b104621c0b2b33587e40f Author: Steve French Date: Thu May 15 01:50:56 2008 +0000 [CIFS] Fix paths when share is in DFS to include proper prefix Some versions of Samba (3.2-pre e.g.) are stricter about checking to make sure that paths in DFS name spaces are sent in the form \\server\share\dir\subdir ... instead of \dir\subdir Acked-by: Jeff Layton Signed-off-by: Steve French commit 887b3ece65be7b643dfdae0d433c91a26a3f437d Author: Eric Van Hensbergen Date: Thu May 8 20:26:37 2008 -0500 9p: fix error path during early mount There was some cleanup issues during early mount which would trigger a kernel bug for certain types of failure. This patch reorganizes the cleanup to get rid of the bad behavior. This also merges the 9pnet and 9pnet_fd modules for the purpose of configuration and initialization. Keeping the fd transport separate from the core 9pnet code seemed like a good idea at the time, but in practice has caused more harm and confusion than good. Signed-off-by: Eric Van Hensbergen commit 332c421e67045343de74e644cdf389f559f0d83f Author: Eric Van Hensbergen Date: Sat May 3 17:29:26 2008 -0500 9p: make cryptic unknown error from server less scary Right now when we get an error string from the server that we can't map we report a cryptic error that actually makes it look like we are reporting a problem with the client. This changes the text of the log message to clarify where the error is coming from. Signed-off-by: Eric Van Hensbergen commit d0c447180bfcb1db8d59e6ddb10f0346bd7d29e9 Author: Steven Rostedt Date: Sat May 3 17:29:50 2008 -0500 9p: fix flags length in net Some files in the net/9p directory uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Acked-by: Eric Van Hensbergen commit 728fc4ef17748042d9c71144aa339ed9c68e8b01 Author: Josef 'Jeff' Sipek Date: Fri Mar 7 11:40:33 2008 -0600 9p: Correct fidpool creation failure in p9_client_create On error, p9_idpool_create returns an ERR_PTR-encoded errno. Signed-off-by: Josef 'Jeff' Sipek Acked-by: Eric Van Hensbergen commit c1549497e903a1ffa1c5808337a987180e480e7a Author: Josef 'Jeff' Sipek Date: Fri Mar 7 11:39:13 2008 -0600 9p: use struct mutex instead of struct semaphore Replace semaphores protecting use flags with a mutex. Signed-off-by: Josef 'Jeff' Sipek Acked-by: Eric Van Hensbergen commit bb8ffdfc3e3b32ad9fcdb8da289088d3b22794e5 Author: Eric Van Hensbergen Date: Fri Mar 7 10:53:53 2008 -0600 9p: propagate parse_option changes to client and transports Propagate changes that were made to the parse_options code to the other parse options pieces present in the other modules. Looks like the client parse options was probably corrupting the parse string and causing problems for others. Signed-off-by: Eric Van Hensbergen commit ab31267dfeddf80b2e483f077c8b03905993722b Author: Jim Meyering Date: Thu Mar 6 17:10:28 2008 -0600 fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure. Now that this function can fail, return an int, diagnose other option-parsing failures, and adjust the sole caller: (v9fs_session_init): Handle kstrdup failure. Propagate any new v9fs_parse_options failure "up". Signed-off-by: Jim Meyering Cc: Ron Minnich Cc: Latchesar Ionkov Signed-off-by: Andrew Morton Acked-by: Eric Van Hensbergen commit ee443996a35c1e04f210cafd43d5a98d41e46085 Author: Eric Van Hensbergen Date: Wed Mar 5 07:08:09 2008 -0600 9p: Documentation updates The kernel-doc comments of much of the 9p system have been in disarray since reorganization. This patch fixes those problems, adds additional documentation and a template book which collects the 9p information. Signed-off-by: Eric Van Hensbergen commit b32a09db4fb9a87246ba4e7726a979ac4709ad97 Author: Markus Armbruster Date: Tue Feb 26 09:57:11 2008 -0600 add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust match_strcpy() is a somewhat creepy function: the caller needs to make sure that the destination buffer is big enough, and when he screws up or forgets, match_strcpy() happily overruns the buffer. There's exactly one customer: v9fs_parse_options(). I believe it currently can't overflow its buffer, but that's not exactly obvious. The source string is a substing of the mount options. The kernel silently truncates those to PAGE_SIZE bytes, including the terminating zero. See compat_sys_mount() and do_mount(). The destination buffer is obtained from __getname(), which allocates from name_cachep, which is initialized by vfs_caches_init() for size PATH_MAX. We're safe as long as PATH_MAX <= PAGE_SIZE. PATH_MAX is 4096. As far as I know, the smallest PAGE_SIZE is also 4096. Here's a patch that makes the code a bit more obviously correct. It doesn't depend on PATH_MAX <= PAGE_SIZE. Signed-off-by: Markus Armbruster Cc: Latchesar Ionkov Cc: Jim Meyering Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Eric Van Hensbergen commit 3fb2c74ee20b77affd494c6b8ce7928d0ebbb62e Author: Prarit Bhargava Date: Wed May 14 12:00:24 2008 -0400 [IA64] Properly unregister legacy interrupts acpi_unregister_gsi() should "undo" what acpi_register_gsi() does. On systems that have legacy interrupts, acpi_unregister_gsi erroneously calls iosapci_unregister_intr() which is wrong to do and causes a loud warning. acpi_unregister_gsi() should just return in these cases. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 7af1d7532b6cf905230c72c67ad85a480b122374 Author: Simon Holm Thøgersen Date: Mon May 12 17:40:50 2008 +0200 [IA64] Remove NULL pointer check for argument never passed as NULL. There is only palinfo_handle_smp as (indirect) user of palinfo_smp_call (by way of smp_call_function_single) and surely palinfo_handle_smp never pass NULL as parameter for info. Signed-off-by: Simon Holm Thøgersen Signed-off-by: Tony Luck commit 0fb232fdb2a2674003ef4b874034e872b7256aa9 Author: Hidetoshi Seto Date: Fri May 9 15:27:09 2008 +0900 [IA64] trivial cleanup for perfmon.c Fix a typo, and coding style cleanups for pfm_handle_work(). Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 2e513fe4903c62450a9f8c3759f75bc4cd7e4dfd Author: Hidetoshi Seto Date: Fri May 9 15:26:51 2008 +0900 [IA64] trivial cleanup for entry.S This patch does: - make comment at next to resched check more robust - move "re-check" comments to next to where change predicate regs Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 3633c7308005e8c1dab594f69ef904424f8b639a Author: Hidetoshi Seto Date: Fri May 9 15:26:35 2008 +0900 [IA64] fix interrupt masking for pending works on kernel leave [Bug-fix for "[BUG?][2.6.25-mm1] sleeping during IRQ disabled"] This patch does: - enable interrupts before calling schedule() as same as others, ex. x86 - enable interrupts during ia64_do_signal() and ia64_sync_krbs() - do_notify_resume_user() is still called with interrupts disabled, since we can take short path of fsys_mode if-statement quickly. - pfm_handle_work() is also called with interrupts disabled, since it can deal interrupt mask within itself. - fix/add some comments/notes Reported-by: KOSAKI Motohiro Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit f13ae30e1397e3bfb38feb3b6e889af5d021f13d Author: Alex Chiang Date: Thu May 8 14:03:23 2008 -0600 [IA64] allow user to force_pal_cache_flush The sequence executed in check_sal_cache_flush: - pend a timer interrupt - call SAL_CACHE_FLUSH - see if interrupt is still pending can hang HP machines with buggy SAL_CACHE_FLUSH implementations. Provide a kernel command-line argument to allow users skip this check if desired. Using this parameter will force ia64_sal_cache_flush to call ia64_pal_cache_flush() instead of SAL_CACHE_FLUSH. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 8a3360f06cd4d3b1d57f73e029f2f8b6057fdcba Author: Bernhard Walle Date: Wed May 14 15:40:40 2008 -0700 [IA64] Don't reserve crashkernel memory > 4 GB Some IA64 machines map all cell-local memory above 4 GB (32 bit limit). However, in most cases, the kernel needs some memory below that limit that is DMA-capable. So in this machine configuration, the crashkernel will be reserved above 4 GB. For machines that use SWIOTLB implementation because they lack an I/O MMU the low memory is required by the SWIOTLB implementation. In that case, it doesn't make sense to reserve the crashkernel at all because it's unusable for kdump. A special case is the "hpzx1" machine vector. In theory, it has a I/O MMU, so it can be booted above 4 GB. However, in the kdump case that is not possible because of changeset 51b58e3e26ebfb8cd56825c4b396ed251f51dec9: On HP zx1 machines, the 'machvec=dig' parameter is needed for the kdump kernel to avoid problems with the HP sba iommu. The problem is that during the boot of the kdump kernel, the iommu is re-initialized, so in-flight DMA from improperly shutdown drivers causes an IOTLB miss which leads to an MCA. With kdump, the idea is to get into the kdump kernel with as little code as we can, so shutting down drivers properly is not an option. The workaround is to add 'machvec=dig' to the kdump kernel boot parameters. This makes the kdump kernel avoid using the sba iommu altogether, leaving the IOTLB intact. Any ongoing DMA falls harmlessly outside the kdump kernel. After the kdump kernel reboots, all devices will have been shutdown properly and DMA stopped. This patch pushes that functionality into the sba iommu initialization code, so that users won't have to find the obscure documentation telling them about 'machvec=dig'. This means that also for hpzx1 it's not possible to boot when all memory is above the 4 GB limit. So the only machine vectors that can handle this case are "sn2" and "uv". Signed-off-by: Bernhard Walle Signed-off-by: Tony Luck commit db973ffa11030e032acde47b4d6e958064311166 Merge: dd28642... cafa027... Author: Linus Torvalds Date: Wed May 14 14:29:34 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: cs5520: disable VDMA ide/Kconfig: couple of fixes alim15x3: remove WDC_ALI15X3 config option alim15x3: add "wdc_udma" module parameter alim15x3: remove stale warning about ATI RS100 northbridge alim15x3: trivial cleanup for ali_set_pio_mode() make ide-iops.c:SELECT_MASK() static SWARM IDE: Fix up following changes to ide_hwif_t commit 2224661494278bfc1c35b392cf6ee6f58e1d5e64 Author: Jack Steiner Date: Tue May 6 15:18:57 2008 -0500 [IA64] machvec support for SGI UV platform This patch adds the basic IA64 machvec infrastructure to support the SGI "UV" platform. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 7868f1ed84696d3cca83558e8dd459f20a36d077 Author: Jack Steiner Date: Tue May 6 15:18:55 2008 -0500 [IA64] Add header files for SGI UV platform Add new UV-specific header files. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit cafa027b8cc6f605ccebc43a960644307a12d8dd Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:16 2008 +0200 cs5520: disable VDMA Disable Virtual DMA support for now (it causes system hangs). Thanks to TAKADA Yoshihito for the help with debugging the problem. Reported-by: TAKADA Yoshihito Signed-off-by: Bartlomiej Zolnierkiewicz commit 64afc31f8976bda66e82a41aacb1f7e427fb179e Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:16 2008 +0200 ide/Kconfig: couple of fixes * Don't ask to enable no longer existing config options ("Use DMA by default when available" and "Special UDMA Feature"). * PIIX host driver doesn't support Victory66 chipset. * "ide0=cmd640_vlb" -> "cmd640.probe_vlb" * "ide=doubler" -> "gayle.doubler" * Amiga IDE doubler support is a feature for gayle host driver not a separate host driver. * Remove Andre's mail. Signed-off-by: Bartlomiej Zolnierkiewicz commit e7f379d5cabb2790ecce5d623382fa6085e7686d Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:16 2008 +0200 alim15x3: remove WDC_ALI15X3 config option There is "wdc_udma" module parameter now. Signed-off-by: Bartlomiej Zolnierkiewicz commit 63b1623ef0e33160d782fd1b0044e9a8af5d16cf Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:16 2008 +0200 alim15x3: add "wdc_udma" module parameter Add "wdc_udma" module parameter for allowing UDMA transfers on M1543C-E chipset for WDC disks. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bf111d97a8c05d3fe436caaf18ba0634c9ab33d Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:16 2008 +0200 alim15x3: remove stale warning about ATI RS100 northbridge Signed-off-by: Bartlomiej Zolnierkiewicz commit df98668f178c39c54bc7b9cd3adb99cbd7ed8ada Author: Bartlomiej Zolnierkiewicz Date: Wed May 14 23:06:15 2008 +0200 alim15x3: trivial cleanup for ali_set_pio_mode() Remove commented out code and stale comment. Signed-off-by: Bartlomiej Zolnierkiewicz commit e0b4eb5193fed5c63413b0c137be29b0477d15ca Author: Adrian Bunk Date: Wed May 14 23:06:15 2008 +0200 make ide-iops.c:SELECT_MASK() static SELECT_MASK() can now become static. [bart: remove space between function name and open parenthesis] Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d4423caaa1b9ca709ef6a911a030a3b6e68c46b Author: Maciej W. Rozycki Date: Wed May 14 23:06:14 2008 +0200 SWARM IDE: Fix up following changes to ide_hwif_t Following recent changes to ide_hwif_t update the SWARM IDE driver to use hw_regs_t to initialize port mapping. Plus minor layout adjustments along the lines of other drivers. Signed-off-by: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit dd286422fefdcff784e8d336deeb88ce817e14db Merge: 4717df5... a58e58f... Author: Linus Torvalds Date: Wed May 14 13:32:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/cxgb3: Wrap the software send queue pointer as needed on flush IB/ipath: Change ipath_devdata.ipath_sdma_status to be unsigned long IB/ipath: Make ipath_portdata work with struct pid * not pid_t IB/ipath: Fix RDMA read response sequence checking IB/ipath: Fix many locking issues when switching to error state IB/ipath: Fix RC and UC error handling RDMA/nes: Fix up nes_lro_max_aggr module parameter commit 4717df58304b60ac26cdb157d57f39ae1e3a336f Merge: fc99824... c2b7bbe... Author: Linus Torvalds Date: Wed May 14 13:31:25 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (70 commits) V4L/DVB (7900): pvrusb: Fix Kconfig if DVB=m V4L_core=y V4L/DVB (7899): Fixes a few remaining Kbuild issues at common/tuners V4L/DVB (7898): Fix VIDEO_MEDIA Kconfig logic V4L/DVB (7895): tveeprom: update Hauppauge analog audio and video decoders V4L/DVB (7893): xc5000: bug-fix: allow multiple devices in a single system V4L/DVB (7891): cx18/ivtv: fix open() kernel oops V4L/DVB (7890): cx18: removed bogus and confusing conditional V4L/DVB (7889): cx18: improve HVR-1600 detection. V4L/DVB (7888): cx18: minor card definition updates. V4L/DVB (7887): cx18: fix Compro H900 analog support. V4L/DVB (7881): saa7134: fixed a compile warning in saa7134-core.c V4L/DVB (7880): saa7134: remove explicit GPIO initialization V4L/DVB(7879): Adding cx18 Support for mxl5005s V4L/DVB(7878): mxl55005s: Makefile and Kconfig additions V4L/DVB(7877): mxl5005s: Ensure debug is off V4L/DVB(7876): mxl5005s: Remove incorrect copyright holders V4L/DVB(7875): mxl5005s: Remove redundant functions V4L/DVB(7874): mxl5005s: Fix function statics V4L/DVB(7873): mxl5005s: Fix header includes. V4L/DVB(7872): mxl5005s: checkpatch.pl compliance ... commit 88ae600d58a8d3160144af480133a988404b8d59 Author: Pierre Ossman Date: Sun Aug 12 14:23:50 2007 +0200 mmc: mmc host test driver A dummy driver that performs a series of requests that are often mis- handled by host drivers. Signed-off-by: Pierre Ossman commit df48dd028766ce2fc05d1f1d9da9bf89855d5282 Author: Tony Lindgren Date: Tue May 6 16:36:47 2008 -0700 mmc: Fix omap compile by replacing dev_name with dma_dev_name This patch fixes error: drivers/mmc/host/omap.c: In function 'mmc_omap_get_dma_channel': drivers/mmc/host/omap.c:1038: error: called object 'dev_name' is not a function Commit 06916639e2fed9ee475efef2747a1b7429f8fe76 adds a function called dev_name. This will cause a name conflict as dev_dbg calls dev_name(((host->mmc)->parent)). This same issue should not affect other drivers as they don't seem to use dev_name with dev_dbg. Thanks to Paul Walmsley for figuring this one out. Cc: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 35fc37d5175091c36d034a28c057da0f9594ee7e Author: Jeff Layton Date: Wed May 14 10:22:03 2008 -0700 add function to convert access flags to legacy open mode SMBLegacyOpen always opens a file as r/w. This could be problematic for files with ATTR_READONLY set. Have it interpret the access_mode into a sane open mode. Signed-off-by: Steve French commit e10f7b551d2a79b113d5ce66b5dc9f3657035445 Author: Jeff Layton Date: Wed May 14 10:21:33 2008 -0700 clarify return value of cifs_convert_flags() cifs_convert_flags returns 0x20197 in the default case. It's not immediately evident where that number comes from, so change it to be an or'ed set of flags. The compiler will boil it down anyway. (Thanks to Guenter Kukkukk for clarifying the flags). Signed-off-by: Steve French commit fc99824c427ed998e3c5e376bd9c640fde1c407c Merge: e90a4e4... 0a3ad00... Author: Linus Torvalds Date: Wed May 14 11:13:44 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: Driver core: struct class remove children list block: do_mounts - accept root= commit e90a4e475a8b34adbefe189c9d0932fa0b7b750f Merge: 6aa5fc4... 4051770... Author: Linus Torvalds Date: Wed May 14 10:52:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (22 commits) USB: atmel_usba_udc fixes, mostly disconnect() USB: pxa27x_udc: minor fixes usbtest: comment on why this code "expects" negative and positive errnos USB: remove PICDEM FS USB demo (04d8:000c) device from ldusb USB: option: add new Dell 5520 HSDPA variant USB: unusual_devs: Add support for GI 0401 SD-Card interface USB: serial gadget: descriptor cleanup USB: serial gadget: simplify endpoint handling USB: serial gadget: remove needless data structure USB: serial gadget: cleanup/reorg usb: fix compile warning in isp1760 USB: do not handle device 1410:5010 in 'option' driver USB: Fix unusual_devs.h ordering USB: add Zoom Telephonics Model 3095F V.92 USB Mini External modem to cdc-acm USB: Support for the ET502HS HDSPA modem in option driver USB: Support for the ET502HS HDSPA modem usb: fix integer as NULL pointer warnings found by sparse USB: isp1760: fix printk format USB: add Telstra NextG CDMA id to option driver USB: add association.h ... commit 0a3ad00ca09632c6d0675f606276e92bdf1b306c Author: Dave Young Date: Fri May 9 15:24:08 2008 +0800 Driver core: struct class remove children list because of the class_device was removed, now do the children list removing Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 Author: Kay Sievers Date: Tue May 6 22:31:33 2008 +0200 block: do_mounts - accept root= Some devices, like md, may create partitions only at first access, so allow root= to be set to a valid non-existant partition of an existing disk. This applies only to non-initramfs root mounting. This fixes a regression from 2.6.24 which did allow this to happen and broke some users machines :( Acked-by: Neil Brown Tested-by: Joao Luis Meloni Assirati Cc: stable Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6aa5fc434958d15a4d66d922d0416dfb03c07def Merge: 362a61a... 9ee6b7f... Author: Linus Torvalds Date: Wed May 14 10:08:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (73 commits) net: Fix typo in net/core/sock.c. ppp: Do not free not yet unregistered net device. netfilter: xt_iprange: module aliases for xt_iprange netfilter: ctnetlink: dump conntrack ID in event messages irda: Fix a misalign access issue. (v2) sctp: Fix use of uninitialized pointer cipso: Relax too much careful cipso hash function. tcp FRTO: work-around inorder receivers tcp FRTO: Fix fallback to conventional recovery New maintainer for Intel ethernet adapters DM9000: Use delayed work to update MII PHY state DM9000: Update and fix driver debugging messages DM9000: Add __devinit and __devexit attributes to probe and remove sky2: fix simple define thinko [netdrvr] sfc: sfc: Add self-test support [netdrvr] sfc: Increment rx_reset when reported as driver event [netdrvr] sfc: Remove unused macro EFX_XAUI_RETRAIN_MAX [netdrvr] sfc: Fix code formatting [netdrvr] sfc: Remove kernel-doc comments for removed members of struct efx_nic [netdrvr] sfc: Remove garbage from comment ... commit 362a61ad61199e19a61b8e432015e2586b288f5b Author: Nick Piggin Date: Wed May 14 06:37:36 2008 +0200 fix SMP data race in pagetable setup vs walking There is a possible data race in the page table walking code. After the split ptlock patches, it actually seems to have been introduced to the core code, but even before that I think it would have impacted some architectures (powerpc and sparc64, at least, walk the page tables without taking locks eg. see find_linux_pte()). The race is as follows: The pte page is allocated, zeroed, and its struct page gets its spinlock initialized. The mm-wide ptl is then taken, and then the pte page is inserted into the pagetables. At this point, the spinlock is not guaranteed to have ordered the previous stores to initialize the pte page with the subsequent store to put it in the page tables. So another Linux page table walker might be walking down (without any locks, because we have split-leaf-ptls), and find that new pte we've inserted. It might try to take the spinlock before the store from the other CPU initializes it. And subsequently it might read a pte_t out before stores from the other CPU have cleared the memory. There are also similar races in higher levels of the page tables. They obviously don't involve the spinlock, but could see uninitialized memory. Arch code and hardware pagetable walkers that walk the pagetables without locks could see similar uninitialized memory problems, regardless of whether split ptes are enabled or not. I prefer to put the barriers in core code, because that's where the higher level logic happens, but the page table accessors are per-arch, and open-coding them everywhere I don't think is an option. I'll put the read-side barriers in alpha arch code for now (other architectures perform data-dependent loads in order). Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 73f10281ea96d7e8b4fc1c5d755a7c8eb484155b Author: Nick Piggin Date: Wed May 14 06:35:11 2008 +0200 read_barrier_depends arch fixlets read_barrie_depends has always been a noop (not a compiler barrier) on all architectures except SMP alpha. This brings UP alpha and frv into line with all other architectures, and fixes incorrect documentation. Signed-off-by: Nick Piggin Acked-by: Paul E. McKenney Signed-off-by: Linus Torvalds commit 405177070614f35133304d4daa1332afeb83ffa2 Author: David Brownell Date: Sat May 10 22:46:38 2008 -0700 USB: atmel_usba_udc fixes, mostly disconnect() Various fixes to Atmel's high speed UDC driver. * Issue some missing disconnect() calls. Currently they are only made when VBUS power goes away (on boards where the driver can sense such changes), but that's not enough for gadget drivers to clean out all the state that's needed. Missing calls were: - After USB reset, before starting enumeration. - When unregistering a gadget driver, before unbind(). * Don't assume gadget drivers provide disconnect callbacks; make sure to not call through a null pointer! * When the driver doesn't provide an unbind() callback, refuse to unregister it. Also remove two bogus "error" messages: * Related to mis-handling of disconnect() ... don't emit error messages for disconnect() handlers that disable endpoints. All of them should be doing that; the problem is (unfixed) oddness in atmel_usba_udc. * Don't emit a diagnostic for a curious and transient nonfatal error that shows up sometimes with EP0. Those messages spammed syslog, for no good reason. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 5a59bc544d00923ff715e2fe68ea537153f52dda Author: Robert Jarzmik Date: Mon May 12 10:47:56 2008 -0700 USB: pxa27x_udc: minor fixes Minor fixes to pxa27x udc driver : - don't clobber driver model bus_id field - wrong endianess fix (no functional change; cpu is little-endian) - double udc disable fix - resume/suspend fix (OTG hold bit) - make driver pxa27x dependant (check cpu at runtime) Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6def755320a214ae149ad6bc69eb8c1d7887e678 Author: Marcin Slusarz Date: Mon May 12 20:17:25 2008 +0200 usbtest: comment on why this code "expects" negative and positive errnos On Mon, May 12, 2008 at 01:02:22AM -0700, David Brownell wrote: > On Sunday 11 May 2008, Marcin Slusarz wrote: > > > > test_ctrl_queue expects (?) positive and negative errnos. > > what is going on here? > > The sign is just a way to flag something: > > /* some faults are allowed, not required */ > > The negative ones are required. Positive codes are optional, > in the sense that, depending on how the peripheral happens > to be implemented, they won't necessarily be triggered. > > For example, the test to fetch a device qualifier desriptor > must succeed if the device is running at high speed. So that > test is marked as negative. But when it's full speed, it > could legitimately fail; marked as positive. And so on for > other tests. > > Look at how the codes are *interpreted* to see it work. Lets document it. Based on comment from David Brownell . Signed-off-by: Marcin Slusarz Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5fc89390f74ac42165db477793fb30f6a200e79c Author: Xiaofan Chen Date: Tue May 13 21:52:00 2008 +0800 USB: remove PICDEM FS USB demo (04d8:000c) device from ldusb Microchip has changed the PICDEM FS USB demo device (0x04d8:000c) to use bulk transfer and not interrupt transfer. So I've updated the libusb based program here (Post #31). http://forum.microchip.com/tm.aspx?m=106426&mpage=2 So I believe that the in-kernel ldusb driver will no longer work with the demo firmware. It should be removed. Signed-off-by: Xiaofan Chen Cc: Michael Hund Cc: stable Signed-off-by: Greg Kroah-Hartman commit 96cb15cf977356d9d3117dd88f3fe187d6024f4b Author: Dan Williams Date: Tue May 13 12:53:45 2008 -0400 USB: option: add new Dell 5520 HSDPA variant New variant of the 5520 found by Luke Sheldrick. Signed-off-by: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit e7c6f80fd733218aa1e79efa5d9ece9f76966160 Author: Filip Aben Date: Thu May 8 10:48:12 2008 -0700 USB: unusual_devs: Add support for GI 0401 SD-Card interface Enables the SD-Card interface on the GI 0401 HSUPA card from Option. The unusual_devs.h entry is necessary because the device descriptor is vendor-specific. That prevents usb-storage from binding to it as an interface driver. This revised patch adds a small comment explaining why and reduces the rev range. T: Bus=02 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 P: Vendor=0af0 ProdID=7401 Rev= 0.00 S: Manufacturer=Option N.V. S: Product=Globetrotter HSUPA Modem C:* #Ifs=10 Cfg#= 1 Atr=80 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 0 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 2 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 2 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 4 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 4 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 5 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 5 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 6 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 6 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 7 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 7 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=2ms E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#= 9 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Filip Aben Signed-off-by: Phil Dibowitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit b9370332f4879360ef7126f7a19c660e87084290 Author: David Brownell Date: Wed May 7 14:27:37 2008 -0700 USB: serial gadget: descriptor cleanup Bugfix some serial gadget descriptors: - Stop mangling the low bits (controller type ID) of bcdDevice; just use the high bits for a driver revision code. - Serial numbers that aren't specific to individual devices are useless; stop reporting "0" for this. - Since it's not part of a CDC-conformant function, the "bulk only" configuration shouldn't be using "CDC Data" as its interface class. Switch over to using CLASS_VENDOR_SPEC (different value, 0xff). Signed-off-by: David Brownell Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 734d37c654569f03156f8603a9761c402a73aa20 Author: David Brownell Date: Wed May 7 14:25:24 2008 -0700 USB: serial gadget: simplify endpoint handling Switch serial gadget away from a *very* old idiom: just remember the endpoints we'll be using, instead of looking them up by name each time. This is a net code and data (globals) shrink. Also fix a small memory leak in the rmmod path, by working the same as the disconnect code. Signed-off-by: David Brownell Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 2c2d28a015f0dd36c5d1a06e16923e3142574066 Author: David Brownell Date: Wed May 7 14:24:10 2008 -0700 USB: serial gadget: remove needless data structure This removes a needless data structure from the serial gadget code; it's a small code shrink, and a larger data shrink. Since "struct usb_request" already has a "struct list_head" reserved for use by gadget drivers, the serial gadget code doesn't need to allocate wrapper structs to hold that list ... it can (and should!) just use the list_head provided for that exact use. Signed-off-by: David Brownell Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 9079e91b5b5a84836e65cdc9128d2602e3beaef2 Author: David Brownell Date: Wed May 7 16:00:36 2008 -0700 USB: serial gadget: cleanup/reorg Some cleanup/reorg of g_serial ... simplifying it, and disentangling its structure so morphing it into a "function" driver (combinable with other interfaces) should be less painful. - Remove most forward declarations * put tty and gadget driver structs after their contents * snug module init/exit decls next to their functions * reordered some functions - Other cleanup: * convert a funky macro to an inline function * snug up module params next to their declarations * add missing driver.owner * add separator lines between major driver sections - Add comments re potential parameter/#define changes: * only supports one port (shrank GS_NUM_PORTS) * changing from 9600-8-N-1 affects multiple sites - Remove net2280-specific optimization ... it was being done way too late, can be done by net2280 module options, and in any case doesn't matter at any sane serial data rates. There are no behavioral changes, but the macro thing saves I-space. Signed-off-by: David Brownell Cc: Al Borchers Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit fe312e77f0ed4349e908b1575be0d4308f0b2ce4 Author: Sebastian Siewior Date: Mon May 5 09:31:50 2008 +0200 usb: fix compile warning in isp1760 drivers/usb/host/isp1760-if.c:275: warning: 'ret' is used uninitialized in this function Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit cdafc37a7b727b75ced65e31e47dafbd8b70f97f Author: Eugeniy Meshcheryakov Date: Mon May 5 01:24:38 2008 +0200 USB: do not handle device 1410:5010 in 'option' driver This device is not a serial port, but a virtual CD-ROM device. For example with my Novatel MC950D: lsusb -v -d 1410:5010 | grep InterfaceClass bInterfaceClass 8 Mass Storage After some time (ca. 5min) or if virtual CD is ejected, device id changes to 1410:4400: % lsusb -v -d 1410:4400 | grep InterfaceClass bInterfaceClass 255 Vendor Specific Class bInterfaceClass 255 Vendor Specific Class Variable name says that 0x5010 is a Novatel U727, but searching in internet shows, that this device also provides virtual CD that should be ejected before use. Product id for serial port in this case is 0x4100. Signed-off-by: Eugeniy Meshcheryakov Cc: stable Signed-off-by: Greg Kroah-Hartman commit ed3e8fcaeb67b7c2c96eb9c30d5b98816a08a1a2 Author: Phil Dibowitz Date: Sat May 3 18:04:30 2008 -0700 USB: Fix unusual_devs.h ordering This patch fixes ordering problems with entries in unusual_devs.h. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 6149ed5e3a6207595bd7362af7724d64f44af216 Author: Iain McFarlane Date: Sun May 4 00:13:49 2008 +0100 USB: add Zoom Telephonics Model 3095F V.92 USB Mini External modem to cdc-acm The patch below is a necessary workaround to support the Zoom Telephonics Model 3095F V.92 USB Mini External modem, which fails to initialise properly during normal probing thus: May 3 22:53:00 imcfarla kernel: drivers/usb/class/cdc-acm.c: Zero length descriptor references May 3 22:53:00 imcfarla kernel: cdc_acm: probe of 5-2:1.0 failed with error -22 Adding the patch below causes the probing section to be skipped, and the modem then initialises correctly. Signed-off-by: Iain McFarlane Acked-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4c7d3137fe4fce634d55a6e99c95dff4c6306702 Author: andreoli@samba.ing.unimo.it Date: Thu May 1 19:26:16 2008 +0200 USB: Support for the ET502HS HDSPA modem in option driver the proposed patch allows the ET502HS HDSPA modem to be handled by the "option" driver. It has been tested for 1 month and works reliably (no oopses, no hangs, 300KB/s throughput). Signed-off-by: Mauro Andreolini Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit dddcb8b7d419b6726ba07efe53e6bb216a9e86cb Author: andreoli@samba.ing.unimo.it Date: Thu May 1 19:17:28 2008 +0200 USB: Support for the ET502HS HDSPA modem The attached patch allows to bypass the ZeroCD mechanism for the ET502HS HDSPA modem, so that it can be mounted as a network device. Signed-off-by: Mauro Andreolini Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit af3d305ca71fea5dfdeba4bcecf2f91fa16dfa9d Author: Harvey Harrison Date: Wed Apr 30 15:03:41 2008 -0700 usb: fix integer as NULL pointer warnings found by sparse drivers/usb/host/ohci-sm501.c:93:24: warning: Using plain integer as NULL pointer drivers/usb/gadget/amd5536udc.c:3254:9: warning: Using plain integer as NULL pointer drivers/usb/gadget/amd5536udc.c:3267:9: warning: Using plain integer as NULL pointer drivers/usb/gadget/amd5536udc.c:3277:9: warning: Using plain integer as NULL pointer drivers/usb/gadget/amd5536udc.c:3285:9: warning: Using plain integer as NULL pointer drivers/usb/gadget/amd5536udc.c:3293:9: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 220264733d3fb126c5ffd71ce897d918ce491c62 Author: Randy Dunlap Date: Wed Apr 30 13:53:54 2008 -0700 USB: isp1760: fix printk format Fix printk format warnings in isp1760 (in linux-next): next-20080430/drivers/usb/host/isp1760-hcd.c:994: warning: format '%d' expects type 'int', but argument 6 has type 'size_t' next-20080430/drivers/usb/host/isp1760-hcd.c:1092: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 23cacd65f65956426bbca25964a68c174db83a31 Author: Greg Kroah-Hartman Date: Thu May 8 23:03:04 2008 +0200 USB: add Telstra NextG CDMA id to option driver As reported by Magnus Boman Cc: Magnus Boman Cc: stable Signed-off-by: Greg Kroah-Hartman commit d23039eec77473124c9635c01378314f196f2211 Author: Greg Kroah-Hartman Date: Fri Apr 25 19:23:16 2008 -0700 USB: add association.h This will be used by the wireless usb code, as well as potentially other USB code. Originally based on some .c code written by Inaky Perez-Gonzalez Cc: Inaky Perez-Gonzalez Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e5f10e4f0a9649186d8a8c793822b2e0dae8373 Author: Alan Stern Date: Wed Apr 30 15:37:19 2008 -0400 USB: create attributes before sending uevent This patch (as1087d) fixes a long-standing problem in usbcore: Device, interface, and endpoint attributes aren't added until _after_ the creation uevent has already been broadcast. Unfortunately there are a few attributes which cannot be created that early. The "descriptors" attribute is binary and so must be created separately. The power-management attributes can't be created until the dev/power/ group exists. And the interface string can vary from one altsetting to another, so it has to be created dynamically. Signed-off-by: Alan Stern Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6986a978eec70c867717fe6bee736f0bd1db1508 Author: Greg Kroah-Hartman Date: Fri May 2 12:02:20 2008 -0700 USB: add new moto_modem driver for some Morotola phones This should work on a KRZR K1m, and some other Motorola phones that do not use the "standard" cdc ACM protocol to talk to USB hosts. Tested-by: Jeff Garzik Cc: Jiang Dejun Signed-off-by: Greg Kroah-Hartman commit 9ee6b7f1556e7889eff4666483b1b554d4686cd4 Author: Rami Rosen Date: Wed May 14 03:50:03 2008 -0700 net: Fix typo in net/core/sock.c. In sock_queue_rcv_skb() (net/core/sock.c) it should be: "Cast sk->rcvbuf ..." instead of: "Cast skb->rcvbuf ..." Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 4b95ede6f6116ae1c0ed9605ec97d856c4814569 Author: Pavel Emelyanov Date: Tue May 13 23:51:18 2008 -0700 ppp: Do not free not yet unregistered net device. An error path in ppp_create_interface() lacks one and may BUG in free_netdev() checking for proper dev->reg_state. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 01b7a314291b2ef56ad718ee1374a1bac4768b29 Author: Phil Oester Date: Tue May 13 23:27:48 2008 -0700 netfilter: xt_iprange: module aliases for xt_iprange Using iptables 1.3.8 with kernel 2.6.25, rules which include '-m iprange' don't automatically pull in xt_iprange module. Below patch adds module aliases to fix that. Patch against latest -git, but seems like a good candidate for -stable also. Signed-off-by: Phil Oester Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1eedf69993d4016428fd99ffd619e73b374be3c1 Author: Eric Leblond Date: Tue May 13 23:27:11 2008 -0700 netfilter: ctnetlink: dump conntrack ID in event messages Conntrack ID is not put (anymore ?) in event messages. This causes current ulogd2 code to fail because it uses the ID to build a hash in userspace. This hash is used to be able to output the starting time of a connection. Conntrack ID can be used in userspace application to maintain an easy match between kernel connections list and userspace one. It may worth to add it if there is no performance related issue. [ Patrick: it was never included in events, but really should be ] Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 332223831e86b2e17b48b4afafad07d8e3b73861 Author: Graf Yang Date: Tue May 13 23:25:57 2008 -0700 irda: Fix a misalign access issue. (v2) Replace u16ho with put/get_unaligned functions Signed-off-by: Graf Yang Signed-off-by: Bryan Wu Signed-off-by: David S. Miller commit c1cc678adaa78ae2aab6a6d699241ad516d84476 Author: Patrick McHardy Date: Tue May 13 23:25:00 2008 -0700 sctp: Fix use of uninitialized pointer Introduced by c4492586 (sctp: Add address type check while process paramaters of ASCONF chunk): net/sctp/sm_make_chunk.c: In function 'sctp_process_asconf': net/sctp/sm_make_chunk.c:2828: warning: 'addr_param' may be used uninitialized in this function net/sctp/sm_make_chunk.c:2828: note: 'addr_param' was declared here Signed-off-by: Patrick McHardy Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5e0f8923f350ff522f8f6aecf198df045af3615f Author: Pavel Emelyanov Date: Tue May 13 23:23:55 2008 -0700 cipso: Relax too much careful cipso hash function. The cipso_v4_cache is allocated to contain CIPSO_V4_CACHE_BUCKETS buckets. The CIPSO_V4_CACHE_BUCKETS = 1 << CIPSO_V4_CACHE_BUCKETBITS, where CIPSO_V4_CACHE_BUCKETBITS = 7. The bucket-selection function for this hash is calculated like this: bkt = hash & (CIPSO_V4_CACHE_BUCKETBITS - 1); ^^^ i.e. picking only 4 buckets of possible 128 :) Signed-off-by: Pavel Emelyanov Acked-by: Paul Moore Signed-off-by: David S. Miller commit c2b7bbea83b239b1877f3cafe0cdcbbd08e65648 Author: Mauro Carvalho Chehab Date: Wed May 14 05:08:19 2008 -0300 V4L/DVB (7900): pvrusb: Fix Kconfig if DVB=m V4L_core=y As reported by Ingo Molnar: x86.git testing found the following build failure: drivers/built-in.o: In function `pvr2_dvb_feed_thread': pvrusb2-dvb.c:(.text+0x127e78): undefined reference to `dvb_dmx_swfilter' drivers/built-in.o: In function `pvr2_dvb_adapter_exit': pvrusb2-dvb.c:(.text+0x128357): undefined reference to `dvb_net_release' pvrusb2-dvb.c:(.text+0x12836f): undefined reference to `dvb_dmxdev_release' [...] with this config: CONFIG_VIDEO_PVRUSB2=y CONFIG_DVB_CORE=m i.e. pvrusb2 is built-in, dvb-core is modular. Signed-off-by: Mauro Carvalho Chehab commit 2ea336dc117098ef917ca9a19e911d15490587cc Author: Mauro Carvalho Chehab Date: Wed May 14 04:57:36 2008 -0300 V4L/DVB (7899): Fixes a few remaining Kbuild issues at common/tuners - MEDIA_ATTACH now applies also for V4L; - select a FW_LOADER dependent driver should happen only if HOTPLUG; - apply the common tuner dependency to all tuners. This helps to avoid latter issues. Signed-off-by: Mauro Carvalho Chehab commit 039d40019f3c5e26ea50ec5af4270189f63365e1 Author: Mauro Carvalho Chehab Date: Wed May 14 04:36:22 2008 -0300 V4L/DVB (7898): Fix VIDEO_MEDIA Kconfig logic If one of DVB_CORE or VIDEO_DEV is a module, the modules that can be used by both DVB and V4L cores should also be a module, otherwise, it will break its dependencies. This Kconfig logic implements the following: CONFIG_VIDEO_DEV CONFIG_DVB_CORE CONFIG_VIDEO_MEDIA N N N N M M N Y Y M N M M M M M Y M Y N Y Y M M Y Y Y Signed-off-by: Mauro Carvalho Chehab commit ee04e0faad386141f52dd812f220a2f0d128f1c6 Author: Michael Krufky Date: Tue May 13 01:25:24 2008 -0300 V4L/DVB (7895): tveeprom: update Hauppauge analog audio and video decoders Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 48723543aff1f46091840222490ded5fe09c0e37 Author: Michael Krufky Date: Sat May 10 14:34:09 2008 -0300 V4L/DVB (7893): xc5000: bug-fix: allow multiple devices in a single system The current code passes a context pointer in the xc5000_config struct. This context pointer is used in the tuner_callback function, used to reset the device after firmware download. The xc5000_config struct is a static structure, whose .priv member was being assigned before calling xc5000_attach(). If there are more than one of the same device type installed on a single system, the last one to assign xc5000_config.priv will "win", and all others will cease to function properly. This patch passes the context pointer in xc5000_attach() rather that storing it within the static struct xc5000_config. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 07c87a833e9ef92280ed24ab85cd4eb49cbca9c0 Author: Andy Walls Date: Mon May 12 15:01:27 2008 -0300 V4L/DVB (7891): cx18/ivtv: fix open() kernel oops Upon error conditions in cx18/ivtv_probe(), the code at the 'err:' label leaves a NULL entry in cx18/ivtv_cards[]. This can cause a NULL pointer de-reference in cx18/ivtv_v4l2_open() which is fixed by this patch. Signed-off-by: Andy Walls Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cba627a51a26eaed3526c423f5fd0410dd721ae2 Author: Hans Verkuil Date: Mon May 12 14:48:26 2008 -0300 V4L/DVB (7890): cx18: removed bogus and confusing conditional Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1d081601315f5c9b9537b702bcb2c8d96fc089ef Author: Hans Verkuil Date: Mon May 12 14:45:19 2008 -0300 V4L/DVB (7889): cx18: improve HVR-1600 detection. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b13cf164958a18436075fdae31f8bd9442353fa Author: Hans Verkuil Date: Mon May 12 14:00:33 2008 -0300 V4L/DVB (7888): cx18: minor card definition updates. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9dcbf35afb7359466efdf7fb81ee32f3ae2d56a3 Author: Hans Verkuil Date: Mon May 12 13:57:18 2008 -0300 V4L/DVB (7887): cx18: fix Compro H900 analog support. Tuner, S-Video and Composite are all working for the Compro H900. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6db6ae2165863e26b7f41af54a8cf1ef9051a608 Author: Hartmut Hackmann Date: Mon May 12 20:34:02 2008 -0300 V4L/DVB (7881): saa7134: fixed a compile warning in saa7134-core.c patch 779169257208 made the variable mask unnecessary. This patch just removes the declaration. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit c1d6861b5178c184d78ae5f239cbaa9c2c63dd72 Author: Hartmut Hackmann Date: Thu May 8 22:57:20 2008 -0300 V4L/DVB (7880): saa7134: remove explicit GPIO initialization This causes a problem with the audio mute on some cards and is done implictly in the audio initialization code. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 671294719628f1671faefd4882764886f8ad08cb Author: Steven Toth Date: Thu May 1 07:23:23 2008 -0300 V4L/DVB(7879): Adding cx18 Support for mxl5005s Adding cx18 Support Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9426954277aa57e0417d89bfe3e0964d6901cfa3 Author: Steven Toth Date: Thu May 8 12:14:40 2008 -0300 V4L/DVB(7878): mxl55005s: Makefile and Kconfig additions Makefile and Kconfig additions Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 77ad55ec2159735b1b88a006a90f8dd2ffe291ca Author: Steven Toth Date: Sat May 3 14:28:43 2008 -0300 V4L/DVB(7877): mxl5005s: Ensure debug is off Ensure debug is off Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7fa2a1462fe0a258fb629f8447f31c1b3a6d6c68 Author: Steven Toth Date: Sat May 3 14:25:55 2008 -0300 V4L/DVB(7876): mxl5005s: Remove incorrect copyright holders I was informed by Jan Hoogenraad that two people needed to be removed from the original copyright comments. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 90257e787faaf5ebfaa1839917e4dc6c5c104c14 Author: Steven Toth Date: Sat May 3 14:21:58 2008 -0300 V4L/DVB(7875): mxl5005s: Remove redundant functions Remove redundant functions Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c6c34b1ffd40e00191e05bf0ef543a35ccd7d75d Author: Steven Toth Date: Sat May 3 14:14:54 2008 -0300 V4L/DVB(7874): mxl5005s: Fix function statics Fix function statics Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 66321ba94f59ea7ba6f4451c51e171f5b30f1fd7 Author: Steven Toth Date: Sat May 3 13:51:11 2008 -0300 V4L/DVB(7873): mxl5005s: Fix header includes. Ensure we have the correct .h dependencies included. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d211017b954436bfc516e93d839e8746ec2bbbfe Author: Steven Toth Date: Thu May 1 19:35:54 2008 -0300 V4L/DVB(7872): mxl5005s: checkpatch.pl compliance 4 exceptions where the code would read very ugly otherwise. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 48937295a63b4e81db907605afcbd81e0464b00f Author: Steven Toth Date: Thu May 1 07:15:38 2008 -0300 V4L/DVB(7871): mxl5005s: Re-org code and update copyrights Re-org code and update copyrights Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5c1b20514f592af19974166f130b85346c1fbf3a Author: Steven Toth Date: Thu May 1 07:04:09 2008 -0300 V4L/DVB (7870): mxl5005s: Basic digital support. ATSC and QAM should be working but basic testing is required. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7f5c3affef2883f49e820db62413e1dff1d4cebb Author: Steven Toth Date: Thu May 1 06:51:36 2008 -0300 V4L/DVB(7869): mxl5005s: Cleanup #6 Cleanup #6 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8c66a19d45fb5b88abf10678db353f35179a2cde Author: Steven Toth Date: Thu May 1 06:35:48 2008 -0300 V4L/DVB (7868): mxl5005s: Cleanup #5 Cleanup #5 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 85d220d03b70180b9958b29d43e99c7135f00654 Author: Steven Toth Date: Thu May 1 05:48:14 2008 -0300 V4L/DVB (7867): mxl5005s: Cleanup #4 Cleanup #4 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3935c25484bc632b12c447e19c4eacbf5de5f7ae Author: Steven Toth Date: Thu May 1 05:45:44 2008 -0300 V4L/DVB (7866): mxl5005s: Cleanup #3 Cleanup #3 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a8214d48e6d41f3a16c1023ca4f30bbd140ba756 Author: Steven Toth Date: Thu May 1 05:02:58 2008 -0300 V4L/DVB (7865): mxl5005s: Cleanup #2 Cleanup #2 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2637d5b498b979b46a01690d22ecca1e5b79b903 Author: Steven Toth Date: Thu May 1 05:01:31 2008 -0300 V4L/DVB (7864): mxl5005s: Cleanup #1 Cleanup #1 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 52c99bda04d8bb1fb390821695b0f9efc1e1db44 Author: Steven Toth Date: Thu May 1 04:57:01 2008 -0300 V4L/DVB (7862): Add mxl5505s driver for MaxiLinear 5505 chipsets Initial check-in of the original driver to establish history. Signed-off-by: Chia-Ling Lu Developer Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e4671b6bc0b5b488adc5acbcfcbfa6661abec94e Author: Matthias Schwarzott Date: Wed Apr 30 12:21:04 2008 -0300 V4L/DVB (7861): mt312: Prefix functions only with mt312_, Add zl10313 to kconfig description This patch does some small cleanup to mt312. It changes kconfig description to also list the ZL10313. It does change some strange symbol names to be consistent with module name mt312 and naming of all other functions in there. * vp310_mt312_ops -> mt312_ops * vp310_mt312_attach -> mt312_attach Adds a MODULE_AUTHOR for me Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6d8425b1e38f69e349818299f245d35fb5c3a7d5 Author: Hans Verkuil Date: Mon May 5 18:25:22 2008 -0300 V4L/DVB (7860a): Add MAINTAINERS for cx18 Signed-off-by: Hans Verkuil Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7fb0fd05b2f03065ca4743e8c7446ec86329c4c8 Author: Guennadi Liakhovetski Date: Mon May 5 14:12:30 2008 -0300 V4L/DVB (7859): mt9v022: fix a copy-paste error in comment Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 91e64c884295c7347f9ea78347d5a5e2df2441f6 Author: Ingo Molnar Date: Mon May 5 13:57:50 2008 -0300 V4L/DVB (7858): video: build fix for drivers/media/video/mt9v022.c x86.git testing found the following build bug on latest -git: CC [M] drivers/media/video/mt9v022.o drivers/media/video/mt9v022.c: In function 'bus_switch_request': drivers/media/video/mt9v022.c:199: error: implicit declaration of function 'gpio_is_valid' drivers/media/video/mt9v022.c:201: error: implicit declaration of function 'gpio_request' drivers/media/video/mt9v022.c:207: error: implicit declaration of function 'gpio_direction_output' drivers/media/video/mt9v022.c:211: error: implicit declaration of function 'gpio_free' drivers/media/video/mt9v022.c: In function 'bus_switch_act': drivers/media/video/mt9v022.c:237: error: implicit declaration of function 'gpio_set_value_cansleep' make[2]: *** [drivers/media/video] Error 2 make[1]: *** [drivers/media] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [drivers] Error 2 with this config: http://redhat.com/~mingo/misc/config-Sat_May__3_16_08_39_CEST_2008.bad the bug was that the driver uses GPIO functionality but only includes the GPIO interface definitions for the CONFIG_MT9M001_PCA9536_SWITCH case, which was not set in this config. The quick fix seems to be to include linux/gpio.h unconditionally. (this seems like a small cleanup as well as it removes and #ifdef is more robust than an inclusion of asm/gpio.h) Not tested too much yet, so please have another look in any case. Signed-off-by: Ingo Molnar Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 4ed83b51d3669628d970c2fea604064d2e0ac6af Author: Adrian Bunk Date: Mon Apr 28 15:39:09 2008 -0300 V4L/DVB (7857): make itd1000_fre_values[] static const itd1000_fre_values[] can become static const. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 50510993e0452e0941fd03f63aa08256dd9c7fdc Author: Adrian Bunk Date: Mon May 5 18:25:22 2008 -0300 V4L/DVB (7856): cx18/: possible cleanups This patch contains the following possible cleanups: - cx18-i2c.c should #include "cx18-i2c.h" for getting the prototypes of it's global functions - make the following needlessly global functions static: - cx18-fileops.c:cx18_claim_stream() - cx18-fileops.c:cx18_release_stream() - cx18-queue.c:cx18_queue_move() - remove the following unused functions: - cx18-driver.c:cx18_waitq() - cx18-queue.c:cx18_buf_copy_from_user() Signed-off-by: Adrian Bunk Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3f98387efa9333c5765d36e144c47c107d6ba64a Author: Hans Verkuil Date: Thu May 1 10:31:12 2008 -0300 V4L/DVB (7854): cx18/ivtv: improve and fix out-of-memory handling - don't show kernel backtrace when the allocation of the buffers fails: the normal ivtv/cx18 messages are clear enough and the backtrace scares users. - fix cleanup after the buffer allocation fails (caused kernel panic). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6a4a79355bfa9ae6977556595a68f2e3a0e143f7 Author: Hans Verkuil Date: Thu May 1 09:34:54 2008 -0300 V4L/DVB (7853): ivtv/cx18: fix compile warnings Fix compile warnings if MODULE is not defined. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit feb5bce24ed4d90c0a5710a669072c778a2c5148 Author: Hans Verkuil Date: Thu May 1 09:22:13 2008 -0300 V4L/DVB (7852): ivtv: prefix ivtv external functions with ivtv_ Fix conflict with cx18 driver. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 755a18baad393836c88ce92c3b7198c70e2e3205 Author: Mauro Carvalho Chehab Date: Tue May 6 14:09:01 2008 -0300 V4L/DVB (7851): Fix FW_LOADER depencency at v4l/dvb Since: 1) FW_LOADER is defined as: config FW_LOADER tristate "Userspace firmware loading support" depends on HOTPLUG 2) several V4L/DVB driver just selects it; 3) select is not smart enough to auto-select HOTPLUG, if select FW_LOADER. So, All drivers that select FW_LOADER should also depend on HOTPLUG. An easier solution (for the end-user perspective) would be to "select HOTPLUG". However, live is not simple. This would cause recursive dependency issues like this one: drivers/usb/Kconfig:62:error: found recursive dependency: USB -> USB_OHCI_HCD -> I2C -> MEDIA_TUNER -> MEDIA_TUNER_XC2028 -> HOTPLUG -> PCCARD -> PCMCIA -> USB_ARCH_HAS_HCD -> MOUSE_APPLETOUCH -> USB Signed-off-by: Mauro Carvalho Chehab commit ec44c9aed0eddceaef3c6b4d23f6d7702ec57b4d Author: Mauro Carvalho Chehab Date: Tue May 6 13:46:12 2008 -0300 V4L/DVB (7849): cx88: fix Kconfig depencencies for FW_LOADER cx88 doesn't need support for FW_LOADER. Instead, this is required only for cx88-blackbird. Also, cx88-blackbird depends on HOTPLUG, due to FW_LOADER dependency. Signed-off-by: Mauro Carvalho Chehab commit eabcaf32041fcd04672049e76124bd4cd63b1cbf Author: Mauro Carvalho Chehab Date: Tue May 6 13:44:03 2008 -0300 V4L/DVB (7848): Fix dependencies for tuner-xc2028 and em28xx-dvb em28xx-dvb doesn't need FW_LOADER. Instead, tuner-xc2028 needs to select FW_LOADER. Also, this can happen only if HOTPLUG is selected, since FW_LOADER is dependent on HOTPLUG. Signed-off-by: Mauro Carvalho Chehab commit 3929c0f9acc62a2fee99387b3cb58fd2a3668cd3 Author: Mauro Carvalho Chehab Date: Tue May 6 12:38:24 2008 -0300 V4L/DVB (7847): Simplifies Kconfig rules Since all tuners are dependent of I2C, move I2C dependency to MEDIA_TUNER. Also, simplifies the dependencies for the other Kconfig items. Signed-off-by: Mauro Carvalho Chehab commit fdbbfb092cee0d826cba96df51f56c0e22cae579 Author: Mauro Carvalho Chehab Date: Tue May 6 12:35:58 2008 -0300 V4L/DVB (7846): Re-creates VIDEO_TUNER VIDEO_TUNER is responsible for compilation of tuners.ko module. This were the previous behaviour before the creation of MEDIA_TUNER. Before this patch, tuner.ko were created even for drivers that don't need a tuner (like webcam drivers). Signed-off-by: Mauro Carvalho Chehab commit 4bd5d1071ddbb35ae545c7738e6411e50ce28b17 Author: Michael Krufky Date: Sun May 4 21:32:21 2008 -0300 V4L/DVB (7844): tda18271: add tda_fail macro to log error cases Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 10ed0bf4af00c25590e8bfca344d8dec5c3637ae Author: Michael Krufky Date: Sun May 4 20:26:47 2008 -0300 V4L/DVB (7843): tda18271: fix error handling in tda18271c1_rf_tracking_filter_calibration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 20f4206379260e3ca02c8ee57bc3da9b0c7d09da Author: Michael Krufky Date: Sun May 4 19:57:06 2008 -0300 V4L/DVB (7842): tda18271: fix error handling in tda18271c2_rf_tracking_filters_correction Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 31940e3966b6cf3bb3e535ffa1cb97b16edd555b Author: Michael Krufky Date: Sun May 4 19:37:27 2008 -0300 V4L/DVB (7841): tda18271: fix error handling in tda18271_channel_configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9c41d456e2936ea3aafa07d431c5963799f9659e Author: Michael Krufky Date: Sun May 4 18:18:48 2008 -0300 V4L/DVB (7840): tda18271: make tda18271_set_standby_mode less verbose for basic debug Only show debug from tda18271_set_standby_mode if DBG_ADV is set. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c151c32fd7d8f5ca7dcd35430f2e625181c48d66 Author: Michael Krufky Date: Sun May 4 17:54:23 2008 -0300 V4L/DVB (7839): tda18271: abort rf band calibration loop on errors Abort rf band calibration loop for the TDA18271HD/C2 if an error is detected. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 24124f784bfec447f5cb9e64ed337afb57f0fca5 Author: Michael Krufky Date: Sat May 3 19:28:00 2008 -0300 V4L/DVB (7838): tda18271: fix error handling in tda18271c2_rf_cal_init path fix error handling in tda18271c2_rf_cal_init immediate path Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d35fccaffd095e79691cd07a49a36867cb275b72 Author: Michael Krufky Date: Sat May 3 18:20:21 2008 -0300 V4L/DVB (7837): tda18271: fix error handling in init and sleep paths Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dc9d522a1358bfb87e9ed8718cc1e4d5141a5468 Author: Ingo Molnar Date: Sun May 4 20:32:45 2008 -0300 V4L/DVB (7836): cinergyT2 build fix x86.git testing found the following build bug in v2.6.26-rc1: drivers/built-in.o: In function `cinergyt2_probe': cinergyT2.c:(.text+0xb6117): undefined reference to `input_allocate_device' cinergyT2.c:(.text+0xb6230): undefined reference to `input_register_device' cinergyT2.c:(.text+0xb623d): undefined reference to `input_free_device' with the following config: http://redhat.com/~mingo/misc/config-Sun_May__4_22_06_54_CEST_2008.bad The reason for the bug is that the cinergyT2 driver depends on CONFIG_INPUT functionality, but if INPUT is modular it's still possible to build CONFIG_DVB_CINERGYT2=y - which leads to missing symbols. The solution is to make DVB_CINERGYT2 dependent on INPUT. [ This solves the build problem - i have not tested the driver on this card. ] Signed-off-by: Ingo Molnar Signed-off-by: Mauro Carvalho Chehab commit 696b9562df15795facf9ffbd470983e776fa6c19 Author: Randy Dunlap Date: Mon May 5 19:20:42 2008 -0300 V4L/DVB (7835): multimedia/video: fix au0828 Kconfig Fix undefined references in au0828: depends on USB and select VIDEO_TVEEPROM Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 28dd15b4334c2ded53d7738160861aa16304b8fd Author: Ingo Molnar Date: Sat May 3 21:23:51 2008 -0300 V4L/DVB (7834): build fix for drivers/media/video/au0828 x86.git testing found the following build failure in v2.6.26-rc1: MODPOST 424 modules ERROR: "tveeprom_hauppauge_analog" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "tveeprom_read" [drivers/media/video/au0828/au0828.ko] undefined! with this config: http://redhat.com/~mingo/misc/config-Sat_May__3_22_28_58_CEST_2008.bad this patch does what other video drivers do to utilize the VIDEO_TVEEPROM functionality (and this resolves the build problem) - but i have not checked it on real hardware and i have not checked whether the fix is complete. selections, so some items might still be missing - just not triggered with this specific config. Signed-off-by: Mauro Carvalho Chehab commit f686d8c3b53c7b105330b5292ff5d44bb04e4971 Author: Michael Krufky Date: Mon May 5 21:08:28 2008 -0300 V4L/DVB (7832): xc5000: MEDIA_TUNER_XC5000 must select FW_LOADER Fix the following build error: drivers/built-in.o: In function `xc_load_fw_and_init_tuner': xc5000.c:(.text+0x2dacd): undefined reference to `request_firmware' xc5000.c:(.text+0x2daf0): undefined reference to `release_firmware' xc5000.c:(.text+0x2db85): undefined reference to `release_firmware' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 71a35fe2a345eb3704e1f1b4da65451d3e2b8c2e Author: Robert Schedel Date: Sat May 3 12:58:36 2008 -0300 V4L/DVB (7830): dvb_ca_en50221: Fix High CPU load in 'top' due to budget_av slot polling This change addresses kernel bug #10459: In kernel 2.6.25 the budget_av driver polls for an CI slot in 100ms intervals (because no interrupt solution for budget_av cards is feasible due to HW reasons). If no CI/CAM is connected to the DVB card, polling times out only after 250ms. This periodic polling leads to high CPU load. The change increases the polling interval for empty slots from 100ms to 5s. Intervals for remaining slot states (invalid, in progress, ready) are unchanged, as they are either temporary conditions or no timeout should occur. Signed-off-by: Robert Schedel Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit fa146c6dceffa68fa12f8d0b797ab9753fa1c792 Author: Michael Krufky Date: Fri May 2 16:20:10 2008 -0300 V4L/DVB (7829): cx23885: remove remaining references to dvb-pll The cx23885 driver used to use dvb-pll for LG-TDVS-H064F support on the FusionHDTV5 Express. This has since been converted to use tuner-simple instead, once digital tuning support was added to tuner-simple. Since cx23885 no longer uses dvb-pll, remove the #include "dvb-pll.h", and the DVB_PLL Kconfig selection. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 36396c893272a577eafad40630a609ccd36d20ea Author: Michael Krufky Date: Fri May 2 16:14:33 2008 -0300 V4L/DVB (7828): cx23885: update model matrix for Hauppauge WinTV HVR-1200 & WinTV HVR-1700 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3c3852cda6e0c557f5e0915b5451510c1acd64a2 Author: Michael Krufky Date: Fri May 2 16:12:44 2008 -0300 V4L/DVB (7827): cx23885: add missing subsystem ID for Hauppauge HVR-1200 OEM Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 74ee05109c9d6ae2dfe1b462592d3854ddbf1f6a Author: Michael Krufky Date: Thu May 1 18:02:30 2008 -0300 V4L/DVB (7823): em28xx: add additional usb subids for Hauppauge HVR-950 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ef69c8e88bafdeb896395fa5379a4b8c6a10bb08 Author: Mauro Carvalho Chehab Date: Thu May 1 02:17:24 2008 -0300 V4L/DVB (7813): Fix compilation, when V4L1_COMPAT is disabled This driver uses some sysfs helper functions that are available only for legacy drivers. It also requires linux/mm.h. This patch fixes compiliation when not in compat mode. Thanks to Ingo Molnar for identifying this issue. Acked-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit b7eccc404f399ab93ed128e51ca5d6e0e5115dd2 Author: Guennadi Liakhovetski Date: Wed Apr 30 09:21:33 2008 -0300 V4L/DVB (7810): soc_camera: mt9v022 and mt9m001 depend on I2C Both mt9v022 and mt9m001 cameras are controlled over the I2C bus. Respectively, their drivers require I2C to be built successfully. Thanks to Ingo Molnar for reporting the build-breakage. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b4edcc9083af9444b288ee9e14cab28b29dc3636 Author: Michael Krufky Date: Wed Apr 30 12:36:09 2008 -0300 V4L/DVB (7808): cx23885: fix kbuild dependencies Thanks to Ingo Molnar for finding this. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0590d91c413fb5144608d69f50710064360aeec8 Author: Mauro Carvalho Chehab Date: Wed Apr 30 18:14:36 2008 -0300 V4L/DVB (7807): cx88: Fix error handling, when dvb_attach() fails Signed-off-by: Mauro Carvalho Chehab commit 6430a5a368208ae6c4bcd13e1f06460c96af66be Author: Mauro Carvalho Chehab Date: Wed Apr 30 18:13:46 2008 -0300 V4L/DVB (7806): em28xx: dvb_unregister_frontend() shouldn't be called, if not registered yet Signed-off-by: Mauro Carvalho Chehab commit f50090fc947e82464b4a033c9eff1898cb0676b5 Author: Mauro Carvalho Chehab Date: Wed Apr 30 18:13:05 2008 -0300 V4L/DVB (7805): saa7134: dvb_unregister_frontend() shouldn't be called, if not registered yet Signed-off-by: Mauro Carvalho Chehab commit b538d28c2e326ed226096408dce4d9469d7ffa39 Author: Mauro Carvalho Chehab Date: Wed Apr 30 15:45:00 2008 -0300 V4L/DVB (7804): tea5767: Fix error logic As pointed by Andrew Morton, the error testing were wrong. After reviewing tea5767, it were returning a positive value for errors. So, the double errors were cancelling each other. This patch fix it properly. It also considers any positive value as ok, on tuner-core. Signed-off-by: Mauro Carvalho Chehab commit 09fee5f8211fc0a586187c4a0db7f5f42a4e333f Author: Mauro Carvalho Chehab Date: Wed Apr 30 15:29:57 2008 -0300 V4L/DVB (7802): tuner: Failures at tuner_attach were producing OOPS As reported by Mike Galbraith : [ 13.666587] TUNER: Unable to find symbol tda829x_probe() [ 13.674638] tuner' 1-004b: chip found @ 0x96 (saa7133[0]) [ 13.691175] DVB: Unable to find symbol tda9887_attach() [ 13.698968] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 [ 13.709509] IP: [] strlcpy+0x11/0x36 [ 13.711135] PGD be167067 PUD be140067 PMD 0 [ 13.711137] Oops: 0000 [1] SMP Signed-off-by: Mauro Carvalho Chehab commit d557dab5de82edfe5bab9a1964dfc5cf2b2b6833 Author: Mauro Carvalho Chehab Date: Wed Apr 30 15:27:55 2008 -0300 V4L/DVB (7801): saa7134: detach frontend, if tuner or Diseqc attach fails Before this patch, an error at tuner or diseqc were discarded by the driver. Signed-off-by: Mauro Carvalho Chehab commit a1355e530173021099d0401f3294414382189dbd Author: Andrew Morton Date: Wed Apr 30 11:40:17 2008 -0300 V4L/DVB (7800): tuner_symbol_probe(): don't do symbol_put() if symbol_request() failed Because it goes BUG. Signed-off-by: Andrew Morton Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1930479c4b6bbcb6f164a5b3498e0d98329967f4 Author: Valerie Clement Date: Tue May 13 19:31:14 2008 -0400 ext4: mballoc fix mb_normalize_request algorithm for 1KB block size filesystems In case of inode preallocation, the number of blocks to allocate depends on the file size and it is calculated in ext4_mb_normalize_request(). Each group in the filesystem is then checked to find one that can be used for allocation; this is done in ext4_mb_good_group(). When a file bigger than 4MB is created, the requested number of blocks to preallocate, calculated by ext4_mb_normalize_request is 4096. However for a filesystem with 1KB block size, the maximum size of the block buddies used by the multiblock allocator is 2048, so none of groups in the filesystem satisfies the search criteria in ext4_mb_good_group(). Scanning all the filesystem groups impacts performance. This was demonstrated by using a freshly created, 70GB, 1k block filesystem, with caches dropped write before the test via /proc/sys/vm/drop_caches, and with the filesystem mounted with nodelalloc and nodealloc,nomballoc. The time to write an 8 megabyte file using "dd if=/dev/zero of=/mnt/test/fo bs=8k count=1k conv=fsync" took 35.5091 seconds (236kB/s) with nodellaloc, and 0.233754 seconds (35.9 MB/s) with the nodelloc,nomballoc options. With a 1TB partition, it took several minutes to write 8MB! This patch modifies the algorithm in ext4_mb_normalize_group_request to calculate the number of blocks to allocate by taking into account the maximum size of free blocks chunks handled by the multiblock allocator. It has also been tested for filesystems with 2KB and 4KB block sizes to ensure that those cases don't regress. Reviewed-by: Aneesh Kumar K.V Signed-off-by: Valerie Clement Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2c8be6b222f76c332d9faeb00c047996d340632c Author: Jan Kara Date: Tue May 13 21:27:55 2008 -0400 ext4: fix typos in messages and comments (journalled -> journaled) Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 0623543b3335c8e439cacf21af99bbf45da42c5a Author: Jan Kara Date: Tue May 13 19:11:51 2008 -0400 ext4: fix synchronization of quota files in journal=data mode In journal=data mode, it is not enough to do write_inode_now as done in vfs_quota_on() to write all data to their final location (which is needed for quota_read to work correctly). Calling journal_flush() does its job. Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit cd59e7b9781a35716b8a3e8c4aa2d48081d7daf7 Author: Jan Kara Date: Tue May 13 19:11:51 2008 -0400 ext4: Fix mount messages when quota disabled When quota is disabled, we should not print 'journaled quota not supported' when user tried to mount non-journaled quota. Also fix typo in the message. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit dfc5d03f12e706c19ee37734184ea96582ef931d Author: Jan Kara Date: Tue May 13 19:11:51 2008 -0400 ext4: correct mount option parsing to detect when quota options can be changed We should not allow user to change quota mount options when quota is just suspended. It would make mount options and internal quota state inconsistent. Also we should not allow user to change quota format when quota is turned on. On the other hand we can just silently ignore when some option is set to the value it already has (mount does this on remount). Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 77c57ec89682c73785d12d51a6d1f873b292fa42 Author: Steve French Date: Tue May 13 21:39:32 2008 +0000 [CIFS] don't explicitly do a FindClose on rewind when directory search has ended Do the following series of operations on a CIFS share: opendir(dir) readdir(dir) unlink(file in dir) rewinddir(dir) readdir(dir) If the readdir read all entries in the directory this will make CIFS throw an error like this: CIFS VFS: Send error in FindClose = -9 CIFS requests "Close at end of search" of the server by setting this bit when issuing FindFirst or FindNext. Therefore when all search entries are returned, the server may return "end of search" and close the search implicitly when this bit is set by the client on the request. We check for this when a readdir is explicitly closed - but when the client notices that a directory has changed after the last operation, we attempt to close the directory before reopening by reissuing a second FindFirst. But, the directory may already been implicitly closed (due to end of search) because the first readdir finished. So we only want to issue a FindClose call in this case when we don't expect it to already be closed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4ef7e3e90f56c74b2a17e12d49ed35c3767d66c2 Merge: 9604006... 1f465f4... Author: Linus Torvalds Date: Tue May 13 12:33:56 2008 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: user_regset_view table fix for ia32 on 64-bit x86: arch/x86/mm/pat.c - fix warning x86: fix csum_partial() export x86: early_init_centaur(): use set_cpu_cap() x86: fix app crashes after SMP resume x86: wakeup.lds.S - section ordering fix x86: [VOYAGER] fix duplicate phys_cpu_present_map symbol x86/pci: fix broken ISA DMA commit a58e58fafdff4c25949221e46132e86f709d0b79 Author: Steve Wise Date: Tue May 13 11:52:55 2008 -0700 RDMA/cxgb3: Wrap the software send queue pointer as needed on flush cxio_flush_sq() was failing to wrap around the software send queue causing garbage completion entries on a flush operation. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit f018c7e177a50390f6fcb137f1a28a6027d8ba50 Author: Roland Dreier Date: Tue May 13 11:51:23 2008 -0700 IB/ipath: Change ipath_devdata.ipath_sdma_status to be unsigned long Andrew Morton pointed out that bitops should take an unsigned long * arg. However, the ipath driver was doing bitops on struct ipath_devdata.ipath_sdma_status, which is u64. Change this member to unsigned long to avoid tons of warnings when x86 fixes the bitops to take unsigned long * instead of void *. Also, change the IPATH_SDMA_RUNNING and IPATH_SDMA_SHUTDOWN bit numbers to 30 and 31 (instead of 62 and 63) so that we're not setting another booby trap for someone who tries to make ipath work on a 32-bit architecture. Signed-off-by: Roland Dreier commit 40d97692fbfe52ef68fa771d8121394b2210fd67 Author: Pavel Emelyanov Date: Tue May 13 11:45:32 2008 -0700 IB/ipath: Make ipath_portdata work with struct pid * not pid_t The official reason is "with the presence of pid namespaces in the kernel using pid_t-s inside one is no longer safe." But the reason I fix this right now is the following: About a month ago (when 2.6.25 was not yet released) there still was a one last caller of a to-be-deprecated-soon function find_pid() - the kill_proc() function, which in turn was only used by nfs callback code. During the last merge window, this last caller was finally eliminated by some NFS patch(es) and I was about to finally kill this kill_proc() and find_pid(), but found, that I was late and the kill_proc is now called from the ipath driver since commit 58411d1c ("IB/ipath: Head of Line blocking vs forward progress of user apps"). So here's a patch that fixes this code to use struct pid * and (!) the kill_pid routine. Signed-off-by: Pavel Emelyanov Signed-off-by: Roland Dreier commit 74116f580b7279543340dd716a2af642f5c1c2c7 Author: Ralph Campbell Date: Tue May 13 11:42:20 2008 -0700 IB/ipath: Fix RDMA read response sequence checking If an out of sequence RDMA read response middle or last packet is received, we should only resend the RDMA read request on the first out of sequence packet and drop subsequent out of sequence packets otherwise, we get "too many retries". Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e509be898d8937634437caa474b57ac12795e5bc Author: Ralph Campbell Date: Tue May 13 11:41:29 2008 -0700 IB/ipath: Fix many locking issues when switching to error state The send DMA hardware queue voided a number of prior assumptions about when a send is complete which led to completions being generated out of order. There were also a number of locking issues when switching the QP to the error or reset states, and we implement the IB_QPS_SQD state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 53dc1ca194c062aa9771e194047f27ec1ca592df Author: Ralph Campbell Date: Tue May 13 11:40:25 2008 -0700 IB/ipath: Fix RC and UC error handling When errors are detected in RC, the QP should transition to the IB_QPS_ERR state, not the IB_QPS_SQE state. Also, when the error is on the responder side, the receive work completion error was incorrect (remote vs. local). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit dd37818dbdf8e51d0288c0197c351c005ffcdbdb Author: Roland Dreier Date: Tue May 13 11:27:25 2008 -0700 RDMA/nes: Fix up nes_lro_max_aggr module parameter Fix some bugs with the max_aggr module parameter added with LRO support: - The module parameter value ignored and not actually used to set lro_mgr.max_aggr. - MODULE_PARM_DESC had a typo "_mro_" instead of "_lro_" so it didn't end up describing the actual module parameter. - The nes_lro_max_aggr variable was declared as unsigned, but the module_param line said "int" instead of "uint" for the type. - The default value for the parameter was stuck in the permissions field of module_param, which led to nonsensical permissions for the file under /sys/module/iw_nes/param. - The parameter was used in only one file but defined in another, which led to the variable being global for no good reason. Move everything related to the parameter to the file nes_hw.c where it is actually used. Signed-off-by: Roland Dreier commit 9604006d283fb67dda5ee9e0e15b7cc6c62e1557 Merge: 25c55d9... af5741c... Author: Linus Torvalds Date: Tue May 13 11:24:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] qla1280: Fix queue depth problem [SCSI] aha152x: Fix oops on module removal [SCSI] aha152x: fix init suspiciously returned 1, it should follow 0/-E convention [SCSI] libiscsi regression in 2.6.25: fix setting of recv timer [SCSI] libiscsi regression in 2.6.25: fix nop timer handling [SCSI] gdth: fix Error: Driver 'gdth' is already registered, aborting... [SCSI] gdth: fix timer handling commit 25c55d97209090db1a5f601815433f085bd1af78 Merge: 5dc93cf... c4e5fad... Author: Linus Torvalds Date: Tue May 13 10:48:35 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: ACPI/PCI: another multiple _OSC memory leak fix x86/PCI: X86_PAT & mprotect PCI: enable nv_msi_ht_cap_quirk for ALi bridges PCI: Make the intel-iommu_wait_op macro work when jiffies are not running ACPI/PCI: handle multiple _OSC ACPI/PCI: handle multiple _OSC x86/PCI: fix broken ISA DMA PCI ACPI: fix uninitialized variable in __pci_osc_support_set commit 1f465f4e475454b8bb590846c50a9d16e8046f3d Author: Roland McGrath Date: Fri May 9 15:43:44 2008 -0700 x86: user_regset_view table fix for ia32 on 64-bit The user_regset_view table for the 32-bit regsets on the 64-bit build had the wrong sizes for the FP regsets. This bug had no user-visible effect (just on kernel modules using the user_regset interfaces and the like). But the fix is trivial and risk-free. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit afc85343807bc2c488b7372cd7547875dfe03fe5 Author: Pranith Kumar Date: Mon May 12 14:52:26 2008 +0530 x86: arch/x86/mm/pat.c - fix warning fix this warning: arch/x86/mm/pat.c: In function `phys_mem_access_prot_allowed': arch/x86/mm/pat.c:558: warning: long long unsigned int format, long unsigned int arg (arg 6) arch/x86/mm/pat.c: In function `map_devmem': arch/x86/mm/pat.c:580: warning: long long unsigned int format, long unsigned int arg (arg 6) Signed-off-by: D Pranith Kumar Signed-off-by: Ingo Molnar commit 89804c022fe32541f5dd40a69e48ff4678d9ad24 Author: Ingo Molnar Date: Tue May 13 10:36:22 2008 +0200 x86: fix csum_partial() export Fix this symbol export problem: Building modules, stage 2. MODPOST 193 modules ERROR: "csum_partial" [fs/reiserfs/reiserfs.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 This is due to a known weakness of symbol exports: if a symbol's only in-core user is an EXPORT_SYMBOL from a lib-y section, the symbol is not linked in. The solution is to move the export to x8664_ksyms_64.c - but the real solution would be to fix kbuild. Signed-off-by: Ingo Molnar commit 8c45a4e4f2b9bed6b6c54aaafc89e906284ccdf2 Author: Andrew Morton Date: Mon May 12 19:31:20 2008 -0700 x86: early_init_centaur(): use set_cpu_cap() arch/x86/kernel/setup_64.c:954: warning: passing argument 2 of 'set_bit' from incompatible pointer type Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 61165d7a035f6571c7576e7f51e7230157724c8d Author: Hugh Dickins Date: Tue May 13 14:26:57 2008 +0100 x86: fix app crashes after SMP resume After resume on a 2cpu laptop, kernel builds collapse with a sed hang, sh or make segfault (often on 20295564), real-time signal to cc1 etc. Several hurdles to jump, but a manually-assisted bisect led to -rc1's d2bcbad5f3ad38a1c09861bca7e252dde7bb8259 x86: do not zap_low_mappings in __smp_prepare_cpus. Though the low mappings were removed at bootup, they were left behind (with Global flags helping to keep them in TLB) after resume or cpu online, causing the crashes seen. Reinstate zap_low_mappings (with local __flush_tlb_all) for each cpu_up on x86_32. This used to be serialized by smp_commenced_mask: that's now gone, but a low_mappings flag will do. No need for native_smp_cpus_done to repeat the zap: let mem_init zap BSP's low mappings just like on UP. (In passing, fix error code from native_cpu_up: do_boot_cpu returns a variety of diagnostic values, Dprintk what it says but convert to -EIO. And save_pg_dir separately before zap_low_mappings: doesn't matter now, but zapping twice in succession wiped out resume's swsusp_pg_dir.) That worked well on the duo and one quad, but wouldn't boot 3rd or 4th cpu on P4 Xeon, oopsing just after unlock_ipi_call_lock. The TLB flush IPI now being sent reveals a long-standing bug: the booting cpu has its APIC readied in smp_callin at the top of start_secondary, but isn't put into the cpu_online_map until just before that unlock_ipi_call_lock. So native_smp_call_function_mask to online cpus would send_IPI_allbutself, including the cpu just coming up, though it has been excluded from the count to wait for: by the time it handles the IPI, the call data on native_smp_call_function_mask's stack may well have been overwritten. So fall back to send_IPI_mask while cpu_online_map does not match cpu_callout_map: perhaps there's a better APICological fix to be made at the start_secondary end, but I wouldn't know that. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit af5741c6de4f4a1d8608b0f00867c77cb7123635 Author: Jeremy Higdon Date: Sun May 11 23:17:03 2008 -0700 [SCSI] qla1280: Fix queue depth problem The qla1280 driver was ANDing the output value of mailbox register 0 with (1 << target-number) to determine whether to enable queueing on the target in question. But mailbox register 0 has the status code for the mailbox command (in this case, Set Target Parameters). Potential values are: /* * ISP mailbox command complete status codes */ So clearly that is in error. I can't think what the author of that line was looking for in a mailbox register, so I just eliminated the AND. flag is used later in the function, and I think that the later usage was also wrong, though it was used to set values that aren't used. Oh well, an overhaul of this driver is not what I want to do now -- just a bugfix. After the fix, I found that my disks were getting a queue depth of 255, which is far too many. Most SCSI disks are limited to 32 or 64. In any case, there's no point, queueing up a bunch of commands to the adapter that will just result in queue full or starve other targets from being issued commands due to running out of internal memory. So I dropped default queue depth to 32 (from which 1 is subtracted elsewhere, giving net of 31). I tested with a Seagate ST336753LC, and results look good, so I'm satisfied with this patch. Signed-off-by: Jeremy Higdon Acked-by: Jes Sorensen Cc: Stable Tree Signed-off-by: James Bottomley commit c4e5fadd2a6fc0da465dcde761877d9a87313b33 Author: Kenji Kaneshige Date: Tue May 13 16:48:50 2008 +0900 ACPI/PCI: another multiple _OSC memory leak fix The acpi_query_osc() function can be called for the ACPI object that doesn't have _OSC method. In this case, acpi_get_osc_data() would allocate a useless memory region. To avoid this, we need to check the existence of _OSC before calling acpi_get_osc_data() in acpi_query_osc(). Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 77db9885646f8a88214ea482988d41f8f73630f4 Author: Venki Pallipadi Date: Fri May 9 13:05:19 2008 -0700 x86/PCI: X86_PAT & mprotect Some versions of X used the mprotect workaround to change caching type from UC to WB, so that it can then use mtrr to program WC for that region [1]. Change the mmap of pci space through /sys or /proc interfaces from UC to UC_MINUS. With this change, X will not need to use mprotect workaround to get WC type since the MTRR mapping type will be honored. The bug in mprotect that clobbers PAT bits is fixed in a follow on patch. So, this X workaround will stop working as well. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Jesse Barnes commit 439a7733e8fcbaee39979c10246101565834d6b2 Author: Björn Krombholz Date: Mon May 12 00:24:27 2008 +0200 PCI: enable nv_msi_ht_cap_quirk for ALi bridges This applies the NVidia MSI enabled flag for HT capable devices quirk to ALi bridges as well. As described in more detail in http://bugzilla.kernel.org/show_bug.cgi?id=10667 this is required for my board which is using an nForce 3 250Gb chipset with an ALi M1695 northbridge. It fixes a regression introduced in 2.6.24 that made the internal NIC of the board unusable (MSI initialisation of the NIC but disabled MSI on the northbridge devices. Signed-off-by: Björn Krombholz Signed-off-by: Jesse Barnes commit a7eb08c2a14f28cb652ea6ad1a8e2b8efc55fb9a Author: mark gross Date: Mon May 12 13:41:57 2008 -0700 PCI: Make the intel-iommu_wait_op macro work when jiffies are not running The following patch changes the intel-iommu.c code to use the TSC instead of jiffies for detecting bad DMAR functionality. Some systems with bad bios's have been seen to hang in early boot spinning in the IOMMU_WAIT_IO macro. This patch will replace the infinite loop with a call to panic. Signed-off-by: Mark Gross Signed-off-by: Jesse Barnes commit 34a65055e5e7304b3d6ad0f7542bf66308eae50a Author: Kenji Kaneshige Date: Mon May 12 22:55:45 2008 +0900 ACPI/PCI: handle multiple _OSC The pci_osc_control_set() function can be called for the ACPI object that doesn't have _OSC method. In this case, acpi_get_osc_data() would allocate a useless memory region. To avoid this, we need to check the existence of _OSC before calling acpi_get_osc_data(). Here is a patch to fix this problem in pci_osc_control_set. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit a5d1c8798309a384c2776e5ff472f8ceb6d9065d Author: Shaohua Li Date: Mon May 12 10:48:10 2008 +0800 ACPI/PCI: handle multiple _OSC There is an IA64 system here which have two pci root bridges with _OSC. One _OSC disables SHPC control bit but the other not. Below patch makes _OSC data per-device instead of one global, otherwise linux takes both root bridges don't support SHPC. Signed-off-by: Shaohua Li Signed-off-by: Jesse Barnes commit 4a367f3a9dbf2e7ffcee4702203479809236ee6e Author: Takashi Iwai Date: Fri May 9 08:06:55 2008 +0200 x86/PCI: fix broken ISA DMA Rene Herman reported: > commit 8779f2fc3b84ebb6c5181fb13d702e9944c16069 > > "x86: don't try to allocate from DMA zone at first" > > breaks all of ISA DMA. Or all of ALSA ISA DMA at least. All > ISA soundcards are silent following that commit -- no error > messages, everything appears fine, just silence. That patch is buggy. We had an implicit assumption that dev = NULL for ISA devices that require 24bit DMA. The recent work on x86 dma_alloc_coherent() breaks the ISA DMA buffer allocation, which is represented by "dev = NULL" and requires 24bit DMA implicitly. Bisected-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Ingo Molnar Signed-off-by: Jesse Barnes commit 21e2b0a5efb3a01de58e7cb630f2eb70894da352 Author: Kenji Kaneshige Date: Thu May 8 14:37:25 2008 +0900 PCI ACPI: fix uninitialized variable in __pci_osc_support_set Fix uninitialized variable in __pci_osc_support_set(). If the ACPI namespace doesn't have any device object corresponding to the specified hid, 'retval' in __pci_osc_support_set() is not changed by the acpi_query_osc() callback. Since 'retval' is not initizlized in the current implementation, the contents of 'retval' is undefined in this case. This causes a mis-handling of ctrlset_buf[OSC_SUPPORT_TYPE] and will cause an unexpected result in the subsequent pci_osc_control_set() call as a result. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 5dc93cf4576125f07cfc1b29cab0c9344c5b3d2b Merge: 43f14d8... 3c17279... Author: Linus Torvalds Date: Tue May 13 09:49:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] ASoC: Fix wrong enum count for jack_function in N810 machine driver [ALSA] ASoC: build fix for snd_soc_info_bool_ext [ALSA] ASoC: Fix TLV320AIC3X mono line output interconnect [ALSA] soc - fsl_ssi.c fix "BUG: scheduling while atomic" [ALSA] emux midi synthesizer doesn't honor SOFT_PEDAL-release event commit 43f14d856f013a4cc63da2c765617c665274338c Author: Cyrill Gorcunov Date: Mon May 12 14:02:40 2008 -0700 eCryptFS: fix imbalanced mutex locking Fix imbalanced calls for mutex lock/unlock on ecryptfs_daemon_hash_mux Revealed by Ingo Molnar: http://lkml.org/lkml/2008/5/7/260 Signed-off-by: Cyrill Gorcunov Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d850a2fac11e4dd45d1d3d493a5a071b06c58c99 Author: Jan Engelhardt Date: Mon May 12 14:02:39 2008 -0700 vt/fbcon: fix background color on line feed Another addendum to commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b ("vt: fix background color on line feed"). fbcon still was not doing the right thing (read: continued to do old behavior). fbcon_clear() seems to clear the new line (e.g. where your new prompt appears after doing echo -en "\e[42mfoo\n"), while scr_memsetw clears the previous one only (where "foo" appears). So just temporarily set the video_erase_char to the scrl_erase_char so that fbcon_clear does the right thing. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fe3915a492503a9199af475a433b50258303806 Author: Jan Engelhardt Date: Mon May 12 14:02:38 2008 -0700 vt/fbcon: update scrl_erase_char after 256/512-glyph font switch Addendum to commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b ("vt: fix background color on line feed"). vc->vc_scrl_erase_char was not updated when fbcon switches between 256- and 512-glyph fonts. Signed-off-by: Jan Engelhardt Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fb1f68d40d9dd99fdbf65349c9c6af760e19e6e Author: Maciej W. Rozycki Date: Mon May 12 14:02:38 2008 -0700 rtc: m41t80: include for printk() The driver uses printk(), but does not include -- add it. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: Wim Van Sebroeck Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417607d05f41dbe2acccdb7a298a81d30ba1d22b Author: Maciej W. Rozycki Date: Mon May 12 14:02:35 2008 -0700 RTC/watchdog: M41T80: fix a potential use of unitialized data Watchdog handlers within the driver make use of "save_client" -- make sure it has been initalized before the handlers are registered. Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: Alexander Bigga Cc: Wim Van Sebroeck Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c82c4150910dedd449194cb6d286b80478f3542 Author: Andrew Morton Date: Mon May 12 14:02:34 2008 -0700 drivers/char/synclink_gt.c: don't return an uninitialised local drivers/char/synclink_gt.c: In function 'put_char': drivers/char/synclink_gt.c:919: warning: 'ret' may be used uninitialized in this function The compiler speaketh truth. Cc: Paul Fulghum Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f36f21ecca9ee688301174e5f2e0827827a7a7ff Author: Jean Delvare Date: Mon May 12 14:02:33 2008 -0700 Fix misuses of bdevname() bdevname() fills the buffer that it is given as a parameter, so calling strcpy() or snprintf() on the returned value is redundant (and probably not guaranteed to work - I don't think strcpy and snprintf support overlapping buffers.) Signed-off-by: Jean Delvare Cc: Stephen Tweedie Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b Author: Miklos Szeredi Date: Mon May 12 14:02:32 2008 -0700 fuse: add flag to turn on big writes Prior to 2.6.26 fuse only supported single page write requests. In theory all fuse filesystem should be able support bigger than 4k writes, as there's nothing in the API to prevent it. Unfortunately there's a known case in NTFS-3G where big writes cause filesystem corruption. There could also be other filesystems, where the lack of testing with big write requests would result in bugs. To prevent such problems on a kernel upgrade, disable big writes by default, but let filesystems set a flag to turn it on. Signed-off-by: Miklos Szeredi Cc: Szabolcs Szakacsits Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f146a764ff08c4c210c04239c5e6784b4b77485 Author: Dhaval Giani Date: Mon May 12 14:02:31 2008 -0700 cgroups: fix documentation Correct the cgroups documentation to reflect the correct file names. Signed-off-by: Dhaval Giani Cc: Sudhir Kumar Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd1a8fc3d3cd740416b14ece2693dbb5d065eaf Author: KOSAKI Motohiro Date: Mon May 12 14:02:31 2008 -0700 memcg: fix possible panic when CONFIG_MM_OWNER=y When mm destruction happens, we should pass mm_update_next_owner() the old mm. But unfortunately new mm is passed in exec_mmap(). Thus, kernel panic is possible when a multi-threaded process uses exec(). Also, the owner member comment description is wrong. mm->owner does not necessarily point to the thread group leader. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: KOSAKI Motohiro Acked-by: Balbir Singh Cc: "Paul Menage" Cc: "KAMEZAWA Hiroyuki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9bfcb3151040cff6714542d1da04ccd7e2d3efc Author: Joakim Tjernlund Date: Mon May 12 14:02:30 2008 -0700 spi_mpc83xx: much improved driver The current driver may cause glitches on SPI CLK line since one must disable the SPI controller before changing any HW settings. Fix this by implementing a local spi_transfer function that won't change speed and/or word size while CS is active. While doing that heavy lifting a few other issues were addressed too: - Make word size 16 and 32 work too. - Honor bits_per_word and speed_hz in spi transaction. - Optimize the common path. This also stops using the "bitbang" framework (except for a few constants). [Roel Kluin <12o3l@tiscali.nl>: "irq" needs to be signed] Signed-off-by: Joakim Tjernlund Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4ed0deae8983591264d0e194e168ef65f4775f5 Author: Paul Jackson Date: Mon May 12 14:02:29 2008 -0700 cpumask: remove bitmap_scnprintf_len and cpumask_scnprintf_len They aren't used. They were briefly used as part of some other patches to provide an alternative format for displaying some /proc and /sys cpumasks. They probably should have been removed when those other patches were dropped, in favor of a different solution. Signed-off-by: Paul Jackson Cc: "Mike Travis" Cc: "Bert Wesarg" Cc: Alexey Dobriyan Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c78dd1718b99dc365ff8a2244d7d4504b070a5 Author: Geert Uytterhoeven Date: Mon May 12 14:02:28 2008 -0700 fbdev: do not let CONFIG_FB_DEFERRED_IO default to y CONFIG_FB_DEFERRED_IO can not be turned off, while it's already selected automatically by the drivers that need it. Although it's nice to have more compile-coverage, not being able to disable a rarely used feature is annoying. Signed-off-by: Geert Uytterhoeven Acked-by: Jaya Kumar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baf6332a238a680ef3add9cfb0729f136da886b8 Author: Nicolas Ferre Date: Mon May 12 14:02:25 2008 -0700 atmel_lcdfb: fix pixclock divider calculation Fix divider calculation and allow CLKVAL = 0 (divisor 2) It was not possible to get the clock value 0 (divisor 2) because the test "<=0" force the BYPASS bit to be activated instead. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Nicolas Ferre Cc: Per Hedblom Cc: Roel Kluin <12o3l@tiscali.nl> Cc: Jan Weber Cc: Andrew Victor Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945185a69daa457c4c5e46e47f4afad7dcea734f Author: Maciej W. Rozycki Date: Mon May 12 14:02:24 2008 -0700 rtc: rtc_time_to_tm: use unsigned arithmetic The input argument to rtc_time_to_tm() is unsigned as well as are members of the output structure. However signed arithmetic is used within for calculations leading to incorrect results for input values outside the signed positive range. If this happens the time of day returned is out of range. Found the problem when fiddling with the RTC and the driver where year was set to an unexpectedly large value like 2070, e.g.: rtc0: setting system clock to 2070-01-01 1193046:71582832:26 UTC (3155760954) while it should be: rtc0: setting system clock to 2070-01-01 00:15:54 UTC (3155760954) Changing types to unsigned fixes the problem. [akpm@linux-foundation.org: remove old-fashioned `register' keyword] Signed-off-by: Maciej W. Rozycki Cc: Alessandro Zummo Cc: David Brownell Cc: Dmitri Vorobiev Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f38c84312748de9d04562c12af57080c6901f931 Author: Greg Ungerer Date: Mon May 12 14:02:23 2008 -0700 m68knommu: missing sections for linker script Include the missing kcrctab and kcrctab_unused sections into the m68knommu linker script. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e662e1cfd434aa234b72fbc781f1d70211cb785b Author: Cyrill Gorcunov Date: Mon May 12 14:02:22 2008 -0700 init: don't lose initcall return values There is an ability to lose an initcall return value if it happened with irq disabled or imbalanced preemption (and if we debug initcall). Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67d7671036e6cae24ded112e079926d55ffe9580 Author: Jordan Crouse Date: Mon May 12 14:02:22 2008 -0700 Update Geode mailing list in MAINTAINERS Update the Geode list location in the MAINTAINERS file. Signed-off-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 706322496b3a58af3cf258db2b553d6933656eef Author: Eric Sesterhenn Date: Mon May 12 14:02:21 2008 -0700 Fix hfsplus oops on image without extents Fix an oops with a corrupted hfs+ image. See http://bugzilla.kernel.org/show_bug.cgi?id=10548 for details. Problem is that we call hfs_btree_open() from hfsplus_fill_super() to set HFSPLUS_SB(sb).[ext_tree|cat_tree] Both trees are still NULL at this moment. If hfs_btree_open() fails for any reason it calls iput() on the page, which gets to hfsplus_releasepage() which tries to access HFSPLUS_SB(sb).* which is still NULL and oopses while dereferencing it. [akpm@linux-foundation.org: build fix] Signed-off-by: Eric Sesterhenn Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4413a0f637df4e59b934909ac388a21cfdd90e69 Author: Mel Gorman Date: Mon May 12 14:02:19 2008 -0700 parisc: fix DISCONTIGMEM compile breakage PA-RISC to aid debugging prints out the zonelists setup by the system. A bad call to node_zonelist() breaks at compile-time. This patch fixes it. Signed-off-by: Mel Gorman Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Kyle McMartin Cc: Grant Grundler Cc: James Bottomley Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a5f24a279a21229e8c42198e21e2c8ce289129 Author: Bjorn Helgaas Date: Mon May 12 14:02:18 2008 -0700 PNP: set IRQ index in sysfs "set irq" interface We have to set the ISAPNP register index when setting an IRQ via the sysfs interface. We already do it for IO, MEM, and DMA resources; I just missed the IRQ one. Signed-off-by: Bjorn Helgaas Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 460817b9d45be7b2a50e1e24eb91b4aa0c435a09 Author: Robert P. J. Day Date: Mon May 12 14:02:17 2008 -0700 mn10300: replace deprecated "TOPDIR" with newer "srctree" This would appear to be the last reference to TOPDIR in the entire tree, after which i'm guessing that variable can be dropped. Signed-off-by: Robert P. J. Day Acked-by: David Howells Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a6278e5e4bce72ace681ae3cf48209fb63a5420 Author: Julia Lawall Date: Mon May 12 14:02:16 2008 -0700 drivers/video/pnx4008: eliminate double free The function framebuffer_release just calls kfree, so calling kfree subsequently on the same argument represents a double free. The comments with the definition of framebuffer_release in drivers/video/fbsysfs.c suggest that a more elaborate definition of this function is planned, such that the splitting up of framebuffer_release and kfree as done in the second instance might someday make sense, but it does not make sense now. This was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; @@ * kfree(E); ... * framebuffer_release(E); @@ expression E; @@ * framebuffer_release(E); ... * kfree(E); // Signed-off-by: Julia Lawall Cc: Vitaly Wool Cc: Krzysztof Helt Cc: Grigory Tolstolytkin Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aecd559871d23a3cc297e544c9d63f0b8441cf4 Author: Denis Cheng Date: Mon May 12 14:02:14 2008 -0700 mm/pdflush.c: merge the same code in two path Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 241937b863c8a3ef10511712f53285f41ab05308 Author: Darrick J. Wong Date: Mon May 12 14:02:13 2008 -0700 adt7473: minor documentation update Add a sentence about when fan speed increases to maximum. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 289f8e27ed435dcbefad132def06f4e84351e94f Author: Serge E. Hallyn Date: Mon May 12 14:02:13 2008 -0700 capabilities: add bounding set to /proc/self/status There is currently no way to query the bounding set of another task. As there appears to be no security reason not to, and as Michael Kerrisk points out the following valid reasons to do so exist: * consistency (I can see all of the other per-thread/process sets in /proc/.../status) * debugging -- I could imagine that it would make the job of debugging an application that uses capabilities a little simpler. this patch adds the bounding set to /proc/self/status right after the effective set. Signed-off-by: Serge E. Hallyn Acked-by: Michael Kerrisk Acked-by: Andrew G. Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8894419acf5e56851de9741c5047bebd78acd1f Author: Dan Williams Date: Mon May 12 14:02:12 2008 -0700 md: fix raid5 'repair' operations commit bd2ab67030e9116f1e4aae1289220255412b37fd "md: close a livelock window in handle_parity_checks5" introduced a bug in handling 'repair' operations. After a repair operation completes we clear the state bits tracking this operation. However, they are cleared too early and this results in the code deciding to re-run the parity check operation. Since we have done the repair in memory the second check does not find a mismatch and thus does not do a writeback. Test results: $ echo repair > /sys/block/md0/md/sync_action $ cat /sys/block/md0/md/mismatch_cnt 51072 $ echo repair > /sys/block/md0/md/sync_action $ cat /sys/block/md0/md/mismatch_cnt 0 (also fix incorrect indentation) Cc: Tested-by: George Spelvin Acked-by: NeilBrown Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f275ea3086054205795972b8e87f2046fd3de98 Author: Krzysztof Helt Date: Mon May 12 14:02:11 2008 -0700 tridentfb: improve clock setting accuracy Improve clock calculation precision (to kHz from MHz) and removes parameter field vclk from the tridentfb_par structure. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fb488239cd8750cc818197d6c346409c0e8d330 Author: Krzysztof Helt Date: Mon May 12 14:02:09 2008 -0700 tridentfb: remove misplaced enable_mmio() Remove redundant enable_mmio() call as the mmio mode is enabled in the probe function earlier. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55654be9e11461484141d8dff0715efa0d7a945a Author: Harvey Harrison Date: Mon May 12 14:02:08 2008 -0700 mmc: make one-bit signed bitfields unsigned Otherwise it can only take the values 0/-1 which doesn't seem to have been intended. drivers/mmc/host/sdhci.h:190:20: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Acked-by: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9377abd026bf9bde7db90dac09170034bf6d1cbf Author: Jan Kara Date: Mon May 12 14:02:08 2008 -0700 quota: don't call sync_fs() from vfs_quota_off() when there's no quota turn off Sometimes, vfs_quota_off() is called on a partially set up super block (for example when fill_super() fails for some reason). In such cases we cannot call ->sync_fs() because it can Oops because of not properly filled in super block. So in case we find there's not quota to turn off, we just skip everything and return which fixes the above problem. [akpm@linux-foundation.org: fxi tpyo] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb45d64224e5cafe8c8e0d18a20da998e5a7dc93 Author: Christoph Hellwig Date: Mon May 12 14:02:06 2008 -0700 ufs: remove unneeded ufs_put_inode prototype Signed-off-by: Christoph Hellwig Acked-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5be11329f8cb2cc1a4c3b33b6b8d096c6012895 Author: KOSAKI Motohiro Date: Mon May 12 14:02:06 2008 -0700 make vmstat cpu-unplug safe When accessing cpu_online_map, we should prevent dynamic changing of cpu_online_map by get_online_cpus(). Unfortunately, all_vm_events() doesn't do that. Signed-off-by: KOSAKI Motohiro Acked-by: Christoph Lameter Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78f508ab07954d12896097ac07ab2fab443c7ca2 Author: Sebastian Siewior Date: Mon May 12 14:02:05 2008 -0700 m68knommu: ColdFire add support for kernel preemption (missing chunk) As the subject says this patch adds the support for kernel preemption on m68knommu Coldfire. I thing the same changes could be applied to 68360 & 68328 but since I don't have the HW, I don't touch it. Kconfig enables the preemption item only on coldfire. This is a missing chunk from Sebastian's original patch that I lost from the first submission. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dc4e37362a5dc910d704d52ac6542bfd49ddc2f Author: Miklos Szeredi Date: Mon May 12 14:02:04 2008 -0700 ecryptfs: clean up (un)lock_parent dget(dentry->d_parent) --> dget_parent(dentry) unlock_parent() is racy and unnecessary. Replace single caller with unlock_dir(). There are several other suspect uses of ->d_parent in ecryptfs... Signed-off-by: Miklos Szeredi Cc: Michael Halcrow Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d032ba434ad41586460811148f01511e5612f9 Author: Dean Nelson Date: Mon May 12 14:02:03 2008 -0700 drivers/misc/sgi-xp: replace partid_t with a short In preparation for supporting greater than 64 partitions replace partid_t by short in drivers/misc/sgi-xp. Signed-off-by: Dean Nelson Acked-by: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65c17b801e03e40acdca0cd34e8eb1b8a347b539 Author: Dean Nelson Date: Mon May 12 14:02:02 2008 -0700 drivers/misc/sgi-xp: clean up return values Make XP return values more generic to XP and not so tied to XPC by changing enum xpc_retval to xp_retval, along with changing return value prefixes from xpc to xp. Also, cleanup a comment block that referenced some of these return values as well as the handling of BTE related return values. Signed-off-by: Dean Nelson Acked-by: Robin Holt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cf942d75a6acfa11a41f63330d8780901eda4af Author: Eric BENARD Date: Mon May 12 14:02:01 2008 -0700 spi: pxa2xx_spi clock resume bugfix There is a typo in pxa2xx_spi.c, comment says "Enable the SSP clock", code says: clk_disable ... so after resume, the SSP is dead. Signed-off-by: David Brownell Cc: Ned Forrester Cc: Stephen Street Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2cc53ee013a4d4d0317d418e7019fe6533a5a8 Author: Jeff Dike Date: Mon May 12 14:02:00 2008 -0700 uml: track and make up lost ticks Alarm delivery could be noticably late in the !CONFIG_NOHZ case because lost ticks weren't being taken into account. This is now treated more carefully, with the time between ticks being calculated and the appropriate number of ticks delivered to the timekeeping system. Cc: Nix Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d88958e01e71bb14a367db75f12f7a59c068f02 Author: Jeff Dike Date: Mon May 12 14:01:59 2008 -0700 uml: style fixes in the random driver Give random.c a style workover while I'm changing it. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d33e4d7fd9a52d2673e5c730eab81856e100a74 Author: Jeff Dike Date: Mon May 12 14:01:58 2008 -0700 uml: random driver fixes The random driver would essentially hang if the host's /dev/random returned -EAGAIN. There was a test of need_resched followed by a schedule inside the loop, but that didn't help and it's the wrong way to work anyway. The right way is to ask for an interrupt when there is input available from the host and handle it then rather than polling. Now, when the host's /dev/random returns -EAGAIN, the driver asks for a wakeup when there's randomness available again and sleeps. The interrupt routine just wakes up whatever processes are sleeping on host_read_wait. There is an atomic_t, host_sleep_count, which counts the number of processes waiting for randomness. When this reaches zero, the interrupt is disabled. An added complication is that async I/O notification was only recently added to /dev/random (by me), so essentially all hosts will lack it. So, we use the sigio workaround here, which is to have a separate thread poll on the descriptor and send an interrupt when there is input on it. This mechanism is activated when a process gets -EAGAIN (activating this multiple times is harmless, if a bit wasteful) and deactivated by the last process still waiting. The module name was changed from "random" to "hw_random" in order for udev to recognize it. The sigio workaround needed some changes. sigio_broken was added for cases when we know that async notification doesn't work. This is now called from maybe_sigio_broken, which deals with pts devices. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60a2988aea701a6424809a5432bf068667aac177 Author: Jeff Dike Date: Mon May 12 14:01:57 2008 -0700 uml: physical memory shouldn't include initial stack The top of physical memory should be below the initial process stack, not the top of the address space, at least for as long as the stack isn't known to the kernel VM system and appropriately reserved. Cc: "Christopher S. Aker" Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7dfa9403bf3b03899d5ef5d10b0c5c3f74b0682 Author: Cyrill Gorcunov Date: Mon May 12 14:01:56 2008 -0700 uml: use PAGE_SIZE in linker scripts This patch includes page.h header into linker scripts that allow us to use PAGE_SIZE macro instead of numeric constant. To be able to include page.h into linker scripts page.h is needed for some modification - i.e. we need to use __ASSEMBLY__ and _AC macro [jdike@linux.intel.com - fixed conflict with as-layout.h] Signed-off-by: Cyrill Gorcunov Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d0742426c9adc7465ef5c62a99a1d3e9696ea19 Author: Jiri Olsa Date: Mon May 12 14:01:56 2008 -0700 uml: use DIV_ROUND_UP I just saw similar patches in the janitor kernel's list, and spotted place it fits. Signed-off-by: Jiri Olsa Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63b9871f6ee2607f3b44e0044e145574b3f08619 Author: Robert P. J. Day Date: Mon May 12 14:01:55 2008 -0700 uml: fix CONFIG_RAW dependencies Add the BLOCK dependency for RAW_DRIVER, to match what's in drivers/char/Kconfig. Also, while we're there, update the alleged obsolesence of RAW_DRIVER since it doesn't seem to be going away any time soon. Signed-off-by: Robert P. J. Day Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5563d722bfc73f27423fcb76240bfc1fb4284635 Author: Jeff Dike Date: Mon May 12 14:01:54 2008 -0700 uml: use __SPIN_LOCK_UNLOCKED From: Robert P. J. Day Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd28f6695d0fc047478480791a21bdd4967f98e Author: Jeff Dike Date: Mon May 12 14:01:53 2008 -0700 uml: fix bad NTP interaction with clock UML's supposed nanosecond clock interacts badly with NTP when NTP decides that the clock has drifted ahead and needs to be slowed down. Slowing down the clock is done by decrementing the cycle-to-nanosecond multiplier, which is 1. Decrementing that gives you 0 and time is stopped. This is fixed by switching to a microsecond clock, with a multiplier of 1000. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 309e96cdf2f2c1a071102e8bdf828a3493e6e50a Author: Jeff Dike Date: Mon May 12 14:01:52 2008 -0700 uml: remove unused header From: Adrian Bunk This patch removes the unused and broken (the normal asm/keyboard.h files no longer exists) include/asm-um/keyboard.h Signed-off-by: Adrian Bunk Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43f5b3085fdd27c4edf535d938b2cb0ccead4f75 Author: Jeff Dike Date: Mon May 12 14:01:52 2008 -0700 uml: fix build when SLOB is enabled Reintroduce uml_kmalloc for the benefit of UML libc code. The previous tactic of declaring __kmalloc so it could be called directly from the libc side of the house turned out to be getting too intimate with slab, and it doesn't work with slob. So, the uml_kmalloc wrapper is back. It calls kmalloc or whatever that translates into, and libc code calls it. kfree is left alone since that still works, leaving a somewhat inconsistent API. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 484f1e2c1ea58c6a4352313f7ee4edd4b52deecd Author: Johann Felix Soden Date: Mon May 12 14:01:51 2008 -0700 uml: fix errno return Error returns are negative. Signed-off-by: Johann Felix Soden Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47906dd9e63ba1a8cb188e9e786c5928674fbbd3 Author: Jeff Dike Date: Mon May 12 14:01:50 2008 -0700 uml: tidy ptrace interface Tidy the ptrace interface code. Removed a bunch of unused macros. Started converting register sets from arrays of longs to structures. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46d7b522ebf486edbd096965d534cc6465e9e309 Author: Jeff Dike Date: Mon May 12 14:01:50 2008 -0700 uml: move hppfs_kern.c to hppfs.c There's no reason for the _kern in hppfs_kern.c, so move it to hppfs.c. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0612b1f0b3d851458dafe5886e33d58c1967440 Author: Jeff Dike Date: Mon May 12 14:01:49 2008 -0700 uml: hppfs fixes hppfs tidying and fixes noticed during hch's get_inode work - style fixes a copy_to_user got its return value checked hppfs_write no longer fiddles file->f_pos because it gets and returns pos in its arguments hppfs_delete_inode dputs the underlyng procfs dentry stored in its private data and mntputs the vfsmnt stashed in s_fs_info hppfs_put_super no longer needs to mntput the s_fs_info, so it no longer needs to exist hppfs_readlink and hppfs_follow_link were doing a bunch of stuff with a struct file which they didn't use there is now a ->permission which calls generic_permission get_inode was always returning 0 for some reason - it now returns an inode if nothing bad happened Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96cee3044dca2e6510ca7cc276d1eac34a1cfd51 Author: Jeff Dike Date: Mon May 12 14:01:48 2008 -0700 uml: style fixes A few random style fixes. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c258787427ea43ebfa76fefa6534cae507e521 Author: Jeff Dike Date: Mon May 12 14:01:47 2008 -0700 uml: redo host capability detection and disabling Redo how host capabilities are recorded at startup and disabled on the command line. There are now explicit variables saying what's been disabled by the command line rather than the implicitness of the have_* variable being zero. The capability variables now start at zero and are set to one as their capabilities are found to be present on the host. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfd123bf91704b88093673e615cc93329f820ab4 Author: Jeremy McNicoll Date: Mon May 5 18:17:24 2008 -0400 [POWERPC] 85xx: SBC8548 - Add flash support and HW Rev reporting The following adds local bus, flash and MTD partition nodes for sbc8548. As well, a compatible field for the soc node, so that of_platform_bus_probe() will pick it up. Something that is provided through this newly added epld node is the Hardware Revision which is now being utilized. Signed-off-by: Jeremy McNicoll Signed-off-by: Kumar Gala commit 73f5b8f942d6a2f178061dbbf9bcc54ca68ddf39 Author: Andy Fleming Date: Fri May 2 13:03:22 2008 -0500 [POWERPC] 85xx: Fix some sparse warnings for 85xx MDS Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit 3f346935f4f7141b0253ab0d8dfefb6e20ad08c3 Author: Zhang Wei Date: Mon May 12 10:28:20 2008 -0500 [POWERPC] 83xx: Enable DMA engine on the MPC8377 MDS board. Signed-off-by: Zhang Wei Cc: "Nelson, Shannon" Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit f637ef8ea07d529418294a8e65e1be5b8db13454 Author: Anton Vorontsov Date: Mon May 12 16:35:33 2008 +0400 [POWERPC] 86xx: mpc8610_hpcd: fix second serial port DIU platform code should not just write to the PIXIS' BRDCFG0 register, it should set and clear its own bits only, otherwise it will break firmware setup (in fact it breaks second uart). Also get rid of magic numbers in the related code. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 34b4a8731f50fb6fe772f1e47432bfb1da1f4edd Author: Anton Vorontsov Date: Sun May 4 22:46:27 2008 +0400 [POWERPC] 86xx: mpc8610_hpcd: add support for NOR and NAND flashes This patch adds device tree nodes for NOR and NAND flashes and places board-control node inside the localbus. defconfig and board file updated appropriately. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 94833a42765509a7aa95ed1ba7b227ead3c29c08 Author: Andy Fleming Date: Fri May 2 18:56:41 2008 -0500 [POWERPC] 85xx: Add 8568 PHY workarounds to board code The 8568 MDS needs some configuration changes to the PHY in order to work properly. These are done in the firmware, normally, but Linux shouldn't need to rely on the firmware running such things (someone could disable the PHY support in the firmware to save space, for instance). Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit ad12e34fe805af86b2995020bfc41a64a762acfe Author: Anton Vorontsov Date: Tue Apr 29 19:53:33 2008 +0400 [POWERPC] 86xx: mpc8610_hpcd: use ULI526X driver for on-board ethernet As of current mainline tree, TULIP driver is unusable on MPC8610HPCD boards. There is a patch[1] floating around (and also included in the BSP), which tries to heal the situation, though the ethernet is still unusable. Practically it takes ages to mount NFS filesystem: VFS: Mounted root (nfs filesystem). Freeing unused kernel memory: 180k init nfs: server 10.0.0.2 not responding, still trying nfs: server 10.0.0.2 OK nfs: server 10.0.0.2 not responding, still trying nfs: server 10.0.0.2 not responding, still trying nfs: server 10.0.0.2 not responding, still trying nfs: server 10.0.0.2 not responding, still trying nfs: server 10.0.0.2 OK nfs: server 10.0.0.2 not responding, still trying So, instead of trying to add uli526x functionality into TULIP driver (which is already bloated enough), I fixed existing ULI526X driver and now it works perfectly well here. [1] http://www.bitshrine.org/gpp/0024-MPC8610-ETH-Lyra-native-ethernet.txt Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 3c17279137bf8318438510b48229d4236f773da4 Author: Jarkko Nikula Date: Tue May 13 16:02:04 2008 +0200 [ALSA] ASoC: Fix wrong enum count for jack_function in N810 machine driver Fix this typo and avoid similar errors by using ARRAY_SIZE macro. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 392abe9cb36f04ccdda9c96938077b0d43f2b50b Author: Philipp Zabel Date: Tue May 13 14:03:40 2008 +0200 [ALSA] ASoC: build fix for snd_soc_info_bool_ext I suspect that snd_ctl_boolean_mono should have been snd_ctl_boolean_mono_info instead. This fixes the build for magician. Signed-off-by: Philipp Zabel Acked-by: Mark Brown Signed-off-by: Takashi Iwai commit 5b006137f47622dbd4a5aa2ba4010202cbc31667 Author: Jarkko Nikula Date: Fri May 9 15:05:41 2008 +0200 [ALSA] ASoC: Fix TLV320AIC3X mono line output interconnect There is no endpoint called MONOLOUT but MONO_LOUT. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 3a3bd960a0b7bb26604b1270a8b4cafdc5883040 Author: Anton Vorontsov Date: Fri May 9 13:43:55 2008 +0200 [ALSA] soc - fsl_ssi.c fix "BUG: scheduling while atomic" This patch fixes following bug caught with PREEMPT enabled: root@b1:~# cat /dev/dsp > /dev/null BUG: scheduling while atomic: cat/965/0x00000003 Call Trace: [df165ce0] [c0008e84] show_stack+0x4c/0x1ac (unreliable) [df165d20] [c001c18c] __schedule_bug+0x64/0x78 [df165d30] [c02b3344] schedule+0x2d8/0x334 [df165d70] [c02b3674] schedule_timeout+0x64/0xe4 [df165db0] [c002c05c] msleep+0x1c/0x34 [df165dc0] [c01f2fe0] fsl_ssi_trigger+0x130/0x144 [df165dd0] [c01ece54] soc_pcm_trigger+0x94/0xb8 [df165df0] [c01da764] snd_pcm_do_start+0x48/0x60 [df165e00] [c01da630] snd_pcm_action_single+0x4c/0xb4 [df165e20] [c01e0f50] snd_pcm_lib_read1+0x2a0/0x2d4 [df165e70] [c01ec274] snd_pcm_oss_read3+0xf0/0x13c [df165eb0] [c01ec2e4] snd_pcm_oss_read2+0x24/0x4c [df165ec0] [c01ec4ac] snd_pcm_oss_read+0x1a0/0x1f0 [df165ef0] [c0076478] vfs_read+0xb4/0x108 [df165f10] [c00768cc] sys_read+0x4c/0x90 [df165f40] [c00117a4] ret_from_syscall+0x0/0x38 Acked-by: Timur Tabi Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit bf91141d3565b35fb2a44364bfb874a3be3c12b6 Author: maximilian attems Date: Fri May 9 13:43:09 2008 +0200 [ALSA] emux midi synthesizer doesn't honor SOFT_PEDAL-release event When the hardware wavetable synthesizer of an Creative SB Audigy or SB Live! card (with emu10k chip) receives the MIDI SOFT_PEADAL-press event (?? 67 127) the appropriate voice is attenuted. Unfortunately when the pedal is released (event ?? 67 0) the voice does not get it's original volume again. Boolean MIDI controls should interpret 0..63 as false and 64..127 as true. Thanks to Clemens Ladisch for review and correction. Original patch from "Uwe Kraeger" Submitted to http://bugs.debian.org/474312 Signed-off-by: maximilian attems Cc: uwe_debbug@arcor.de Cc: Clemens Ladisch Signed-off-by: Takashi Iwai commit 79d44516b4b178ffb6e2159c75584cfcfc097914 Author: Ilpo Järvinen Date: Tue May 13 02:54:19 2008 -0700 tcp FRTO: work-around inorder receivers If receiver consumes segments successfully only in-order, FRTO fallback to conventional recovery produces RTO loop because FRTO's forward transmissions will always get dropped and need to be resent, yet by default they're not marked as lost (which are the only segments we will retransmit in CA_Loss). Price to pay about this is occassionally unnecessarily retransmitting the forward transmission(s). SACK blocks help a bit to avoid this, so it's mainly a concern for NewReno case though SACK is not fully immune either. This change has a side-effect of fixing SACKFRTO problem where it didn't have snd_nxt of the RTO time available anymore when fallback become necessary (this problem would have only occured when RTO would occur for two or more segments and ECE arrives in step 3; no need to figure out how to fix that unless the TODO item of selective behavior is considered in future). Signed-off-by: Ilpo Järvinen Reported-by: Damon L. Chesser Tested-by: Damon L. Chesser Signed-off-by: David S. Miller commit a1c1f281b84a751fdb5ff919da3b09df7297619f Author: Ilpo Järvinen Date: Tue May 13 02:53:26 2008 -0700 tcp FRTO: Fix fallback to conventional recovery It seems that commit 009a2e3e4ec ("[TCP] FRTO: Improve interoperability with other undo_marker users") run into another land-mine which caused fallback to conventional recovery to break: 1. Cumulative ACK arrives after FRTO retransmission 2. tcp_try_to_open sees zero retrans_out, clears retrans_stamp which should be kept like in CA_Loss state it would be 3. undo_marker change allowed tcp_packet_delayed to return true because of the cleared retrans_stamp once FRTO is terminated causing LossUndo to occur, which means all loss markings FRTO made are reverted. This means that the conventional recovery basically recovered one loss per RTT, which is not that efficient. It was quite unobvious that the undo_marker change broken something like this, I had a quite long session to track it down because of the non-intuitiviness of the bug (luckily I had a trivial reproducer at hand and I was also able to learn to use kprobes in the process as well :-)). This together with the NewReno+FRTO fix and FRTO in-order workaround this fixes Damon's problems, this and the first mentioned are enough to fix Bugzilla #10063. Signed-off-by: Ilpo Järvinen Reported-by: Damon L. Chesser Tested-by: Damon L. Chesser Tested-by: Sebastian Hyrwall Signed-off-by: David S. Miller commit 1dbd6608191cff854ab467e9880b7aeb2385ca39 Merge: 5aaca7a... c714a53... Author: Ingo Molnar Date: Tue May 13 11:32:58 2008 +0200 Merge branch 'linus' into x86/urgent commit 47ac3199acb0676b58491b29418283f37a116952 Merge: 608961a... 9932459... Author: David S. Miller Date: Tue May 13 01:09:15 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 9a28dbf8af11d127bf1c644143e7882cb91515dd Author: David S. Miller Date: Mon May 12 22:45:15 2008 -0700 sparc64: Use a TS_RESTORE_SIGMASK This mirrors x86 changeset 5a8da0ea82db6fa9737041381079fd16f25dcce2 ("signals: x86 TS_RESTORE_SIGMASK") on sparc64. Signed-off-by: David S. Miller commit 993245908ec35c071315479e20602577b7b5dde6 Author: Auke Kok Date: Wed May 7 13:42:33 2008 -0700 New maintainer for Intel ethernet adapters I'm handing over maintainership to Jeff Kirsher and moving on to other Linux/Open Source work within Intel. Good luck to Jeff ;) Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 8f5bf5f25cdf9270f33ed347c582a3a451d3c38a Author: Ben Dooks Date: Thu May 8 11:36:42 2008 +0100 DM9000: Use delayed work to update MII PHY state Periodically check the MII PHY status to ensure that the network layer's link status is updated and the user informed of any changes. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 37d5dca6af6b62bbb2c63f46a06cb07d0cf4522b Author: Enrico Scholz Date: Thu May 8 11:35:13 2008 +0100 DM9000: Update and fix driver debugging messages There was a missing newline in a dev_dbg() message. Values read from/written into PHY registers might be for interest too, so I added new dbg messages there. Signed-off-by: Enrico Scholz Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit e21fd4f07dd0c2630c3db41f419e4c658d0dee2c Author: Enrico Scholz Date: Thu May 8 11:33:03 2008 +0100 DM9000: Add __devinit and __devexit attributes to probe and remove There were missing __dev* annotations for the dm9000_probe() and dm9000_drv_remove() functions. Signed-off-by: Enrico Scholz Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit a300344ab9b77130310fc225fdc7677e129b1163 Author: Jesse Brandeburg Date: Tue May 6 14:34:35 2008 -0700 sky2: fix simple define thinko noticed while browsing code, apparent thinko. compile tested only. Signed-off-by: Jesse Brandeburg CC: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3273c2e8c66a21ae1c53b0c730ee937c6efde7e2 Author: Ben Hutchings Date: Wed May 7 13:36:19 2008 +0100 [netdrvr] sfc: sfc: Add self-test support Add a set of self-tests accessible thorugh ethtool. Add hardware loopback and TX disable control code to support them. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 05e3ec04460180f48810cddc2f78e80a725657ad Author: Ben Hutchings Date: Wed May 7 13:00:39 2008 +0100 [netdrvr] sfc: Increment rx_reset when reported as driver event An RX_RESET event can be reported either as a global or as a driver event. We were counting only global events. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 53269e94cdaca6e470c18099912de977a193e815 Author: Ben Hutchings Date: Wed May 7 12:59:10 2008 +0100 [netdrvr] sfc: Remove unused macro EFX_XAUI_RETRAIN_MAX Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit e52eddaece487b0855f5974ee0a0a3a172043ba8 Author: Ben Hutchings Date: Wed May 7 12:58:41 2008 +0100 [netdrvr] sfc: Fix code formatting Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit d6742d4a6dfc362b5dbb3e759e6198c3dbb47dbc Author: Ben Hutchings Date: Wed May 7 12:58:13 2008 +0100 [netdrvr] sfc: Remove kernel-doc comments for removed members of struct efx_nic Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 707d982700c4cde83913f23eb6430a5bb435122a Author: Ben Hutchings Date: Wed May 7 12:57:44 2008 +0100 [netdrvr] sfc: Remove garbage from comment Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit ba911a4d16fb2dd562f5595731fc96bc8c4929d7 Author: Ben Hutchings Date: Wed May 7 12:56:57 2008 +0100 [netdrvr] sfc: Removed bogus 'fall-thru' comments Fall-through is expected outside a switch statement. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 75f2d3eac93277fa022b2fbe51257e856575e757 Author: Ben Hutchings Date: Wed May 7 12:55:13 2008 +0100 [netdrvr] sfc: Add phy_flash_cfg module parameter and implementation The 10Xpress PHY supports flash upgrades through MDIO, but needs to be put in upgrade mode at power-up. This adds a module parameter and other logic to support that. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit b9b39b625cf57cd0ea998717598b68963cbec3cb Author: Ben Hutchings Date: Wed May 7 12:51:12 2008 +0100 [netdrvr] sfc: Add TSO support The SFC4000 controller does not have hardware support for TSO, and the core GSO code incurs a high cost in allocating and freeing skbs. This TSO implementation uses lightweight packet header structures and is substantially faster. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit 48cfb14f8b89d4d5b3df6c16f08b258686fb12ad Author: Hannes Hering Date: Wed May 7 14:43:36 2008 +0200 ehea: Add DLPAR memory remove support The eHEA driver uses the recently modified walk_memory_resource for powerpc functionality to detect the memory layout. It further uses the memory hotplug notifiers to catch memory hotplug events. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit fb7b6ca2b6b7c23b52be143bdd5f55a23b9780c8 Author: Hannes Hering Date: Wed May 7 14:43:20 2008 +0200 ehea: Add dependency to Kconfig The new ehea memory hot plug implementation depends on MEMORY_HOTPLUG. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit 3c82c30cd5963a4523a6ec5f32fc2d20a5bb672a Author: Hannes Hering Date: Wed May 7 14:43:01 2008 +0200 memory: Introduce exports for memory notifiers This patch introduces two exports to allow modules to use memory notifiers. Signed-off-by: Hannes Hering Signed-off-by: Jeff Garzik commit ad5da7ab7be0a510ae69d533edf573d1ca6eec4b Author: Andy Fleming Date: Wed May 7 13:20:55 2008 -0500 gianfar: Fix a bug where the pointer never moves for dma_unmap... The loop that unmaps all of the TX Buffer Descriptors never actually moves the txbd pointer, so we were just repeatedly unmapping the first one. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 204e2f98c2d13f869b8541f3c57c7314f75cab11 Author: Divy Le Ray Date: Tue May 6 19:26:01 2008 -0700 cxgb3 - fix EEH Reset the chip when the PCI link goes down. Preserve the napi structure when a sge qset's resources are freed. Replay only HW initialization when the chip comes out of reset. Signed-off-by: Divy Le ray Signed-off-by: Jeff Garzik commit 48c4b6dbb7e246957e13302668acf7c77e4f8b3a Author: Divy Le Ray Date: Tue May 6 19:25:56 2008 -0700 cxgb3 - fix port up/down error path Fix faiures path when ports are stopped and restarted in EEH recovery. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 014377a1df693ff30a9e8b69f0bbb0a38e601f75 Author: Brice Goglin Date: Fri May 9 02:20:47 2008 +0200 myri10ge: fix the number of interrupt slots Fix a long-standing bug/misunderstanding between the driver and the firmware. The size of the interrupt queue must be set to the number of rx slots (big + small), and it should never have been a tunable. Setting it too small results in chaos. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit fa0a90d96b08856203435b051dd1c155b58ccd0f Author: Brice Goglin Date: Fri May 9 02:20:25 2008 +0200 myri10ge: cleanup retrieving of firmware capabilities Add myri10ge_get_firmware_capabilities() to retrieve TSO6 and interrupt slots capabilities from the firmware. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit b53bef84c27e68efac9b608392acd1fc14cb6ce7 Author: Brice Goglin Date: Fri May 9 02:20:03 2008 +0200 myri10ge: move data structures into a single slice To prepare and simplify multislice rx support, add a single slice structure and move some fields in there. No functional change yet. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit eca3fd83436853483837f010d9c3fefafa46a15c Author: Brice Goglin Date: Fri May 9 02:19:29 2008 +0200 myri10ge: fix potential infinite loop in enable_ecrc Fix another potential for an infinite loop while looking for the root port in myri10ge_enable_ecrc(). Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit 99f5f87eb689c5766fa2c101fe75310a7f9ba3cd Author: Brice Goglin Date: Fri May 9 02:19:08 2008 +0200 myri10ge: trivial formatting fix Add some blank lines to uniformize the code and match the upstream code. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit bd2db0cf2411ebc081d45bde1b7c6cf726b832f2 Author: Brice Goglin Date: Fri May 9 02:18:45 2008 +0200 myri10ge: add barrier in myri10ge_send_cmd Add a barrier() in the usleep() loop in myri10ge_send_cmd(). Without the barrier, some mips machine never notices that the firmware has DMA'ed the response. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit c0bf8801535d45df3597839edf864e24f60a4188 Author: Brice Goglin Date: Fri May 9 02:18:24 2008 +0200 myri10ge: report FIBER in ethtool for XFP based NIC Make ethtool report FIBER for XFP based NIC's port type. Don't bother to poke around and try to find out what is in the XFP cage, since Linux does not have separate media types for -SR -LR, etc. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit f8fd57c11159d89d0d9cd624eafad41c680e8f6e Author: Brice Goglin Date: Fri May 9 02:17:37 2008 +0200 myri10ge: properly align scratch buffers Properly align scratch buffers when making boot commands. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit d93ca2a453f8e5734359267866ab4f3341aa8749 Author: Brice Goglin Date: Fri May 9 02:17:16 2008 +0200 myri10ge: increase and fix handoff timeout Increase the handoff timeout to 512ms so as to give the aeluros based NICs sufficient time to handoff without relying on the msleep() being sloppy, and accidentally sleeping way longer than the 20ms we specified in 20 separate 1ms sleeps. Fix typo in the handoff sleep delay, which made it additive, not exponential. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit d1ce3a0f1a07b48e16ebbc71886086779b52f630 Author: Brice Goglin Date: Fri May 9 02:16:53 2008 +0200 myri10ge: fix module parameter descriptions Remove useless linebreaks at the end of MODULE_PARM_DESC and fix the description of myri10ge_lro_max_pkts. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit 0f7229dde3f2b5373e26e7d7dd35012bd975e452 Author: Brice Goglin Date: Fri May 9 02:16:19 2008 +0200 myri10ge: update firmware headers Update myri10ge firmware headers. Signed-off-by: Brice Goglin Signed-off-by: Andrew Gallatin Signed-off-by: Jeff Garzik commit e8f720fdec08daa669f46c8d76da0714f6872ccc Author: Jay Cliburn Date: Fri May 9 22:12:09 2008 -0500 atl1: bump version number atl1-2.1.3. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit bf455a2247c6abe7d0debfbf2974514b5144ed4d Author: Jay Cliburn Date: Fri May 9 22:12:08 2008 -0500 atl1: add shutdown callback Add a shutdown callback that points to atl1_suspend(). This, along with a working suspend function, fixes wake-on-lan. Tested-by: Per Olofsson Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 08e0f1dc8388b3e134c714672c59edc2a7059430 Author: Jay Cliburn Date: Fri May 9 22:12:07 2008 -0500 atl1: fix broken suspend and resume Fix atl1_suspend() and atl1_resume() so they actually work. We'll use the suspend function for wake-on-lan in addition to just suspending. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit ff772b27e5f65c1a186e9f0741f0d00ef7002799 Author: Jay Cliburn Date: Fri May 9 22:12:06 2008 -0500 atl1: add PHY power save mode Using vendor-provided magic, add code to enter power save mode on the PHY. We'll need this for suspend and wake-on-lan. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 608961a5eca8d3c6bd07172febc27b5559408c5d Author: David S. Miller Date: Mon May 12 21:59:32 2008 -0700 mac80211: Use skb_header_cloned() on TX path. When skb_header_cloned() returns false you can change the headers however you like. Signed-off-by: David S. Miller commit 582d21e5e319d38c0485d8b9e92f6f2341f7c79b Author: Steve French Date: Tue May 13 04:54:12 2008 +0000 [CIFS] cleanup old checkpatch warnings Signed-off-by: Steve French commit 9cd9c616f5890c9345546e03c99ba392b7a82cdf Author: Mike Frysinger Date: Tue May 13 12:31:32 2008 +0800 [Blackfin] arch: rename bf5xx-flash to bfin-async-flash - move all kconfig board settings into board resources - fixup casting style according to lkml feedback - rewrite driver so that it can handle arbitrary of instances according to the declared platform resources Signed-off-by: Mike Frysinger Cc: Joern Engel Signed-off-by: Bryan Wu commit ed5f037005d728de19a0f63678ac35b42064966d Author: Marcin Slusarz Date: Tue May 13 04:01:01 2008 +0000 [CIFS] CIFSSMBPosixLock should return -EINVAL on error all other codepaths in this function return negative values on errors Signed-off-by: Marcin Slusarz Signed-off-by: Steve French commit f3994eceebf64cf356a82ffb2718ef538eb8d4f4 Author: Johannes Berg Date: Mon May 12 20:51:44 2008 -0700 mac80211: assign needed_headroom/tailroom for netdevs This assigns the netdev's needed_headroom/tailroom members to take advantage of pre-allocated space for 802.11 headers. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5 Author: Johannes Berg Date: Mon May 12 20:48:31 2008 -0700 net: Allow netdevices to specify needed head/tailroom This patch adds needed_headroom/needed_tailroom members to struct net_device and updates many places that allocate sbks to use them. Not all of them can be converted though, and I'm sure I missed some (I mostly grepped for LL_RESERVED_SPACE) Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 8388e3da34edb141362bb42811ee487dfec15525 Author: David S. Miller Date: Mon May 12 20:17:33 2008 -0700 net: Set LL_MAX_HEADER properly for wireless. Wireless networking, particularly with MESH enabled, has quite strong requirements for link-layer header space. Based upon some numbers and descriptions from Johannes Berg we use 96 (same as AX25) for plain wireless, and with mesh enabled we use 128. In the process, simplify the cpp conditional logic here by ordering the cases by those needing the most space down to those needing the least case. Signed-off-by: David S. Miller commit 6353450a2deefaa79cdb4fd2b72830c7db610256 Author: Jeff Layton Date: Mon May 12 19:56:05 2008 -0700 fix memory leak in CIFSFindNext When CIFSFindNext gets back an -EBADF from a call, it sets the return code of the function to 0 and eventually exits. Doing this makes the cleanup at the end of the function skip freeing the SMB buffer, so we need to make sure we free the buffer explicitly when doing this. If we don't you end up with errors like this when unplugging the cifs kernel module: slab error in kmem_cache_destroy(): cache `cifs_request': Can't free all objects [] kmem_cache_destroy+0x61/0xf3 [] cifs_destroy_request_bufs+0x14/0x28 [cifs] [] exit_cifs+0x1e/0x80 [cifs] [] sys_delete_module+0x192/0x1b8 [] audit_syscall_entry+0x14b/0x17d [] syscall_call+0x7/0xb ======================= Signed-off-by: Jeff Layton commit f403ede70518c131ba8bebbacaf182927a58a315 Merge: 5dc474d... a4278e1... Author: David S. Miller Date: Mon May 12 19:36:33 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a4278e18e7e497b76781492d010035c3c36f7403 Author: Pavel Roskin Date: Mon May 12 09:02:24 2008 -0400 mac80211: add missing newlines in printk() Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 6fc7431dc0775f21ad7a7a39c2ad0290291a56ea Author: Masakazu Mokuno Date: Mon May 12 13:50:28 2008 +0900 PS3: gelic: fix memory leak This fixes the bug that the I/O buffer is not freed at the driver removal. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 36d16ae73becc5978fe22866e9ab66b509211afe Author: Helmut Schaa Date: Thu May 8 13:34:07 2008 +0200 mac80211: fix association with some APs Some APs refuse association if the supported rates contained in the association request do not match its own supported rates. This patch introduces a new function which builds the intersection between the AP's supported rates and the client's supported rates to work around such problems. The same approach is already used in ipw2200 for example. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c0186078b78839a8bdb385fa07a816c2f348a49d Author: Emmanuel Grumbach Date: Thu May 8 11:34:05 2008 +0800 iwlwifi: Fix frequency in rx_status fill This patch fixes a bug in RX path, the frequency was wrongly set in the ieee80211_rx_status. This bug led to an empty scan list in A band. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit dbabad0c9c026dea3ba803cbd9d768cdffc68e32 Author: Johannes Berg Date: Thu May 8 01:43:59 2008 +0200 zd1211rw: fix potential use-after-free bug zd_mac_tx_to_dev() could potentially free the skb, or hand it off to mac80211 which might free it. Hence, this code needs to get the usb pointer out of skb->cb before handing it off to that function. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6d6936e2ea82ebcbdd12d489b7b5ccf430de52f1 Author: Pavel Emelyanov Date: Tue May 6 18:51:31 2008 +0400 Fix potential scheduling while atomic in mesh_path_add. Calling synchronize_rcu() under write-lock-ed pathtbl_resize_lock may result in this warning (and other side effects). It looks safe just dropping this lock before calling synchronize_rcu. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 0eb03d5a14377eecf6ed0ebf3cc2c9f48c12c7c6 Author: Pavel Emelyanov Date: Tue May 6 18:49:02 2008 +0400 Fix not checked kmalloc() result. The new_node kmallocation is not checked for success, so add this check. BTW, it also happens under the read_lock. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit f84e71a94cb5f88d86ab50c251e09379925b80b9 Author: Pavel Emelyanov Date: Tue May 6 18:46:36 2008 +0400 Fix GFP_KERNEL allocation under read lock. The mesh_path_add() read-locks the pathtbl_resize_lock and calls kmalloc with GFP_KERNEL mask. Fix it and move the endadd2 label lower. It should be _before_ the if() beyond, but it makes no sense for it being there, so I move it right after this if(). Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit 812714d741750038004da505074c9158e9dee270 Author: Patrick McHardy Date: Tue May 6 12:52:07 2008 +0200 mac80211: mesh hwmp: fix kfree(skb) Signed-off-by: Patrick McHardy Signed-off-by: John W. Linville commit 69687a0b9934942e61bf8148c242adea87183a5b Author: Luis Carlos Cobo Date: Mon May 5 12:29:42 2008 -0700 mac80211: fix access to null skb Without this patch, if xmit_skb is null but net_ratelimit() returns 0 we would go to the else branch and access the null xmit_skb. Pointed out by Johannes Berg. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit ef269254772a0d2253c85cafe160e3f6528eb292 Author: Luis Carlos Cobo Date: Mon May 5 12:02:35 2008 -0700 mac80211: fix incorrect mesh header length This should have been updated at the same time we were transitioning from 3 byte to 4 byte mesh sequence number. Pointed out by Johannes Berg. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit df44205455773852a6af10a7c6ed768fe8a86b31 Author: Ivo van Doorn Date: Mon May 5 20:40:35 2008 +0200 mac80211: Don't encrypt beacons mac80211 should set the IEEE80211_TX_CTL_DO_NOT_ENCRYPT flag in tx_control structure to inform drivers not to encrypt the beacon. Drivers that only check for that flag before accessing the hw_key field, will otherwise cause a NULL pointer dereference since that field is not configured for beacons. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b30cdfc517b06f5d3f7a5e90626931140b2caece Author: Ivo van Doorn Date: Mon May 5 17:24:03 2008 +0200 rt2x00: Clean up error handling of PCI queue DMA allocation. When, for some reason, the rt2x00pci module fails to allocate DMA memory for the queues, it tries to undo the complete initialization of the PCI device, including freeing of the irq. This results in the following error in dmesg, as the irq hadn't been requested yet: [ 78.123456] Trying to free already-free IRQ 17 Fix this by implementing proper error handling code, instead of just using the full uninitialization function. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ed499983b88d138848ec9e4d104fd86a5ef0c183 Author: Ivo van Doorn Date: Mon May 5 17:23:47 2008 +0200 rt2x00: Fix broken recover-on-error path During initialization the initialize() callback function in rt2x00pci and rt2x00usb will cleanup the mess they made. rt2x00lib shouldn't call uninitialize because the callback function already cleaned up _and_ the DEVICE_INITIALIZED isn't set which causes the rt2x00lib_uninitialize() to halt directly anyway. All that is required to be cleaned up by rt2x00lib is the queue, and that can be done by calling rt2x00queue_uninitialize() directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 78720897459a0ed3843c80e9bd9ef1b2f7ae5c8f Author: Ivo van Doorn Date: Mon May 5 17:23:31 2008 +0200 rt2x00: Don't use pskb_expand_head() rt2x00pci allocates DMA for descriptor and data, rt61pci doesn't use this for the beacon, but it can use the descriptor part as temporary buffer instead of using pskb_expand_head(). Using this temporary buffer is obviously much better then reallocating the skb buffer... At the same time we can set the data length for the beacon queue at 0, to make sure no DMA is allocated for data (but just for the descriptor). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6243065d308ab566aa318a8adef853bc0418896d Author: Zhu Yi Date: Mon May 5 10:22:46 2008 +0800 iwlwifi: fix compile error when CONFIG_MAC80211_DEBUGFS is not selected Make iwl4965_lq_sta->drv available even without CONFIG_MAC80211_DEBUGFS. Signed-off-by: Yi Zhu Signed-off-by: John W. Linville commit 78520cad4b222d81fa18f2dcfa52394d8d1722b0 Author: Johannes Berg Date: Sat May 3 01:04:47 2008 +0200 mac80211: fix debugfs default key oops Under certain circumstances (in AP mode) the debugfs function that is supposed to add the default key symlink can encounter a NULL default_key pointer. This patch makes it handle that situtation gracefully. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d5251aea1539ec89dd567e75169c568b5243b6fa Author: John W. Linville Date: Fri May 2 09:56:34 2008 -0400 wavelan: avoid index past end of array if DEBUG_SHOW_UNUSED is defined Reported by Daniel Marjamäki here: http://bugzilla.kernel.org/show_bug.cgi?id=10588 Signed-off-by: John W. Linville commit bb55bdd512905f35f9d7dfe65d1f16014e1f9b2f Author: Steven Rostedt Date: Thu May 1 15:58:17 2008 -0700 fix irq flags in mac80211 code A file in the net/mac80211 directory uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 85b442e378ac3413e269a70a0031727ef121bd2a Author: Luis R. Rodriguez Date: Tue Apr 22 14:03:32 2008 -0400 prism54: fix regression with missing carrier in AP-mode This fixes a regression introduced by commit 7b463ced6 (prism54: set carrier flags correctly) which causes the device to come up without a carrier in AP-mode. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit faa6cfde747ba6d37a0889cbe85881c80806d355 Author: David S. Miller Date: Mon May 12 17:21:55 2008 -0700 lmb: Make lmb debugging more useful. Having to muck with the build and set DEBUG just to get lmb_dump_all() to print things isn't very useful. So use pr_info() and use an early boot param "lmb=debug" so we can simply ask users to reboot with this option when we need some debugging from them. Signed-off-by: David S. Miller commit 4978db5bd964d90265f957f980ab2b0771ca2b9f Author: David S. Miller Date: Mon May 12 16:51:15 2008 -0700 lmb: Fix inconsistent alignment of size argument. When allocating, if we will align up the size when making the reservation, we should also align the size for the check that the space is actually available. The simplest thing is to just aling the size up from the beginning, then we can use plain 'size' throughout. Signed-off-by: David S. Miller commit 94d149c34cda933ff5096aca94bb23bf68602f4e Author: David S. Miller Date: Mon May 12 16:33:33 2008 -0700 sparc: Fix mremap address range validation. Just like mmap, we need to validate address ranges regardless of MAP_FIXED. sparc{,64}_mmap_check()'s flag argument is unused, remove. Based upon a report and preliminary patch by Jan Lieskovsky Signed-off-by: David S. Miller commit 5dc474d6b3ba19df7d491d4eabd9fb7a0c1c2423 Author: Julia Lawall Date: Mon May 12 15:43:46 2008 -0700 pppol2tp: Remove null pointer dereference. If session is NULL, it is not possible to access its name field. So I have split apart the printing of the error message to drop the printing of the name field in this case. The macro PRINTK actually only evaluates its arguments starting with the third one if the bitwise conjunction of the first two is non-zero. Normally, this conjunction would only be non-zero if debugging mode were turned on, but when session is NULL, the first argument in both the old and new code is -1, and thus the bitwise conjunction is true. Perhaps a different strategy is desired, such as using tunnel->debug, which session->debug is initialized to, but tunnel can also be NULL, so this does not completely solve the problem. This problem was found using the following semantic match (http://www.emn.fr/x-info/coccinelle/) // @@ expression E, E1; identifier f; statement S1,S2,S3; @@ * if (E == NULL) { ... when != if (E == NULL) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d0a9c078db4769f7305ff9774558776d12bfb25b Author: Jeff Layton Date: Mon May 12 22:23:49 2008 +0000 [CIFS] CIFS currently allows for permissions to be changed on files, even when unix extensions and cifsacl support are disabled. These permissions changes are "ephemeral" however. They are lost whenever a share is mounted and unmounted, or when memory pressure forces the inode out of the cache. Because of this, we'd like to introduce a behavior change to make CIFS behave more like local DOS/Windows filesystems. When unix extensions and cifsacl support aren't enabled, then don't silently ignore changes to permission bits that can't be reflected on the server. Still, there may be people relying on the current behavior for certain applications. This patch adds a new "dynperm" (and a corresponding "nodynperm") mount option that will be intended to make the client fall back to legacy behavior when setting these modes. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c714a534d85576af21b06be605ca55cb2fb887ee Author: Linus Torvalds Date: Mon May 12 13:34:13 2008 -0700 Make 'cond_resched()' nullification depend on PREEMPT_BKL Because it's not correct with a non-preemptable BKL and just causes PREEMPT kernels to have longer latencies than non-PREEMPT ones (which is obviously not the point of it at all). Of course, that config option actually got removed as an option earlier, so for now this basically disables it entirely, but if BKL preemption is ever resurrected it will be a meaningful optimization. And in the meantime, it at least documents the intent of the code, while not doing the wrong thing. Signed-off-by: Linus Torvalds commit 542dafadd81eb5826280f7714592930144ae3e1f Merge: 9404ef0... e691b9d... Author: Linus Torvalds Date: Mon May 12 13:29:15 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] don't allow demultiplex thread to exit until kthread_stop is called [CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir [CIFS] add local struct inode pointer to cifs_setattr [CIFS] cifs_find_tcp_session cleanup commit 5aaca7a7a5db157530d195c4b93c8fc4682f8a48 Merge: 8c6b0ef... 9404ef0... Author: Ingo Molnar Date: Mon May 12 22:29:14 2008 +0200 Merge branch 'linus' into x86/urgent commit 8c6b0ef2ea1bb42cd72d987389297f66cd25790b Author: Cyrill Gorcunov Date: Sun May 11 22:46:38 2008 +0400 x86: wakeup.lds.S - section ordering fix To allow linker to catch sections overlapping we have to declare them in appropriate order. Signed-off-by: Cyrill Gorcunov Cc: Sam Ravnborg Acked-by: Pavel Machek Signed-off-by: Thomas Gleixner commit f8955ebe3ea85a9d3ff2685ee64386fd34434cf3 Author: James Bottomley Date: Sat May 10 09:01:48 2008 -0500 x86: [VOYAGER] fix duplicate phys_cpu_present_map symbol The phys_cpu_present_map is an expected symbol in the SMP harness. Unfortunately, x86 recently moved this and a few others to kernel/setup.c where it doesn't quite work because voyager has to define its own. Use CONFIG_X86_LOCAL_APIC to isolate these definitions and fix up another area in setup.c where CONFIG_X86_SMP should be used instead of CONFIG_SMP. Signed-off-by: James Bottomley Cc: WANG Cong Cc: toralf.foerster@gmx.de Cc: Mike Travis Cc: Alexey Starikovskiy Signed-off-by: Thomas Gleixner commit 8965eb19386fdf5ccd0ef8b02593eb8560aa3416 Author: Takashi Iwai Date: Mon May 12 15:43:30 2008 +0200 x86/pci: fix broken ISA DMA Rene Herman reported: > commit 8779f2fc3b84ebb6c5181fb13d702e9944c16069 > > "x86: don't try to allocate from DMA zone at first" > > breaks all of ISA DMA. Or all of ALSA ISA DMA at least. All > ISA soundcards are silent following that commit -- no error > messages, everything appears fine, just silence. That patch is buggy. We had an implicit assumption that dev = NULL for ISA devices that require 24bit DMA. The recent work on x86 dma_alloc_coherent() breaks the ISA DMA buffer allocation, which is represented by "dev = NULL" and requires 24bit DMA implicitly. Bisected-by: Rene Herman Signed-off-by: Takashi Iwai Tested-by: Rene Herman Signed-off-by: Ingo Molnar commit 9404ef02974a5411687b6c1b8ef3984305620e02 Author: Linus Torvalds Date: Mon May 12 10:14:22 2008 -0700 Fix up 'need_resched()' definition We should not go through the task pointer to get at the thread info, since it's usually cheaper to just access the thread info directly. So don't make the code look up 'current', when we can just use the thread info accessor functions directly. This generally avoids one level of indirection and tends to work better together with code that also looks at other thread flags (eg preempt_count). Signed-off-by: Linus Torvalds commit 2b753a1599a28612851a2908abdbf86802c989c5 Merge: 8d97b84... 2ccdcfe... Author: Linus Torvalds Date: Mon May 12 09:07:56 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes * git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes: types: s390: fix #ifdef reversal in commit 8d97b84935b28ed8944d1be31859a3df7ebe93ae Merge: 9f1a073... cb0e8b0... Author: Linus Torvalds Date: Mon May 12 09:03:42 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (28 commits) [MIPS] Pb1000: bury the remnants of the PCI code [MIPS] Fix build failure in mips oprofile code [MIPS] fix warning message on SMP kernels [MIPS] markeins: build fix [MIPS] ELF handling - use SELFMAG instead of numeric constant [MIPS] Get rid of __ilog2 [MIPS] Fix __fls for non-MIPS32/MIPS64 cpus [MIPS] XXS1500 code style cleanup [MIPS] MTX-1 code style cleanup [MIPS] Pb1200/DBAu1200 code style cleanup [MIPS] Pb1550 code style cleanup [MIPS] Pb1500 code style cleanup [MIPS] Pb1100 code style cleanup [MIPS] Pb1000 code style cleanup [MIPS] DBAu1xx0 code style cleanup [MIPS] Alchemy PCI code style cleanup [MIPS] Alchemy common code style cleanup [MIPS] Alchemy common headers style cleanup [MIPS] Add empty argument parenthesis to GCC_IMM_ASM [MIPS] msp_hwbutton.c: minor irq handler cleanups ... commit 2ccdcfeeca6a1888180ffc4a1ab097f1fb2bd029 Author: H. Peter Anvin Date: Fri May 9 09:46:38 2008 -0700 types: s390: fix #ifdef reversal in The #ifdef for the integer types was reversed; the standard pattern in these files are: #ifndef __s390x__ /* 32-bit code */ #else /* 64-bit code */ #endif Stick with the original pattern, but make sure the 32-bit code actually comes first! Reported by Al Viro. Signed-off-by: H. Peter Anvin Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Al Viro commit cb0e8b0fba53e1aa6c4786bc465cfc641e8a77e7 Author: Sergei Shtylyov Date: Tue Apr 29 23:33:47 2008 +0400 [MIPS] Pb1000: bury the remnants of the PCI code Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 005ca9a3f1238ffebd9c4d09d581f708277d2985 Author: Thiemo Seufer Date: Tue May 6 11:23:33 2008 +0100 [MIPS] Fix build failure in mips oprofile code This patch fixes a warning-as-error induced build failure of 64bit MIPS kernels. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit 83738e307365aa2de4a1be65ed574aaebce52ea0 Author: Thiemo Seufer Date: Tue May 6 11:21:22 2008 +0100 [MIPS] fix warning message on SMP kernels This patch fixes a (harmless) warning message. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit b01273f120a390363ceb27bd0ccc60ddf1fb936d Author: Adrian Bunk Date: Sun May 4 19:58:54 2008 +0300 [MIPS] markeins: build fix This patch fixes the following build errror caused by commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 (ntp: handle leap second via timer): <-- snip --> ... CC arch/mips/emma2rh/markeins/setup.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/mips/emma2rh/markeins/setup.c:79: error: conflicting types for 'clock' /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/clocksource.h:96: error: previous declaration of 'clock' was here make[2]: *** [arch/mips/emma2rh/markeins/setup.o] Error 1 <-- snip --> [Ralf: reformated to 80 colums after the fix and marked emma2rh_clock as __initdata] Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit d303f4a1a09b18e9689aa896bbc23879130b1da8 Author: Cyrill Gorcunov Date: Sun May 4 17:50:02 2008 +0100 [MIPS] ELF handling - use SELFMAG instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Ralf Baechle commit ddc0d009947bf8645fa3543f4532063a787202da Author: Ralf Baechle Date: Sun May 4 14:53:53 2008 +0100 [MIPS] Get rid of __ilog2 56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab was a bit too conservative and left __ilog2 around which is only used as an internal function for other bitops. Signed-off-by: Ralf Baechle commit fcd84f2fca49166dab2dba259eca6e633585763f Author: Thomas Bogendoerfer Date: Sun May 4 00:25:02 2008 +0200 [MIPS] Fix __fls for non-MIPS32/MIPS64 cpus Only MIPS32 and MIPS64 CPUs implement clz/dclz. Therefore don't export __ilog2() for non MIPS32/MIPS64 cpus and use generic __fls bitop code for these cpus. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 7ff83f21d23d17b63bbb984fee5d12aa5a8066b3 Author: Sergei Shtylyov Date: Wed Apr 30 23:31:03 2008 +0400 [MIPS] XXS1500 code style cleanup Fix several errors and warnings given by checkpatch.pl: - use of C99 // comments; - using simple_strtol() where strict_strtol() could be used. In addition to these changes, also do the following: - remove needless parentheses; - remove unneeded numeric literal type cast; - insert spaces between operator and its operands; - remove excess new lines; - remove space after the type cast's closing parenthesis; - insert missing space before closing brace in the structure initializer; - fix typos, capitalize acronyms, etc. in the comments; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 1ff1a78cbb6fb6ceafac1b2cbdd72c939a7c9bae Author: Sergei Shtylyov Date: Wed Apr 30 23:30:12 2008 +0400 [MIPS] MTX-1 code style cleanup Fix many errors and warnings given by checkpatch.pl: - space after opening and before closing parentheses; - use of C99 // comments; - leading spaces instead of tabs; - brace not on the same line with 'else' in the 'if' statement; statement; - printk() without KERN_* facility level; - using simple_strtol() where strict_strtol() could be used. - including instead of . In addition to these changes, also do the following: - insert spaces between operator and its operands; - replace tab between the function type and name with space in mtx1_pci_idsel() declaration; - remove space after the type cast's closing parenthesis; - insert missing space before closing brace in the array/structure initializers; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit c3d1d5c8c10c937c65186f6dac75e2fb4675ef07 Author: Sergei Shtylyov Date: Wed Apr 30 23:29:04 2008 +0400 [MIPS] Pb1200/DBAu1200 code style cleanup Fix several errors and warnings given by checkpatch.pl: - use of C99 // comments; - initialization of a 'static' variable to 0; - space after opening and before closing parentheses; - missing space between 'for' and opening parenthesis; - macros with complex values not enclosed in parentheses; - printk() without KERN_* facility level; - unnecessary braces for single-statement block; - using simple_strtol() where strict_strtol() could be used; - line over 80 characters. In addition to these changes, also do the following: - mention DBAu1200 board in the Makefile; - replace the group of #include/#ifdef directives by a single #include since this header contains the needed stuff; - properly indent the blocks; - insert spaces between operator and its operands, remove excess spaces there; - remove needless parentheses and add some for clarity; - replace numeric literals/expressions with the matching macros; - remove space after the type cast's closing parenthesis; - reduce pb1200_setup_cascade() to the single 'return' statement; - reduce the number of printed empty lines in the so-called CPLD workaround; - remove #undef AU1X00_EXTERNAL_INT since that macro is not defined anywhere; - replace spaces after the macro name with tabs in the #define directives; - remove excess tabs after the macro name in the #define directives; - fix typo in the BCSR_RESETS_PWMR1mUX macro's name; - group all Pb1200 PCMCIA definitions together; - put the function's result type and name/parameters on the same line; - insert missing and remove excess new lines; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line and/or adding space/asterisk on their left side; - fix typos/errors, capitalize acronyms, etc. in the comments; - combine some comments; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 6afabe6c9335c0534224b53c3db4b091621af2dd Author: Sergei Shtylyov Date: Wed Apr 30 23:28:17 2008 +0400 [MIPS] Pb1550 code style cleanup Fix a few errors and warnings given by checkpatch.pl: - macros with complex values not enclosed in parentheses; - printk() without KERN_* facility level; - unnecessary braces for single-statement block; - using simple_strtol() where strict_strtol() could be used. In addition to these changes, also do the following: - replace numeric literals with the matching macros; - properly indent the code and the array initializers; - insert spaces between operator and its operands, also remove excess spaces there; - remove space after the type cast's closing parenthesis; - insert missing space before closing brace in the array initializers; - replace spaces after the macro name with tabs in the #define directives, also sometimes insert space there for better looks; - remove excess tabs after the macro name in the #define directives; - fix typos/errors, capitalize acronyms, etc. in the comments; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 2091a17ff7f32432976d1eacbb79a06819d95301 Author: Sergei Shtylyov Date: Wed Apr 30 23:27:20 2008 +0400 [MIPS] Pb1500 code style cleanup Fix several errors and warnings given by checkpatch.pl: - use of C99 // comments; - printk() without KERN_* facility level; - unnecessary braces for single-statement block; - using simple_strtol() where strict_strtol() could be used. In addition to these changes, also do the following: - replace numeric literals/expressions with the matching macros; - insert spaces between operator and its operands; - properly indent the code and the array initializers; - remove useless #if dirctive from board_setup(); - remove needless parentheses; - remove unneeded type casts; - remove excess new lines; - make hexadecimal literals all lower case; - remove space after the type cast's closing parenthesis; - insert missing space before closing brace in the array initializers; - replace spaces after the macro name with tabs in the #define directives, also sometimes insert space there for better looks; - fix typos/errors, capitalize acronyms, etc. in the comments; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit be1c3c1ed13f31ae8f9d5d043d96d2e56b5ee1d5 Author: Sergei Shtylyov Date: Wed Apr 30 23:26:28 2008 +0400 [MIPS] Pb1100 code style cleanup Fix several errors and warnings given by checkpatch.pl: - space between asterisk and variable name; - use of C99 // comments; - using simple_strtol() where strict_strtol() could be used. In addition to these changes, also do the following: - properly indent the code; - remove space after the type cast's closing parenthesis; - replace numeric literals/expressions with the matching macros; - replace spaces after the macro name with tabs in the #define directives, and sometimes insert spaces there; - fix typos/errors, capitalize acronyms, etc. in the comments; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 7916c3548e53bffb0545a1d0dc7fde86d79add92 Author: Sergei Shtylyov Date: Wed Apr 30 23:25:55 2008 +0400 [MIPS] Pb1000 code style cleanup Fix several errors and warnings given by checkpatch.pl: - use of C99 // comments; - brace not on the same line with condition in the 'switch' statement; - printk() without KERN_* facility level; - unnecessary braces for single-statement block; - using simple_strtol() where strict_strtol() could be used. In addition to these changes, also do the following: - properly indent the 'switch' statement; - remove needless parentheses; - insert spaces between operator and its operands; - replace numeric literals/expressions with the matching macros; - remove useless #if dirctive from board_setup(); - remove unneeded numeric literal type casts; - remove space after the type cast's closing parenthesis; - replace spaces after the macro name with tabs in the #define directives, and sometimes insert spaces there; - remove excess new lines; - fix typos/errors, capitalize acronyms, etc. in the comments; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first/last line; - combine some comments; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit abd14cc00d940b8b5b4fc92be23f656b57c6ecfe Author: Sergei Shtylyov Date: Wed Apr 30 23:25:04 2008 +0400 [MIPS] DBAu1xx0 code style cleanup Fix several errors and warnings given by checkpatch.pl: - macros with complex values not enclosed in parentheses; - leading spaces instead of tabs; - printk() without KERN_* facility level; - using simple_strtol() where strict_strtol() could be used; - line over 80 characters. In addition to these changes, also do the following: - initialize variable instead of assigning value later where it makes sense; - insert spaces between operator and its operands, also remove excess spaces there; - remove unneeded numeric literal type casts; - remove needless parentheses; - remove space after the type cast's closing parenthesis; - insert missing space before closing brace in the array initializers; - replace spaces after the macro name with tabs in the #define directives; - remove excess tabs after the macro name in the #define directives; - fix typos/errors, capitalize acronyms, etc. in the comments; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first/last line; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit a9633279cf13de15b7002b71a507baf89d0619ca Author: Sergei Shtylyov Date: Wed Apr 30 23:23:27 2008 +0400 [MIPS] Alchemy PCI code style cleanup Fix 15 errors and 4 warnings given by checkpatch.pl: - space between the asterisk and variable name; - space after opening and before closing parentheses; - leading spaces instead of tabs; - printk() without KERN_* facility level; - unnecessary braces for single-statement block; - line over 80 characters. In addition to these changes, also do the following: - combine the nested 'if' statements into one when possible; - remove needless parentheses; - add missing and remove excess spaces between operator and its operands; - fix printk() format specifiers mismatching the argument types; - put the function's result type and name/parameters on the same line; - insert missing and remove excess new lines; - properly indent multi-line expressions; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line; - fix typos, capitalize acronyms, etc. in the comments; - update MontaVista copyright; - remove Pete Popov's old email address... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit c1dcb14ec2ae3c594ce1c2db953004083f2bd4a0 Author: Sergei Shtylyov Date: Wed Apr 30 23:18:41 2008 +0400 [MIPS] Alchemy common code style cleanup Fix many errors and warnings given by checkpatch.pl: - use of C99 // comments; - missing space between the type and asterisk in a variable declaration; - space between the asterisk and function/variable name; - leading spaces instead of tabs; - space after opening and before closing parentheses; - initialization of a 'static' variable to 0; - missing spaces around assignement/comparison operator; - brace not on the same line with condition (or 'else') in the 'if'/'switch' statement; - missing space between 'if'/'for'/'while' and opening parenthesis; - use of assignement in 'if' statement's condition; - printk() without KERN_* facility level; - EXPORT_SYMBOL() not following its function immediately; - unnecessary braces for single-statement block; - adding new 'typedef' (where including will do); - use of 'extern' in the .c file (where it can be avoided by including header); - line over 80 characters. In addition to these changes, also do the following: - insert missing space after opening brace and/or before closing brace in the structure initializers; - insert spaces between operator and its operands; - put the function's result type and name/parameters on the same line; - properly indent multi-line expressions; - remove commented out code; - remove useless initializers and code; - remove needless parentheses; - fix broken/excess indentation; - add missing spaces between operator and its operands; - insert missing and remove excess new lines; - group 'else' and 'if' together where possible; - make au1xxx_platform_init() 'static'; - regroup variable declarations in pm_do_freq() for prettier look; - replace numeric literals with the matching macros; - fix printk() format specifiers mismatching the argument types; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line and/or adding space on their left side; - make two-line comments that only have one line of text one-line; - fix typos/errors, capitalize acronyms, etc. in the comments; - fix/remove obsolete references in the comments; - reformat some comments; - add comment about the CPU:counter clock ratio to calc_clock(); - update MontaVista copyright; - remove Pete Popov's and Steve Longerbeam's old email addresses... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit ff6814d53016081947ff4021e00db3f806a561c9 Author: Sergei Shtylyov Date: Wed Apr 30 23:18:35 2008 +0400 [MIPS] Alchemy common headers style cleanup Fix several errors and warnings given by checkpatch.pl: - space after opening and before closing parentheses; - opening brace following 'struct' not on the same line; - leading spaces instead of tabs; - use of C99 // comments; - macros with complex values not enclosed in parentheses; - missing space between the type and asterisk in a variable declaration; - space between asterisk and function name; - including instead of and instead of ; - use of '__inline__' instead of 'inline'; - space between function name and opening parenthesis; - line over 80 characters. In addition to these changes, also do the following: - remove needless parentheses; - insert spaces between operator and its operands; - replace spaces after the macro name with tabs in the #define directives and after the type in the structure field declarations; - remove excess tabs after the macro name in the #define directives and in the 'extern' variable declarations; - remove excess spaces between # and define for the SSI_*_MASK macros to align with other such macros; - put '||' operator on the same line with its first operand; - properly indent multi-line function prototypes; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line and/or adding space/asterisk on their left side; - make two-line comments that only have one line of text one-line; - convert the large multi-line comment in au1xxx_ide.h into several one-liners, replace spaces with tabs there; - fix typos/errors, capitalize acronyms, etc. in the comments; - insert missing and remove excess new lines; - update MontaVista copyright; - remove Pete Popov's and Steve Longerbeam's old email addresses... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit ad1d77a38575644b112340fd9115ac21dd533166 Author: Ralf Baechle Date: Thu May 1 15:28:53 2008 +0100 [MIPS] Add empty argument parenthesis to GCC_IMM_ASM This is to clarify that GCC_IMM_ASM does not take an argument as the context of the macro's invocation seems to imply. As suggested by Maciej W. Rozycki (macro@linux-mips.org). Signed-off-by: Ralf Baechle commit 1c9e919f48a49fda2ff2c607891cc17024e75122 Author: Jeff Garzik Date: Fri Apr 18 19:23:01 2008 -0400 [MIPS] msp_hwbutton.c: minor irq handler cleanups - remove always-true test - neaten request_irq() indentation This change's main purpose is to prepare for the patchset in jgarzik/misc-2.6.git#irq-remove, that explores removal of the never-used 'irq' argument in each interrupt handler. Signed-off-by: Jeff Garzik Signed-off-by: Ralf Baechle commit a64063046026729a69ad06c94453f4ddaa562d60 Author: Adrian Bunk Date: Mon Apr 21 11:51:37 2008 +0300 [MIPS] unexport __kmap_atomic_to_page This patch removes the no longer used export of __kmap_atomic_to_page. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit dc3bf3532bf7240cf117b8ecf3d16526810eba6a Author: Ralf Baechle Date: Fri Apr 18 10:56:07 2008 +0100 [MIPS] Initialize max_pfn again. This was dropped by commit a0d9e2d891e4cf54676c430da63bd4a17d1cdb80 (lmo) commit b6f1f0dea1469e0c956eb89399916d60dd2a3808 (ko) Author: Franck Bui-Huu Date: Fri Aug 11 17:51:48 2006 +0200 Signed-off-by: Ralf Baechle commit f4324f3eeb311d1889b8c25076f2669012323842 Author: Ralf Baechle Date: Wed Apr 16 19:55:26 2008 +0100 [MIPS] IRIX: Handle do_brk() error return correctly. do_brk's return value was stored in an unsigned long variable before being tested for less than zero making the test always fail. Also do_brk's called irix_map_prda_page wasn't forwarding do_brk() success. Bug checking the return value of do_brk() and initial fix for it found by Roel Kluin <12o3l@tiscali.nl>. Signed-off-by: Ralf Baechle commit 1928cc84a0a937ce7042d9235996ab380f36f18a Author: Kevin D. Kissell Date: Wed Apr 16 15:32:22 2008 +0200 [MIPS] MT: Functional fixes and a little reformatting of APRP support Signed-off-by: Kevin D. Kissell Signed-off-by: Ralf Baechle commit 9f2546adedda600687bba6ef3e1546a8ecbc16eb Author: Ralf Baechle Date: Thu Apr 17 13:42:50 2008 +0100 [MIPS] Don't use max_pfn which is no longer initialized these days. Still won't play nicely with esotheric configurations such as discontig memory ... Signed-off-by: Ralf Baechle commit d0e7ba063233105febd960e0716d5e9fd9159307 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 16 17:09:58 2008 +0200 [MIPS] ip27-timer: fix unsigned irq < 0 Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-By: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit b618336aac146df24ace641dff69dc46675886c9 Author: Kevin D. Kissell Date: Wed Apr 16 15:32:22 2008 +0200 [MIPS] Fixes necessary for non-SMP kernels and non-relocatable binaries Signed-off-by: Kevin D. Kissell Signed-off-by: Ralf Baechle commit 8e07c2c6af30dccfa573033d280980b2b5eb35fe Author: Sergei Shtylyov Date: Sat Apr 5 22:16:21 2008 +0400 [MIPS] Alchemy: SMBus resource fix The Alchemy platform code registers the SMBus device using the virtual address of its registers instead of the physical one -- fix this, taking into account that actually the whole megabyte is decoded by any of the programmable serial controllers (one of which is SMBus), and that all the Alchemy peripherals are directly mappable into KSEG1 kernel space and therefore ioremap() call would just boil down to CKSEG1ADDR() invocation. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 9f1a0735395ba2b2efa5012b5bf7f915299f1a79 Author: Fernando Luis Vázquez Cao Date: Mon May 12 19:35:31 2008 +0900 Fix c67x00-ll-hpi compilation failure (bug #10627) This patch fixes bug #10627 which caused the compilation error below. CC [M] drivers/usb/c67x00/c67x00-ll-hpi.o drivers/usb/c67x00/c67x00-ll-hpi.c: In function `ll_recv_msg': drivers/usb/c67x00/c67x00-ll-hpi.c:243: erreur: `HZ' undeclared (first use in this function) drivers/usb/c67x00/c67x00-ll-hpi.c:243: erreur: (Each undeclared identifier is reported only once drivers/usb/c67x00/c67x00-ll-hpi.c:243: erreur: for each function it appears in.) Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Linus Torvalds commit 3c29970c02829a91ab337abea2860973b291bd48 Merge: 59b1c82... 0d4b6b9... Author: Linus Torvalds Date: Mon May 12 07:29:08 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] ppc: More compile fixes [POWERPC] ppc: Don't run prom_init_check for arch/ppc builds [POWERPC] ppc: Include in kernel/ppc_ksyms.c [POWERPC] ppc: Use ebony_defconfig for defconfig [POWERPC] Fix default cputable entries for e200 and e500 families commit 59b1c82500bb5d658891bc8e8a2308b76d58a4de Merge: 454aa38... a94a172... Author: Linus Torvalds Date: Mon May 12 07:28:37 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Work around memory probing bug in openfirmware. sparc32: fix rtrap.S typo sparc32: Fix build. commit 454aa3899f0bebb5aa7f8788690668d106f9a34f Author: Alan Cox Date: Mon May 12 12:31:37 2008 +0100 cris: Fix compile failure due to typo in serial driver Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 79f999d0aa264f72f5491be14b4bf60137a3d3a9 Author: Alan Cox Date: Mon May 12 12:29:25 2008 +0100 strip: Fix termios assumption Strip assumes that the tty drivers always have a set_termios method which may not be true. Check this when binding to the tty so that we don't oops later. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 0d4b6b901c3d41beb0e1620316aee0aa234edf7f Author: Paul Mackerras Date: Mon May 12 22:57:51 2008 +1000 [POWERPC] ppc: More compile fixes This fixes a few more miscellaneous compile problems with ARCH=ppc. 1. Don't compile devres.c on ARCH=ppc, it doesn't have ioremap_flags. 2. Include in setup.c for the __DO_IRQ_CANON definition. 3. Include in residual.c for the definition of create_proc_read_entry. 4. Fix xchg_ptr to be a static inline to eliminate a compiler warning. Signed-off-by: Paul Mackerras commit 4951704b4e23d71b99ac933d8e6993bc6225ac13 Author: David S. Miller Date: Mon May 12 03:29:11 2008 -0700 syncppp: Fix crashes. The syncppp layer wants a mid-level netdev private pointer. It was using netdev->priv but that only worked by accident, and thus this scheme was broken when the device private allocation strategy changed. Add a proper mid-layer private pointer for uses like this, update syncppp and all users, and remove the HDLC_PPP broken tag from drivers/net/wan/Kconfig Signed-off-by: David S. Miller commit 6a8b23086c82d7cc4f424518532c8b10d95715c0 Author: Segher Boessenkool Date: Wed May 7 08:58:50 2008 +1000 [POWERPC] ppc: Don't run prom_init_check for arch/ppc builds arch/ppc doesn't have prom_init.o (anymore). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 9717e87fb19f21d1be2ac1dce8f65045547b7e1b Author: Segher Boessenkool Date: Wed May 7 08:58:49 2008 +1000 [POWERPC] ppc: Include in kernel/ppc_ksyms.c It needs it: arch/ppc/kernel/ppc_ksyms.c:152: error: '__flush_icache_range' undeclared here (not in a function) and a few more like that. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 426e53fcbab76b68524f8f07c2afd7a4340c627a Author: Segher Boessenkool Date: Wed May 7 08:58:48 2008 +1000 [POWERPC] ppc: Use ebony_defconfig for defconfig We used to use common_defconfig, but it was removed some time ago. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit c4492586a618d18e8a5343a04bad0ec606064846 Author: Wei Yongjun Date: Fri May 9 15:11:53 2008 -0700 sctp: Add address type check while process paramaters of ASCONF chunk If socket is create by AF_INET type, add IPv6 address to asoc will cause kernel panic while packet is transmitted on that transport. This patch add address type check before process paramaters of ASCONF chunk. If peer is not support this address type, return with error invald parameter. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6e40a915de82e00d18f75941e531b40c4e0d94c4 Author: Wei Yongjun Date: Fri May 9 15:11:17 2008 -0700 sctp: Do not enable peer IPv6 address support on PF_INET socket If socket is create by PF_INET type, it can not used IPv6 address to send/recv DATA, So we can not used IPv6 address even if peer tell us it support IPv6 address. This patch fix to only enabled peer IPv6 address support on PF_INET6 socket. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f9af857489cc19ee3acd0d5248dca7d243e353a5 Author: Matheos Worku Date: Mon May 12 03:10:59 2008 -0700 niu: Determine the # of ports from the card's VPD data Determine the number of physical ports from the card's VPD data. Previous fix failed on Maramba platform which doesn't have the "board-model" property. This fix uses the "model" property which exists on all cards and Neptune based motherboards. cstyle cleanup included. Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 00377d8e3842776d1da633ad9c79a16ecb548b92 Author: Jean Delvare Date: Fri May 9 17:59:51 2008 +0200 [GFS2] Prefer strlcpy() over snprintf() strlcpy is faster than snprintf when you don't use the returned value. Signed-off-by: Jean Delvare Signed-off-by: Steven Whitehouse commit ad99f77778e83358c371dab7a50bde69270ed6b8 Author: Andrew Price Date: Thu May 1 11:55:38 2008 +0100 [GFS2] Fix cast from unsigned int to s64 This fixes bz 444829 where allocating a new block caused gfs2 file systems to report 0 bytes used in df. It was caused by a broken cast from an unsigned int in gfs2_block_alloc() to a negative s64 in gfs2_statfs_change(). This patch casts the unsigned int to an s64 before the unary minus is applied. Signed-off-by: Andrew Price Signed-off-by: Steven Whitehouse commit 091806edd458486af13ad83c9802f5b8b54d6d19 Author: Bob Peterson Date: Tue Apr 29 12:35:48 2008 -0500 [GFS2] filesystem consistency error from do_strip This patch fixes a GFS2 filesystem consistency error reported from function do_strip. The problem was caused by a timing window that allowed two vfs inodes to be created in memory that point to the same file. The problem is fixed by making the vfs's iget_test, iget_set mechanism check and set a new bit in the in-core gfs2_inode structure while the vfs inode spin_lock is held. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 516c8be3a93ec2b0746ba0907f38c1d1e62f4992 Author: Paul Mackerras Date: Mon May 12 14:20:35 2008 +1000 [POWERPC] Fix default cputable entries for e200 and e500 families Commit 76bc080ef5a34aedb63e1691f28c6b42f3468e4e ("POWERPC] Make default cputable entries reflect selected CPU family") added default entries for the e200 and e500 families, but missed a closing brace on those entries, as pointed out by David Gibson. This adds the closing braces. Signed-off-by: Paul Mackerras commit a94a172d6c826232e623160ae134abbce181a41f Author: David S. Miller Date: Sun May 11 21:04:48 2008 -0700 sparc64: Work around memory probing bug in openfirmware. Read all of the OF memory and translation tables, then read the physical available memory list twice. When making these requests, OF can allocate more memory to do it's job, which can remove pages from the available memory list. So fetch in all of the tables at once, and fetch the available list last to make sure we read a stable value. Signed-off-by: David S. Miller commit 45b3947c2de5841d691f1d27d30419b9fae2d86c Author: Al Viro Date: Mon May 12 11:55:10 2008 +0800 [Blackfin] arch: Blackfin checksum annotations FSVOtest in this case, since I don't have the hardware... However, all changes seen by gcc are actually - explicit cast to unsigned short in return expression of functions returning unsigned short - csum_fold() return type changed from unsigned int to __sum16 (unsigned short), same as for all other architecture and as net/* expects; expression actually returned is ((~(sum << 16)) >> 16) with sum being unsigned 32bit, so it's (a) going to fit into the range of unsigned short and (b) had been unsigned all along, so no sign expansion mess happened. Tested-by: Bryan Wu Signed-off-by: Al Viro Signed-off-by: David Miller Signed-off-by: Bryan Wu commit 8bf3028ede10dfe22e1729ebad96f6eb77020712 Author: Robert Reif Date: Sun May 11 18:05:20 2008 -0700 sparc32: fix rtrap.S typo Fix compile problem in rtrap.S arch/sparc/kernel/built-in.o: In function `ret_trap_userwins_ok': arch/sparc/kernel/rtrap.S:(.text+0x1900): undefined reference to `PSR_SYCALL' Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 492c2e476eac010962850006c49df326919b284c Author: Linus Torvalds Date: Sun May 11 17:09:41 2008 -0700 Linux 2.6.26-rc2 commit 57014123512633ab0c38a4fea4140bf156f6a3a0 Merge: c3921ab... ae42908... Author: Linus Torvalds Date: Sun May 11 17:09:24 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Convert some more new-style drivers to use module aliasing i2c: Match dummy devices by type i2c-sibyte: Mark i2c_sibyte_add_bus() as static i2c-sibyte: Correct a comment about frequency i2c: Improve the functionality documentation i2c: Improve smbus-protocol documentation i2c-piix4: Blacklist two mainboards i2c-piix4: Increase the intitial delay for the ServerWorks CSB5 i2c-mpc: Compare to NO_IRQ instead of zero commit c3921ab71507b108d51a0f1ee960f80cd668a93d Author: Linus Torvalds Date: Sun May 11 16:04:48 2008 -0700 Add new 'cond_resched_bkl()' helper function It acts exactly like a regular 'cond_resched()', but will not get optimized away when CONFIG_PREEMPT is set. Normal kernel code is already preemptable in the presense of CONFIG_PREEMPT, so cond_resched() is optimized away (see commit 02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 "sched: do not do cond_resched() when CONFIG_PREEMPT"). But when wanting to conditionally reschedule while holding a lock, you need to use "cond_sched_lock(lock)", and the new function is the BKL equivalent of that. Also make fs/locks.c use it. Signed-off-by: Linus Torvalds commit b5e10df665e756c2c68442177e460d90bb9cf979 Author: Robert Reif Date: Sun May 11 15:47:05 2008 -0700 sparc32: Fix build. Fix sparc32 build error due to undefined bool type. CC [M] fs/ocfs2/dlm/userdlm.o In file included from include/asm/sigcontext.h:6, from include/asm/signal.h:5, from include/linux/signal.h:4, from fs/ocfs2/dlm/userdlm.c:30: include/asm/ptrace.h:42: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pt_regs_is_syscall’ include/asm/ptrace.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pt_regs_clear_syscall’ make[3]: *** [fs/ocfs2/dlm/userdlm.o] Error 1 make[2]: *** [fs/ocfs2/dlm] Error 2 make[1]: *** [fs/ocfs2] Error 2 make: *** [fs] Error 2 Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit ae429083efe996ca2c569c44fd6fea440676dc33 Author: Jean Delvare Date: Sun May 11 20:37:06 2008 +0200 i2c: Convert some more new-style drivers to use module aliasing Update 3 more new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. These video drivers aren't used yet so converting them is trivial. Signed-off-by: Jean Delvare commit 60b129d7bfa3e20450816983bd52c49bb0bc1c21 Author: Jean Delvare Date: Sun May 11 20:37:06 2008 +0200 i2c: Match dummy devices by type As the old driver_name/type matching scheme is going away soon, change the dummy device mechanism to use the new matching scheme. This has the downside that dummy i2c clients can no longer choose their name, they'll all appear as "dummy" in sysfs and in log messages. I don't think it is a problem in practice though, as there is little reason to use these i2c clients to log messages. Signed-off-by: Jean Delvare commit b11a9d8392a698f01337232aa8c5d5603519943f Author: Maciej W. Rozycki Date: Sun May 11 20:37:05 2008 +0200 i2c-sibyte: Mark i2c_sibyte_add_bus() as static The i2c_sibyte_add_bus() function is not called, nor meant to, from outside, so mark it as static; fixing a sparse warning too. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jean Delvare commit b3eb5a0bc3c359dbb5ccb0708df18525ab6a1430 Author: Maciej W. Rozycki Date: Sun May 11 20:37:05 2008 +0200 i2c-sibyte: Correct a comment about frequency The frequency may have been once hardcoded to 100 kHz, but currently it is passed as an argument to i2c_sibyte_add_bus(), so update the comment to match code. While at it, reformat a nearby comment for consistency. No functional changes. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jean Delvare commit 88b283281f1c783a79af175c400b5d20f10af2aa Author: Jean Delvare Date: Sun May 11 20:37:05 2008 +0200 i2c: Improve the functionality documentation Attempt to make the documentation about the I2C/SMBus functionality checking API clearer. Signed-off-by: Jean Delvare commit 1a31a88f4f1a14f0b28ec3c5c179b93a10b24a18 Author: David Brownell Date: Sun May 11 20:37:05 2008 +0200 i2c: Improve smbus-protocol documentation Improve the smbus-protocol documentation file somewhat: - Use the names of the SMBus protocol operations (from the 2.0 specification), not made-up-for-Linux names. - Add the name of the call used to execute each operation ... and point out that there are mismatches, where functions execute different protocol operations than their names specify. The most confusing examples are that "Read Byte" isn't executed by i2c_smbus_read_byte(), and that "Write Byte" isn't executed by i2c_smbus_write_byte(). When coding, that's not as bad as it may seem; but that case would seem to be worth fixing. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit c2fc54fcd340cbee47510aa84c346aab3440ba09 Author: Jean Delvare Date: Sun May 11 20:37:05 2008 +0200 i2c-piix4: Blacklist two mainboards We had a report that running sensors-detect on a Sapphire AM2RD790 motherbord killed the CPU. While the exact cause is still unknown, I'd rather play it safe and prevent any access to the SMBus on that machine by not letting the i2c-piix4 driver attach to the SMBus host device on that machine. Also blacklist a similar board made by DFI. Signed-off-by: Jean Delvare commit b1c1759cd192fe1d27989f986c7f6b2939905e0c Author: David Milburn Date: Sun May 11 20:37:05 2008 +0200 i2c-piix4: Increase the intitial delay for the ServerWorks CSB5 Per the PIIX4 errata, there maybe a delay between setting the start bit in the Smbus Host Controller Register and the transaction actually starting. If the driver doesn't delay long enough, it may appear that the transaction is complete when actually it hasn't started, this may lead to bus collisions. While 1 ms appears to be enough for most chips, the ServerWorks CSB5 wants 2 ms. Signed-off-by: David Milburn Signed-off-by: Jean Delvare commit f5fff3602a67ff8c98fccdbf15959780be542802 Author: Jon Smirl Date: Sun May 11 20:37:04 2008 +0200 i2c-mpc: Compare to NO_IRQ instead of zero Alter the mpc i2c driver to use the NO_IRQ symbol instead of the constant zero when checking for valid interrupts. NO_IRQ=-1 on ppc and NO_IRQ=0 on powerpc so the checks against zero are not correct. Signed-off-by: Jon Smirl Signed-off-by: Jean Delvare commit e691b9d1a096fbaaff9d6d6aef1adc593b786e62 Author: Steve French Date: Sun May 11 15:53:33 2008 +0000 [CIFS] don't allow demultiplex thread to exit until kthread_stop is called cifs_demultiplex_thread can exit under several conditions: 1) if it's signaled 2) if there's a problem with session setup 3) if kthread_stop is called on it The first two are problems. If kthread_stop is called on the thread, there is no guarantee that it will still be up. We need to have the thread stay up until kthread_stop is called on it. One option would be to not even try to tear things down until after kthread_stop is called. However, in the case where there is a problem setting up the session, there's no real reason to try continuing the loop. This patch allows the thread to clean up and prepare for exit under all three conditions, but it has the thread go to sleep until kthread_stop is called. This allows us to simplify the shutdown code somewhat since we can be reasonably sure that the thread won't exit after being signaled but before kthread_stop is called. It also removes the places where the thread itself set the tsk variable since it appeared that it could have a potential race where the thread might never be shut down. Signed-off-by: Jeff Layton Acked-by: Christoph Hellwig Signed-off-by: Steve French commit 67750fb9e07940c078d1edb16fd736ccc92a4a4e Author: Jeff Layton Date: Fri May 9 22:28:02 2008 +0000 [CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir When creating a directory on a CIFS share without POSIX extensions, and the given mode has no write bits set, set the ATTR_READONLY bit. When creating a file, set ATTR_READONLY if the create mode has no write bits set and we're not using unix extensions. There are some comments about this being problematic due to the VFS splitting creates into 2 parts. I'm not sure what that's actually talking about, but I'm assuming that it has something to do with how mknod is implemented. In the simple case where we have no unix extensions and we're just creating a regular file, there's no reason we can't set ATTR_READONLY. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 02eadeffda169a45946c79270ec19f45eeafb8e7 Author: Jeff Layton Date: Fri May 9 21:26:11 2008 +0000 [CIFS] add local struct inode pointer to cifs_setattr Clean up cifs_setattr a bit by adding a local inode pointer, and changing all of the direntry->d_inode references to it. This also adds a bit of micro-optimization. d_inode shouldn't change over the life of this function, so we only need to dereference it once. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 1b20d672188bf80baef60d515a123f556871a5ce Author: Cyrill Gorcunov Date: Fri May 9 18:17:21 2008 +0000 [CIFS] cifs_find_tcp_session cleanup This patch cleans up cifs_find_tcp_session so it become less indented. Also the error of skipping IPv6 matched addresses fixed. Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 9662369786b9d07fd46d65b0f9e3938a3e01a5d9 Author: Bernhard Beck Date: Sun May 11 09:23:13 2008 -0700 usb-serial: Add ThinkOptics WavIT Add ThinkOptics WavIt to cp2101 device table Signed-off-by: Bernhard Beck Signed-off-by: Linus Torvalds commit 854a989546c12683186c84601d4902591dddd8a9 Merge: 633331f... 28e6103... Author: Linus Torvalds Date: Sun May 11 09:55:48 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Fix debugger syscall restart interactions. sparc: Fix ptrace() detach. sparc32: Don't twiddle PT_DTRACE in exec. sparc video: remove open boot prom code commit 633331f389c2d9c631371d09a54626a5e4749452 Merge: 5bb7ff7... 005b1f7... Author: Linus Torvalds Date: Sun May 11 09:52:45 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] revert new check-ready Status register logic commit 64976a0387835a7ac61bbe2a99b27ccae34eac5d Author: James Bottomley Date: Sat May 10 14:08:40 2008 -0500 [SCSI] aha152x: Fix oops on module removal Reported-by: Frank de Jong > after trying to unload the module: > BUG: unable to handle kernel paging request at 00100100 > IP: [] :aha152x:aha152x_exit+0x47/0x6a > *pde = 00000000 > Oops: 0000 [#1] PREEMPT SMP > Modules linked in: aha152x(-) w83781d hwmon_vid tun ne 8390 bonding > usb_storage snd_usb_audio snd_usb_lib snd_rawmidi pwc snd_seq_device > compat_ioctl32 snd_hwdep videodev v4l1_compat 3c59x mii intel_agp > agpgart snd_pcm_oss snd_pcm snd_timer snd_page_alloc snd_mixer_oss snd > > Pid: 2837, comm: rmmod Not tainted (2.6.25.3 #1) > EIP: 0060:[] EFLAGS: 00210212 CPU: 0 > EIP is at aha152x_exit+0x47/0x6a [aha152x] > EAX: 00000001 EBX: 000ffdc4 ECX: f7c517a8 EDX: 00000001 > ESI: 00000000 EDI: 00000003 EBP: e7880000 ESP: e7881f58 > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > Process rmmod (pid: 2837, ti=e7880000 task=f27eb580 task.ti=e7880000) > Stack: fba03700 c01419d2 31616861 00783235 e795ee70 c0157709 b7f24000 e79ae000 > c0158271 ffffffff b7f25000 e79ae004 e795e370 b7f25000 e795e37c e795e370 > 009ae000 fba03700 00000880 e7881fa8 00000000 bf93ec20 bf93ec20 c0102faa > Call Trace: > [] sys_delete_module+0x112/0x1a0 > [] remove_vma+0x39/0x50 > [] do_munmap+0x181/0x1f0 > [] sysenter_past_esp+0x5f/0x85 > [] rsc_parse+0x0/0x3c0 The problem is that the driver calls aha152x_release() under a list_for_each_entry(). Unfortunately, aha152x_release() deletes from the list in question. Fix this by using list_for_each_entry_safe(). Cc: Stable Tree Signed-off-by: James Bottomley commit ad2fa42d044b98469449880474a9662fb689f7f9 Author: James Bottomley Date: Sat May 10 08:33:58 2008 -0500 [SCSI] aha152x: fix init suspiciously returned 1, it should follow 0/-E convention Reported-by: Frank de Jong > [1.] One line summary of the problem: > linux-2.6.25.3, aha152x'->init suspiciously returned 1, it should > follow 0/-E convention. The module / driver works okay. Unloading the > module is impossible. The driver is apparently returning 0 on failure and 1 on success. That's a bit unfortunate. Fix it by altering to -ENODEV and 0. Cc: Stable Tree Signed-off-by: James Bottomley commit 28e6103665301ce60634e8a77f0b657c6cc099de Author: David S. Miller Date: Sun May 11 02:07:19 2008 -0700 sparc: Fix debugger syscall restart interactions. So, forever, we've had this ptrace_signal_deliver implementation which tries to handle all of the nasties that can occur when the debugger looks at a process about to take a signal. It's meant to address all of these issues inside of the kernel so that the debugger need not be mindful of such things. Problem is, this doesn't work. The idea was that we should do the syscall restart business first, so that the debugger captures that state. Otherwise, if the debugger for example saves the child's state, makes the child execute something else, then restores the saved state, we won't handle the syscall restart properly because we lose the "we're in a syscall" state. The code here worked for most cases, but if the debugger actually passes the signal through to the child unaltered, it's possible that we would do a syscall restart when we shouldn't have. In particular this breaks the case of debugging a process under a gdb which is being debugged by yet another gdb. gdb uses sigsuspend to wait for SIGCHLD of the inferior, but if gdb itself is being debugged by a top-level gdb we get a ptrace_stop(). The top-level gdb does a PTRACE_CONT with SIGCHLD to let the inferior gdb see the signal. But ptrace_signal_deliver() assumed the debugger would cancel out the signal and therefore did a syscall restart, because the return error was ERESTARTNOHAND. Fix this by simply making ptrace_signal_deliver() a nop, and providing a way for the debugger to control system call restarting properly: 1) Report a "in syscall" software bit in regs->{tstate,psr}. It is set early on in trap entry to a system call and is fully visible to the debugger via ptrace() and regsets. 2) Test this bit right before doing a syscall restart. We have to do a final recheck right after get_signal_to_deliver() in case the debugger cleared the bit during ptrace_stop(). 3) Clear the bit in trap return so we don't accidently try to set that bit in the real register. As a result we also get a ptrace_{is,clear}_syscall() for sparc32 just like sparc64 has. M68K has this same exact bug, and is now the only other user of the ptrace_signal_deliver hook. It needs to be fixed in the same exact way as sparc. Signed-off-by: David S. Miller commit 986bef854fab44012df678a5b51817d5274d3ca1 Author: David S. Miller Date: Sat May 10 21:11:23 2008 -0700 sparc: Fix ptrace() detach. Forever we had a PTRACE_SUNOS_DETACH which was unconditionally recognized, regardless of the personality of the process. Unfortunately, this value is what ended up in the GLIBC sys/ptrace.h header file on sparc as PTRACE_DETACH and PT_DETACH. So continue to recognize this old value. Luckily, it doesn't conflict with anything we actually care about. Signed-off-by: David S. Miller commit 1f5d3a6b6532e25a5cdf1f311956b2b03d343a48 Author: S.Çağlar Onur Date: Fri May 2 14:10:08 2008 +0300 Remove *.rej pattern from .gitignore With commit 3f1b0e1f287547903f11fa1e6de7d2765597766e ".gitignore update" Linus's current git tree starts to ignore any "*.rej" files. So "git status" no longer shows these files, but the ones who works with quilt patchsets, this not makes life easier as expected. Because sometimes a work flow (at least for me) requires "quilt push -f" followed by "git status" to see unresolved merge conflicts, work on these conflicts to correct them and finalize the patch with "quilt refresh". And if there are some "*.rej" files exists in tree, for whatever reason, this means something goes really wrong there and i think this situation not deserves to be ignored. Signed-off-by: S.Çağlar Onur Signed-off-by: Sam Ravnborg commit 591b0179e80f7d59b5e6e57063e92fdbface98fb Author: Sam Ravnborg Date: Sun May 11 10:07:03 2008 +0200 MAINTAINERS: document names of new kbuild trees Signed-off-by: Sam Ravnborg commit fd1db0a31319bd21c521b197ce17c557556b821b Author: Andi Kleen Date: Thu May 8 13:41:11 2008 +0200 kbuild: disable modpost warnings for linkonce sections Disable modpost warnings for linkonce sections My build gives lots of warnings like WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): unexpected section name. The (.[number]+) following section name are ld generated and not expected. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. But for .linkonce. duplicated sections are actually ok and expected. So just disable the warning for this case. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit a95bcfac2b5f353f99c6a338d77eb5584ab35d83 Author: Masatake YAMATO Date: Wed May 7 16:04:31 2008 +0900 kbuild: escape meta characters in regular expression in make TAGS Alexey Dobriyan introduced a code adds menuconfig SOMETHING in Kconfig to tags output when you did "make tags". See http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80ff26241623875636674a31c0540a78c0fb5433 "make tags" may work fine with his code. However make TAGS doesn't work well because etags command requires backslashes to escape meta characters like `(', `)' and `|'. Here is a patch. Signed-off-by: Masatake YAMATO Signed-off-by: Sam Ravnborg commit 5bb7ff795fffc9418e3039cac77b42adcaae1a57 Merge: 3e1b83a... 1f2ee64... Author: Linus Torvalds Date: Sat May 10 21:14:05 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier. [ARM] Orion: clean up addr-map.c after window setting code purge [ARM] Orion: pass proper t_clk into mv643xx_eth [ARM] Orion: use mv643xx_eth driver mbus window handling [ARM] pxa: Fix RCSR handling [ARM] lubbock: fix compilation [ARM] 5032/1: Added cpufreq support for pxa27x CPU [ARM] 5031/1: Indentation correction in cpu-pxa.c. [ARM] 5028/1: pxafb: fix broken "backward compatibility way" in framebuffer [ARM] 4882/2: Correction for S3C2410 clkout generation [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle. [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver [ARM] 5023/1: Fix broken gpio interrupts on ep93xx ns9xxx: fix sparse warning ns9xxx: check for irq lockups ns9xxx: fix handle_prio_irq to unmask irqs with lower priority commit 3e1b83ab3912a6f583897635bee0a2e0cd1545f7 Merge: 8e3e076... 82fd866... Author: Linus Torvalds Date: Sat May 10 21:10:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: rdc: leds build/config fix x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system) x86: revert commit 709f744 ("x86: bitops asm constraint fixes") x86: restrict keyboard io ports reservation to make ipmi driver work x86: fix fpu restore from sig return x86: remove spew print out about bus to node mapping x86: revert printk format warning change which is for linux-next x86: cleanup PAT cpu validation x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set x86: GEODE: cache results from geode_has_vsa2() and uninline x86: revert geode config dependency commit 8e3e076c5a78519a9f64cd384e8f18bc21882ce0 Author: Linus Torvalds Date: Sat May 10 20:58:02 2008 -0700 BKL: revert back to the old spinlock implementation The generic semaphore rewrite had a huge performance regression on AIM7 (and potentially other BKL-heavy benchmarks) because the generic semaphores had been rewritten to be simple to understand and fair. The latter, in particular, turns a semaphore-based BKL implementation into a mess of scheduling. The attempt to fix the performance regression failed miserably (see the previous commit 00b41ec2611dc98f87f30753ee00a53db648d662 'Revert "semaphore: fix"'), and so for now the simple and sane approach is to instead just go back to the old spinlock-based BKL implementation that never had any issues like this. This patch also has the advantage of being reported to fix the regression completely according to Yanmin Zhang, unlike the semaphore hack which still left a couple percentage point regression. As a spinlock, the BKL obviously has the potential to be a latency issue, but it's not really any different from any other spinlock in that respect. We do want to get rid of the BKL asap, but that has been the plan for several years. These days, the biggest users are in the tty layer (open/release in particular) and Alan holds out some hope: "tty release is probably a few months away from getting cured - I'm afraid it will almost certainly be the very last user of the BKL in tty to get fixed as it depends on everything else being sanely locked." so while we're not there yet, we do have a plan of action. Tested-by: Yanmin Zhang Cc: Ingo Molnar Cc: Andi Kleen Cc: Matthew Wilcox Cc: Alexander Viro Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 00b41ec2611dc98f87f30753ee00a53db648d662 Author: Linus Torvalds Date: Sat May 10 20:43:22 2008 -0700 Revert "semaphore: fix" This reverts commit bf726eab3711cf192405d21688a4b21e07b6188a, as it has been reported to cause a regression with processes stuck in __down(), apparently because some missing wakeup. Quoth Sven Wegener: "I'm currently investigating a regression that has showed up with my last git pull yesterday. Bisecting the commits showed bf726e "semaphore: fix" to be the culprit, reverting it fixed the issue. Symptoms: During heavy filesystem usage (e.g. a kernel compile) I get several compiler processes in uninterruptible sleep, blocking all i/o on the filesystem. System is an Intel Core 2 Quad running a 64bit kernel and userspace. Filesystem is xfs on top of lvm. See below for the output of sysrq-w." See http://lkml.org/lkml/2008/5/10/45 for full report. In the meantime, we can just fix the BKL performance regression by reverting back to the good old BKL spinlock implementation instead, since any sleeping lock will generally perform badly, especially if it tries to be fair. Reported-by: Sven Wegener Cc: Andrew Morton Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit 39f004ba27fcd2431030a3bb3c949fa3f93fa4ca Author: Linus Torvalds Date: Sat May 10 19:52:43 2008 -0700 Make use ACCESS_ONCE() ..instead of cooking up its own uglier local version of it. Signed-off-by: Linus Torvalds commit 9c3cdc1f83a6e07092392ff4aba6466517dbd1d0 Author: Linus Torvalds Date: Sat May 10 19:51:16 2008 -0700 Move ACCESS_ONCE() to It actually makes much more sense there, and we do tend to need it for non-RCU usage too. Moving it to will allow some other cases that have open-coded the same logic to use the same helper function that RCU has used. Signed-off-by: Linus Torvalds commit 82fd866701881623d69fe280dbac06ddff1fdef9 Author: Ingo Molnar Date: Thu May 1 03:46:22 2008 +0200 x86: rdc: leds build/config fix select NEW_LEDS for now until the Kconfig dependencies have been fixed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5c3a121d52b30a1e53cdaa802fa1965fcd243164 Author: Vaidyanathan Srinivasan Date: Mon May 5 19:22:15 2008 +0530 x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system) System topology on intel based system needs to be exported for non-numa case as well. All parts of asm-i386/topology.h has come under #ifdef CONFIG_NUMA after the merge to asm-x86/topology.h /sys/devices/system/cpu/cpu?/topology/* is populated based on ENABLE_TOPO_DEFINES The sysfs cpu topology is not being populated on my dual socket dual core xeon 5160 processor based (x86 32 bit) system. CONFIG_NUMA is not set in my case yet the topology is relevant and useful. irqbalance daemon application depends on topology to build the cpus and package list and it fails on Fedora9 beta since the sysfs topology was not being populated in the 2.6.25 kernel. I am not sure if it was intentional to not define ENABLE_TOPO_DEFINES for non-numa systems. This fix has been tested on the above mentioned dual core, dual socket system. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit eb2b4e682a6d5b4779a7f1a6a8419982919795f6 Author: Simon Holm Thøgersen Date: Mon May 5 15:45:28 2008 +0200 x86: revert commit 709f744 ("x86: bitops asm constraint fixes") 709f744 causes my computer to freeze during the start up of X and my login manger (GDM). It gets to the point where it has shown the default X mouse cursor logo (a big X / cross) and does not respond to anything from that point on. This worked fine before 709f744, and it works fine with 709f744 reverted on top of Linus' current tree (f74d505). The revert had conflicts, as far as I can tell due to white space changes. The diff I ended up with is below. It is 100% reproducible. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9096bd7a66efbe406910365c5206a32eed3875af Author: Helge Wagner Date: Tue Apr 29 14:20:40 2008 +0200 x86: restrict keyboard io ports reservation to make ipmi driver work On some of our (single board computer) boards (x86) we are using an IPMI controller that uses I/O ports 0x62 and 0x66 for a KCS (keyboard controller style) IPMI system interface. Trying to load the openipmi driver fails, because the ports (0x62/0x66) are reserved for keyboard. keyboard reserves the full range 0x60-0x6F while it doesn't need to. Reserve only ports 0x60 and 0x64 for the legacy PS/2 i8042 keyboad controller instead of 0x60-0x6F to allow the openipmi driver to work. [ tglx: added 64bit fixup ] Signed-off-by: Thomas Gleixner Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit fd3c3ed5d1e3ceb37635cbe6d220ab94aae0781d Author: Suresh Siddha Date: Wed May 7 12:09:52 2008 -0700 x86: fix fpu restore from sig return If the task never used fpu, initialize the fpu before restoring the FP state from the signal handler context. This will allocate the fpu state, if the task never needed it before. Reported-and-bisected-by: Eric Sesterhenn Signed-off-by: Suresh Siddha Tested-by: Eric Sesterhenn Cc: Frederik Deweerdt Signed-off-by: Thomas Gleixner commit 0646153921892cc7a81320a6920beaca06b3e9f0 Author: Yinghai Lu Date: Sun May 4 13:41:02 2008 -0700 x86: remove spew print out about bus to node mapping Jeff Garzik pointed out that this printout is not needed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5ecddcebfb7c737fe36494c77bd99ad045eab5ae Author: Thomas Gleixner Date: Thu May 8 16:38:11 2008 +0200 x86: revert printk format warning change which is for linux-next commit 62179849b40aded9e727cca5006627a1c4d6446e x86: fix setup printk format warning is for linux-next and not for .26 Signed-off-by: Thomas Gleixner commit c07c6053c41f736711ed856aa377007078c7c396 Author: David S. Miller Date: Sat May 10 00:31:28 2008 -0700 sparc32: Don't twiddle PT_DTRACE in exec. That bit isn't used on this platform. Signed-off-by: David S. Miller commit 1f2ee6496b1f71e9d5aa2448745e65fbafdc3bd5 Merge: 5bf6c6e... da10989... Author: Russell King Date: Fri May 9 23:24:09 2008 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into fixes commit 5bf6c6e30d8b71d092e8830208e182d84b907fcd Author: Dmitry Baryshkov Date: Fri May 9 08:56:54 2008 +0100 [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier. A lot of stuff in spitz/akita/etc. depends on corgi_ssp to be initialised early. However corgi_ssp initialisation fails, because at that time pxa*-ssp devices don't have drivers. Move ssp earlier in the makefile so they are registered before corgi-ssp. Also move sleep/suspend and cpu-freq to more logical places Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 005b1f7495e812b99b73de5adbc73afd7a1cbcaf Author: Jeff Garzik Date: Fri May 9 15:00:55 2008 -0400 [libata] revert new check-ready Status register logic This behavior differs across multiple controllers, so we cannot use common logic for all controllers. Revert back to the basic common behavior, and specific drivers will be updated from here to take into account the unusual Status return values. Signed-off-by: Jeff Garzik commit 3ed43c745d2ce0c4ca15ad406285d1cc7e8ceec3 Merge: 26c5e98... 45828b8... Author: Linus Torvalds Date: Fri May 9 10:34:00 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (21 commits) Blackfin Serial Driver: abstract away DLAB differences into header Blackfin Serial Driver: macro away the IER differences between processors [Blackfin] arch: remove useless IRQ_SW_INT defines [Blackfin] arch: protect linux/usb/musb.h include until the driver gets mainlined [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets mainlined [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x families embedded ethernet driver [Blackfin] arch: Set spi flash partition on bf527 as like bf548. [Blackfin] arch: fix bug - Remove module will not free L1 memory used [Blackfin] arch: fix wrong header name in comment [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mount [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkit [Blackfin] arch: Add physmap partition for BF527-EZkit [Blackfin] arch: fix gdb testing regression [Blackfin] arch: disable single stepping when delivering a signal [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c. [Blackfin] arch: In the double fault handler, set up the PT_RETI slot [Blackfin] arch: Support for CPU_FREQ and NOHZ [Blackfin] arch: Functional power management support: Add CPU and platform voltage scaling support [Blackfin] arch: fix bug - breaking the atomic sections code. [Blackfin] arch: Equalize include files: Add VR_CTL masks ... commit dfa3d039dae89e8e9a7302ebf25370caaf1b62e3 Author: Kalle Jokiniemi Date: Tue May 6 10:33:01 2008 +0300 ARM: OMAP: Fixed comments on global PRM register usage Fixed comments on global PRM register usage. Signed-off-by: Kalle Jokiniemi Signed-off-by: Tony Lindgren commit d756f54e57a261db39c46f1853b71be85608b15f Author: Högander Jouni Date: Wed Apr 23 16:12:19 2008 +0300 ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck This patch removes following message on dpll5_m2_ck enable and disable: clock.c: Enable for dpll5_m2_ck without enable code clock: clk_disable called on independent clock dpll5_m2_ck which has no enable_reg Signed-off-by: Jouni Hogander Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 1971a3900a4fd61643de950248309598c3e23215 Author: Jouni Högander Date: Mon Apr 14 16:06:11 2008 +0300 ARM: OMAP: PRCM fixes to ssi clock handling ssi_l4_ick should have PARENT_CONTROLS_CLOCK flag. ST_SSI_STDBY bit in idlest register cannot be used in omap2_clk_wait_ready Signed-off-by: Jouni Högander Signed-off-by: Tony Lindgren commit 31c203d49ca04e042722d764feec0b80c2afb575 Author: Hiroshi DOYU Date: Tue Apr 1 10:11:22 2008 +0300 ARM: OMAP: Add fuctional clock enabler for iva2 Add fuctional clock enabler for iva2 Signed-off-by: Hiroshi DOYU Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit c3aa044aa3c70a24b606b9265cba305717ac131a Author: Jouni Högander Date: Fri Mar 28 14:57:50 2008 +0200 ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks Wrong shift values were used for gpio2-6 fclks (gpt2-6 shift). Signed-off-by: Jouni Högander Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit ec44dfa866cc9779b83e9eab9efe6f7d48966eb8 Author: Eduardo Valentin Date: Thu Mar 27 11:09:42 2008 -0400 ARM: OMAP: Keymap fix for palmte and palmz71 Keymap fix for palmte and palmz71 Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit bfbdcf8a14ec4bd0c692bed3ddfa40bd72eae473 Author: Hiroshi DOYU Date: Mon Jul 30 14:04:04 2007 +0300 ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 0692f05dffaac5fc7b152f9b83625d3077639eba Author: Jarkko Nikula Date: Mon Mar 17 17:01:10 2008 +0200 ARM: OMAP: DMA: Fix incorrect channel linking Function enable_lnk does incorrect channel link on non-omap1 builds if chain is created manually with omap_request_dma and omap_dma_link_lch functions. Fix this by making sure that next_linked_ch field is initialized to -1 just in omap_request_dma. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 7cf95774190e423370945e116b07410c860407db Author: Tony Lindgren Date: Tue Aug 7 05:20:00 2007 -0700 ARM: OMAP: Warn on disabling clocks with no users Instead of BUG(), warn on disabling clocks with no users. Signed-off-by: Tony Lindgren commit c8d2eb8e56b93c69a30793f19ac1bc784398fbd5 Author: Paul Walmsley Date: Wed May 7 16:55:13 2008 -0700 ARM: OMAP: Add calls to omap2_set_globals_*() Add the omap2_set_globals_{242x,243x,343x}() functions. These functions are called early upon boot in the map_io() functions in the board-specific init files. This patch was accidentally left out of the earlier series. This fixes omap2 booting as noted by Kyungmin Park . Signed-off-by: Paul Walmsley Cc: Kyungmin Park Signed-off-by: Tony Lindgren commit 0a4b53a22d75efa750f0b93c9b00dd0dc51c0b07 Author: Tony Lindgren Date: Thu May 8 15:30:33 2008 -0700 ARM: OMAP: Update MMC header to fix compile Update MMC header from linux-omap tree to match the recent MMC driver updates. Signed-off-by: Tony Lindgren commit 26c5e98e88a6126adef2ddce21899e5afe823a2b Merge: a9545ee... af4b3c3... Author: Linus Torvalds Date: Fri May 9 08:10:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] fix build warning [CIFS] Fixed build warning in is_ip [CIFS] cleanup cifsd completion [CIFS] Remove over-indented code in find_unc(). [CIFS] fix typo [CIFS] Remove duplicate call to mode_to_acl [CIFS] convert usage of implicit booleans to bool [CIFS] fixed compatibility issue with samba refferal request [CIFS] Fix statfs formatting [CIFS] Adds to dns_resolver checking if the server name is an IP addr and skipping upcall in this case. [CIFS] Fix spelling mistake [CIFS] Update cifs version number commit a9545ee3c8153e133556aaaa8110337ca3f864dc Merge: c20b4b6... 9731e28... Author: Linus Torvalds Date: Fri May 9 08:07:58 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (37 commits) SH: catch negative denormal_subf1() retval in denormal_add() sh: Fix DMAC base address for SH7709S sh: update smc91x platform data for se7206. sh: Stub in cpu_to_node() and friends for NUMA build. sh: intc register modify fix sh: no high level trigger on some sh3 cpus sh: clean up sh7710 and sh7720 intc tables sh: add interrupt ack code to sh3 sh: unify external irq pin code for sh3 sh-sci: avoid writing to nonexistent registers sh-sci: sh7722 lacks scsptr registers sh-sci: improve sh7722 support sh: reset hardware from early printk sh: drain and wait for early printk sh: use sci_out() for early printk sh: add memory resources to /proc/iomem sh: add kernel bss resource sh: fix sh7705 interrupt vector typo sh: update smc91x platform data for se7722 sh: update smc91x platform data for MigoR ... commit c20b4b69f774896623a8ad87d974982bc89af7ed Merge: d9a9a23... 67412f0... Author: Linus Torvalds Date: Fri May 9 08:07:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] hmac: Avoid calling virt_to_page on key commit d9a9a23ff2b00463f25e880d13364938b321ab8a Merge: 9b013c2... 53962ec... Author: Linus Torvalds Date: Fri May 9 08:06:31 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (23 commits) [POWERPC] Remove leftover printk in isa-bridge.c [POWERPC] Remove duplicate #include [POWERPC] Initialize lockdep earlier [POWERPC] Document when printk is useable [POWERPC] Fix bogus paca->_current initialization [POWERPC] Fix of_i2c include for module compilation [POWERPC] Make default cputable entries reflect selected CPU family [POWERPC] spufs: lockdep annotations for spufs_dir_close [POWERPC] spufs: don't requeue victim contex in find_victim if it's not in spu_run [POWERPC] 4xx: Fix PCI mem in sequoia DTS [POWERPC] 4xx: Add endpoint support to 4xx PCIe driver [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core [POWERPC] spufs: spu_create should send inotify IM_CREATE event [POWERPC] spufs: handle faults while the context switch pending flag is set [POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptions [POWERPC] spufs: try to route SPU interrupts to local node [POWERPC] spufs: set SPU_CONTEXT_SWITCH_PENDING before synchronising SPU irqs [POWERPC] spufs: don't acquire state_mutex interruptible while performing callback [POWERPC] spufs: update master runcntl with context lock held [POWERPC] spufs: fix post-stopped update of MFC_CNTL register ... commit 9b013c2820c409ff84871e55e407ec2181782773 Author: Christoph Hellwig Date: Fri May 9 14:44:02 2008 +0200 m32r: use generic sys_pipe m32r can use the generic sys_pipe implementation. The current sys_pipe implementation on m32r only differes from the generic one by passing a lot of additional unused registers to sys_pipe. Reviewed and tested by Hirokazu Takata. Signed-off-by: Christoph Hellwig Acked-by: Hirokazu Takata Signed-off-by: Linus Torvalds commit 41d88d55b2891203e98d1dc0acab949ffd0af078 Author: Christoph Hellwig Date: Fri May 9 12:41:17 2008 +0200 cris: kill sys_pipe implementation The cris implementation of sys_pipe only differs from the generic one by taking the BKL before calling do_pipe which isn't not nessecary. Just kill the cris implementation and use the generic one. Signed-off-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit a8f43ee7e108cecf68cac652d0a3aeedb8131220 Merge: 91e37a7... 36ca34c... Author: Linus Torvalds Date: Fri May 9 08:01:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: sit: Add missing kfree_skb() on pskb_may_pull() failure. tipc: Increase buffer header to support worst-case device commit 91e37a793b5a9436a2d12b2f0a8f52db3a133e1d Author: Rusty Russell Date: Fri May 9 16:25:28 2008 +1000 module: don't ignore vermagic string if module doesn't have modversions Linus found a logic bug: we ignore the version number in a module's vermagic string if we have CONFIG_MODVERSIONS set, but modversions also lets through a module with no __versions section for modprobe --force (with tainting, but still). We should only ignore the start of the vermagic string if the module actually *has* crcs to check. Rather than (say) having an entertaining hissy fit and creating a config option to work around the buggy code. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit a5dd69707424a35d2d2cc094e870f595ad61e916 Author: Rusty Russell Date: Fri May 9 16:24:21 2008 +1000 module: be more picky about allowing missing module versions We allow missing __versions sections, because modprobe --force strips it. It makes less sense to allow sections where there's no version for a specific symbol the module uses, so disallow that. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 6c2545eefffc452e52302c96c955d9aa26353aa9 Author: Rusty Russell Date: Fri May 9 16:23:17 2008 +1000 module: put modversions in vermagic Don't allow a module built without versions altogether to be inserted into a kernel which expects modversions. modprobe --force will strip vermagic as well as modversions, so it won't be effected, but this will make sure that a non-CONFIG_MODVERSIONS module won't be accidentally inserted into a CONFIG_MODVERSIONS kernel. Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit da109897a142dd017172c0ce7abf0be8646f7109 Author: Lennert Buytenhek Date: Sat Apr 26 14:48:11 2008 -0400 [ARM] Orion: clean up addr-map.c after window setting code purge This patch cleans up Orion's addr-map.c a bit after all peripheral window programming code has been moved out into the relevant drivers. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit b8c15a6084e84497e31e75c9cededb73af768632 Author: Lennert Buytenhek Date: Sat Apr 26 14:48:11 2008 -0400 [ARM] Orion: pass proper t_clk into mv643xx_eth Pass the Orion TCLK tick rate into the ethernet driver. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit d236f5a5f77183c270223e8816804e7763463282 Author: Lennert Buytenhek Date: Sat Apr 26 14:48:11 2008 -0400 [ARM] Orion: use mv643xx_eth driver mbus window handling Make the Orion 5x platform code use the mbus window handling code that's in the mv643xx_eth driver, instead of programming the GigE block's mbus window registers by hand. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 9731e287e08b804592191d8bffaad023154af2aa Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri May 9 20:05:10 2008 +0900 SH: catch negative denormal_subf1() retval in denormal_add() 'ix' is unsigned but denormal_subf1() may return a negative int. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mundt commit 53962ecf6ebbdb5b15a8b35fbefe34430eb25609 Author: Nate Case Date: Fri May 9 02:41:17 2008 +1000 [POWERPC] Remove leftover printk in isa-bridge.c This printk() appears twice in the same function. Only the latter one in the inval_range: section appears to be legitimate. Signed-off-by: Nate Case Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1c4a8119123e7e064344588d9a059bc0bb24e1ae Author: Huang Weiyi Date: Thu May 8 23:34:29 2008 +1000 [POWERPC] Remove duplicate #include Remove duplicate #include of in arch/powerpc/kernel/btext.c. Signed-off-by: Huang Weiyi Signed-off-by: Paul Mackerras commit f2fd25131b5a9c802faa1de1e9b5f1b06d16eec3 Author: Benjamin Herrenschmidt Date: Wed May 7 10:25:34 2008 +1000 [POWERPC] Initialize lockdep earlier This moves lockdep_init() to before udbg_early_init() as the later can call things that acquire spinlocks etc... This also makes printk safer to use earlier. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 24d9649574fbe591fdfa6b00893d4096f513e539 Author: Benjamin Herrenschmidt Date: Wed May 7 10:00:56 2008 +1000 [POWERPC] Document when printk is useable When debugging early boot problems, it's common to sprinkle printk's all over the place. However, on 64-bit powerpc, this can lead to memory corruption if done too early due to the PACA pointer and lockdep core not being initialized. This adds some comments to early_setup() that document when it is safe to do so in order to save time for whoever has to debug that stuff next. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b70c5a6491dd02263e6d104b72d9b536f987021 Author: Benjamin Herrenschmidt Date: Wed May 7 10:00:55 2008 +1000 [POWERPC] Fix bogus paca->_current initialization When doing lockdep, I had two patches to initialize paca->_current early, one bogus, and one correct. Unfortunately both got merged as the bad one ended up being part of the main lockdep patch by mistake. This causes memory corruption at boot. This removes the offending code. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8af302e2dc91d4229968b8eedd4b45c0dd9fc717 Author: Jochen Friedrich Date: Wed May 7 04:40:01 2008 +1000 [POWERPC] Fix of_i2c include for module compilation Remove #ifdef CONFIG_OF_I2C as this breaks module compilation. Drivers using this header should depend on OF_I2C anyways, so there's no need to make this conditional. Signed-off-by: Jochen Friedrich Signed-off-by: Paul Mackerras commit 76bc080ef5a34aedb63e1691f28c6b42f3468e4e Author: Benjamin Herrenschmidt Date: Mon May 5 15:22:27 2008 +1000 [POWERPC] Make default cputable entries reflect selected CPU family Changes the cputable so that various CPU families that have an exclusive CONFIG_ option have a more sensible default entry to use if the specific processor hasn't been identified. This makes the kernel more generally useful when booted on an unknown PVR for things like new 4xx variants. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2a5f2e3e6cd1ce9fb3f8b186b6bc9aa1f1497a92 Merge: 02539d7... 78be764... Author: Paul Mackerras Date: Fri May 9 20:12:06 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge commit cdf7da899d840d47e075ff3bd761290653c68b77 Author: Steve Glendinning Date: Tue May 6 11:36:27 2008 +0100 sh: Fix DMAC base address for SH7709S On SH7709S, DMAC can be found at 0xa4000020 (as with most of the other sh3 cpu subtypes). Split out definition of DMAC base address from definitions of DMTE irqs. Signed-off-by: Steve Glendinning Signed-off-by: Paul Mundt commit 36ca34cc3b8335eb1fe8bd9a1d0a2592980c3f02 Author: David S. Miller Date: Thu May 8 23:40:26 2008 -0700 sit: Add missing kfree_skb() on pskb_may_pull() failure. Noticed by Paul Marks . Signed-off-by: David S. Miller commit f11c9c2fd9ab1732acd577bcf08a4a2be7f9aa65 Author: Paul Mundt Date: Fri May 9 14:13:17 2008 +0900 sh: update smc91x platform data for se7206. Follows the se7722 change. Signed-off-by: Paul Mundt commit f08269d3ecbb9300aeeb2d4272580f660afe9db9 Author: Allan Stephens Date: Thu May 8 21:38:24 2008 -0700 tipc: Increase buffer header to support worst-case device This patch increases the headroom TIPC reserves in each sk_buff to accommodate the largest possible link level device header. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 6cd5a86b56ec8fc8651c043bdb05ea0c662fb704 Author: Robert Reif Date: Thu May 8 21:37:30 2008 -0700 sparc video: remove open boot prom code Replace remaining open boot prom code with of. Boot tested on sparc32 and compile tested on sparc64. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit af4b3c355cbd38703471e55d11f42d8640db4118 Author: Steve French Date: Fri May 9 03:48:05 2008 +0000 [CIFS] fix build warning Signed-off-by: Steve French commit 28a4acb48586dc21d2d14a75a7aab7be78b7c83b Merge: 89f92d6... e46b66b... Author: Linus Torvalds Date: Thu May 8 19:03:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits) net: Added ASSERT_RTNL() to dev_open() and dev_close(). can: Fix can_send() handling on dev_queue_xmit() failures netns: Fix arbitrary net_device-s corruptions on net_ns stop. netfilter: Kconfig: default DCCP/SCTP conntrack support to the protocol config values netfilter: nf_conntrack_sip: restrict RTP expect flushing on error to last request macvlan: Fix memleak on device removal/crash on module removal net/ipv4: correct RFC 1122 section reference in comment tcp FRTO: SACK variant is errorneously used with NewReno e1000e: don't return half-read eeprom on error ucc_geth: Don't use RX clock as TX clock. cxgb3: Use CAP_SYS_RAWIO for firmware pcnet32: delete non NAPI code from driver. fs_enet: Fix a memory leak in fs_enet_mdio_probe [netdrvr] eexpress: IPv6 fails - multicast problems 3c59x: use netstats in net_device structure 3c980-TX needs EXTRA_PREAMBLE fix warning in drivers/net/appletalk/cops.c e1000e: Add support for BM PHYs on ICH9 uli526x: fix endianness issues in the setup frame uli526x: initialize the hardware prior to requesting interrupts ... commit 89f92d6425b099538932e9b881588f87ef9f3184 Merge: 8d53910... dc5dc7e... Author: Linus Torvalds Date: Thu May 8 19:03:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Fix SA_ONSTACK signal handling. commit 8d539108560ec121d59eee05160236488266221c Author: Linus Torvalds Date: Thu May 8 18:41:48 2008 -0700 Revert "PCI: remove default PCI expansion ROM memory allocation" This reverts commit 9f8daccaa05c14e5643bdd4faf5aed9cc8e6f11e, which was reported to break X startup (xf86-video-ati-6.8.0). See http://bugs.freedesktop.org/show_bug.cgi?id=15523 for details. Reported-by: Laurence Withers Cc: Gary Hade Cc: Greg KH Cc: Jan Beulich Cc: "Jun'ichi Nomura" Cc: Andrew Morton Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit c8611f975403dd20e6503aff8aded5dcb718f75b Author: Mike Christie Date: Thu May 8 20:15:34 2008 -0500 [SCSI] libiscsi regression in 2.6.25: fix setting of recv timer If the ping tmo is longer than the recv tmo then we could miss a window where we were supposed to check the recv tmo. This happens because the ping code will set the next timeout for the ping timeout, and if the ping executes quickly there will be a long chunk of time before the timer wakes up again. This patch has the ping processing code kick off a recv tmo check when getting a nop in response to our ping. Signed-off-by: Mike Christie Cc: Stable Tree Signed-off-by: James Bottomley commit 7c5e628f95b440b69332b1ed3eb112648fc8f7ff Author: Igor Mammedov Date: Thu May 8 20:48:42 2008 +0000 [CIFS] Fixed build warning in is_ip Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit c4f51b4662074c6ee26c972126a317c05f65be06 Merge: f589274... 4615112... Author: Linus Torvalds Date: Thu May 8 11:31:07 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes: sched: fix weight calculations semaphore: fix commit f589274533eb94e0217acc1db6240ce6e621bb56 Merge: 625fc3a... e3a2efa... Author: Linus Torvalds Date: Thu May 8 10:58:45 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc at91 minor bug fixes [ALSA] soc - at91-pcm - Fix line wrapping pcspkr: fix dependancies commit 625fc3a37511cbecfe1253867fe105c28d6a95f0 Author: Huang Weiyi Date: Thu May 8 22:48:31 2008 +0800 Remove duplicated include in net/sunrpc/svc.c we included twice. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit 19566ca6dc26600bae4b75701d4dced8d8540f16 Author: Huang Weiyi Date: Thu May 8 22:36:27 2008 +0800 fs/proc/task_mmu.c: remove duplicated include files Removed duplicated include files and in fs/proc/task_mmu.c. Signed-off-by: Huang Weiyi Signed-off-by: Linus Torvalds commit f7c83a0aaa772f8d0189fa197d77c762caaa367a Author: Ingo Molnar Date: Wed Apr 30 09:48:07 2008 +0200 Fix drivers/media build for modular builds Fix allmodconfig build bug introduced in latest -git by commit 7c91f0624a9 ("V4L/DVB(7767): Move tuners to common/tuners"): LD kernel/built-in.o LD drivers/built-in.o ld: drivers/media/built-in.o: No such file: No such file or directory which happens if all media drivers are modular: http://redhat.com/~mingo/misc/config-Wed_Apr_30_09_24_48_CEST_2008.bad In that case there's no obj-y rule connecting all the built-in.o files and the link tree breaks. The fix is to add a guaranteed obj-y rule for the core vmlinux to build. (which results in an empty object file if all media drivers are modular) Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 8e1bf9ffb1aca693e3cf4a4f7144c8f70c8a08b0 Merge: 148c69b... 12137c5... Author: Linus Torvalds Date: Thu May 8 10:50:34 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Wait for async events to finish before destroying QP IB/ipath: Fix SDMA error recovery in absence of link status change IB/ipath: Need to always request and handle PIO avail interrupts IB/ipath: Fix count of packets received by kernel IB/ipath: Return the correct opcode for RDMA WRITE with immediate IB/ipath: Fix bug that can leave sends disabled after freeze recovery IB/ipath: Only increment SSN if WQE is put on send queue IB/ipath: Only warn about prototype chip during init RDMA/cxgb3: Fix severe limit on userspace memory registration size RDMA/cxgb3: Don't add PBL memory to gen_pool in chunks commit 148c69b4b0ec267b08d3619651ae4a10a1768b04 Author: David Howells Date: Wed May 7 15:31:54 2008 +0100 MN10300: Make cpu_relax() invoke barrier() Make cpu_relax() invoke barrier() to be the same as other arches. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7a34912d90c17a90d9fad12c4c51833b4e70707b Merge: 0f1bce4... 75065ff... Author: Linus Torvalds Date: Thu May 8 10:48:36 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Revert "relay: fix splice problem" docbook: fix bio missing parameter block: use unitialized_var() in bio_alloc_bioset() block: avoid duplicate calls to get_part() in disk stat code cfq-iosched: make io priorities inherit CPU scheduling class as well as nice block: optimize generic_unplug_device() block: get rid of likely/unlikely predictions in merge logic vfs: splice remove_suid() cleanup cfq-iosched: fix RCU race in the cfq io_context destructor handling block: adjust tagging function queue bit locking block: sysfs store function needs to grab queue_lock and use queue_flag_*() commit 0f1bce41fed02e45f31c2409f29e69e1fedebcdc Merge: da1ba89... 9afadc4... Author: Linus Torvalds Date: Thu May 8 10:48:03 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix memory corruption when fs mounted with noadinicb option udf: Make udf exportable udf: fs/udf/partition.c:udf_get_pblock() mustn't be inline commit da1ba891f22835db9a2c349315c3763e9f4e4e67 Merge: 8b2cc91... 45e576b... Author: Linus Torvalds Date: Thu May 8 10:47:39 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] guest page hinting light [S390] tty3270: fix put_char fail/success conversion. [S390] compat ptrace cleanup [S390] s390mach compile warning [S390] cio: Fix parsing mechanism for blacklisted devices. [S390] cio: Remove cio_msg kernel parameter. [S390] s390-kvm: leave sie context on work. Removes preemption requirement [S390] s390: Optimize user and work TIF check commit 8b2cc917a02936c3ea7d8da46801c7b7b6233093 Author: Andrew Morton Date: Tue May 6 20:42:42 2008 -0700 drivers/scsi/dpt_i2o.c: fix build on alpha alpha: drivers/scsi/dpt_i2o.c:1997: error: implicit declaration of function 'adpt_alpha_info' drivers/scsi/dpt_i2o.c: At top level: drivers/scsi/dpt_i2o.c:2032: warning: conflicting types for 'adpt_alpha_info' drivers/scsi/dpt_i2o.c:2032: error: static declaration of 'adpt_alpha_info' follows non-static declaration drivers/scsi/dpt_i2o.c:1997: error: previous implicit declaration of 'adpt_alpha_info' was here Due to a copy-n-paste error in drivers/scsi/dpti.h. Fix that up and remove some of the many daft static-declarations-in-a-header which this driver enjoys. Cc: Miquel van Smoorenburg Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5be7a4792a31df6f2cd44bfba8da467ea20a0642 Author: Paul Menage Date: Tue May 6 20:42:41 2008 -0700 Fix cpuset sched_relax_domain_level control file Due to a merge conflict, the sched_relax_domain_level control file was marked as being handled by cpuset_read/write_u64, but the code to handle it was actually in cpuset_common_file_read/write. Since the value being written/read is in fact a signed integer, it should be treated as such; this patch adds cpuset_read/write_s64 functions, and uses them to handle the sched_relax_domain_level file. With this patch, the sched_relax_domain_level can be read and written, and the correct contents seen/updated. Signed-off-by: Paul Menage Cc: Hidetoshi Seto Cc: Paul Jackson Cc: Ingo Molnar Reviewed-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ea33e2dc2dab10960877e1649ee527c033f42c0 Author: Benjamin Herrenschmidt Date: Tue May 6 20:42:39 2008 -0700 slub: fix atomic usage in any_slab_objects() any_slab_objects() does an atomic_read on an atomic_long_t, this fixes it to use atomic_long_read instead. Signed-off-by: Benjamin Herrenschmidt Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba719baeabbff5476eeb91c223e6921ba29e1490 Author: Ulrich Drepper Date: Tue May 6 20:42:38 2008 -0700 sys_pipe(): fix file descriptor leaks Remember to close the files if copy_to_user() failed. Spotted by dm.n9107@gmail.com. Signed-off-by: Ulrich Drepper Cc: DM Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1236d31a1b9fc018b85e15a3e58e3601ddc90ae Author: Samuel Thibault Date: Tue May 6 20:42:37 2008 -0700 vt: fix canonical input in UTF-8 mode For e.g. proper TTY canonical support, IUTF8 termios flag has to be set as appropriate. Linux used to not care about setting that flag for VT TTYs. This patch fixes that by activating it according to the current mode of the VT, and sets the default value according to the vt.default_utf8 parameter. Signed-off-by: Samuel Thibault Cc: Willy Tarreau Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac7b77f13f2f33270276f88ad0f427e031552e04 Author: Mattia Dongili Date: Tue May 6 20:42:35 2008 -0700 usb/asix: add Buffalo LUA-U2-GT 10/100/1000 The USB net adapter Buffalo LUA-U2-GT (0411:006e) carries a AX88178 chip. Tested on the above HW. Signed-off-by: Mattia Dongili Acked-off-by: David Hollis Cc: Greg KH Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32fb3ca8fda036936053b4bbfbc6589626cb2437 Author: Andrew Morton Date: Tue May 6 20:42:35 2008 -0700 sx.c: fix printk warnings on sparc32 drivers/char/sx.c: In function 'sx_set_real_termios': drivers/char/sx.c:973: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'long unsigned int' drivers/char/sx.c:999: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'tcflag_t' drivers/char/sx.c:1012: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'tcflag_t' sparc32 seems to use weird types for its tty things. [ Fine by me but this is ancient debug and most of the debug in sx just wants deleting eventually. - Alan ] Signed-off-by: Andrew Morton Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 3168cb98be7199325de633052680098660ccaf84 Author: WANG Cong Date: Tue May 6 20:42:33 2008 -0700 uml: fix inconsistence due to tty_operation change 'put_char' of 'struct tty_operations' has changed from 'void' into 'int'. This can also shut up compiler warnings. Cc: Jeff Dike Signed-off-by: WANG Cong Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb6969e8cdef39e613b1755eff595f830b89bc82 Author: Harvey Harrison Date: Tue May 6 20:42:32 2008 -0700 misc: fix integer as NULL pointer warnings drivers/md/raid10.c:889:17: warning: Using plain integer as NULL pointer drivers/media/video/cx18/cx18-driver.c:616:12: warning: Using plain integer as NULL pointer sound/oss/kahlua.c:70:12: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Neil Brown Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8594303a7abc1a117b1d91412ce9b3d77ed35d02 Author: Steven Rostedt Date: Tue May 6 20:42:31 2008 -0700 fix irq flags for iuu_phoenix.c The file drivers/usb/serial/iuu_phoenix.c uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a0f4aea878315ba87cb8a4d0dddc67832218e3f Author: Steven Rostedt Date: Tue May 6 20:42:30 2008 -0700 fix irq flags in rtc-ds1511 The file in drivers/rtc/rtc-ds1551.c uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8b1ecf3d5c48ebde9fed61c7a682b2270e09d2b Author: Steven Rostedt Date: Tue May 6 20:42:29 2008 -0700 fix irq flags in saa7134 Some files in the drivers/media/video/saa7134 directory uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Acked-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1f2aa1be2f7a6883ba46faa53ed82595dee2a06 Author: Steven Rostedt Date: Tue May 6 20:42:28 2008 -0700 fix irq flags in mac80211 code A file in the net/mac80211 directory uses "int" for flags. This can cause hard to find bugs on some architectures. This patch converts the flags to use "long" instead. This bug was discovered by doing an allyesconfig make on the -rt kernel where checks are done to ensure all flags are of size sizeof(long). Signed-off-by: Steven Rostedt Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55d7b68996a5064f011d681bca412b6281d2f711 Author: Tetsuo Handa Date: Tue May 6 20:42:27 2008 -0700 serial: access after NULL check in uart_flush_buffer() I noticed that static void uart_flush_buffer(struct tty_struct *tty) { struct uart_state *state = tty->driver_data; struct uart_port *port = state->port; unsigned long flags; /* * This means you called this function _after_ the port was * closed. No cookie for you. */ if (!state || !state->info) { WARN_ON(1); return; } is too late for checking state != NULL. Signed-off-by: Tetsuo Handa Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f9827bc05581b6bb34ab0c6b5d8e028f71b4e78 Author: Samuel Thibault Date: Tue May 6 20:42:26 2008 -0700 Kconfig: improved help for CONFIG_ACCESSIBILITY Add a small explanation of what accessibility is. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc38e2ad53ca27968919dea6d7fa60575782d5a6 Author: Russell King Date: Thu May 8 16:50:39 2008 +0100 [ARM] pxa: Fix RCSR handling Related to d3930614e68bdf83a120d904c039a64e9f75dba1. RCSR is only present on PXA2xx CPUs, not on PXA3xx CPUs. Therefore, we should not be unconditionally writing to RCSR from generic code. Since we now clear the RCSR status from the SoC specific PXA PM code and before reset in the arch_reset() function, the duplication in the corgi, poodle, spitz and tosa code can be removed. Acked-by: Richard Purdie Signed-off-by: Russell King commit 4cf1043593db6a337f10e006c23c69e5fc93e722 Author: Mike Christie Date: Wed May 7 20:43:52 2008 -0500 [SCSI] libiscsi regression in 2.6.25: fix nop timer handling The following patch fixes a bug in the iscsi nop processing. The target sends iscsi nops to ping the initiator and the initiator has to send nops to reply and can send nops to ping the target. In 2.6.25 we moved the nop processing to the kernel to handle problems when the userspace daemon is not up, but the target is pinging us, and to handle when scsi commands timeout, but the transport may be the cause (we can send a nop to check the transport). When we added this code we added a bug where if the transport timer wakes at the exact same time we are supposed to check for a nop timeout we drop the session instead of checking the transport. This patch checks if a iscsi ping is outstanding and if the ping has timed out, to determine if we need to signal a connection problem. Signed-off-by: Mike Christie Cc: Stable Tree Signed-off-by: James Bottomley commit a85591fd0baf4ed3f03ee1aaac6a985e400cf089 Author: James Bottomley Date: Sun May 4 22:35:58 2008 -0500 [SCSI] gdth: fix Error: Driver 'gdth' is already registered, aborting... This message appears on modprobe/rmmod/modprobe of the driver. It's caused because if the driver has no instances, it returns an error from gdth_init, which causes the module to fail to load. Unfortunately, the module's pci driver is still registered at this point. Fix this by making gdth behave like a modern driver and insert even if it doesn't find any instances (in case of hot plug or software driven binding). Signed-off-by: James Bottomley commit 2d6f0d0cd94f9b8b24102300d8dd9cbbd1688826 Author: James Bottomley Date: Sun May 4 22:34:49 2008 -0500 [SCSI] gdth: fix timer handling The global timer handling is problematic in that if someone unbinds a PCI gdth instance, the BUG_ON() in the timer will cause a panic. Fix this by making the timer start and stop depending on whether there are instances present. This should also permit binding and unbinding to work. Signed-off-by: James Bottomley commit 46151122e0a2e80e5a6b2889f595e371fe2b600d Author: Mike Galbraith Date: Thu May 8 17:00:42 2008 +0200 sched: fix weight calculations The conversion between virtual and real time is as follows: dvt = rw/w * dt <=> dt = w/rw * dvt Since we want the fair sleeper granularity to be in real time, we actually need to do: dvt = - rw/w * l This bug could be related to the regression reported by Yanmin Zhang: | Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has lots | of regressions with 2.6.26-rc1: | | 1) 8-core stoakley: 28%; | 2) 16-core tigerton: 20%; | 3) Itanium Montvale: 50%. Reported-by: "Zhang, Yanmin" Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bf726eab3711cf192405d21688a4b21e07b6188a Author: Ingo Molnar Date: Thu May 8 11:53:48 2008 +0200 semaphore: fix Yanmin Zhang reported: | Comparing with kernel 2.6.25, AIM7 (use tmpfs) has more th | regression under 2.6.26-rc1 on my 8-core stoakley, 16-core tigerton, | and Itanium Montecito. Bisect located the patch below: | | 64ac24e738823161693bf791f87adc802cf529ff is first bad commit | commit 64ac24e738823161693bf791f87adc802cf529ff | Author: Matthew Wilcox | Date: Fri Mar 7 21:55:58 2008 -0500 | | Generic semaphore implementation | | After I manually reverted the patch against 2.6.26-rc1 while fixing | lots of conflicts/errors, aim7 regression became less than 2%. i reproduced the AIM7 workload and can confirm Yanmin's findings that -.26-rc1 regresses over .25 - by over 67% here. Looking at the workload i found and fixed what i believe to be the real bug causing the AIM7 regression: it was inefficient wakeup / scheduling / locking behavior of the new generic semaphore code, causing suboptimal performance. The problem comes from the following code. The new semaphore code does this on down(): spin_lock_irqsave(&sem->lock, flags); if (likely(sem->count > 0)) sem->count--; else __down(sem); spin_unlock_irqrestore(&sem->lock, flags); and this on up(): spin_lock_irqsave(&sem->lock, flags); if (likely(list_empty(&sem->wait_list))) sem->count++; else __up(sem); spin_unlock_irqrestore(&sem->lock, flags); where __up() does: list_del(&waiter->list); waiter->up = 1; wake_up_process(waiter->task); and where __down() does this in essence: list_add_tail(&waiter.list, &sem->wait_list); waiter.task = task; waiter.up = 0; for (;;) { [...] spin_unlock_irq(&sem->lock); timeout = schedule_timeout(timeout); spin_lock_irq(&sem->lock); if (waiter.up) return 0; } the fastpath looks good and obvious, but note the following property of the contended path: if there's a task on the ->wait_list, the up() of the current owner will "pass over" ownership to that waiting task, in a wake-one manner, via the waiter->up flag and by removing the waiter from the wait list. That is all and fine in principle, but as implemented in kernel/semaphore.c it also creates a nasty, hidden source of contention! The contention comes from the following property of the new semaphore code: the new owner owns the semaphore exclusively, even if it is not running yet. So if the old owner, even if just a few instructions later, does a down() [lock_kernel()] again, it will be blocked and will have to wait on the new owner to eventually be scheduled (possibly on another CPU)! Or if another task gets to lock_kernel() sooner than the "new owner" scheduled, it will be blocked unnecessarily and for a very long time when there are 2000 tasks running. I.e. the implementation of the new semaphores code does wake-one and lock ownership in a very restrictive way - it does not allow opportunistic re-locking of the lock at all and keeps the scheduler from picking task order intelligently. This kind of scheduling, with 2000 AIM7 processes running, creates awful cross-scheduling between those 2000 tasks, causes reduced parallelism, a throttled runqueue length and a lot of idle time. With increasing number of CPUs it causes an exponentially worse behavior in AIM7, as the chance for a newly woken new-owner task to actually run anytime soon is less and less likely. Note that it takes just a tiny bit of contention for the 'new-semaphore catastrophy' to happen: the wakeup latencies get added to whatever small contention there is, and quickly snowball out of control! I believe Yanmin's findings and numbers support this analysis too. The best fix for this problem is to use the same scheduling logic that the kernel/mutex.c code uses: keep the wake-one behavior (that is OK and wanted because we do not want to over-schedule), but also allow opportunistic locking of the lock even if a wakee is already "in flight". The patch below implements this new logic. With this patch applied the AIM7 regression is largely fixed on my quad testbox: # v2.6.25 vanilla: .................. Tasks Jobs/Min JTI Real CPU Jobs/sec/task 2000 56096.4 91 207.5 789.7 0.4675 2000 55894.4 94 208.2 792.7 0.4658 # v2.6.26-rc1-166-gc0a1811 vanilla: ................................... Tasks Jobs/Min JTI Real CPU Jobs/sec/task 2000 33230.6 83 350.3 784.5 0.2769 2000 31778.1 86 366.3 783.6 0.2648 # v2.6.26-rc1-166-gc0a1811 + semaphore-speedup: ............................................... Tasks Jobs/Min JTI Real CPU Jobs/sec/task 2000 55707.1 92 209.0 795.6 0.4642 2000 55704.4 96 209.0 796.0 0.4642 i.e. a 67% speedup. We are now back to within 1% of the v2.6.25 performance levels and have zero idle time during the test, as expected. Btw., interactivity also improved dramatically with the fix - for example console-switching became almost instantaneous during this workload (which after all is running 2000 tasks at once!), without the patch it was stuck for a minute at times. There's another nice side-effect of this speedup patch, the new generic semaphore code got even smaller: text data bss dec hex filename 1241 0 0 1241 4d9 semaphore.o.before 1207 0 0 1207 4b7 semaphore.o.after (because the waiter.up complication got removed.) Longer-term we should look into using the mutex code for the generic semaphore code as well - but i's not easy due to legacies and it's outside of the scope of v2.6.26 and outside the scope of this patch as well. Bisected-by: "Zhang, Yanmin" Signed-off-by: Ingo Molnar commit 8d4a4300854f3971502e81dacd930704cb88f606 Author: Thomas Gleixner Date: Thu May 8 09:18:43 2008 +0200 x86: cleanup PAT cpu validation Move the scattered checks for PAT support to a single function. Its moved to addon_cpuid_features.c as this file is shared between 32 and 64 bit. Remove the manipulation of the PAT feature bit and just disable PAT in the PAT layer, based on the PAT bit provided by the CPU and the current CPU version/model white list. Change the boot CPU check so it works on Voyager somewhere in the future as well :) Also panic, when a secondary has PAT disabled but the primary one has alrady switched to PAT. We have no way to undo that. The white list is kept for now to ensure that we can rely on known to work CPU types and concentrate on the software induced problems instead of fighthing CPU erratas and subtle wreckage caused by not yet verified CPUs. Once the PAT code has stabilized enough, we can remove the white list and open the can of worms. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cb3f43b22bbb5ddbf6ce3e2bac40ce6eba30aba0 Author: Andres Salomon Date: Wed May 7 13:07:38 2008 -0700 x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set We want drivers to be able to use geode_has_vsa2 without having to worry about what model geode is being compiled for. This patch ensures that geode_has_vsa2 is always defined. Signed-off-by: Andres Salomon Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 547acec7ecc32b14c2740de3f32ce7d1b36a0f69 Author: Andres Salomon Date: Wed May 7 13:07:37 2008 -0700 x86: GEODE: cache results from geode_has_vsa2() and uninline This moves geode_has_vsa2 into a .c file, caches the result we get from the VSA virtual registers, and causes the function to no longer be inline. [akpm@linux-foundation.org: cleanup] Signed-off-by: Andres Salomon Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ac44cc96fbc8f44c056fa37573e8447eec512b10 Author: Thomas Gleixner Date: Thu May 8 13:58:01 2008 +0200 x86: revert geode config dependency commit e26a28d190304d910ee49b81cbfe6d9241f56e86 x86: olpc build fix was a fix to a patch that was withdrawn/delayed and then erroneously commited to x86.git. Revert it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75065ff619e42fe35178eda863cbcddd57776794 Author: Jens Axboe Date: Thu May 8 14:06:19 2008 +0200 Revert "relay: fix splice problem" This reverts commit c3270e577c18b3d0e984c3371493205a4807db9d. commit e3a2efa67a029453b8098dba179ec2d9d8df612e Author: Patrik Sevallius Date: Thu May 8 14:04:08 2008 +0200 [ALSA] soc at91 minor bug fixes Found these two bugs while browsing through the code. The first one is a cut-n-paste bug, instead of disabling the clock when request_irq() fails, it enabled it once more. The second one fixes a debug printout, AT91_SSC_IER is write only, AT91_SSC_IMR is readable (the printed string actually says imr). Frank Mandarino was busy so he asked me to send these to this list. /Patrik Signed-off-by: Patrik Sevallius Acked-by: Frank Mandarino Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 30a717f7e951ec0260f31c0637ecf8e6268ba607 Author: Mark Brown Date: Thu May 8 14:03:30 2008 +0200 [ALSA] soc - at91-pcm - Fix line wrapping There's more checkpatch stuff to fix in the driver, this just fixes the minimum required for the following patch to be clean. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit ffebabe0bf0de9ee500d4605d6acb71e1ee3b79f Author: Alexey Dobriyan Date: Thu May 8 10:58:39 2008 +0100 [ARM] lubbock: fix compilation arch/arm/mach-pxa/lubbock.c:399: error: expected '}' before ';' token Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Russell King commit e46b66bc42b6b1430b04cc5c207ecb2b2f4553dc Author: Ben Hutchings Date: Thu May 8 02:53:17 2008 -0700 net: Added ASSERT_RTNL() to dev_open() and dev_close(). dev_open() and dev_close() must be called holding the RTNL, since they call device functions and netdevice notifiers that are promised the RTNL. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c2ab7ac225e29006b7117d6a9fe8f3be8d98b0c2 Author: Oliver Hartkopp Date: Thu May 8 02:49:55 2008 -0700 can: Fix can_send() handling on dev_queue_xmit() failures The tx packet counting and the local loopback of CAN frames should only happen in the case that the CAN frame has been enqueued to the netdevice tx queue successfully. Thanks to Andre Naujoks for reporting this issue. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 33f9936b2b73dba6c8685994c441c4fd30b04814 Merge: aca5139... f227ec3... Author: David S. Miller Date: Thu May 8 02:35:54 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit aca51397d01474f80cab8fc978559b45f2e453ad Author: Pavel Emelyanov Date: Thu May 8 01:24:25 2008 -0700 netns: Fix arbitrary net_device-s corruptions on net_ns stop. When a net namespace is destroyed, some devices (those, not killed on ns stop explicitly) are moved back to init_net. The problem, is that this net_ns change has one point of failure - the __dev_alloc_name() may be called if a name collision occurs (and this is easy to trigger). This allocator performs a likely-to-fail GFP_ATOMIC allocation to find a suitable number. Other possible conditions that may cause error (for device being ns local or not registered) are always false in this case. So, when this call fails, the device is unregistered. But this is *not* the right thing to do, since after this the device may be released (and kfree-ed) improperly. E. g. bridges require more actions (sysfs update, timer disarming, etc.), some other devices want to remove their private areas from lists, etc. I. e. arbitrary use-after-free cases may occur. The proposed fix is the following: since the only reason for the dev_change_net_namespace to fail is the name generation, we may give it a unique fall-back name w/o %d-s in it - the dev one, since ifindexes are still unique. So make this change, raise the failure-case printk loglevel to EMERG and replace the unregister_netdevice call with BUG(). [ Use snprintf() -DaveM ] Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f3261aff35cbc811fee0e23eaea277f1b7286eca Author: Patrick McHardy Date: Thu May 8 01:16:04 2008 -0700 netfilter: Kconfig: default DCCP/SCTP conntrack support to the protocol config values When conntrack and DCCP/SCTP protocols are enabled, chances are good that people also want DCCP/SCTP conntrack and NAT support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef75d49f116bccbb80bccd423ecf3cb86c4509a5 Author: Patrick McHardy Date: Thu May 8 01:15:21 2008 -0700 netfilter: nf_conntrack_sip: restrict RTP expect flushing on error to last request Some Inovaphone PBXs exhibit very stange behaviour: when dialing for example "123", the device sends INVITE requests for "1", "12" and "123" back to back. The first requests will elicit error responses from the receiver, causing the SIP helper to flush the RTP expectations even though we might still see a positive response. Note the sequence number of the last INVITE request that contained a media description and only flush the expectations when receiving a negative response for that sequence number. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7312096454b6cd71267eaa3d0efb408e449e9ff3 Author: Patrick McHardy Date: Thu May 8 01:13:31 2008 -0700 macvlan: Fix memleak on device removal/crash on module removal As noticed by Ben Greear, macvlan crashes the kernel when unloading the module. The reason is that it tries to clean up the macvlan_port pointer on the macvlan device itself instead of the underlying device. A non-NULL pointer is taken as indication that the macvlan_handle_frame_hook is valid, when receiving the next packet on the underlying device it tries to call the NULL hook and crashes. Clean up the macvlan_port on the correct device to fix this. Signed-off-by; Patrick McHardy Tested-by: Ben Greear Signed-off-by: David S. Miller commit c67fa02799bccca3d2e16582493da6d57812ec01 Author: J.H.M. Dassen (Ray) Date: Thu May 8 01:11:04 2008 -0700 net/ipv4: correct RFC 1122 section reference in comment RFC 1122 does not have a section 3.1.2.2. The requirement to silently discard datagrams with a bad checksum is in section 3.2.1.2 instead. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10611 Signed-off-by: J.H.M. Dassen (Ray) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 62ab22278308a40bcb7f4079e9719ab8b7fe11b5 Author: Ilpo Järvinen Date: Thu May 8 01:09:11 2008 -0700 tcp FRTO: SACK variant is errorneously used with NewReno Note: there's actually another bug in FRTO's SACK variant, which is the causing failure in NewReno case because of the error that's fixed here. I'll fix the SACK case separately (it's a separate bug really, though related, but in order to fix that I need to audit tp->snd_nxt usage a bit). There were two places where SACK variant of FRTO is getting incorrectly used even if SACK wasn't negotiated by the TCP flow. This leads to incorrect setting of frto_highmark with NewReno if a previous recovery was interrupted by another RTO. An eventual fallback to conventional recovery then incorrectly considers one or couple of segments as forward transmissions though they weren't, which then are not LOST marked during fallback making them "non-retransmittable" until the next RTO. In a bad case, those segments are really lost and are the only one left in the window. Thus TCP needs another RTO to continue. The next FRTO, however, could again repeat the same events making the progress of the TCP flow extremely slow. In order for these events to occur at all, FRTO must occur again in FRTOs step 3 while the key segments must be lost as well, which is not too likely in practice. It seems to most frequently with some small devices such as network printers that *seem* to accept TCP segments only in-order. In cases were key segments weren't lost, things get automatically resolved because those wrongly marked segments don't need to be retransmitted in order to continue. I found a reproducer after digging up relevant reports (few reports in total, none at netdev or lkml I know of), some cases seemed to indicate middlebox issues which seems now to be a false assumption some people had made. Bugzilla #10063 _might_ be related. Damon L. Chesser had a reproducable case and was kind enough to tcpdump it for me. With the tcpdump log it was quite trivial to figure out. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 02539d71fa98d5737bb668b02286c76241e4bac9 Author: Christoph Hellwig Date: Thu May 8 15:29:12 2008 +1000 [POWERPC] spufs: lockdep annotations for spufs_dir_close We need to acquire the parent i_mutex with I_MUTEX_PARENT to keep lockdep happy. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr commit 7a28a1549f9514f3b0dd3dde5c7337ba5d44fba3 Author: Christoph Hellwig Date: Thu May 8 15:26:32 2008 +1000 [POWERPC] spufs: don't requeue victim contex in find_victim if it's not in spu_run We should not requeue the victim context in find_victim if the owner is not in spu_run. It's first not needed because leaving the context on the spu is an optimization and second is harmful because it means the owner could re-enter spu_run when the context is on the runqueue and trip the BUG_ON in __spu_update_sched_info. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr commit 1e0f50ae11ab5838009994a3266accc1319c90d9 Author: Paul Mundt Date: Thu May 8 13:40:17 2008 +0900 sh: Stub in cpu_to_node() and friends for NUMA build. Signed-off-by: Paul Mundt commit 4370fe1c06ffa251b63b12a41e2599037a4b7f87 Author: Magnus Damm Date: Thu Apr 24 21:53:07 2008 +0900 sh: intc register modify fix Make sure register modifications stay atomic. Fixes processors with shared priority register masking. Dual bitmap masking is unaffected. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 720be99006c5830970d5b62633c92b29e4cef137 Author: Magnus Damm Date: Thu Apr 24 21:47:15 2008 +0900 sh: no high level trigger on some sh3 cpus The processor models sh7706, sh7707 and sh7709 don't support high level trigger sense configuration. And the intc code looks like crap these days so what's the difference. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 995d538a5b09e3c129d8aac559f07a0f5cc3fc3c Author: Magnus Damm Date: Thu Apr 24 21:41:12 2008 +0900 sh: clean up sh7710 and sh7720 intc tables Clean up the intc tables by removing unneeded #ifdefs. The vector list is what selects which interrupt sources that should be added, having unsupported bitfields listed is ok as long as the vector is excluded from the list. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d58876e289b0153bf86162aa1a43249e0f0aa03d Author: Magnus Damm Date: Thu Apr 24 21:36:34 2008 +0900 sh: add interrupt ack code to sh3 This patch adds interrupt acknowledge code for external interrupt sources on sh3 processors. Only really required for edge triggered interrupts, but we ack regardless of sense configuration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a276e588a92737889c21e736f2bbed8aecda25fb Author: Magnus Damm Date: Thu Apr 24 21:30:09 2008 +0900 sh: unify external irq pin code for sh3 This patch unifies the sh3 external irq pin code. It buys us some savings with reduced code redundancy, but the main feature with this change is irq sense selection support for all sh3 processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d2c2f3ef7c5425d23424326a2345c385bb2d415 Author: Magnus Damm Date: Wed Apr 23 21:37:39 2008 +0900 sh-sci: avoid writing to nonexistent registers Only write to hardware in SCI_OUT() if the register size is valid. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9b4e466f93c6b614d05139d84a930a55fe4cd781 Author: Magnus Damm Date: Wed Apr 23 21:31:14 2008 +0900 sh-sci: sh7722 lacks scsptr registers The sh7722 serial ports all lack SCSPTR registers, so mark them as nonexistent in the register table. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 346b746300f470bb4a72b66275d6a43987c5dfa6 Author: Magnus Damm Date: Wed Apr 23 21:25:29 2008 +0900 sh-sci: improve sh7722 support Improve sh7722 support for SCIF1 and SCIF2 and separate code from sh7366 implementation. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 191d4437b9c028afee1a0568d9c7e6e0b264c703 Author: Magnus Damm Date: Wed Apr 23 21:16:06 2008 +0900 sh: reset hardware from early printk Reset the transmitter and receiver when setting up early printk. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4a65e3827bcff072e5f4a96b3f73f9f17eb7d6d8 Author: Magnus Damm Date: Wed Apr 23 21:05:11 2008 +0900 sh: drain and wait for early printk Drain by waiting for all characters to be sent, and make sure to wait a little bit after setting up the baud rate. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0fba32136579648a5782a41e93d4a79547456a89 Author: Magnus Damm Date: Wed Apr 23 21:00:54 2008 +0900 sh: use sci_out() for early printk Use sci_out() instead of ctrl_outw() for early printk setup code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0146ba78b9339c27ed12545f9bdc208604354bb3 Author: Magnus Damm Date: Wed Apr 23 20:56:44 2008 +0900 sh: add memory resources to /proc/iomem Add physical memory resources such as System RAM, Kernel code/data/bss and reserved crash dump area to /proc/iomem. Same strategy as on x86. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d83984e99d80672b1d2e3c7dfdd393631883428 Author: Magnus Damm Date: Wed Apr 23 20:50:27 2008 +0900 sh: add kernel bss resource Do like everyone else and have a struct resource for kernel bss. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 65c07d4b3d919ec4a9a95cf576b0685bd382cdf3 Author: Magnus Damm Date: Wed Apr 23 20:24:52 2008 +0900 sh: fix sh7705 interrupt vector typo Fix sh7705 interrupt sources for vectors 0xc80 and 0xca0. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 57b84f2b674228e61d7e7b05493aa819244a7b56 Author: Magnus Damm Date: Wed Apr 23 20:18:04 2008 +0900 sh: update smc91x platform data for se7722 Select smc91x bus width using platform data for se7722 now when the smc91x header file is in place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8a3ee0fc8fe3a7ad89997619ceed555288cf8366 Author: Magnus Damm Date: Wed Apr 23 20:13:59 2008 +0900 sh: update smc91x platform data for MigoR Select smc91x bus width and irg flags using platform data for MigoR now when the smc91x header file is in place. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8cd9612e9b56222cf8d851153df7060de2b36273 Author: Mathieu Desnoyers Date: Fri Apr 25 18:01:17 2008 +0900 sh: remove -traditional. Signed-off-by: Mathieu Desnoyers CC: Sam Ravnborg CC: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit 0305794c7a86f1b25281fb9109b76fc4578f6038 Author: Paul Mundt Date: Fri Apr 25 17:58:42 2008 +0900 rtc: rtc-sh: Fixup for 64-bit resources. ioremap() and friends get the size information right, so force everything to go through there. Signed-off-by: Paul Mundt commit ae8a5348acaefc5cb1f60199ded30900d445c986 Author: Paul Mundt Date: Fri Apr 25 17:58:21 2008 +0900 sh: r7780rp: Kill off unneded ifdefs for irq setup. Signed-off-by: Paul Mundt commit e305ec80eae8c1ea117d4a39e58181643d382a52 Author: Paul Mundt Date: Fri Apr 25 16:10:53 2008 +0900 sh: rts7751r2d: Kill off unneeded ifdefs. Signed-off-by: Paul Mundt commit a1dc4b59fa4af97ae68ee214d4d72bbd7c7ec1dc Author: Paul Mundt Date: Fri Apr 25 16:08:37 2008 +0900 sh: intc_sh5 depends on cayman board for IRQ priority table. Signed-off-by: Paul Mundt commit 105eabfd5164dac5c3c825ae6bc050c1ad45ca51 Author: Paul Mundt Date: Fri Apr 25 16:07:53 2008 +0900 input: i8042: sh64 IRQ definitions depend on cayman board. Signed-off-by: Paul Mundt commit 85f094ecb1c52b9ec9a88c9d2c8beaba72b4f21f Author: Paul Mundt Date: Fri Apr 25 16:04:20 2008 +0900 sh: Enable use of the clk fwk on SH-5. Signed-off-by: Paul Mundt commit 5e2c2872bd481ee20758d7cf4860f4ad1cefff98 Author: Paul Mundt Date: Fri Apr 25 16:03:21 2008 +0900 sh64: export onchip_remap/unmap() too. Signed-off-by: Paul Mundt commit 971ac16d56301c7150771409607846f9facc2f13 Author: Paul Mundt Date: Fri Apr 25 16:01:38 2008 +0900 sh64: Some symbol exports to make the allmodconfig happier. Signed-off-by: Paul Mundt commit e35e283fa065f4c420d9469b2d87ec2e0180b784 Author: Paul Mundt Date: Fri Apr 25 14:27:08 2008 +0900 mtd: solutionengine flash map depends on solution engine mach group. Signed-off-by: Paul Mundt commit f5f826c685464301e4316a9321eb95801c653158 Author: Adrian Bunk Date: Mon Mar 31 01:40:17 2008 +0300 sh: remove the broken SH_MPC1211 support SH_MPC1211 has been marked as BROKEN for some time. Unless someone is working on reviving it now, I'd therefore suggest this patch to remove it. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit 2a6b8148c050941dd61779cb0b49c5c3ea854ebf Author: Paul Mundt Date: Fri Apr 25 13:05:17 2008 +0900 sh64: Setup I/D-TLB defaults in SH-5 probe path. Signed-off-by: Paul Mundt commit 640f7487a919dec4ea98b88a050331f6a4044ea9 Author: Paul Mundt Date: Fri Apr 25 13:04:56 2008 +0900 sh: kexec and kdump depend on SUPERH32. Signed-off-by: Paul Mundt commit 824fcdded0591b879dc0d5c1873c168ca4bf6fae Author: Paul Mundt Date: Fri Apr 25 12:59:09 2008 +0900 sh64: Fix up compile warning in event tracer. Signed-off-by: Paul Mundt commit ccd805874198c248498b5f269656ec14397eeede Author: Paul Mundt Date: Fri Apr 25 12:58:40 2008 +0900 sh64: Fixup the nommu build. Signed-off-by: Paul Mundt commit 9141d30a480850d989fc245909b98670a7b66ec1 Author: Paul Mundt Date: Fri Apr 25 11:54:24 2008 +0900 sh64: fixups for xtime_lock seqlock conversion. Signed-off-by: Paul Mundt commit 1a013e2ffc1154ce8ee7076385d83c574066d83c Author: Paul Mundt Date: Fri Apr 25 11:54:06 2008 +0900 sh: sh-bios depends on SUPERH32. Signed-off-by: Paul Mundt commit dc5dc7e6d71ca9fd1ea01a1418150af3b2937489 Author: David S. Miller Date: Wed May 7 18:54:05 2008 -0700 sparc: Fix SA_ONSTACK signal handling. We need to be more liberal about the alignment of the buffer given to us by sigaltstack(). The user should not need to be mindful of all of the alignment constraints we have for the stack frame. This mirrors how we handle this situation in clone() as well. Also, we align the stack even in non-SA_ONSTACK cases so that signals due to bad stack alignment can be delivered properly. This makes such errors easier to debug and recover from. Finally, add the sanity check x86 has to make sure we won't overflow the signal stack. This fixes glibc testcases nptl/tst-cancel20.c and nptl/tst-cancelx20.c Signed-off-by: David S. Miller commit 3de2403e6659d71b36ec820dc9b942762ddfe6eb Merge: e0164af... 1e38c12... Author: Linus Torvalds Date: Wed May 7 17:04:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Fix fork/clone/vfork system call restart. sparc: Fix mmap VA span checking. commit 1e38c126c9252b612697e34f43b1b3371c8ee31d Author: David S. Miller Date: Wed May 7 16:21:28 2008 -0700 sparc: Fix fork/clone/vfork system call restart. We clobber %i1 as well as %i0 for these system calls, because they give two return values. Therefore, on error, we have to restore %i1 properly or else the restart explodes since it uses the wrong arguments. This fixes glibc's nptl/tst-eintr1.c testcase. Signed-off-by: David S. Miller commit e0164af66b6ec165836d1d862b3f800890713452 Author: Auke Kok Date: Wed May 7 13:42:33 2008 -0700 [MAINTAINERS] New maintainer for Intel ethernet adapters I'm handing over maintainership to Jeff Kirsher and moving on to other Linux/Open Source work within Intel. Good luck to Jeff ;) Signed-off-by: Auke Kok Signed-off-by: Linus Torvalds commit d9cadb0d2ffed847851945a66e80d0b9d767611c Merge: 592eb99... 21f20b6... Author: Russell King Date: Wed May 7 21:54:02 2008 +0100 Merge branch 'irq-fix' of git://www.modarm9.com/gitsrc/pub/people/ukleinek/linux-2.6.git commit 592eb9997dc89cd0c8f89a505e5348bbddce70f6 Author: Robert Jarzmik Date: Wed May 7 20:39:06 2008 +0100 [ARM] 5032/1: Added cpufreq support for pxa27x CPU PXA cpus maximum frequency depends on the cpu (624 for pxa270, 520 for pxa272, 416 for pxa271). It should be provided on kernel or module start (cpu-pxa pxa27x_maxfreq parameter). Make use of cpufreq_frequency_table_cpuinfo (patch by Bill Reese provided by Philipp Zabel). Some additionnal fixes from Philipp Zabel include : * rename PXA cpufreq driver to reflect added PXA27x support * remove unused variable ramstart from PXA cpufreq driver Signed-off-by: Philipp Zabel Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit 3679389b880a318f9b9cfebab5714443796f2f71 Author: Robert Jarzmik Date: Wed May 7 20:36:34 2008 +0100 [ARM] 5031/1: Indentation correction in cpu-pxa.c. These indentation corrections prepare the pxa27x support. Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit ebdf982aaeb0005d5093b10872adce17ea12f5ba Author: Guennadi Liakhovetski Date: Mon May 5 15:31:44 2008 +0100 [ARM] 5028/1: pxafb: fix broken "backward compatibility way" in framebuffer configuration Commit 84f43c308b73a6a12128288721a1007ba4f1a8da "pxafb: introduce register independent LCD connection type for pxafb" implements compatibility mode for old style pxafb_mach_info initialization data wrongly, causing the system to Oops repeatedly - first during probe, then when drawing. Fix it and make pxafb_decode_mach_info void. Signed-off-by: Guennadi Liakhovetski Acked-by: Eric Miao Signed-off-by: Russell King commit bdd0f5f06e7647b545bec3ead2fa2a5fcdf0f0f9 Author: Davide Rizzo Date: Sat May 3 07:53:14 2008 +0100 [ARM] 4882/2: Correction for S3C2410 clkout generation This is a correction for 2 small bugs for the Samsung S3C2410 ARM9 SoC clocks generator Signed-off-by: Davide Rizzo Acked-by: Ben Dooks Signed-off-by: Russell King commit 12137c593d127c6c1a3eb050674da047682badaf Author: Stefan Roscher Date: Wed May 7 11:35:06 2008 -0700 IB/ehca: Wait for async events to finish before destroying QP This is necessary because, in a multicore environment, a race between uverbs async handler and destroy QP could occur. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit ab69b3cf1219e0d07bb4ea373f36b1de38af531c Author: John Gregor Date: Wed May 7 11:01:10 2008 -0700 IB/ipath: Fix SDMA error recovery in absence of link status change What's fixed: in ipath_cancel_sends() We need to unconditionally set ABORTING. So, swap the tests so the set_bit() isn't shadowed by the &&. If we've disarmed the piobufs, then we need to unconditionally set DISARMED. So, move it out from the overly protective if at the bottom. in sdma_abort_task() Abort_task was written knowing that the SDMA engine would always be reset (and restarted) on error. A recent change broke that fundamental assumption by taking the restart portion and making it conditional on a link status change. But, SDMA can go boom without a link status change in some conditions. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit e2ab41cae418108f376ad1634d7507f56379f7a2 Author: Dave Olson Date: Wed May 7 11:00:15 2008 -0700 IB/ipath: Need to always request and handle PIO avail interrupts Now that we always use PIO for vl15 on 7220, we could get stuck forever if we happened to run out of PIO buffers from the verbs code, because the setup code wouldn't run; the interrupt was also ignored if SDMA was supported. We also have to reduce the pio update threshold if we have fewer kernel buffers than the existing threshold. Clean up the initialization a bit to get ordering safer and more sensible, and use the existing ipath_chg_kernavail call to do init, rather than doing it separately. Drop unnecessary clearing of pio buffer on pio parity error. Drop incorrect updating of pioavailshadow when exitting freeze mode (software state may not match chip state if buffer has been allocated and not yet written). If we couldn't get a kernel buffer for a while, make sure we are in sync with hardware, mainly to handle the exitting freeze case. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 2889d1ef1240591fa4c72a6753e0a8d1c6e18140 Author: Michael Albaugh Date: Wed May 7 10:59:23 2008 -0700 IB/ipath: Fix count of packets received by kernel The loop in ipath_kreceive() that processes packets increments the loop-index 'i' once too often, because the exit condition does not depend on it, and is checked after the increment. By adding a check for !last to the iterator in the for loop, we correct that in a way that is not so likely to be re-broken by changes in the loop body. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 2bfc8e9edf200aeeca18ee44bcbf6bce65438a42 Author: Ralph Campbell Date: Wed May 7 10:58:50 2008 -0700 IB/ipath: Return the correct opcode for RDMA WRITE with immediate This patch fixes a bug in the RC responder which generates a completion entry with the wrong opcode when an RDMA WRITE with immediate is received. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit b4d390d8d219452e5d4257c87134a6934d7fabeb Author: Dave Olson Date: Wed May 7 10:57:48 2008 -0700 IB/ipath: Fix bug that can leave sends disabled after freeze recovery The semantics of cancel_sends changed, but the code using it was missed. Don't leave sends and pioavail updates disabled, and add a comment as to why the force update is needed. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 6e87d1500713767866db0668bbcec75719576f3c Author: Ralph Campbell Date: Wed May 7 10:57:14 2008 -0700 IB/ipath: Only increment SSN if WQE is put on send queue If a send work request has immediate errors and is not put on the send queue, we shouldn't update any of the QP state. The increment of the SSN wasn't obeying this. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 5f51efc195dfb860c60fafb4e47fe4b7cad2626d Author: Michael Albaugh Date: Wed May 7 10:56:47 2008 -0700 IB/ipath: Only warn about prototype chip during init We warn about prototype chips, but the function that checks for support is also called as a result of a get_portinfo request, which can clutter the logs. Restrict warning to only appear during initialization. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit ffee0259c9edcc4c0f06b60df51c461eeecad4c0 Author: Randy Dunlap Date: Wed Apr 30 09:08:54 2008 +0200 docbook: fix bio missing parameter Fix fs/bio.c kernel-doc parameter warning: Warning(linux-2.6.25-git14//fs/bio.c:972): No description found for parameter 'reading' Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 67412f0e78dfbbbcb36e631d9df70c6c559d60d4 Author: Herbert Xu Date: Tue May 6 20:46:49 2008 +0800 [CRYPTO] hmac: Avoid calling virt_to_page on key When HMAC gets a key longer than the block size of the hash, it needs to feed it as input to the hash to reduce it to a fixed length. As it is HMAC converts the key to a scatter and gather list. However, this doesn't work on certain platforms if the key is not allocated via kmalloc. For example, the keys from tcrypt are stored in the rodata section and this causes it to fail with HMAC on x86-64. This patch fixes this by copying the key to memory obtained via kmalloc before hashing it. Signed-off-by: Herbert Xu commit eeae1d48c011839d9e1cdc1e8aacf0193c9d8197 Author: Jens Axboe Date: Wed May 7 13:26:27 2008 +0200 block: use unitialized_var() in bio_alloc_bioset() Better than setting idx to some random value and it silences the same bogus gcc warning. Signed-off-by: Jens Axboe commit e5e1d3cb20034a3cbcfff1f0bae12201aa2ce17e Author: Stas Sergeev Date: Wed May 7 12:39:56 2008 +0200 pcspkr: fix dependancies fix pcspkr dependancies: make the pcspkr platform drivers to depend on a platform device, and not the other way around. Signed-off-by: Stas Sergeev Acked-by: Thomas Gleixner Acked-by: Dmitry Torokhov CC: Vojtech Pavlik CC: Michael Opdenacker [fixed for 2.6.26-rc1 by tiwai] Signed-off-by: Takashi Iwai commit 5816339310b2d9623cf413d33e538b45e815da5d Author: David S. Miller Date: Wed May 7 02:24:28 2008 -0700 sparc: Fix mmap VA span checking. We should not conditionalize VA range checks on MAP_FIXED. Signed-off-by: David S. Miller commit 28f13702f03e527fcb979747a882cf366c489c50 Author: Jens Axboe Date: Wed May 7 10:15:46 2008 +0200 block: avoid duplicate calls to get_part() in disk stat code get_part() is fairly expensive, as it O(N) loops over partitions to find the right one. In lots of normal IO paths we end up looking up the partition twice, to make matters even worse. Change the stat add code to accept a passed in partition instead. Signed-off-by: Jens Axboe commit 6d63c275572d1e6f00d4fa154f16fbb0d8c2d2bf Author: Jens Axboe Date: Wed May 7 09:51:23 2008 +0200 cfq-iosched: make io priorities inherit CPU scheduling class as well as nice We currently set all processes to the best-effort scheduling class, regardless of what CPU scheduling class they belong to. Improve that so that we correctly track idle and rt scheduling classes as well. Signed-off-by: Jens Axboe commit 9afadc4b1fd25337003832c9a4668f9bd42cdda9 Author: Jan Kara Date: Tue May 6 18:26:17 2008 +0200 udf: Fix memory corruption when fs mounted with noadinicb option When UDF filesystem is mounted with noadinicb mount option, it happens that we extend an empty directory with a block. A code in udf_add_entry() didn't count with this possibility and used uninitialized data leading to memory and filesystem corruption. Add a check whether file already has some extents before operating on them. Signed-off-by: Jan Kara commit 221e583a735fc5d879d83c2a76b8ee5afcbdf146 Author: Rasmus Rohde Date: Wed Apr 30 17:22:06 2008 +0200 udf: Make udf exportable Cc: Christoph Hellwig Signed-off-by: Rasmus Rohde Signed-off-by: Jan Kara commit dbaf2c003e151ad9231778819b0977f95e20e06f Author: Jens Axboe Date: Wed May 7 09:48:17 2008 +0200 block: optimize generic_unplug_device() Original patch from Mikulas Patocka Mike Anderson was doing an OLTP benchmark on a computer with 48 physical disks mapped to one logical device via device mapper. He found that there was a slowdown on request_queue->lock in function generic_unplug_device. The slowdown is caused by the fact that when some code calls unplug on the device mapper, device mapper calls unplug on all physical disks. These unplug calls take the lock, find that the queue is already unplugged, release the lock and exit. With the below patch, performance of the benchmark was increased by 18% (the whole OLTP application, not just block layer microbenchmarks). So I'm submitting this patch for upstream. I think the patch is correct, because when more threads call simultaneously plug and unplug, it is unspecified, if the queue is or isn't plugged (so the patch can't make this worse). And the caller that plugged the queue should unplug it anyway. (if it doesn't, there's 3ms timeout). Signed-off-by: Mikulas Patocka Signed-off-by: Jens Axboe commit 2cdf79cafbd11580f5b63cd4993b45c1c4952415 Author: Jens Axboe Date: Wed May 7 09:33:55 2008 +0200 block: get rid of likely/unlikely predictions in merge logic They tend to depend a lot on the workload, so not a clear-cut likely or unlikely fit. Signed-off-by: Jens Axboe commit 7f3d4ee108c184ab215036051087aaaaa8de7661 Author: Miklos Szeredi Date: Wed May 7 09:22:39 2008 +0200 vfs: splice remove_suid() cleanup generic_file_splice_write() duplicates remove_suid() just because it doesn't hold i_mutex. But it grabs i_mutex inside splice_from_pipe() anyway, so this is rather pointless. Move locking to generic_file_splice_write() and call remove_suid() and __splice_from_pipe() instead. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 07416d29bcf608257f1e5280642dcbe0021518a3 Author: Jens Axboe Date: Wed May 7 09:17:12 2008 +0200 cfq-iosched: fix RCU race in the cfq io_context destructor handling put_io_context() drops the RCU read lock before calling into cfq_dtor(), however we need to hold off freeing there before grabbing and dereferencing the first object on the list. So extend the rcu_read_lock() scope to cover the calling of cfq_dtor(), and optimize cfq_free_io_context() to use a new variant for call_for_each_cic() that assumes the RCU read lock is already held. Hit in the wild by Alexey Dobriyan Signed-off-by: Jens Axboe commit aa94b5371f6f898558d9fa5690cc6e4bf917a572 Author: Jens Axboe Date: Wed May 7 09:27:43 2008 +0200 block: adjust tagging function queue bit locking For most initialization purposes, calling blk_queue_init_tags() without the queue lock held is OK. Only if called for resizing an existing map must the lock be held. Ditto for tag cleanup, the maps are reference counted. So switch the general queue flag setting to the unlocked variant, but retain the locked variant for resizing. Signed-off-by: Jens Axboe commit 45e576b1c3d0020607b8666c0247164e92c7d719 Author: Martin Schwidefsky Date: Wed May 7 09:22:59 2008 +0200 [S390] guest page hinting light Use the existing arch_alloc_page/arch_free_page callbacks to do the guest page state transitions between stable and unused. Acked-by: Rik van Riel Signed-off-by: Martin Schwidefsky commit 74c76c84576eb2d806f40f6cb2fc8302c01869d8 Author: Heiko Carstens Date: Wed May 7 09:22:58 2008 +0200 [S390] tty3270: fix put_char fail/success conversion. The wrong function got coverted ;) CC drivers/s390/char/tty3270.o drivers/s390/char/tty3270.c:1747: warning: initialization from incompatible pointer type Acked-by: Alan Cox Cc: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b499d76bfd78e900039155247e1c21bfdf807b7b Author: Roland McGrath Date: Wed May 7 09:22:57 2008 +0200 [S390] compat ptrace cleanup This removes redundant arch code for generic ptrace requests already handled by ptrace_request and compat_ptrace_request. It simplifies things to just have the standard entry points, and use the generic compat_sys_ptrace. Signed-off-by: Roland McGrath Signed-off-by: Martin Schwidefsky commit c6ca1850e78d60c299ceb4c240a04af9e2384f70 Author: Martin Schwidefsky Date: Wed May 7 09:22:56 2008 +0200 [S390] s390mach compile warning Fix the following compile warning: drivers/s390/s390mach.c: In function 's390_collect_crw_info': drivers/s390/s390mach.c:77: warning: ignoring return value of 'down_interruptibl Signed-off-by: Martin Schwidefsky commit 5b8909871b80a6cc2bd21aa5262c1424e3d26339 Author: Michael Ernst Date: Wed May 7 09:22:55 2008 +0200 [S390] cio: Fix parsing mechanism for blacklisted devices. New format cssid.ssid.devno is now parsed correctly. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 139b83dd57248a3c8fcfb256e562311ad61478e9 Author: Michael Ernst Date: Wed May 7 09:22:54 2008 +0200 [S390] cio: Remove cio_msg kernel parameter. The only sporadically used CIO_DEBUG messages are replaced by ordinary CIO_MSG_EVENT messages. The CIO_MSG_EVENT messages debug levels are consolidated. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 0eaeafa10f3b2bd027e95859a6785d4c7fcc174c Author: Christian Borntraeger Date: Wed May 7 09:22:53 2008 +0200 [S390] s390-kvm: leave sie context on work. Removes preemption requirement From: Martin Schwidefsky This patch fixes a bug with cpu bound guest on kvm-s390. Sometimes it was impossible to deliver a signal to a spinning guest. We used preemption as a circumvention. The preemption notifiers called vcpu_load, which checked for pending signals and triggered a host intercept. But even with preemption, a sigkill was not delivered immediately. This patch changes the low level host interrupt handler to check for the SIE instruction, if TIF_WORK is set. In that case we change the instruction pointer of the return PSW to rerun the vcpu_run loop. The kvm code sees an intercept reason 0 if that happens. This patch adds accounting for these types of intercept as well. The advantages: - works with and without preemption - signals are delivered immediately - much better host latencies without preemption Acked-by: Carsten Otte Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 2688905e6a9b3647bf7b452cb0ff2bdb166bd8fe Author: Martin Schwidefsky Date: Wed May 7 09:22:52 2008 +0200 [S390] s390: Optimize user and work TIF check On return from syscall or interrupt, we have to check if we return to userspace (likely) and if there is work todo (less likely) to decide if we handle the work. We can optimize this check: we first check for the less likely work case and then check for userspace. This patch is also a preparation for an additional patch, that fixes a bug in KVM dealing with cpu bound guests. Signed-off-by: Martin Schwidefsky commit bf0f97025c7306870b86ccd63669aa278e7ec1c2 Author: Jens Axboe Date: Wed May 7 09:09:39 2008 +0200 block: sysfs store function needs to grab queue_lock and use queue_flag_*() Concurrency isn't a big deal here since we have requests in flight at this point, but do the locked variant to set a better example. Signed-off-by: Jens Axboe commit 45828b812ddb608ddf83eff11601f62b726d13ab Author: Mike Frysinger Date: Wed May 7 11:41:26 2008 +0800 Blackfin Serial Driver: abstract away DLAB differences into header Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 89bf6dc51ac7adb5a7d443648d9eb76909a1df8e Author: Mike Frysinger Date: Wed May 7 11:41:26 2008 +0800 Blackfin Serial Driver: macro away the IER differences between processors Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 56f87713022a6bdf00b0a50d086fdaddb54e8e5c Author: Michael Hennerich Date: Sat May 10 00:11:59 2008 +0800 [Blackfin] arch: remove useless IRQ_SW_INT defines IRQ_SW_INT1 and IRQ_SW_INT2 obsolete: Remove useless defines Fix SYS_IRQS Keep numbering scheme, so we don't break existing configurations. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e4f7c0bf1f2e8a1b184a33ab60e874391d70f86c Author: Mike Frysinger Date: Sat May 10 00:08:12 2008 +0800 [Blackfin] arch: protect linux/usb/musb.h include until the driver gets mainlined Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b964c592d42a7146a0b157147432da882abd3404 Author: Mike Frysinger Date: Sat May 10 00:06:10 2008 +0800 [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets mainlined Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 197fba56864082951ec52ae7d75b8177e44e471e Author: Michael Hennerich Date: Wed May 7 17:03:27 2008 +0800 [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x families embedded ethernet driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d7323696a910e1c00dc055ecc8c52dfedd9bbb59 Author: Grace Pan Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Set spi flash partition on bf527 as like bf548. Signed-off-by: Grace Pan Signed-off-by: Bryan Wu commit 96a87e2f158084f237dc7f871cee0ce8b55744f1 Author: Meihui Fan Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: fix bug - Remove module will not free L1 memory used Remove module will not free L1 memory used which caused by memory access after free. This patch fixes it. Signed-off-by: Meihui Fan Signed-off-by: Bryan Wu commit 60c05953c1908626d1d8aa6e6f24bac8b1c65602 Author: Mike Frysinger Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: fix wrong header name in comment Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b9c9e788942308cf295074a68d2081f20e554eb2 Author: Michael Hennerich Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mount BF527-EZKit features 16MBit M25P16 flash Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 72268689cf28091ba202d7c5f4e7c5d613edd4ac Author: Bryan Wu Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkit - JP3 should be installed for STAMP enable - IRQ for twi_keypad driver is IRQ_PF8 Signed-off-by: Bryan Wu commit d7e5dd41e394397aefd25ea412aeb47cf1b54d80 Author: Michael Hennerich Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Add physmap partition for BF527-EZkit Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0893f1250f87e0a832f47bb60fb69ed0d52be7a3 Author: Bernd Schmidt Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: fix gdb testing regression When transferring to IRQ5 from an exception, save SYSCFG in memory across the transfer and clear the trace bit. When we get a single step exception, check whether we can safely clear the trace bit in SYSCFG. We can (and should) clear it after the first instruction of the interrupt handler; the first insn saves SYSCFG to the stack in all handlers. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 8513c42edb3f1c91a8418fae11846c87cf7b8581 Author: Bernd Schmidt Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: disable single stepping when delivering a signal When delivering a signal, disable single stepping but call ptrace_notify if it was enabled before. The idea was taken from the x86 port. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 7d39270d31b91647722823a0919164dea9fd4ad7 Author: Bernd Schmidt Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c. Fix some really ancient code that was correct only for the m68k port. Delete unused (i.e. copied from m68k) entries in asm-offsets.c. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ddb3f00ca0897f585128a6cca229eeb9d91fa6ef Author: Bernd Schmidt Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: In the double fault handler, set up the PT_RETI slot In the double fault handler, set up the PT_RETI slot so that we print out the correct return address in the dumping code. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 1bfb4b21c7c39295f5535c139f796df1d51ec009 Author: Vitja Makarov Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Support for CPU_FREQ and NOHZ Singed-off-by: Vitja Makarov commit 14b03204c8060d036b04cbb18bbd6f6f311f4fed Author: Michael Hennerich Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Functional power management support: Add CPU and platform voltage scaling support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 19d6d7d53c8ff809182a1f092d2c6918146414e9 Author: Bernd Schmidt Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: fix bug - breaking the atomic sections code. The following cleanup patch: add __user markings to a few userspace system functions mysteriously added a "&" operator that doesn't belong in there, breaking the atomic sections code. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit c2f9527979c14a21bbaa31c12a14204aabeb6e45 Author: Michael Hennerich Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Equalize include files: Add VR_CTL masks Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 67dea022d84f7c2b1e4d8c74a16fb07bf1a7d8f0 Author: Michael Hennerich Date: Wed May 7 11:41:26 2008 +0800 [Blackfin] arch: Cleanup Kconfig, fix comment and make sure we exclude CCLK=SCLK for some configurations Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e948e99400b28af152414f15f8c8023ff2430b79 Author: Keith Packard Date: Wed May 7 12:27:53 2008 +1000 drm/i915: save and restore dsparb and d_state registers. Signed-off-by: Dave Airlie commit a59e122a67b88925944d3bbf33d15229cf0fc3de Author: Jesse Barnes Date: Wed May 7 12:25:46 2008 +1000 drm/i915: fix off by one in VGA save/restore of AR & CR regs. turns out it's important to save/restore AR14 in particular. Signed-off-by: Dave Airlie commit f116cc561eae0a426b8fa6b3e22e80ba0bcf7aee Author: Thomas Hellstrom Date: Wed May 7 12:22:39 2008 +1000 drm: disable tasklets not IRQs when taking the drm lock spinlock Signed-off-by: Dave Airlie commit af6061af0d9f84a4665f88186dc1ff9e4fb78330 Author: Dave Airlie Date: Wed May 7 12:15:39 2008 +1000 Revert "drm/vbl rework: rework how the drm deals with vblank." This reverts commit ac741ab71bb39e6977694ac0cc26678d8673cda4. Okay this looks like wasn't as fully baked as I'd led myself to believe. Revert for now for further baking. Signed-off-by: Dave Airlie commit bd1d23a81083f03ac63afbb7656b87eed04d8953 Merge: c0a1811... d45100f... Author: Linus Torvalds Date: Tue May 6 18:18:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix initrd regression. usb: Sparc build fix, make USB_ISP1760_OF depend on PPC_OF sparc64: remove online_page() sparc64: use compat_sys_utimes instead of home-grown local copy. sbus: Fix bpp driver build. sparc video: make blank use proper constant Revert "[SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit()." sparc: tcx.c remove unnecessary function commit c0a18111e571138747a98af18b3a2124df56a0d1 Author: Linus Torvalds Date: Tue May 6 17:09:27 2008 -0700 Revert "uml: fix gcc problem" This reverts commit 22eecde2f9034764a3fd095eecfa3adfb8ec9a98. Uli reports that it breaks UML on x86-64 with the Fedora 8 gcc (gcc 4.1.2), causing a crash on startup. See http://marc.info/?l=linux-kernel&m=121011722806093&w=2 for a trace. Reported-by: Ulrich Drepper Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 273748cc908a901d082b4da5a16b2541c9d78a02 Author: Roland Dreier Date: Tue May 6 15:56:22 2008 -0700 RDMA/cxgb3: Fix severe limit on userspace memory registration size Currently, iw_cxgb3 is severely limited on the amount of userspace memory that can be registered in in a single memory region, which causes big problems for applications that expect to be able to register 100s of MB. The problem is that the driver uses a single kmalloc()ed buffer to hold the physical buffer list (PBL) for the entire memory region during registration, which means that 8 bytes of contiguous memory are required for each page of memory being registered. For example, a 64 MB registration will require 128 KB of contiguous memory with 4 KB pages, and it unlikely that such an allocation will succeed on a busy system. This is purely a driver problem: the temporary page list buffer is not needed by the hardware, so we can fix this by writing the PBL to the hardware in page-sized chunks rather than all at once. We do this by splitting the memory registration operation up into several steps: - Allocate PBL space in adapter memory for the full registration - Copy PBL to adapter memory in chunks - Allocate STag and enable memory region This also allows several other cleanups to the __cxio_tpt_op() interface and related parts of the driver. This change leaves the reregister memory region and memory window operations broken, but they already didn't work due to other longstanding bugs, so fixing them will be left to a later patch. Signed-off-by: Roland Dreier commit cf432eb50ffd03572c08a006f44e0069957cf300 Author: Steve French Date: Tue May 6 22:27:16 2008 +0000 [CIFS] cleanup cifsd completion Was a holdover from the old kernel_thread based cifsd code. We needed to know that the thread had set the task variable before proceeding. Now that kthread_run returns the new task, this doesn't appear to be needed anymore. As best I can tell, this sleep was intended to try to prevent cifs_umount from freeing the cifsSesInfo struct before cifsd had exited. Now that cifsd is using the kthread API, we know that when kthread_stop returns that cifsd has exited, so I don't think this is needed any longer. Signed-off-by: Jeff Layton Acked-by: Christop Hellwig Signed-off-by: Steve French commit d45100f7b69e3d9cd0cd5e956b6ac2c78d460d07 Author: David S. Miller Date: Tue May 6 15:19:54 2008 -0700 sparc64: Fix initrd regression. We die because we forget to convert initrd_start and initrd_end to virtual addresses. Reported by Mikael Pettersson Signed-off-by: David S. Miller commit 3eb6753e20af1803d7784efc36e8208e8d5fac05 Author: David S. Miller Date: Tue May 6 15:15:12 2008 -0700 usb: Sparc build fix, make USB_ISP1760_OF depend on PPC_OF Sparc doesn't have some of the OF interfaces this driver wants to use. Acked-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit dea570e08a69b14808b2cab56d6b0dda72145fa6 Author: Steve French Date: Tue May 6 22:05:51 2008 +0000 [CIFS] Remove over-indented code in find_unc(). Signed-off-by: Cyrill Gorcunov Signed-off-by: Steve French commit 0e9913362a967377eb886bbdf305ec58aa07a878 Author: Roland Dreier Date: Tue May 6 15:03:38 2008 -0700 RDMA/cxgb3: Don't add PBL memory to gen_pool in chunks Current iw_cxgb3 code adds PBL memory to the driver's gen_pool in 2 MB chunks. This limits the largest single allocation that can be done to the same size, which means that with 4 KB pages, each of which takes 8 bytes of PBL memory, the largest memory region that can be allocated is 1 GB (256K PBL entries * 4 KB/entry). Remove this limit by adding all the PBL memory in a single gen_pool chunk, if possible. Add code that falls back to smaller chunks if gen_pool_add() fails, which can happen if there is not sufficient contiguous lowmem for the internal gen_pool bitmap. Signed-off-by: Roland Dreier commit db176c6ed8974fae94328ad5ac9e70b094ff22fd Author: OGAWA Hirofumi Date: Wed May 7 04:02:53 2008 +0900 Fix bogus warning in sysdev_driver_register() if ((drv->entry.next != drv->entry.prev) || (drv->entry.next != NULL)) { warns list_empty(&drv->entry). Signed-off-by: OGAWA Hirofumi Cc: Greg KH Cc: Len Brown [ Version 2 totally redone based on suggestions from Linus & Greg ] Signed-off-by: Linus Torvalds commit 6ce07c7b61e74af35a05060a2d6341f68fd92c9e Author: Linus Torvalds Date: Tue May 6 13:13:37 2008 -0700 VFS: fix unused variable warning Commit 33dcdac2df54e66c447ae03f58c95c7251aa5649 ("kill ->put_inode") removed the final use of i_op->put_inode, but left the now totally unused "op" variable in iput(). Get rid of it. Signed-off-by: Linus Torvalds commit aeed5fce37196e09b4dac3a1c00d8b7122e040ce Author: Hugh Dickins Date: Tue May 6 20:49:23 2008 +0100 x86: fix PAE pmd_bad bootup warning Fix warning from pmd_bad() at bootup on a HIGHMEM64G HIGHPTE x86_32. That came from 9fc34113f6880b215cbea4e7017fc818700384c2 x86: debug pmd_bad(); but we understand now that the typecasting was wrong for PAE in the previous version: pagetable pages above 4GB looked bad and stopped Arjan from booting. And revert that cded932b75ab0a5f9181ee3da34a0a488d1a14fd x86: fix pmd_bad and pud_bad to support huge pages. It was the wrong way round: we shouldn't weaken every pmd_bad and pud_bad check to let huge pages slip through - in part they check that we _don't_ have a huge page where it's not expected. Put the x86 pmd_bad() and pud_bad() definitions back to what they have long been: they can be improved (x86_32 should use PTE_MASK, to stop PAE thinking junk in the upper word is good; and x86_64 should follow x86_32's stricter comparison, to stop thinking any subset of required bits is good); but that should be a later patch. Fix Hans' good observation that follow_page() will never find pmd_huge() because that would have already failed the pmd_bad test: test pmd_huge in between the pmd_none and pmd_bad tests. Tighten x86's pmd_huge() check? No, once it's a hugepage entry, it can get quite far from a good pmd: for example, PROT_NONE leaves it with only ACCESSED of the KERN_PGTABLE bits. However... though follow_page() contains this and another test for huge pages, so it's nice to keep it working on them, where does it actually get called on a huge page? get_user_pages() checks is_vm_hugetlb_page(vma) to to call alternative hugetlb processing, as does unmap_vmas() and others. Signed-off-by: Hugh Dickins Earlier-version-tested-by: Ingo Molnar Cc: Thomas Gleixner Cc: Jeff Chua Cc: Hans Rosenfeld Cc: Arjan van de Ven Signed-off-by: Linus Torvalds commit bb78be8397d3b0900af3d717672218ee3ea07985 Merge: 31d9168... 0b2bac2... Author: Linus Torvalds Date: Tue May 6 11:39:57 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] fix SMP ordering hole in fcntl_setlk() [PATCH] kill ->put_inode [PATCH] fix reservation discarding in affs commit 0b2bac2f1ea0d33a3621b27ca68b9ae760fca2e9 Author: Al Viro Date: Tue May 6 13:58:34 2008 -0400 [PATCH] fix SMP ordering hole in fcntl_setlk() fcntl_setlk()/close() race prevention has a subtle hole - we need to make sure that if we *do* have an fcntl/close race on SMP box, the access to descriptor table and inode->i_flock won't get reordered. As it is, we get STORE inode->i_flock, LOAD descriptor table entry vs. STORE descriptor table entry, LOAD inode->i_flock with not a single lock in common on both sides. We do have BKL around the first STORE, but check in locks_remove_posix() is outside of BKL and for a good reason - we don't want BKL on common path of close(2). Solution is to hold ->file_lock around fcheck() in there; that orders us wrt removal from descriptor table that preceded locks_remove_posix() on close path and we either come first (in which case eviction will be handled by the close side) or we'll see the effect of close and do eviction ourselves. Note that even though it's read-only access, we do need ->file_lock here - rcu_read_lock() won't be enough to order the things. Signed-off-by: Al Viro commit a815752ac0ffdb910e92958d41d28f4fb28e5296 Merge: 5ade9de... a153063... Author: Steve French Date: Tue May 6 17:55:32 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 33dcdac2df54e66c447ae03f58c95c7251aa5649 Author: Christoph Hellwig Date: Tue Apr 29 17:46:26 2008 +0200 [PATCH] kill ->put_inode And with that last patch to affs killing the last put_inode instance we can finally, after many years of transition kill this racy and awkward interface. (It's kinda funny that even the description in Documentation/filesystems/vfs.txt was entirely wrong..) Also remove a very misleading comment above the defintion of struct super_operations. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit dca3c33652e437ed02c30ed3eca3cecd0cc00838 Author: Roman Zippel Date: Tue Apr 29 17:02:20 2008 +0200 [PATCH] fix reservation discarding in affs - remove affs_put_inode, so preallocations aren't discared unnecessarily often. - remove affs_drop_inode, it's called with a spinlock held, so it can't use a mutex. - make i_opencnt atomic - avoid direct b_count manipulations - a few allocation failure fixes, so that these are more gracefully handled now. Signed-off-by: Roman Zippel Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 78be76476a34a77f0ea9db2f78ba46a2b0fd5ab5 Author: Christian Ehrhardt Date: Tue May 6 12:37:15 2008 -0500 [POWERPC] 4xx: Fix PCI mem in sequoia DTS This patch is fixes the sequoia.dts device tree file to use the values defined in the 440Epx data sheet from AMCC. That fixes an issue where some devices, including graphics cards, would not initialize properly because the PCI resource space was not big enough. Signed-off-by: Christian Ehrhardt Signed-off-by: Josh Boyer commit 80daac3f86d4f5aafc9d3e79addb90fa118244e2 Author: Stefan Roese Date: Tue Apr 22 00:54:30 2008 +1000 [POWERPC] 4xx: Add endpoint support to 4xx PCIe driver This patch adds basic endpoint support to the 4xx PCIe driver. This is done by checking the device_type property of the PCIe device node ("pci" for root-complex and "pci-endpoint" for endpoint configuration). Note: Currently we map a fixed 64MByte window to PLB address 0 (SDRAM). This should probably be configurable via a dts property. Signed-off-by: Stefan Roese Acked-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit f227ec3ca2b7be449fb2156e82b40cceed87a34a Author: Kok, Auke Date: Tue Apr 29 11:18:55 2008 -0700 e1000e: don't return half-read eeprom on error On a read error, e1000e might have returned uninitialized block of eeprom data back to userspace. The convention is that 0xff is "empty", so mark the entire eeprom as empty in case of an error. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e410553fd35afd6d290b65e02dc501722406377d Author: Joakim Tjernlund Date: Tue Apr 29 13:03:57 2008 +0200 ucc_geth: Don't use RX clock as TX clock. Commit 9fb1e350e16164d56990dde036ae9c0a2fd3f634, ucc_geth: use rx-clock-name and tx-clock-name device tree properties Introduced a typo that made the driver use the RX clock as TX clock, causing massive TX errors. Signed-off-by: Joakim Tjernlund Signed-off-by: Jeff Garzik commit 1b3aa7afb60d34867eea5e73ee943b2a026fc47c Author: Alan Cox Date: Tue Apr 29 14:29:30 2008 +0100 cxgb3: Use CAP_SYS_RAWIO for firmware Otherwise theoretically at least CAP_NET_ADMIN Reload new firmware Wait.. Firmware patches kernel So it should be CAY_SYS_RAWIO - not that I suspect this is in fact a credible attack vector! Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 01935d7d2c544a5dfc8313f79ed164d45115aa33 Author: Don Fry Date: Tue Apr 29 13:49:58 2008 -0700 pcnet32: delete non NAPI code from driver. Delete the non-napi code from the driver and Kconfig. Tested x86_64. Apply at next open opportunity. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit a86e2cbe263c193a70b2e5c5a0c7e53ed39fc0ad Author: Scott Wood Date: Fri May 2 13:42:41 2008 -0500 fs_enet: Fix a memory leak in fs_enet_mdio_probe There are more memory leaks in the !PPC_CPM_NEW_BINDING case, but that code will disappear soon along with arch/ppc. Reported by Daniel Marjamki at http://bugzilla.kernel.org/show_bug.cgi?id=10591 Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 46fa06170d59b6b9951d09354829d85090f0d911 Author: Bruce Robson Date: Fri May 2 13:40:53 2008 -0700 [netdrvr] eexpress: IPv6 fails - multicast problems Taken from http://bugzilla.kernel.org/show_bug.cgi?id=10577 I was unable to access a computer containing an Intel EtherExpress 16 network card using IPv6. I traced this to failure of neighbour discovery. When I used an "ip -6 neigh add" command, on the computer attempting access, to insert a binding between the IPv6 address of the computer with the Intel EtherExpress 16 network card and the card's ethernet address, I was able to access that computer using IPv6. Neighbour discovery requires working multicast. The driver sources file eexpress.c contains an approximately 30 line function eexp_setup_filter used when loading multicast addresses. I found 3 problems in this function 1) It wrote the number of multicast addresses to the card instead of the number of bytes in the multicast addresses. 2) When loading multiple multicast addresses it loaded the first one provided multiple times instead of loading each one once. 3) The setting of pointer 'data' from 'dmi->dmi_addr' occured before the test for the error situation of 'dmi' being NULL. Correcting these problems allows the computer with the Intel EtherExpress 16 network card to found by IPv6 neighbour discovery. p.s. There is some information on the Intel EtherExpress 16 at http://www.intel.com/support/etherexpress/vintage/sb/cs-013500.htm Datasheet for the Intel 82586 ethernet controller used by the card http://www.datasheetcatalog.com/datasheets_pdf/8/2/5/8/82586.shtml Signed-off-by: Bruce Robson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1daad055bfc928dfc8590664c455960059421151 Author: Paulius Zaleckas Date: Mon May 5 14:01:29 2008 +0200 3c59x: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Acked-by: Steffen Klassert Signed-off-by: Jeff Garzik commit aa807f79dad3d6a8e9b175d66418b0c5be1d5cd8 Author: Gunnar Larisch Date: Mon May 5 14:01:28 2008 +0200 3c980-TX needs EXTRA_PREAMBLE The ethernet card 3c980-TX needs a mdio_sync() to initialize the ethernet properly. This is forced by adding an EXTRA_PREAMBLE to its drv_flags. Without this, the driver did not reconnect after a link loss. Signed-off-by: Gunnar Larisch Acked-by: Steffen Klassert Signed-off-by: Jeff Garzik commit 54c852a2d61bb15d9b979410c2260edfb23d448c Merge: 7ab267d... ce4e2e4... Author: Jeff Garzik Date: Tue May 6 12:22:03 2008 -0400 Merge branch 'for-2.6.26' of git://git.farnsworth.org/dale/linux-2.6-mv643xx_eth into upstream commit 31d9168d27fac127d449cb9fa252d880de872c7f Merge: 4880d10... 05177f1... Author: Linus Torvalds Date: Tue May 6 09:17:03 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (27 commits) pata_atiixp: Don't disable sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL sata_inic162x: add cardbus support sata_inic162x: kill now unused SFF related stuff sata_inic162x: use IDMA for ATAPI commands sata_inic162x: use IDMA for non DMA ATA commands sata_inic162x: kill now unused bmdma related stuff sata_inic162x: use IDMA for ATA_PROT_DMA sata_inic162x: update TF read handling sata_inic162x: add / update constants sata_inic162x: misc clean ups sata_mv use hweight16() for bit counting (V2) sata_mv NCQ-EH for FIS-based switching sata_mv delayed eh handling libata: export ata_eh_analyze_ncq_error sata_mv new mv_port_intr function sata_mv fix mv_host_intr bug for hc_irq_cause sata_mv NCQ and SError fixes for mv_err_intr sata_mv rearrange mv_config_fbs sata_mv errata workaround for sata25 part 1 ... commit 7ab267d4ecdad3032d6bb31619a2744fc2074b59 Author: Jeff Garzik Date: Tue May 6 12:16:24 2008 -0400 fix warning in drivers/net/appletalk/cops.c drivers/net/appletalk/cops.c: In function ‘cops_reset’: drivers/net/appletalk/cops.c:507: warning: comparison of distinct pointer types lacks a cast by replacing hand-woven msleep() with call to msleep() Signed-off-by: Jeff Garzik commit 97ac8caee238d2a81c23661916f7acd3a22c85fe Author: Bruce Allan Date: Tue Apr 29 09:16:05 2008 -0700 e1000e: Add support for BM PHYs on ICH9 This patch adds support for the BM PHY, a new PHY model being used on ICH9-based implementations. This new PHY exposes issues in the ICH9 silicon when receiving jumbo frames large enough to use more than a certain part of the Rx FIFO, and this unfortunately breaks packet split jumbo receives. For this reason we re-introduce (for affected adapters only) the jumbo single-skb receive routine back so that people who do wish to use jumbo frames on these ich9 platforms can do so. Part of this problem has to do with CPU sleep states and to make sure that all the wake up timings are correctly we force them with the recently merged pm_qos infrastructure written by Mark Gross. (See http://lkml.org/lkml/2007/10/4/400). To make code read a bit easier we introduce a _IS_ICH flag so that we don't need to do mac type checks over the code. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e284e5c6601cbb16e48854be26aa57a8fa844e35 Author: Anton Vorontsov Date: Tue Apr 29 19:53:18 2008 +0400 uli526x: fix endianness issues in the setup frame This patch fixes uli526x driver's issues on a PowerPC boards: uli chip is unable to receive the packets. It appears that send_frame_filter prepares the setup frame in the endianness unsafe manner. On a big endian machines we should shift the address nibble by two bytes. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit afd8e39919c913993ac2f9984af8a9ba21c63d27 Author: Anton Vorontsov Date: Tue Apr 29 19:53:13 2008 +0400 uli526x: initialize the hardware prior to requesting interrupts The firmware on MPC8610HPCD boards enables ULI ethernet and leaves it in some funky state before booting Linux. For drivers, it's always good idea to (re)initialize the hardware prior to requesting interrupts. This patch fixes the following oops: Oops: Kernel access of bad area, sig: 11 [#1] MPC86xx HPCD NIP: c0172820 LR: c017287c CTR: 00000000 [...] NIP [c0172820] allocate_rx_buffer+0x2c/0xb0 LR [c017287c] allocate_rx_buffer+0x88/0xb0 Call Trace: [df82bdc0] [c017287c] allocate_rx_buffer+0x88/0xb0 (unreliable) [df82bde0] [c0173000] uli526x_interrupt+0xe4/0x49c [df82be20] [c0045418] request_irq+0xf0/0x114 [df82be50] [c01737b0] uli526x_open+0x48/0x160 [df82be70] [c0201184] dev_open+0xb0/0xe8 [df82be80] [c0200104] dev_change_flags+0x90/0x1bc [df82bea0] [c035fab0] ip_auto_config+0x214/0xef4 [df82bf60] [c03421c8] kernel_init+0xc4/0x2ac [df82bff0] [c0010834] kernel_thread+0x44/0x60 Instruction dump: 4e800020 9421ffe0 7c0802a6 bfa10014 7c7e1b78 90010024 80030060 83e30054 2b80002f 419d0078 3fa0c039 48000058 <907f0010> 80630088 2f830000 419e0014 Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit 6fee40e9b8155a4af904d69765c96c00f975acf5 Author: Andy Fleming Date: Fri May 2 13:01:23 2008 -0500 ucc_geth: Fix a bunch of sparse warnings ucc_geth didn't have anything marked as __iomem. It was also inconsistent with its use of in/out accessors (using them sometimes, not using them other times). Cleaning this up cuts the warnings down from hundreds to just over a dozen. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 9b9a8bfc8dfbe09dc57f274e32e8b06151abbad7 Author: Andy Fleming Date: Fri May 2 13:00:51 2008 -0500 phylib: Fix some sparse warnings Declared some things static, declared some things in the header. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit f162b9d58273a9a5747211133c8ccb2de5cf5ff2 Author: Andy Fleming Date: Fri May 2 13:00:30 2008 -0500 gianfar: Fix a locking bug in gianfar's sysfs code During sparse cleanup, found a locking bug. Some of the sysfs functions were acquiring a lock, and then returning in the event of an error. We rearrange the code so that the lock is released in error conditions, too. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 569f0c4d909c7f73de634abcdc36344cb72de36a Author: Jay Vosburgh Date: Fri May 2 18:06:02 2008 -0700 bonding: fix enslavement error unwinds As part of: commit c2edacf80e155ef54ae4774379d461b60896bc2e Author: Jay Vosburgh Date: Mon Jul 9 10:42:47 2007 -0700 bonding / ipv6: no addrconf for slaves separately from master two steps were rearranged in the enslavement process: netdev_set_master is now before the call to dev_open to open the slave. This patch updates the error cases and unwind process at the end of bond_enslave to match the new order. Without this patch, it is possible for the enslavement to fail, but leave the slave with IFF_SLAVE set in its flags. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit ae68c39819ddf30549652962768a50edae5eec6f Author: Pavel Emelyanov Date: Fri May 2 17:49:39 2008 -0700 bonding: Deadlock between bonding_store_bonds and bond_destroy_sysfs. The sysfs layer has an internal protection, that ensures, that all the process sitting inside ->sore/->show callback exits before the appropriate entry is unregistered (the calltraces are rather big, but I can provide them if required). On the other hand, bonding takes rtnl_lock in a) the bonding_store_bonds, i.e. in ->store callback, b) module exit before calling the sysfs unregister routines. Thus, the classical AB-BA deadlock may occur. To reproduce run # while :; do modprobe bonding; rmmod bonding; done and # while :; do echo '+bond%d' > /sys/class/net/bonding_masters ; done in parallel. The fix is to move the bond_destroy_sysfs out of the rtnl_lock, but _before_ bond_free_all to make sure no bonding devices exist after module unload. Signed-off-by: Pavel Emelyanov Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit c4ebc66a1a8e3576322a9f47f0d06ec3c96a08d7 Author: Jay Vosburgh Date: Fri May 2 17:49:38 2008 -0700 bonding: fix error unwind in bonding_store_bonds Fixed an error unwind in bonding_store_bonds that didn't release the locks it held, and consolidated unwinds into a common block at the end of the function. Bug reported by Pavel Emelyanov , who provided a different fix. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 822973ba79fd5a5b711270c2de7196c6b50c6687 Author: Pavel Emelyanov Date: Fri May 2 17:49:37 2008 -0700 bonding: Do not call free_netdev for already registered device. If the call to bond_create_sysfs_entry in bond_create fails, the proper rollback is to call unregister_netdevice, not free_netdev. Otherwise - kernel BUG at net/core/dev.c:4057! Checked with artificial failures injected into bond_create_sysfs_entry. Pavel's original patch modified by Jay Vosburgh to move code around for clarity (remove goto-hopping within the unwind block). Signed-off-by: Pavel Emelyanov Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 05177f178efe1459d2d0ac05430027ba201889a4 Author: Alan Cox Date: Fri May 2 15:13:39 2008 -0700 pata_atiixp: Don't disable A couple of distributions (Fedora, Ubuntu) were having weird problems with the ATI IXP series PATA controllers being reported as simplex. At the heart of the problem is that both distros ignored the recommendations to load pata_acpi and ata_generic *AFTER* specific host drivers. The underlying cause however is that if you D3 and then D0 an ATI IXP it helpfully throws away some configuration and won't let you rewrite it. Add checks to ata_generic and pata_acpi to pin ATIIXP devices. Possibly the real answer here is to quirk them and pin them, but right now we can't do that before they've been pcim_enable()'d by a driver. I'm indebted to David Gero for this. His bug report not only reported the problem but identified the cause correctly and he had tested the right values to prove what was going on [If you backport this for 2.6.24 you will need to pull in the 2.6.25 removal of the bogus WARN_ON() in pcim_enagle] Signed-off-by: Alan Cox Tested-by: David Gero Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 22bfc6d5e19b72d50535ce32fd6dee2ce2e75775 Author: Tejun Heo Date: Wed Apr 30 16:35:17 2008 +0900 sata_inic162x: update intro comment, up the version and drop EXPERIMENTAL sata_inic162x is now ready for production use. Bump the version, explain what's working and what's not and drop EXPERIMENTAL. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ba66b242b1c3432b44d893c64124522b3bdce71e Author: Tejun Heo Date: Wed Apr 30 16:35:16 2008 +0900 sata_inic162x: add cardbus support When attached to cardbus, mmio region is at BAR 1. Other than that, everything else is the same. Add support for it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f8b0685a8ea8e3974f8953378ede2111f8d49d22 Author: Tejun Heo Date: Wed Apr 30 16:35:15 2008 +0900 sata_inic162x: kill now unused SFF related stuff sata_inic162x now doesn't use any SFF features. Remove all SFF related stuff. * Mask unsolicited ATA interrupts. This removes our primary source of spurious interrupts and spurious interrupt handling can be tightened up. There's no need to clear ATA interrupts by reading status register either. * Don't dance with IDMA_CTL_ATA_NIEN and simplify accesses to IDMA_CTL. * Inherit from sata_port_ops instead of ata_sff_port_ops. * Don't initialize or use ioaddr. There's no need to map BAR0-4 anymore. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b3f677e501a494aa1582d4ff35fb3ac6f0a59b08 Author: Tejun Heo Date: Wed Apr 30 16:35:14 2008 +0900 sata_inic162x: use IDMA for ATAPI commands Use IDMA for ATAPI commands. Write and some misc commands time out when executed using ATAPI_PROT_DMA but ATAPI_PROT_PIO works fine. As PIO is driven by DMA too, it doesn't make any noticeable difference for native SATA devices. inic_check_atapi_dma() is implemented to force PIO for those ATAPI commands. After this change, sata_inic162x issues all commands using IDMA. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 049e8e04986bde66df9648d88d0960ab4cbd6992 Author: Tejun Heo Date: Wed Apr 30 16:35:13 2008 +0900 sata_inic162x: use IDMA for non DMA ATA commands Use IDMA for PIO and non-data commands. This allows sata_inic162x to safely drive LBA48 devices. Kill inic_dev_config() which contains code to reject LBA48 devices. With this change, status checking in inic_qc_issue() to avoid hard lock up after hotplug can go away too. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ab5b0235c4e819c9bc45fa62c99f9fe49e73e701 Author: Tejun Heo Date: Wed Apr 30 16:35:12 2008 +0900 sata_inic162x: kill now unused bmdma related stuff sata_inic162x doesn't use BMDMA anymore. Kill bmdma related stuff. * prdctl manipulation * port IRQ mask manipulation * inherit ATA_BASE_SHT instead of ATA_BMDMA_SHT * BMDMA methods Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3ad400a92e9c7d2f7caa6c6f811dad9b7d3f333c Author: Tejun Heo Date: Wed Apr 30 16:35:11 2008 +0900 sata_inic162x: use IDMA for ATA_PROT_DMA The modified driver on initio site has enough clue on how to use IDMA. Use IDMA for ATA_PROT_DMA. * LBA48 now works as long as it uses DMA (LBA48 devices still aren't allowed as it can destroy data if PIO is used for any reason). * No need to mask IRQs for read DMAs as IDMA_DONE is properly raised after transfer to memory is actually completed. There will be some spurious interrupts but host_intr will handle it correctly and manipulating port IRQ mask interacts badly with the other port for some reason, so command type dependent port IRQ masking is not used anymore. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 364fac0e56b9bd379330ef9e39d3761f0b491e2c Author: Tejun Heo Date: Thu May 1 23:55:58 2008 +0900 sata_inic162x: update TF read handling inic162x can't reliably read back TF or at least we don't know how to do it yet. The only values which seem reliable are status and error. This patch updates access to TF. * implement inic_tf_read() which reads the TF area in mmio area * implement custom inic_qc_fill_rtf() which only returns true if status indicates device error. it'll be returning bogus addresses for device errors but it'll be able to report why it failed at least. * implement custom inic_check_ready() and use ata_wait_after_reset() instead of the SFF version. * use inic_tf_read() for classification. This is not perfect but it fixes hotplug detection failure and at least makes the driver report 0's instead of random garbages while reporting valid status and error for device errors. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b0dd9b8ef985291a8b40118c5f33b7935e273dcb Author: Tejun Heo Date: Wed Apr 30 16:35:09 2008 +0900 sata_inic162x: add / update constants * add a bunch of constants, most are from the datasheet, a few undocumented ones are from initio's modified driver * HCTL_PWRDWN is bit 12 not 13 This is in preparation of further inic162x updates. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 36f674d9a65264d3826ca7300bed441e22a624b2 Author: Tejun Heo Date: Wed Apr 30 16:35:08 2008 +0900 sata_inic162x: misc clean ups * use larger indents for structure member definitions * kill unused variable @addr in inic_scr_write() * kill unnecessary flushes in inic_freeze/thaw() * kill buggy explicit kfree() on devres managed port private data This is in preparation of further inic162x updates. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c46938ccfe35a58a0873715ee4c26fc9eb8d87b3 Author: Mark Lord Date: Fri May 2 14:02:28 2008 -0400 sata_mv use hweight16() for bit counting (V2) Some tidying as suggested by Grant Grundler. Nuke local bit-counting function from sata_mv in favour of using hweight16(). Also add a short explanation for the 15msec timeout used when waiting for empty/idle. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 4c299ca3649ccf666819e7d4a27a68c39fa174f1 Author: Mark Lord Date: Fri May 2 02:16:20 2008 -0400 sata_mv NCQ-EH for FIS-based switching Convert sata_mv's EH for FIS-based switching (FBS) over to the sequence recommended by Marvell. This enables us to catch/analyze multiple failed links on a port-multiplier when using NCQ. To do this, we clear the ERR_DEV bit in the EDMA Halt-Conditions register, so that the EDMA engine doesn't self-disable on the first NCQ error. Our EH code sets the MV_PP_FLAG_DELAYED_EH flag to prevent new commands being queued while we await completion of all outstanding NCQ commands on all links of the failed PM. The SATA Test Control register tells us which links have failed, so we must only wait for any other active links to finish up before we stop the EDMA and run the .error_handler afterward. The patch also includes skeleton code for handling of non-NCQ FBS operation. This is more for documentation purposes right now, as that mode is not yet enabled in sata_mv. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 29d187bb1e30682e228ce461c487d78d945c3e4f Author: Mark Lord Date: Fri May 2 02:15:37 2008 -0400 sata_mv delayed eh handling Introduce a new "delayed error handling" mechanism in sata_mv, to enable us to eventually deal with multiple simultaneous NCQ failures on a single host link when a PM is present. This involves a port flag (MV_PP_FLAG_DELAYED_EH) to prevent new commands being queued, and a pmp bitmap to indicate which pmp links had NCQ errors. The new mv_pmp_error_handler() uses those values to invoke ata_eh_analyze_ncq_error() on each failed link, prior to freezing the port and passing control to sata_pmp_error_handler(). This is based upon a strategy suggested by Tejun. For now, we just implement the delayed mechanism. The next patch in this series will add the multiple-NCQ EH code to take advantage of it. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 10acf3b0d3b46c6ef5d6f0722f72ad9b743ea848 Author: Mark Lord Date: Fri May 2 02:14:53 2008 -0400 libata: export ata_eh_analyze_ncq_error Export ata_eh_analyze_ncq_error() for subsequent use by sata_mv, as suggested by Tejun. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a90103298fd5ccd9a9df6d47bde9a3f371707037 Author: Mark Lord Date: Fri May 2 02:14:02 2008 -0400 sata_mv new mv_port_intr function Separate out the inner loop body of mv_host_intr() into it's own function called mv_port_intr(). This should help maintainabilty. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit eabd5eb1cb59bfb162e7aa23007248f2bb480816 Author: Mark Lord Date: Fri May 2 02:13:27 2008 -0400 sata_mv fix mv_host_intr bug for hc_irq_cause Remove the unwanted reads of hc_irq_cause from mv_host_intr(), thereby removing a bug whereby we were not always reading it when needed.. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 37b9046a3e433a0b0c39ad1e81ec187d5be800ba Author: Mark Lord Date: Fri May 2 02:12:34 2008 -0400 sata_mv NCQ and SError fixes for mv_err_intr Sigh. Undo some earlier changes to mv_port_intr(), so that we now read/clear SError again in all cases. Arrange the top of the function to be as close as possible to what we need for a later update (in this series) for ERR_DEV handling. Fix things so that libata-eh can attempt a READ_LOG_EXT_10H in response to a failed NCQ command, by just doing a local mv_eh_freeze() rather than ata_port_freeze(). This will now fully handle NCQ errors much of the time, but more fixes are needed for FBS/PMP, and for certain chip errata. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 00f42eabb204c68fa64ef72de834e74aca15c81f Author: Mark Lord Date: Fri May 2 02:11:45 2008 -0400 sata_mv rearrange mv_config_fbs Rearrange mv_config_fbs() to more closely follow the (corrected) datasheet recommendations for NCQ and FIS-based switching (FBS). Also, maintain a port flag to let us know when FBS is enabled. We will make more use of that flag later in this patch series. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit dd2890f60f8e15f14c8eb132779b2f15c49d1203 Author: Mark Lord Date: Fri May 2 02:10:56 2008 -0400 sata_mv errata workaround for sata25 part 1 Part 1 of workaround for errata "sata#25" for the 60x1 series (the second half of this errata workaround is still in development. Bit22 of the GPIO port has to be set "on" when in NCQ mode. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 3e4a139107e497a741c26f8a377a10f214d63ec1 Author: Mark Lord Date: Fri May 2 02:10:02 2008 -0400 sata_mv new mv_qc_defer method The EDMA engine cannot tolerate a mix of NCQ/non-NCQ commands, and cannot be used for PIO at all. So we need to prevent libata from trying to feed us such mixtures. Introduce mv_qc_defer() for this purpose, and use it for all chip versions. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 9b2c4e0bae854fb5e88c9cacc0dacf21631c5cb0 Author: Mark Lord Date: Fri May 2 02:09:14 2008 -0400 sata_mv wait for empty+idle When performing EH, it is recommended to wait for the EDMA engine to empty out requests-in-progress before disabling EDMA. Introduce code to poll the EDMA_STATUS register for idle/empty bits before disabling EDMA. For non-EH operation, this will normally exit without delay, other than the register read. A later series of patches may focus on eliminating this and various other register reads (when possible) throughout the driver, but for now we're focussing on solid reliablity. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 616d4a98ad8749ebe17a8fcac67df65c321350ac Author: Mark Lord Date: Fri May 2 02:08:32 2008 -0400 sata_mv pci features Some of the GenIIe EDMA optimizations should not be used for non-PCI (SOC) devices, and nor for certain configurations of conventional PCI (non PCI-X, PCIe) buses. Logic taken/simplified from that in the Marvell proprietary driver. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8e7decdb8b132ee970a2636931b7653dec6af472 Author: Mark Lord Date: Fri May 2 02:07:51 2008 -0400 sata_mv more cosmetic changes More cosmetic changes; no code changes. -- try and improve consistency of naming. -- add missing _OFS to tails of register offset definitions. -- rename mv_setup_ifctl() to mv_setup_ifcfg(), since that's what it really does. -- remove/move some dead comments Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a96df496ed1496f3e52a9b3c860cf967aa48adda Author: Stefan Roese Date: Mon May 5 16:53:19 2008 +1000 [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core The new 440x6 core used on AMCC 460EX/GT introduces new storage attibure fields to the TLB2 word. Those are: Bit 11 12 13 14 15 WL1 IL1I IL1D IL2I IL2D With these bits the cache (L1 and L2) can be configured in a more flexible way, instruction- and data-cache independently now. The "old" I and W bits are still available and setting these old bits will automically set these new bits too (for backward compatibilty). The current code does not clear these fields resulting in disabling the cache by chance. This patch now makes sure that these new bits are cleared when the TLB2 word is written. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 07ab85de4d960b6f39395e51c1853485ad120de5 Author: Alek Du Date: Tue May 6 21:31:41 2008 +0800 libata: Add Intel SCH PATA driver This patch adds Intel SCH chipsets (AF82US15W, AF82US15L, AF82UL11L) PATA controller support. Signed-off-by: Alek Du Signed-off-by: Jeff Garzik commit cb6716c879ecf49e2af344926c6a476821812061 Author: Tejun Heo Date: Thu May 1 10:03:08 2008 +0900 ata_piix: verify SIDPR access before enabling it On certain configurations (certain macbooks), even though all the conditions for SIDPR access described in the datasheet are met, actually reading those registers just returns 0 and have no effect on write. Verify SIDPR is actually working before enabling it. This is reported by Ryan Roth in bz#10512. Signed-off-by: Tejun Heo Cc: Ryan Roth Signed-off-by: Jeff Garzik commit 78ab88f04f44bed566d51dce0c7cbfeff6449a06 Author: Tejun Heo Date: Thu May 1 23:41:41 2008 +0900 libata: improve post-reset device ready test Some controllers (jmb and inic162x) use 0x77 and 0x7f to indicate that the device isn't ready yet. It looks like they use 0xff if device presence is detected but connection isn't established. 0x77 or 0x7f after connection is established and use the value from signature FIS after receiving it. This patch implements ata_check_ready(), which takes TF status value and determines whether the port is ready or not considering the above and other conditions, and use it in @check_ready() functions. This is safe as both 0x77 and 0x7f aren't valid ready status value even though they have BSY bit cleared. This fixes hot plug detection failures which can be triggered with certain drives if they aren't already spun up when the data connector is hot plugged. Tested on sil, sil24, ahci (jmb/ich), piix and inic162x combined with eight drives from all major vendors. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4880d10927c93d858d40e297361fff375ee98492 Merge: a153063... 9d1045a... Author: Linus Torvalds Date: Tue May 6 07:49:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net_cls_act: act_simple dont ignore realloc code iwlwifi: make IWLWIFI a tristate Revert "atm: Do not free already unregistered net device." dccp: return -EINVAL on invalid feature length irda: fix !PNP support for drivers/net/irda/smsc-ircc2.c irda: fix !PNP support in drivers/net/irda/nsc-ircc.c net_cls_act: Make act_simple use of netlink policy. ip: Use inline function dst_metric() instead of direct access to dst->metric[] ip: Make use of the inline function dst_metric_locked() atm: Bad locking on br2684_devs modifications. atm: Do not free already unregistered net device. mac80211: Do not free net device after it is unregistered. bridge: Consolidate error paths in br_add_bridge(). bridge: Net device leak in br_add_bridge(). niu: Fix probing regression for maramba on-board chips. lapbeth: Release ->ethdev when unregistering device. xfrm: convert empty xfrm_audit_* macros to functions net: Fix useless comment reference loop. sch_htb: remove from event queue in htb_parent_to_leaf() commit 9d1045ad68fcccfaf1393cc463ab6357693e8d1d Author: Jamal Hadi Salim Date: Tue May 6 00:10:24 2008 -0700 net_cls_act: act_simple dont ignore realloc code reallocation of the policy data was being ignored. It could fail. Simplify so that there is no need for reallocating. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 1da5ea1a8bf4ddb82831528223c853821cb1c9ab Author: Adrian Bunk Date: Tue May 6 00:04:47 2008 -0700 iwlwifi: make IWLWIFI a tristate IWLWIFI should be a tristate so that if IWLCORE and/or IWL3945 are m and none of them is y kbuild doesn't create an empty drivers/net/wireless/built-in.o This patch also removes the pointless "default n". Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5f6b1ea41b46bc63f667f9b30d939b49734c20b0 Author: David S. Miller Date: Tue May 6 00:00:16 2008 -0700 Revert "atm: Do not free already unregistered net device." This reverts commit 65e4113684e50cee75357ce10dc9026b0929e4e9. Unlike the other cases Pavel fixed, this case did not setup a netdev->destructor of free_netdev, therefore this change was not correct. Signed-off-by: David S. Miller commit a15306365a16380f3bafee9e181ba01231d4acd7 Merge: bb896af... c5057dd... Author: Linus Torvalds Date: Mon May 5 17:31:41 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Support creation of FMRs with pages smaller than 4K IB/ehca: Fix function return types RDMA/cxgb3: Bump up the MPA connection setup timeout. RDMA/cxgb3: Silently ignore close reply after abort. RDMA/cxgb3: QP flush fixes IB/ipoib: Fix transmit queue stalling forever IB/mlx4: Fix off-by-one errors in calls to mlx4_ib_free_cq_buf() commit bb896afe2089575ca1bb1fbf3f07b934e1ba999b Merge: 2e83fc4... aac6abc... Author: Linus Torvalds Date: Mon May 5 17:31:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes: sched: default to n for GROUP_SCHED and FAIR_GROUP_SCHED sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK sched, x86: add HAVE_UNSTABLE_SCHED_CLOCK sched: fix cpu clock sched: fair-group: fix a Div0 error of the fair group scheduler sched: fix missing locking in sched_domains code sched: make clock sync tunable by architecture code sched: fix debugging sched: fix sched_info_switch not being called according to documentation sched: fix hrtick_start_fair and CPU-Hotplug sched: fix SCHED_FAIR wake-idle logic error sched: fix RT task-wakeup logic sched: add statics, don't return void expressions sched: add debug checks to idle functions sched: remove old sched doc sched: make rt_sched_class, idle_sched_class static sched: optimize calc_delta_mine() sched: fix normalized sleeper commit 826be063eee9b4c2703fd86cfc9723bc391ff1cb Author: Christoph Hellwig Date: Tue May 6 09:24:24 2008 +1000 [POWERPC] spufs: spu_create should send inotify IM_CREATE event Creating a spufs context or gand using spu_create should send an inotify event so that things like performance monitors have an easy way to find out about newly created contexts. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr commit c5057ddccbcb4bf363af628d7963a7475f4114a7 Author: Oren Duer Date: Mon May 5 15:56:52 2008 -0700 mlx4_core: Support creation of FMRs with pages smaller than 4K Don't hard code a test against a minimum page shift of 12, since the device may support smaller pages. Test against the actual smallest page size from the device capabilities. Signed-off-by: Oren Duer Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit cf04690885972eaba830ee761de545a6956197e6 Author: Stefan Roscher Date: Mon May 5 15:51:49 2008 -0700 IB/ehca: Fix function return types Also remove duplicate assignment of local_ca_ack_delay and change min_t check for local_ca_ack_delay to u8 instead of int. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 2e83fc4df5f27dfc1b53044c4f142b2f9d1db08c Merge: 17aa7e0... 9185ef6... Author: Linus Torvalds Date: Mon May 5 15:48:53 2008 -0700 Merge branch 'powerpc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'powerpc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Assign PDE->data before gluing PDE into /proc tree [POWERPC] devres: Add devm_ioremap_prot() [POWERPC] macintosh: ADB driver: adb_handler_sem semaphore to mutex [POWERPC] macintosh: windfarm_smu_sat: semaphore to mutex [POWERPC] macintosh: therm_pm72: driver_lock semaphore to mutex commit 17aa7e034416e3080bc57a786d09ba0a4a044561 Author: Stephen Rothwell Date: Mon May 5 13:54:19 2008 +1000 dev_name introduction fall out fix Commit 06916639e2fed9ee475efef2747a1b7429f8fe76 ("driver-core: add dev_name() to help transition away from using bus_id") added a static inline dev_name() and used it in dev_printk. Unfortunately, drivers/edac/edac_core.h defines a macro called dev_name(). Rename the latter. Diagnosis by Tony Breeds and Michael Ellerman. Signed-off-by: Stephen Rothwell Acked-by: Doug Thompson Signed-off-by: Linus Torvalds commit aac6abca858386438d9a7233c3471d2ecfa2f704 Author: Parag Warudkar Date: Sat May 3 20:42:34 2008 -0400 sched: default to n for GROUP_SCHED and FAIR_GROUP_SCHED GROUP_SCHED is confirmed to cause unacceptable latencies, see: http://lkml.org/lkml/2008/5/2/370. Mark it EXPERIMENTAL and default to no for now. Signed-off-by: Parag Warudkar Signed-off-by: Ingo Molnar commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd Author: Peter Zijlstra Date: Sat May 3 18:29:28 2008 +0200 sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK this replaces the rq->clock stuff (and possibly cpu_clock()). - architectures that have an 'imperfect' hardware clock can set CONFIG_HAVE_UNSTABLE_SCHED_CLOCK - the 'jiffie' window might be superfulous when we update tick_gtod before the __update_sched_clock() call in sched_clock_tick() - cpu_clock() might be implemented as: sched_clock_cpu(smp_processor_id()) if the accuracy proves good enough - how far can TSC drift in a single jiffie when considering the filtering and idle hooks? [ mingo@elte.hu: various fixes and cleanups ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a5574cf65b5f03ce9ade3918764fe22e5e2371e3 Author: Ingo Molnar Date: Mon May 5 23:19:50 2008 +0200 sched, x86: add HAVE_UNSTABLE_SCHED_CLOCK add the HAVE_UNSTABLE_SCHED_CLOCK, for architectures to select. the next change utilizes it. Signed-off-by: Ingo Molnar commit dfbf4a1bc319f0f9a31e39b2da1fa5c55e85af89 Author: Ingo Molnar Date: Wed Apr 23 09:24:06 2008 +0200 sched: fix cpu clock David Miller pointed it out that nothing in cpu_clock() sets prev_cpu_time. This caused __sync_cpu_clock() to be called all the time - against the intention of this code. The result was that in practice we hit a global spinlock every time cpu_clock() is called - which - even though cpu_clock() is used for tracing and debugging, is suboptimal. While at it, also: - move the irq disabling to the outest layer, this should make cpu_clock() warp-free when called with irqs enabled. - use long long instead of cycles_t - for platforms where cycles_t is 32-bit. Reported-by: David Miller Signed-off-by: Ingo Molnar commit cb4ad1ffc7c0d8ea7dc8cd8ba303d83551716d46 Author: Miao Xie Date: Mon Apr 28 12:54:56 2008 +0800 sched: fair-group: fix a Div0 error of the fair group scheduler When I echoed 0 into the "cpu.shares" file, a Div0 error occured. We found it is caused by the following calling. sched_group_set_shares(tg, shares) set_se_shares(tg->se[i], shares/nr_cpu_ids) __set_se_shares(se, shares) div64_64((1ULL<<32), shares) When the echoed value was less than the number of processores, the result of the sentence "shares/nr_cpu_ids" was 0, and then the system called div64() to divide the result, the Div0 error occured. It is unnecessary that the shares value is divided by nr_cpu_ids, I think. Because in the function __update_group_shares_cpu() and init_tg_cfs_entry(), the shares value isn't divided by nr_cpu_ids when setting shares of the sched entity. This patch fixes this bug. And echoing ULONG_MAX value into cpu.shares also causes Div0 error, so we set a macro MAX_SHARES to limit the max value of shares. Signed-off-by: Miao Xie Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 712555ee4f873515612f89554ad1a3fda5fa887e Author: Heiko Carstens Date: Mon Apr 28 11:33:07 2008 +0200 sched: fix missing locking in sched_domains code Concurrent calls to detach_destroy_domains and arch_init_sched_domains were prevented by the old scheduler subsystem cpu hotplug mutex. When this got converted to get_online_cpus() the locking got broken. Unlike before now several processes can concurrently enter the critical sections that were protected by the old lock. So use the already present doms_cur_mutex to protect these sections again. Cc: Gautham R Shenoy Cc: Paul Jackson Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit 690229a0912ca2fef8b542fe4d8b73acfcdc6e24 Author: Ingo Molnar Date: Wed Apr 23 09:31:35 2008 +0200 sched: make clock sync tunable by architecture code make time_sync_thresh tunable to architecture code. Signed-off-by: Ingo Molnar commit d7dcdc11cfa6a8860a29b09f985467b89224699d Author: Mike Galbraith Date: Tue Apr 29 12:23:09 2008 +0200 sched: fix debugging Revert debugging commit 7ba2e74ab5a0518bc953042952dd165724bc70c9. print_cfs_rq_tasks() can induce live-lock if a task is dequeued during list traversal. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 673a90a1e05c8127886f7659d1a457169378371f Author: David Simner Date: Tue Apr 29 10:08:59 2008 +0100 sched: fix sched_info_switch not being called according to documentation http://bugzilla.kernel.org/show_bug.cgi?id=10545 sched_stats.h says that __sched_info_switch is "called when prev != next" in the comment. sched.c should therefore do that. Signed-off-by: Ingo Molnar commit b328ca182f01c2a04b85e0ee8a410720b104fbcc Author: Peter Zijlstra Date: Tue Apr 29 10:02:46 2008 +0200 sched: fix hrtick_start_fair and CPU-Hotplug Gautham R Shenoy reported: > While running the usual CPU-Hotplug stress tests on linux-2.6.25, > I noticed the following in the console logs. > > This is a wee bit difficult to reproduce. In the past 10 runs I hit this > only once. > > ------------[ cut here ]------------ > > WARNING: at kernel/sched.c:962 hrtick+0x2e/0x65() > > Just wondering if we are doing a good job at handling the cancellation > of any per-cpu scheduler timers during CPU-Hotplug. This looks like its indeed not cancelled at all and migrates the it to another cpu. Fix it via a proper hotplug notifier mechanism. Reported-by: Gautham R Shenoy Signed-off-by: Peter Zijlstra Cc: stable@kernel.org Signed-off-by: Ingo Molnar commit 104f64549c961a797ff5f7c59946a7caa335c5b0 Author: Gregory Haskins Date: Mon Apr 28 12:40:01 2008 -0400 sched: fix SCHED_FAIR wake-idle logic error We currently use an optimization to skip the overhead of wake-idle processing if more than one task is assigned to a run-queue. The assumption is that the system must already be load-balanced or we wouldnt be overloaded to begin with. The problem is that we are looking at rq->nr_running, which may include RT tasks in addition to CFS tasks. Since the presence of RT tasks really has no bearing on the balance status of CFS tasks, this throws the calculation off. This patch changes the logic to only consider the number of CFS tasks when making the decision to optimze the wake-idle. Signed-off-by: Gregory Haskins CC: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8ae121ac8666b0421aa20fd80d4597ec66fa54bc Author: Gregory Haskins Date: Wed Apr 23 07:13:29 2008 -0400 sched: fix RT task-wakeup logic Dmitry Adamushko pointed out a logic error in task_wake_up_rt() where we will always evaluate to "true". You can find the thread here: http://lkml.org/lkml/2008/4/22/296 In reality, we only want to try to push tasks away when a wake up request is not going to preempt the current task. So lets fix it. Note: We introduce test_tsk_need_resched() instead of open-coding the flag check so that the merge-conflict with -rt should help remind us that we may need to support NEEDS_RESCHED_DELAYED in the future, too. Signed-off-by: Gregory Haskins CC: Dmitry Adamushko CC: Steven Rostedt Signed-off-by: Ingo Molnar commit 983ed7a66bcec9dc307d89dc7af47cdf209e56af Author: Harvey Harrison Date: Thu Apr 24 18:17:55 2008 -0700 sched: add statics, don't return void expressions Noticed by sparse: kernel/sched.c:760:20: warning: symbol 'sched_feat_names' was not declared. Should it be static? kernel/sched.c:767:5: warning: symbol 'sched_feat_open' was not declared. Should it be static? kernel/sched_fair.c:845:3: warning: returning void-valued expression kernel/sched.c:4386:3: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit d478c2cfaa2476f8b6876f9eb4d8fddcfa986479 Author: Andrew Morton Date: Sat Apr 26 11:30:34 2008 -0700 sched: add debug checks to idle functions Cc: Venkatesh Pallipadi Cc: "Justin Mattock" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 733a0771df46af942b8355cd8bb15780106b4353 Author: Ingo Molnar Date: Mon Apr 28 14:05:18 2008 +0200 sched: remove old sched doc Fabio Checconi noticed that Documentation/scheduler/sched-design.txt was a stale copy of the old scheduler. Remove it. Reported-by: Fabio Checconi Signed-off-by: Ingo Molnar commit 2abdad0a4cd8f9413f778cc998e0ee7d60b28417 Author: Harvey Harrison Date: Fri Apr 25 10:53:13 2008 -0700 sched: make rt_sched_class, idle_sched_class static The C files are included directly in sched.c, so they are effectively static. Signed-off-by: Harvey Harrison Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit e05510d01ad1565e5e086a939261084d67ba2b10 Author: Peter Zijlstra Date: Mon May 5 23:56:17 2008 +0200 sched: optimize calc_delta_mine() Joel noticed that the !lw->inv_weight contition isn't unlikely anymore so remove the unlikely annotation. Also, remove the two div64_u64() inv_weight calculations, which makes them rely on the calc_delta_mine() path as well. Signed-off-by: Peter Zijlstra CC: Joel Schopp Signed-off-by: Ingo Molnar commit a992241de614dd2b7c97a9ba64e28c0e563f19bf Author: Peter Zijlstra Date: Mon May 5 23:56:17 2008 +0200 sched: fix normalized sleeper Normalized sleeper uses calc_delta*() which requires that the rq load is already updated, so move account_entity_enqueue() before place_entity() Tested-by: Frans Pop Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 19443178fbfbf40db15c86012fc37df1a44ab857 Author: Chris Wright Date: Mon May 5 13:50:24 2008 -0700 dccp: return -EINVAL on invalid feature length dccp_feat_change() validates length and on error is returning 1. This happens to work since call chain is checking for 0 == success, but this is returned to userspace, so make it a real error value. Signed-off-by: Chris Wright Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 108c1961847df2a875047c0fd27b419cb817d213 Merge: 48fc8de... 0df18ff... Author: Linus Torvalds Date: Mon May 5 12:39:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86 PCI: call dmi_check_pciprobe() x86/pci: add pci=skip_isa_align command lines. x86/pci: remove flag in pci_cfg_space_size_ext x86: fix section mismatch in pci_scan_bus commit abdefbdbd5c683ddcb1dd0d3dd414d02f078a5da Author: Adrian Bunk Date: Mon May 5 12:38:58 2008 -0700 sparc64: remove online_page() The identical online_page() implementations from all architectures got moved to mm/memory_hotplug.c - except for the sparc64 one that even was dead code due to MEMORY_HOTPLUG not being available there. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 48fc8de9cd093b8c9e2cfa339421862bae3a6cad Author: Geert Uytterhoeven Date: Mon May 5 21:27:21 2008 +0200 CONFIG_SCSI_MAC_ESP needs CONFIG_SCSI_SPI_ATTRS The new mac_esp scsi driver needs CONFIG_SCSI_SPI_ATTRS, just like all other drivers using the new esp_scsi core. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit b6d9d267f0d68104df910fca89149803aec82426 Author: Finn Thain Date: Mon May 5 21:26:15 2008 +0200 m68k: remove old mac_esp cruft Remove the rest of the old mac_esp driver. Also ditch the rest of the machw mechanism, it needs to be replaced by a fake openfirmware tree. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3b17f136bf32984eb0faeb116bcd44ffe3503782 Author: Roman Zippel Date: Mon May 5 21:25:48 2008 +0200 m68k: Handle 68040 bus faults Fix 68040 bus fault handling, so the standard kernel exception handling can be used for i/o probing. Contrary to normal access faults there is nothing to fix, but at least we have to disable writebacks to avoid recursive faults. Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 4933d07531711e399d8d578036aa9fc1be2f9b20 Author: Geert Uytterhoeven Date: Mon May 5 21:16:13 2008 +0200 m68k: drivers/input/serio/hp_sdc.c needs drivers/input/serio/hp_sdc.c: In function 'hp_sdc_take': drivers/input/serio/hp_sdc.c:198: error: implicit declaration of function 'up' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 63a59fa7a74fccff64dbf7d9230bd9d91bddead4 Author: Geert Uytterhoeven Date: Mon May 5 21:15:48 2008 +0200 m68k: serial167 missing return value in cy_put_char() commit a5b08c66194fba02a865b397579b7204688bcb1e Author: Alan Cox Date: Wed Apr 30 00:54:05 2008 -0700 serial167: switch to int put_char method missed one case when adding return values. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit ab1a852128d6f0677999eecbf6d04bf9f6fe9a9a Author: Geert Uytterhoeven Date: Mon May 5 21:15:19 2008 +0200 m68k: Fix falconide `data_adr' typo commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 ide: merge ->atapi_*put_bytes and ->ata_*put_data methods introduced a typo (`data_adr' instead of `data_addr'), leading to a compile failure. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8376005ea471762e7a5957d5b9e788121c0ba726 Author: David S. Miller Date: Mon May 5 12:32:39 2008 -0700 sparc64: use compat_sys_utimes instead of home-grown local copy. Noticed by Christoph Hellwig. Signed-off-by: David S. Miller commit 5717922a1b8cc477f45a0f4f11fe619392ba7133 Merge: 50f7ad2... e024cbd... Author: Linus Torvalds Date: Mon May 5 10:17:30 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: kconfig fix xconfig/menuconfig element kgdb: fix signedness mixmatches, add statics, add declaration to header kgdb: 1000 loops for the single step test in kgdbts kgdb: trivial sparse fixes in kgdb test-suite kgdb: minor documentation fixes commit 50f7ad2500b27ce5c42be3a6936f143b158f7bc3 Merge: 82af7ac... 2c36eec... Author: Linus Torvalds Date: Mon May 5 10:16:42 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc - fix S3C2410 i2s programming error [ALSA] soc - fix s3c2410 PCM breakage [ALSA] ac97 - Add a workaround for broken quirk for VT1617A codec [ALSA] Revert migration to alc_set_pin_output() in alc861_auto_set_output_and_unmute() [ALSA] fm801 - Fix kconfig dependency mess of fm801-tea575x [ALSA] hda - Support IDT 92HD206 codec [ALSA] pcsp: Fix build with CONFIG_PM=n commit 0df18ff366853cdf31e5238764ec5c63e6b5a398 Author: Yinghai Lu Date: Mon Apr 14 15:40:37 2008 -0700 x86 PCI: call dmi_check_pciprobe() this change: | commit 08f1c192c3c32797068bfe97738babb3295bbf42 | Author: Muli Ben-Yehuda | Date: Sun Jul 22 00:23:39 2007 +0300 | | x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata | | This patch introduces struct pci_sysdata to x86 and x86-64, and | converts the existing two users (NUMA, Calgary) to use it. | | This lays the groundwork for having other users of sysdata, such as | the PCI domains work. | | The Calgary bits are tested, the NUMA bits just look ok. replaces pcibios_scan_root with pci_scan_bus_parented... but in pcibios_scan_root we have a DMI check: dmi_check_system(pciprobe_dmi_table); when when have several peer root buses this could be called multiple times (which is bad), so move that call to pci_access_init(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Jesse Barnes commit 13a6ddb08e58a1bd344da7898c4e2f13bdf18c2f Author: Yinghai Lu Date: Thu Mar 27 01:31:18 2008 -0700 x86/pci: add pci=skip_isa_align command lines. so we don't align the io port start address for pci cards. also move out dmi check out acpi.c, because it has nothing to do with acpi. it could spare some calling when we have several peer root buses. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Jesse Barnes commit 82af7aca56c67061420d618cc5a30f0fd4106b80 Author: Eric Sesterhenn Date: Fri Jan 25 10:40:46 2008 +0100 Removal of FUTEX_FD Since FUTEX_FD was scheduled for removal in June 2007 lets remove it. Google Code search found no users for it and NGPT was abandoned in 2003 according to IBM. futex.h is left untouched to make sure the id does not get reassigned. Since queue_me() has no users left it is commented out to avoid a warning, i didnt remove it completely since it is part of the internal api (matching unqueue_me()) Signed-off-by: Eric Sesterhenn Signed-off-by: Rusty Russell (removed rest) Acked-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit e024cbd257efc2788b7d21b9353e966267485c87 Author: Jan Engelhardt Date: Fri Apr 25 18:35:29 2008 +0200 kgdb: kconfig fix xconfig/menuconfig element Kconfig.kgdb: fix menuconfig element Signed-off-by: Jan Engelhardt Signed-off-by: Jason Wessel commit 688b744d8bc84dc5cc646e97509113dc5e8818ed Author: Harvey Harrison Date: Thu Apr 24 16:57:23 2008 -0500 kgdb: fix signedness mixmatches, add statics, add declaration to header Noticed by sparse: arch/x86/kernel/kgdb.c:556:15: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static? kernel/kgdb.c:149:8: warning: symbol 'kgdb_do_roundup' was not declared. Should it be static? kernel/kgdb.c:193:22: warning: symbol 'kgdb_arch_pc' was not declared. Should it be static? kernel/kgdb.c:712:5: warning: symbol 'remove_all_break' was not declared. Should it be static? Related to kgdb_hex2long: arch/x86/kernel/kgdb.c:371:28: warning: incorrect type in argument 2 (different signedness) arch/x86/kernel/kgdb.c:371:28: expected long *long_val arch/x86/kernel/kgdb.c:371:28: got unsigned long * kernel/kgdb.c:469:27: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:469:27: expected long *long_val kernel/kgdb.c:469:27: got unsigned long * kernel/kgdb.c:470:27: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:470:27: expected long *long_val kernel/kgdb.c:470:27: got unsigned long * kernel/kgdb.c:894:27: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:894:27: expected long *long_val kernel/kgdb.c:894:27: got unsigned long * kernel/kgdb.c:895:27: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:895:27: expected long *long_val kernel/kgdb.c:895:27: got unsigned long * kernel/kgdb.c:1127:28: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:1127:28: expected long *long_val kernel/kgdb.c:1127:28: got unsigned long * kernel/kgdb.c:1132:25: warning: incorrect type in argument 2 (different signedness) kernel/kgdb.c:1132:25: expected long *long_val kernel/kgdb.c:1132:25: got unsigned long * Signed-off-by: Harvey Harrison Signed-off-by: Jason Wessel commit 7cfcd985d36031459cc64e3843ea36a4d801097d Author: Jason Wessel Date: Thu Apr 24 16:57:23 2008 -0500 kgdb: 1000 loops for the single step test in kgdbts The single step test is not terribly costly and it should be able to pass at 1000 loops successfully in under 1 second. A non-kgdb timing regression was found using this test, but it did not occur frequently because by default the test was only executed a single time. This patch changes the default for the single step test to 1000 iterations and allows for individual configuration of the single step test to further exercise the kgdb subsystem when needed. Signed-off-by: Jason Wessel commit 001fddf5fdcfe2c08ac9c4e5ca80c5e5698363bb Author: Harvey Harrison Date: Thu Apr 24 16:57:23 2008 -0500 kgdb: trivial sparse fixes in kgdb test-suite Shadowed variable and integer as NULL pointer fixes: drivers/misc/kgdbts.c:877:6: warning: symbol 'sys_open_test' shadows an earlier one drivers/misc/kgdbts.c:537:27: originally declared here drivers/misc/kgdbts.c:378:22: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:386:22: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:468:30: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:472:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:502:30: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:506:30: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:509:30: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:523:20: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:527:20: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:530:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:541:21: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:545:21: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:548:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:559:30: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:563:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:573:16: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:574:19: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:578:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:588:16: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:589:19: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:593:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:602:16: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:604:15: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:925:3: warning: Using plain integer as NULL pointer drivers/misc/kgdbts.c:938:3: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Jason Wessel commit f92509371ec06227a7e29778f395776d31b0deab Author: grzegorz.chwesewicz@chilan.com Date: Thu Apr 24 16:57:22 2008 -0500 kgdb: minor documentation fixes Two minor fixes to the kgdb documentation. Signed-off-by: Grzegorz Chwesewicz, Chilan Signed-off-by: Jason Wessel commit 2c36eecfb6471c457994647771d1405502ad5fde Author: Davide Rizzo Date: Mon May 5 14:59:39 2008 +0200 [ALSA] soc - fix S3C2410 i2s programming error S3C2410 i2s driver currently manages only i2s protocol (and not left justified one) and slave mode. With this small patch, other modes are possible. Signed-off-by: Davide Rizzo Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai commit d6426171bab3403cdcd5613d5549f20b0ab0967c Author: Davide Rizzo Date: Mon May 5 14:56:07 2008 +0200 [ALSA] soc - fix s3c2410 PCM breakage S3C2410 pcm doesn't work. s3c2410_dma_request() now returns the channel number and not 0 if OK. Signed-off-by: Davide Rizzo Acked-by: Liam Girdwood Signed-off-by: Takashi Iwai commit 2e75d050e42d1c61e820f9a35078a2f69e02cc3e Author: Takashi Iwai Date: Sat May 3 18:46:56 2008 +0200 [ALSA] ac97 - Add a workaround for broken quirk for VT1617A codec On boards with VT1617A codec, the sound disappears suddenly. This looks like a problem with HPE-bit control that is supposed to be set in patch_vt1617a(). However, on such problematic hardwares, the bit is actually reset mysteriously. The patch adds a workaround for the wrong quirk. Signed-off-by: Takashi Iwai commit 564c5bead424fa798dfbd5fe382b4e0b7ea483fb Author: Jacek Luczak Date: Sat May 3 18:41:23 2008 +0200 [ALSA] Revert migration to alc_set_pin_output() in alc861_auto_set_output_and_unmute() Change done by: commit f6c7e5461e9046445d50c5c7a9a4587824239623 [ALSA] hda-codec - Fix auto-configuration of Realtek codecs broke sound on ALC861 Analog. Signed-off-by: Jacek Luczak Signed-off-by: Takashi Iwai commit 20686c24377246d9eb57782551b25ff19df09873 Author: Takashi Iwai Date: Fri May 2 12:31:51 2008 +0200 [ALSA] fm801 - Fix kconfig dependency mess of fm801-tea575x FM801-tea575x tuner has a reverse selection to V4L1 and this causes nasty dependency problems. The patch simplifies the dependency with a normal "depends on VIDEO_V4L1". This decreases the usability but fixes bugs, yeah. If any better feature like "requires" is introduced to kbuild in future, we'll be able to switch it... Signed-off-by: Takashi Iwai commit 7bd3c0f73c9c5b47fd1ca49757c436e73f4cd55b Author: Takashi Iwai Date: Fri May 2 12:28:02 2008 +0200 [ALSA] hda - Support IDT 92HD206 codec Added the support for IDT 92HD206 codec chip. It's compatible with STAC927x. Signed-off-by: Takashi Iwai commit 983e0972cea450fe5725d1ba11c78adfd5d7ad3a Author: Johann Felix Soden Date: Fri May 2 09:54:31 2008 +0200 [ALSA] pcsp: Fix build with CONFIG_PM=n sound/drivers/pcsp/pcsp.c: In function 'pcsp_suspend': sound/drivers/pcsp/pcsp.c:201: error: implicit declaration of function 'snd_pcm_suspend_all' Signed-off-by: Johann Felix Soden CC: Stas Sergeev Signed-off-by: Takashi Iwai commit 7a1aa309f21ea2f6c31f364341e4027ecf4e79bc Author: Ingo Molnar Date: Mon May 5 01:06:54 2008 -0700 irda: fix !PNP support for drivers/net/irda/smsc-ircc2.c x86.git testing found this build bug on v2.6.26-rc1: ERROR: "pnp_get_resource" [drivers/net/irda/smsc-ircc2.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 the driver did not anticipate the case of !CONFIG_PNP which is rare but still possible. Instead of restricting the driver to PNP-only in the Kconfig space, add the (trivial) dummy struct pnp_driver - this is that other drivers use in the !PNP case too. The driver itself can in theory be initialized on !PNP too in certain cases, via smsc_ircc_legacy_probe(). Patch only minimally build tested, i dont have this hardware. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit c17f888f8fc2e47e2b4a51424f8ccf564ae87576 Author: Ingo Molnar Date: Mon May 5 01:04:06 2008 -0700 irda: fix !PNP support in drivers/net/irda/nsc-ircc.c x86.git testing found the following build failure in latest -git: drivers/built-in.o: In function `nsc_ircc_pnp_probe': nsc-ircc.c:(.text+0xdf1b6): undefined reference to `pnp_get_resource' nsc-ircc.c:(.text+0xdf1d4): undefined reference to `pnp_get_resource' nsc-ircc.c:(.text+0xdf1ee): undefined reference to `pnp_get_resource' nsc-ircc.c:(.text+0xdf237): undefined reference to `pnp_get_resource' nsc-ircc.c:(.text+0xdf24c): undefined reference to `pnp_get_resource' drivers/built-in.o:nsc-ircc.c:(.text+0xdf266): more undefined references to `pnp_get_resource' follow make: *** [.tmp_vmlinux1] Error 1 triggered via this config: http://redhat.com/~mingo/misc/config-Sat_May__3_20_53_13_CEST_2008.bad while generally most users will have PNP enabled, drivers can support non-PNP build mode too - and most drivers implement it. That is typically done by providing a dummy pnp_driver structure that will not probe anything. The fallback routines in the driver will handle this dumber mode of operation too. This patch implements that. I have not tested whether this actually works on real hardware so take care. It does resolve the build bug. [ Another solution that is used by a few drivers is to exclude the driver in the Kconfig if PNP is disabled, via "depends on PNP", but this would limit the availability of the driver needlessly. ] Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 0a6db7dc49b91875ff015934df3e85b8785f2294 Author: David S. Miller Date: Mon May 5 00:33:58 2008 -0700 sbus: Fix bpp driver build. Using the variable name 'dev_name' in the top-level namespace is a bad idea. This conflicts with linux/device.h's inline function of the same name. Signed-off-by: David S. Miller commit fa1b1cff3d06550d23ef540c4f97ca83c021b473 Author: Jamal Hadi Salim Date: Mon May 5 00:22:35 2008 -0700 net_cls_act: Make act_simple use of netlink policy. Convert to netlink helpers by using netlink policy validation. As a side effect fixes a leak. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 9185ef6787f1c8f1c06aa0cb3c7746fb4f101f50 Author: Denis V. Lunev Date: Sat May 3 06:34:05 2008 +1000 [POWERPC] Assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. No need to check for data!=NULL after that. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: Eric W. Biederman Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit b41e5fffe8b81fc939067d8c1c195cc79115d5a3 Author: Emil Medve Date: Sat May 3 06:34:04 2008 +1000 [POWERPC] devres: Add devm_ioremap_prot() We provide an ioremap_flags, so this provides a corresponding devm_ioremap_prot. The slight name difference is at Ben Herrenschmidt's request as he plans on changing ioremap_flags to ioremap_prot in the future. Signed-off-by: Emil Medve Signed-off-by: Kumar Gala Acked-by: Tejun Heo Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit af3ce514ade2fd0e18c5d078d138a6c1137a33df Author: Daniel Walker Date: Sat May 3 06:34:03 2008 +1000 [POWERPC] macintosh: ADB driver: adb_handler_sem semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 56783c5e4dd32ca370ad0bdf3a9c6c1aaee94726 Author: Daniel Walker Date: Sat May 3 06:34:02 2008 +1000 [POWERPC] macintosh: windfarm_smu_sat: semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0885cb5653ff82c8d322df1b8a95843dc5f5486b Author: Daniel Walker Date: Sat May 3 06:34:01 2008 +1000 [POWERPC] macintosh: therm_pm72: driver_lock semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5ffc02a158997b1eb91ade8d02bcf521ff79a218 Author: Satoru SATOH Date: Sun May 4 22:14:42 2008 -0700 ip: Use inline function dst_metric() instead of direct access to dst->metric[] There are functions to refer to the value of dst->metric[THE_METRIC-1] directly without use of a inline function "dst_metric" defined in net/dst.h. The following patch changes them to use the inline function consistently. Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit 0bbeafd0118fc3ae54990064760c889d41dc21d6 Author: Satoru SATOH Date: Sun May 4 22:12:43 2008 -0700 ip: Make use of the inline function dst_metric_locked() Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit de1028927ae3487e2e450dacf50fbf32042aee18 Author: Luke Browning Date: Mon Apr 28 17:35:56 2008 +1000 [POWERPC] spufs: handle faults while the context switch pending flag is set Currently, page fault handlers don't issue a mfc restart if the context switch pending flag is set, which can leave us with a hanging DMA after a context restore. This patch introduces fault pending flag that is set by the fault handler and read by the context switch code, so that the latter can add the restart bit at the right spot, after it has successfuly saved the state of the mfc control register. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit f3d69e0507f84903059d456c5d19f10b2df3ac69 Author: Luke Browning Date: Sun Apr 27 18:41:55 2008 +0000 [POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptions SPU class 0 & 1 exceptions may occur in parallel, so we may end up overwriting csa.dsisr. This change adds dedicated fields for each class to the spu and the spu context so that fault data is not overwritten. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 7a2142002f29a7b398c49da9bdec712dc57087c7 Author: Luke Browning Date: Mon Apr 28 14:32:34 2008 +1000 [POWERPC] spufs: try to route SPU interrupts to local node Currently, we re-route SPU interrupts to the current cpu, which may be on a remote node. In the case of time slicing, all spu interrupts will end up routed to the same cpu, where the spusched_tick occurs. This change routes mfc interrupts to the cpu where the controlling thread last ran, provided that cpu is on the same node as the spu (otherwise don't reroute interrupts). This should improve performance and provide a more predictable environment for processing spu exceptions. In the past we have seen concurrent delivery of spu exceptions to two cpus. This eliminates that concern. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit 093c16bf9b107433643cbf0843ca7808df90823b Author: Luke Browning Date: Fri Apr 25 14:00:00 2008 +1000 [POWERPC] spufs: set SPU_CONTEXT_SWITCH_PENDING before synchronising SPU irqs synchronize_irq() provides the serialization for SPU_CONTEXT_SWITCH_PENDING which is read with a simple load. This routine guarantees that the relevant interrupt handlers are not running, so that the next time they do run they will see the update memory value. This must be done correctly so that exception handling code does not restart the mfc in the middle of a context switch while we are trying to atomically stop it and save state. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr commit d29694f0681e188cf75477f20904041744e78ef7 Author: Jeremy Kerr Date: Wed Apr 23 16:02:10 2008 +1000 [POWERPC] spufs: don't acquire state_mutex interruptible while performing callback There's currently no way to tell if spu_process_callback has returned with the state mutex held, as -EINTR may be returned by either the syscall or the spu_acquire fail case. Instead, just do a non-interruptible mutex_lock here. Signed-off-by: Jeremy Kerr commit c0bace5c7029ef7cbb6e6ffaa0469a3c042e5029 Author: Jeremy Kerr Date: Wed Apr 23 14:24:27 2008 +1000 [POWERPC] spufs: update master runcntl with context lock held Currently, we update the SPU master run control bit (ie, spu_enable_spu) in spufs_run_spu before we grab the context mutex. This can result in races with other processes accessing this context's resources. This change moves the spu_enable_spu to after we have acquired the context lock. Signed-off-by: Jeremy Kerr commit 55d7cd74d44e7e0597f95db25c12f3e6c5e7916f Author: Jeremy Kerr Date: Thu Apr 24 18:15:40 2008 +1000 [POWERPC] spufs: fix post-stopped update of MFC_CNTL register We currently have two issues with the MFC save code: * save_mfc_decr doesn't handle a transition of 1 -> 0 of the Ds bit * The Q bit may be stale in the CSA This change fixes the first issue by clearing the relevant bits from the MFC_CNTL value in the CSA before or-ing in the updated status. Also, we add the Q bit to the updated status. Signed-off-by: Jeremy Kerr commit 1ca4264ee17745779c341966c5e61ac69bfd17a6 Author: Jeremy Kerr Date: Wed Apr 9 15:24:22 2008 +1000 [POWERPC] spufs: fix save of mfc_cntl register Currently, we can introduce invalid entries into the MFC queues: 1) context starts a DMA 2) context gets scheduled out during a DMA - kernel saves MFC queue to CSA - kernel saves 0x0 in csa->mfc_control_RW 3) context gets scheduled in - csa->mfc_control[Q] ('queues empty') isn't set, so DMA queues are restored from the CSA 4) context's DMA is completed 5) context gets scheduled out again, no DMA occuring this time - kernel sees that MFC_CNTL[Q] ('queues empty') is set, so doesn't touch saved queue data in CSA - kernel saves 0x0 in csa->mfc_control_RW 6) context gets scheduled in - csa->mfc_control[Q] ('queues empty') isn't set (we saved is as 0!), so DMA queues are restored from the CSA In this last restore, we've restored the queue status from step 2, which are now invalid. This change makes save_mfc_cntl() closer to the save/restore sequence, as specified in the CBE handbook. With changes from Luke Browning. Signed-off-by: Jeremy Kerr commit 943906ba4bebf629d5cd770e48b8ec0ddc433869 Author: Jeremy Kerr Date: Mon Apr 7 17:42:36 2008 +1000 [POWERPC] spufs: don't touch suspend bits when purging DMA queue When we issue a MFC purge request, we may inadvertantly clear the suspended status. This change adds the MFC_CNTL_SUSPEND_MASK when we issue a purge request, so that the suspend bit is masked out. Signed-off-by: Jeremy Kerr commit 5711fe900dfef8d9afdbbb6d0f9c9720919d1d66 Author: Jeremy Kerr Date: Fri Apr 4 17:55:28 2008 +1100 [POWERPC] cell: Fix lost interrupts due to fasteoi handler We may currently lose interrupts during SPE context switch, as we alter the INT_Route register. Because the IIC uses a per-thread priority status, changing the interrupt routing to a different thread means that the IRQ is no longer masked by the priority status, so we end up with two fasteoi IRQ handlers executing for the one irq_desc. The fasteoi handler doesn't handle multiple IRQs, so drops the second one. Fix this by using our own flow handler. This is based on handle_edge_irq, but issues an eoi after IRQs are handled, and doesn't do any mask/unmasking. Signed-off-by: Jeremy Kerr commit 1e0ba0060ffcee2e766ec3159196235b1a2a0ff3 Author: Pavel Emelyanov Date: Sun May 4 18:00:36 2008 -0700 atm: Bad locking on br2684_devs modifications. The list_del happens under read-locked devs_lock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 65e4113684e50cee75357ce10dc9026b0929e4e9 Author: Pavel Emelyanov Date: Sun May 4 18:00:05 2008 -0700 atm: Do not free already unregistered net device. Both br2684_push and br2684_exit do so, but unregister_netdev() releases the device itself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 339a7c41c913035bf58579f6e47b4ba29da83795 Author: Pavel Emelyanov Date: Sun May 4 17:59:30 2008 -0700 mac80211: Do not free net device after it is unregistered. The error path in ieee80211_register_hw() may call the unregister_netdev() and right after it - the free_netdev(), which is wrong, since the unregister releases the device itself. So the proposed fix is to NULL the local->mdev after unregister is done and check this before calling free_netdev(). I checked - no code uses the local->mdev after unregister in this error path (but even if some did this would be a BUG). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e340a90e6e07bba6e6b3fc39dd5fa76f95579d7c Author: Pavel Emelyanov Date: Sun May 4 17:58:07 2008 -0700 bridge: Consolidate error paths in br_add_bridge(). This actually had to be merged with the patch #1, but I decided not to mix two changes in one patch. There are already two calls to free_netdev() in there, so merge them into one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c37aa90b0458d87342e0bb083f6bf7d113220d09 Author: Pavel Emelyanov Date: Sun May 4 17:57:29 2008 -0700 bridge: Net device leak in br_add_bridge(). In case the register_netdevice() call fails the device is leaked, since the out: label is just rtnl_unlock()+return. Free the device. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f74d505b58d36ceeef10e459094f0eb760681165 Merge: 45ea210... 2961b42... Author: Linus Torvalds Date: Sun May 4 17:12:10 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes * git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes: fix asm-mips/types.h syntax error fix asm-alpha/types.h breakage commit 45ea2103d8856454503b30464cc1dba378748d00 Merge: 10ea18f... 6217984... Author: Linus Torvalds Date: Sun May 4 17:11:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86: fix setup printk format warning x86: olpc build fix x86: video/fbdev.c: add MODULE_LICENSE x86: fix up bootparam.h for userspace inclusion x86: relocs ELF handling - use SELFMAG instead of numeric constant x86: vdso ELF handling - use SELFMAG instead of numeric constant x86: remove dell reboot dmi quirk board name match x86: es7000 build fix x86: make additional_cpus static x86: make start_secondary() static kbuild, suspend, x86: fix rebuild of wakeup.bin uml: fix gcc problem x86: undo visws/numaq build changes commit 10ea18f0deb2372417c8e5be4d2ec79de1f65c4b Merge: eb28062... 2cb1e12... Author: Linus Torvalds Date: Sun May 4 17:11:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kconfig-language.txt: remove bogus hint kconfig: fix MAC OS X warnings in menuconfig modpost: i2c aliases need no trailing wildcard commit eb28062f131b0a1da32b2554fd819af5221040de Author: Bryan Wu Date: Sun May 4 23:12:55 2008 +0800 task_nommu: fix compile failing bug because of spilt file.h CC fs/proc/task_nommu.o fs/proc/task_nommu.c: In function ‘task_mem’: fs/proc/task_nommu.c:55: error: dereferencing pointer to incomplete type make[2]: *** [fs/proc/task_nommu.o] Error 1 make[1]: *** [fs/proc] Error 2 make: *** [fs] Error 2 Signed-off-by: Bryan Wu Signed-off-by: Linus Torvalds commit d0dcd41d7b463de955b7ae7a55f76ff4216ed665 Merge: 8dcf578... 1024c5f... Author: Linus Torvalds Date: Sun May 4 17:08:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: IDE_HFLAG_SERIALIZE_DMA bugfix commit 8dcf5782848600ecfd0df3a45c521b5ad0fcb42e Merge: e73b65f... b8ba5f1... Author: Linus Torvalds Date: Sun May 4 17:07:28 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: x86: KVM geust: make setup_secondary_clock definition dependent on local apic KVM: MMU: Allow more than PAGES_PER_HPAGE write protections per large page KVM: avoid fx_init() schedule in atomic KVM: Avoid spurious execeptions after setting registers KVM: PIT: support mode 4 KVM: x86 emulator: disable writeback on lmsw KVM: ppc: deliver INTERRUPT_FP_UNAVAIL to the guest KVM: ppc: Handle guest idle by emulating MSR[WE] writes KVM: x86: task switch: fix wrong bit setting for the busy flag KVM: VMX: Enable EPT feature for KVM KVM: VMX: Prepare an identity page table for EPT in real mode KVM: Export necessary function for EPT KVM: MMU: Remove #ifdef CONFIG_X86_64 to support 4 level EPT KVM: MMU: Add EPT support KVM: Add kvm_x86_ops get_tdp_level() KVM: MMU: Move some definitions to a header file KVM: VMX: EPT Feature Detection commit e73b65f1db7e3baa3db43951476b7d2d2381ba35 Author: Ingo Molnar Date: Sun May 4 09:29:43 2008 +0200 sysfs: build fix x86.git testing found the following build failure on v2.6.26-rc1: In file included from include/linux/kobject.h:22, from include/linux/module.h:17, from include/linux/crypto.h:22, from arch/x86/kernel/asm-offsets_32.c:8, from arch/x86/kernel/asm-offsets.c:3: include/linux/sysfs.h:201: error: redefinition of 'sysfs_update_group' include/linux/sysfs.h:195: error: previous definition of 'sysfs_update_group' was here make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2 with the following config: http://redhat.com/~mingo/misc/config-Sun_May__4_07_09_30_CEST_2008.bad the reason for the build failure is the duplicate definition of the sysfs_update_group() inline function in include/linux/sysfs.h. The duplication was a merge error: it was added via -mm by commit v2.6.25-7262-g2850699, "sysfs: sysfs_update_group stub for CONFIG_SYSFS=n" a day before v2.6.26-rc1, but a day before that the same commit was already merged upstream via the sysfs tree, with commit v2.6.25-7211-g1cbfb7a. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 826e4506a0acb6487910a5ebafe839f708a00e1c Author: Linus Torvalds Date: Sun May 4 17:04:16 2008 -0700 Make forced module loading optional The kernel module loader used to be much too happy to allow loading of modules for the wrong kernel version by default. For example, if you had MODVERSIONS enabled, but tried to load a module with no version info, it would happily load it and taint the kernel - whether it was likely to actually work or not! Generally, such forced module loading should be considered a really really bad idea, so make it conditional on a new config option (MODULE_FORCE_LOAD), and make it default to off. If somebody really wants to force module loads, that's their problem, but we should not encourage it. Especially as it happened to me by mistake (ie regular unversioned Fedora modules getting loaded) causing lots of strange behavior. Signed-off-by: Linus Torvalds commit 2961b423037da60a8cb230963ee0d8c04473d73b Author: Adrian Bunk Date: Sat May 3 22:26:17 2008 +0300 fix asm-mips/types.h syntax error This patch fixes the following compile error caused by commit 23cf11ddb5099f8c7f7cb3eb154bff0faf31cae9 (mips: types: use for the mips architecture): <-- snip --> ... CC kernel/bounds.s In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/types.h:12, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/page-flags.h:8, from /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/bounds.c:9: include2/asm/types.h:56:2: error: #endif without #if make[2]: *** [kernel/bounds.s] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Cc: Ralf Baechle Signed-off-by: H. Peter Anvin commit 36bbfe2f097d5e09e8e9c83f55264bd538a0ebe1 Author: Adrian Bunk Date: Sat May 3 23:51:03 2008 +0300 fix asm-alpha/types.h breakage This patch fixes the following compile error on alpha caused by commit 3726c23df8e4d95b6f2b335dfa90e3f4850a8a00 (alpha: types: use for the alpha architecture): <-- snip --> ... CC arch/alpha/kernel/asm-offsets.s In file included from include2/asm/topology.h:6, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/topology.h:34, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mmzone.h:683, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/gfp.h:4, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/slab.h:12, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/percpu.h:5, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/rcupdate.h:39, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/pid.h:4, from /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/sched.h:74, from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/alpha/kernel/asm-offsets.c:9: include2/asm/machvec.h:44: error: expected declaration specifiers or '...' before 'dma_addr_t' include2/asm/machvec.h:44: error: expected declaration specifiers or '...' before 'dma_addr_t' In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/alpha/kernel/asm-offsets.c:12: include2/asm/io.h:94: warning: type defaults to 'int' in declaration of 'dma_addr_t' include2/asm/io.h:94: warning: variable 'dma_addr_t' declared 'inline' include2/asm/io.h:94: error: expected ',' or ';' before 'isa_page_to_bus' make[2]: *** [arch/alpha/kernel/asm-offsets.s] Error 1 <-- snip --> Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: H. Peter Anvin commit 2cb1e1257fb4d4d52c97e763ab262c2295aea4a8 Author: Adrian Bunk Date: Sun May 4 02:15:35 2008 +0300 kconfig-language.txt: remove bogus hint For the use case the hint describe a simple dependency is enough. Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap commit c4143a83031aef7ba87a62cf654d6d8fb4d8e76e Author: Sam Ravnborg Date: Sun May 4 21:03:20 2008 +0200 kconfig: fix MAC OS X warnings in menuconfig Signed-off-by: Sam Ravnborg Acked-by: Timur Tabi commit 62179849b40aded9e727cca5006627a1c4d6446e Author: Randy Dunlap Date: Fri May 2 13:32:35 2008 -0700 x86: fix setup printk format warning Fix x86 setup printk format warming: next-20080430/arch/x86/kernel/setup.c:172: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'ssize_t' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e26a28d190304d910ee49b81cbfe6d9241f56e86 Author: Thomas Gleixner Date: Sat May 3 23:49:59 2008 +0200 x86: olpc build fix CONFIG_OLPC needs to depend on MGEODE_LX Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b04fa014c11e6415da8b5a7999dbd201abad53c Author: Adrian Bunk Date: Fri May 2 13:32:32 2008 -0700 x86: video/fbdev.c: add MODULE_LICENSE Add the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit afaafe50ee15c59010f19273ebfb6c44f0962d7c Author: Rusty Russell Date: Fri May 2 21:14:20 2008 +1000 x86: fix up bootparam.h for userspace inclusion commit 8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6 (x86, boot: add linked list of struct setup_data) put a new struct in bootparam.h, but didn't use the userspace-safe types. Signed-off-by: Rusty Russell Cc: Huang Ying Acked-by: H. Peter Anvin Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8bd1796dedd50abd7553afbe6113bd97cc88390f Author: Cyrill Gorcunov Date: Sat May 3 14:18:03 2008 +0400 x86: relocs ELF handling - use SELFMAG instead of numeric constant Signed-off-by: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: hpa@zytor.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ecb783eae1372d69a53d406e1bdba8284e4bafcc Author: Cyrill Gorcunov Date: Sat May 3 14:18:01 2008 +0400 x86: vdso ELF handling - use SELFMAG instead of numeric constant Signed-off-by: Cyrill Gorcunov Cc: akpm@linux-foundation.org Cc: hpa@zytor.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 163ea310b68bdde89b1ac633fbf8c0db290d3f86 Author: Ben Date: Sat May 3 22:39:42 2008 +0200 x86: remove dell reboot dmi quirk board name match http://bugzilla.kernel.org/show_bug.cgi?id=10547 Newer Dell OptiPlex 745s hang before rebooting after 'sudo reboot'. A patch for some versions of the OptiPlex was proposed here -- http://lkml.org/lkml/2007/6/5/59 -- and is included in 2.6.23 and later kernels, according to http://lxr.linux.no/linux+v2.6.23/arch/i386/kernel/reboot.c . However, the DMI_BOARD_NAME ("0WF810") is too restrictive. Newer OptiPlex machines have a DMI_BOARD_NAME of "0RF703". I therefore suggest adding another clause to reboot.c, similar to the one in the original patch, but matching a DMI_BOARD_NAME of "0RF703". On further inspection, it seems that there are other DMI_BOARD_NAMEs for this same machine. They seem to change from time to time, which means that the current code is fragile. Moreover, using bios reboot should not break non-SFF OptiPlex 745s, and so a reasonable fix is to simply drop the match on DMI_BOARD_NAME. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e37ee42caadab46cec277546099fa2a6207fff0b Author: Ingo Molnar Date: Sat May 3 22:01:31 2008 +0200 x86: es7000 build fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c5562faeaacf19e81a78ee37cc6b96ab1f3e68e4 Author: Adrian Bunk Date: Tue Apr 22 00:31:37 2008 +0300 x86: make additional_cpus static This patch makes the needlessly global additional_cpus static. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbe55f4797712f86691a0ee0b5f508693c7310fe Author: Adrian Bunk Date: Tue Apr 22 01:50:26 2008 +0300 x86: make start_secondary() static start_secondary() needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c6214c75a5aca5417156a47cd890b128c5f0637 Author: Sam Ravnborg Date: Thu May 1 11:31:07 2008 +0200 kbuild, suspend, x86: fix rebuild of wakeup.bin In kernel/acpi/realmode/Makefile use the 'always' variable to say that wakeup.bin should always be made. In acpi/Makefile we then do not need to specify the requested target and we avoid the message from make: `arch/x86/kernel/acpi/realmode/wakeup.bin' is up to date. Add wakeup.lds to list af targets to avoid rebuilding wakeup.bin - from Roland McGrath. Signed-off-by: Sam Ravnborg Cc: Rafael J. Wysocki Cc: Pavel Machek Cc: H. Peter Anvin Cc: Roland McGrath Signed-off-by: Ingo Molnar commit 22eecde2f9034764a3fd095eecfa3adfb8ec9a98 Author: Ingo Molnar Date: Thu May 1 12:06:54 2008 +0200 uml: fix gcc problem this is what caused gcc 4.3 to throw an internal error when OPTIMIZE_INLINING was enabled ... Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 48b83d2425d7781bb625b1c37b5f2a8963b6e23b Author: Thomas Gleixner Date: Fri May 2 21:24:30 2008 +0200 x86: undo visws/numaq build changes arch/x86/pci/Makefile_32 has a nasty detail. VISWS and NUMAQ build override the generic pci-y rules. This needs a proper cleanup, but that needs more thoughts. Undo commit 895d30935ebe05f192e844792668bf8d19deaae7 x86: numaq fix do not override the existing pci-y rule when adding visws or numaq rules. There is also a stupid init function ordering problem vs. acpi.o Add comments to the Makefile to avoid tripping over this again. Remove the srat stub code in discontig_32.c to allow a proper NUMAQ build. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1024c5f4be4fc5b00337464fb8a442bebf15df68 Author: Bartlomiej Zolnierkiewicz Date: Sun May 4 17:03:41 2008 +0200 ide: IDE_HFLAG_SERIALIZE_DMA bugfix Patch re-ordering could be harmful: commit 1fd1890594bd355a4217f5658a34763e77decee3 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: add IDE_HFLAG_SERIALIZE_DMA host flag ... is buggy because ->init_dma method / ide_hwif_setup_dma() is called before IDE_HFLAG_SERIALIZE_DMA host flag is checked. Fix it by checking IDE_HFLAG_SERIALIZE[_DMA] after DMA initialization. Signed-off-by: Bartlomiej Zolnierkiewicz commit b8ba5f10c5956d2b297766fda8f4f5ab8ad1e2cc Author: Glauber Costa Date: Wed Apr 30 12:39:05 2008 -0300 x86: KVM geust: make setup_secondary_clock definition dependent on local apic Since the pv_apic_ops are only present if CONFIG_X86_LOCAL_APIC is compiled in, kvmclock failed to build without this option. This patch fixes this. Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 93df766322ba1db2801e4b826985a4932dd75866 Author: Avi Kivity Date: Fri May 2 13:23:10 2008 +0300 KVM: MMU: Allow more than PAGES_PER_HPAGE write protections per large page nonpae guests can call rmap_write_protect twice per page (for page tables) or four times per page (for page directories), triggering a bogus warning. Remove the warning. Signed-off-by: Avi Kivity commit bc1a34f1bf354fabc03e3f465620c80e510d0e8f Author: Andrea Arcangeli Date: Thu May 1 18:43:33 2008 +0200 KVM: avoid fx_init() schedule in atomic This make sure not to schedule in atomic during fx_init. I also changed the name of fpu_init to fx_finit to avoid duplicating the name with fpu_init that is already used in the kernel, this makes grep simpler if nothing else. Signed-off-by: Andrea Arcangeli Signed-off-by: Avi Kivity commit b4f14abd95cd8d42f08438f1c4ec3eafe41054ee Author: Jan Kiszka Date: Wed Apr 30 17:59:04 2008 +0200 KVM: Avoid spurious execeptions after setting registers Clear pending exceptions when setting new register values. This avoids spurious exceptions after restoring a vcpu state or after reset-on-triple-fault. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit ece15babfa514e06118f62f4df2c757d6209f4f0 Author: Marcelo Tosatti Date: Wed Apr 30 13:23:54 2008 -0300 KVM: PIT: support mode 4 The in-kernel PIT emulation ignores pending timers if operating under mode 4, which for example DragonFlyBSD uses (and Plan9 too, apparently). Mode 4 seems to be similar to one-shot mode, other than the fact that it starts counting after the next CLK pulse once programmed, while mode 1 starts counting immediately, so add a FIXME to enhance precision. Fixes sourceforge bug 1952988. Signed-off-by: Marcelo Tosatti Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit dc7457ea52f88539dc72925360e6068d5c938a0f Author: Avi Kivity Date: Wed Apr 30 16:13:36 2008 +0300 KVM: x86 emulator: disable writeback on lmsw The recent changes allowing memory operands with lmsw and smsw left lmsw with writeback enabled. Since lmsw has no oridinary destination operand, the dst pointer was not initialized, resulting in an oops. Close the hole by disabling writeback for lmsw. Signed-off-by: Avi Kivity commit de368dceb33c3c068dbde1407aff75cd8e126f04 Author: Christian Ehrhardt Date: Tue Apr 29 18:18:23 2008 +0200 KVM: ppc: deliver INTERRUPT_FP_UNAVAIL to the guest This patch adds the delivery of INTERRUPT_FP_UNAVAIL exceptions to the guest. It's needed if a guest uses ppc binaries using the Floating point instructions. Signed-off-by: Christian Ehrhardt Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 45c5eb67da5a668abe79c23a7e64dbc87a600f90 Author: Hollis Blanchard Date: Fri Apr 25 17:55:49 2008 -0500 KVM: ppc: Handle guest idle by emulating MSR[WE] writes This reduces host CPU usage when the guest is idle. However, the guest must set MSR[WE] in its idle loop, which Linux did not do until 2.6.26. Signed-off-by: Hollis Blanchard Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit 3fe913e7c550a869e250d04c34410f7a6e263f7c Author: Izik Eidus Date: Mon Apr 28 18:23:52 2008 +0300 KVM: x86: task switch: fix wrong bit setting for the busy flag The busy bit is bit 1 of the type field, not bit 8. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 1439442c7b257b47a83aea4daed8fbf4a32cdff9 Author: Sheng Yang Date: Mon Apr 28 12:24:45 2008 +0800 KVM: VMX: Enable EPT feature for KVM Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit b7ebfb0509692cd923e31650f81ed4d79c9a3e59 Author: Sheng Yang Date: Fri Apr 25 21:44:52 2008 +0800 KVM: VMX: Prepare an identity page table for EPT in real mode [aliguory: plug leak] Signed-off-by: Sheng Yang Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 0d15029895051904e31925ec63525cc3a637f7de Author: Sheng Yang Date: Fri Apr 25 21:44:50 2008 +0800 KVM: Export necessary function for EPT Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 1ac593c97eb229da44819f66fea47975537c1177 Author: Sheng Yang Date: Fri Apr 25 21:44:42 2008 +0800 KVM: MMU: Remove #ifdef CONFIG_X86_64 to support 4 level EPT Currently EPT level is 4 for both pae and x86_64. The patch remove the #ifdef for alloc root_hpa and free root_hpa to support EPT. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7b52345e2c4c7333bf7eba8034ffc4683fa63c91 Author: Sheng Yang Date: Fri Apr 25 21:13:50 2008 +0800 KVM: MMU: Add EPT support Enable kvm_set_spte() to generate EPT entries. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 67253af52e9133fb4cfbf7a2448a2d3524d1fa6c Author: Sheng Yang Date: Fri Apr 25 10:20:22 2008 +0800 KVM: Add kvm_x86_ops get_tdp_level() The function get_tdp_level() provided the number of tdp level for EPT and NPT rather than the NPT specific macro. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 649de51b883746d76c5fa1614dd067054c9d702a Author: Robert Jarzmik Date: Fri May 2 21:17:06 2008 +0100 [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle. Each time a pxa type cpu went in suspend, a portion of kmalloc memory was corrupted. The issue was an incorrect length allocation introduced by the commit 711be5ccfe9a02ba560aa918a008c31ea4760163 for the save registers array (=> overflow). Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit c8df9a53e8d16877fc0b268b002af2a47a14643a Author: Linus Walleij Date: Tue Apr 29 09:34:07 2008 +0100 [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver This fixes some two minor clk issues. The first is a comparison where a byte will probably wrap around to 0 instead of being saturated to 255, shouldn't be triggered very often but need fixing. The second is an attempt by the driver to adjust MCLK down to the maximum frequency according to the spec, so we don't accidentally overclock the PL18x block. None of the mach-{versatile|integrator|lh7a40x} that use it in-tree seem to have a problem with this (all are well below 100MHz, typically 33MHz), but some day there will be a problem. This is not applied on top of the earlier mmci patch for race condition but rather a clean 2.6.25, but I guess it applies without major protests anyway. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit f8b6389bd53361a19ec5236e298527c9c905ca4d Author: Ryan Mallon Date: Mon Apr 28 23:35:47 2008 +0100 [ARM] 5023/1: Fix broken gpio interrupts on ep93xx Change gpio_direction_output to gpio_direction_input in ep93xx_gpio_irq_type. Fixes broken gpio interrupts. Signed-off-by: Ryan Mallon Signed-off-by: Russell King commit 8c6d6adc6b87daa364ee9deb2e966021d37a7622 Author: Sheng Yang Date: Fri Apr 25 10:17:08 2008 +0800 KVM: MMU: Move some definitions to a header file Move some definitions to mmu.h in order to allow building common table entries between EPT and non-EPT. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d56f546db97795dca5aa575b00b0e9886895ac87 Author: Sheng Yang Date: Fri Apr 25 10:13:16 2008 +0800 KVM: VMX: EPT Feature Detection Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit be0c007ac64f880a946995d6d1fc654acc81484d Author: David S. Miller Date: Sun May 4 01:34:31 2008 -0700 niu: Fix probing regression for maramba on-board chips. Changeset 7f7c4072ea552f97a0898331322f71986a97299c ("niu: Determine the # of ports from the card's VPD data") caused maramba on-board NIU ports to stop probing properly. The old code had a fallback that would use a num_ports value of 4 if all the probing methods failed, but that was removed. This restores the fallback of 4 ports, to get things working again. Bump driver version and release date. Signed-off-by: David S. Miller commit ac551828993eecb8499ef9cc3c828fceb49bcf7a Author: Jean Delvare Date: Fri May 2 20:37:21 2008 +0200 modpost: i2c aliases need no trailing wildcard Not all device types need a wildcard at the end of their module aliases. In particular, for i2c module aliases, the trailing wildcard is not only unneeded, it could also cause the wrong driver to be loaded. As I2C devices have no IDs, i2c module aliases are simple, arbitrary device names. For example: $ /sbin/modinfo lm90 filename: /lib/modules/2.6.25-git18/kernel/drivers/hwmon/lm90.ko author: Jean Delvare description: LM90/ADM1032 driver license: GPL vermagic: 2.6.25-git18 mod_unload depends: hwmon alias: i2c:lm90* alias: i2c:adm1032* alias: i2c:lm99* alias: i2c:lm86* alias: i2c:max6657* alias: i2c:adt7461* alias: i2c:max6680* $ This would cause trouble if one I2C chip name matches the beginning of another I2C chip name and both chips are supported by different drivers. For example, an i2c device named lm9042 would cause the lm90 driver to be loaded, while it doesn't support that device. This case has yet to be seen in practice, but still, I'd like to fix it now. The cleanest fix is to remove the trailing wildcard from i2c module aliases. Here's a patch doing this. Not all device type aliases need a trailing wildcard, in particular the i2c aliases don't. Don't add a wildcard by default in do_table(), instead let each device type handler add it if needed. I have tested types acpi, dmi, eisa, i2c, ide, ieee1394, input, pci, pcmcia, platform, pnp, scsi, serio, ssb and usb. Other types (ccw, of, vio, parisc, sdio and virtio) are untested. Signed-off-by: Jean Delvare Acked-by: Jochen Friedrich Signed-off-by: Sam Ravnborg commit 59f7137a1369c25308672def38f3b126d0c7575a Author: Robert Reif Date: Sat May 3 21:12:00 2008 -0700 sparc video: make blank use proper constant Make blank functions use proper constant for unblanking. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit e544ff00da4b53069dbca3debbfb02d455f72467 Author: David S. Miller Date: Sat May 3 21:10:58 2008 -0700 lapbeth: Release ->ethdev when unregistering device. Otherwise it leaks forever. Based upon a report by Roland Signed-off-by: David S. Miller commit 41fef0ee7b8f3fe3f3dd2ddc9b170f3d88bce595 Author: Marcin Slusarz Date: Sat May 3 21:03:01 2008 -0700 xfrm: convert empty xfrm_audit_* macros to functions it removes these warnings when CONFIG_AUDITSYSCALL is unset: net/xfrm/xfrm_user.c: In function 'xfrm_add_sa': net/xfrm/xfrm_user.c:412: warning: unused variable 'sid' net/xfrm/xfrm_user.c:411: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:410: warning: unused variable 'loginuid' net/xfrm/xfrm_user.c: In function 'xfrm_del_sa': net/xfrm/xfrm_user.c:485: warning: unused variable 'sid' net/xfrm/xfrm_user.c:484: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:483: warning: unused variable 'loginuid' net/xfrm/xfrm_user.c: In function 'xfrm_add_policy': net/xfrm/xfrm_user.c:1132: warning: unused variable 'sid' net/xfrm/xfrm_user.c:1131: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:1130: warning: unused variable 'loginuid' net/xfrm/xfrm_user.c: In function 'xfrm_get_policy': net/xfrm/xfrm_user.c:1382: warning: unused variable 'sid' net/xfrm/xfrm_user.c:1381: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:1380: warning: unused variable 'loginuid' net/xfrm/xfrm_user.c: In function 'xfrm_add_pol_expire': net/xfrm/xfrm_user.c:1620: warning: unused variable 'sid' net/xfrm/xfrm_user.c:1619: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:1618: warning: unused variable 'loginuid' net/xfrm/xfrm_user.c: In function 'xfrm_add_sa_expire': net/xfrm/xfrm_user.c:1658: warning: unused variable 'sid' net/xfrm/xfrm_user.c:1657: warning: unused variable 'sessionid' net/xfrm/xfrm_user.c:1656: warning: unused variable 'loginuid' Signed-off-by: Marcin Slusarz Signed-off-by: David S. Miller commit 81d6ec6b36bdf30e283ab98e7646571484401dbb Author: David S. Miller Date: Sat May 3 21:00:55 2008 -0700 Revert "[SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit()." This reverts commit 2664ef44cf5053d2b7dff01cecac70bc601a5f68. Ingo moved around where the softlockup dependency sits so this change is no longer necessary. Signed-off-by: David S. Miller commit c8005785102e5b67ecf213f06a3d6c001f6f8cb4 Author: Johannes Berg Date: Sat May 3 20:56:42 2008 -0700 net: Fix useless comment reference loop. include/linux/skbuff.h says: /* These elements must be at the end, see alloc_skb() for details. */ net/core/skbuff.c says: * See comment in sk_buff definition, just before the 'tail' member This patch contains my guess as to the actual reason rather than a dead comment reference loop. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 5b81d689e57a85b1ff60edfb65e5b8a12d28ecee Author: Robert Reif Date: Sat May 3 20:55:27 2008 -0700 sparc: tcx.c remove unnecessary function From: Robert Reif Replaced tcx_init_one with tcx_probe. Fixed some checkpatch problems. Signed-off-by: David S. Miller commit 3ba08b00e0d8413d79be9cab8ec085ceb6ae6fd6 Author: Jarek Poplawski Date: Sat May 3 20:46:29 2008 -0700 sch_htb: remove from event queue in htb_parent_to_leaf() There is lack of removing a class from the event queue while changing from parent to leaf which can cause corruption of this rb tree. This patch fixes a bug introduced by my patch: "sch_htb: turn intermediate classes into leaves" commit: 160d5e10f87b1dc88fd9b84b31b1718e0fd76398. Many thanks to Jan 'yanek' Bortl for finding a way to reproduce this rare bug and narrowing the test case, which made possible proper diagnosing. This patch is recommended for all kernels starting from 2.6.20. Reported-and-tested-by: Jan 'yanek' Bortl Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit afa26be86b65a7183ceac29bdf1f51d6fc6932f0 Merge: 269f213... 4f95f81... Author: Linus Torvalds Date: Sat May 3 13:51:10 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: clocksource: allow read access to available/current_clocksource clocksource: Fix permissions for available_clocksource hrtimer: remove duplicate helper function commit 269f21344b23e552c21c9e2d7ca258479dcd7a0a Author: Ulrich Drepper Date: Sat May 3 15:28:45 2008 -0400 tiny mq_open optimization A very small cleanup for mq_open. We do not have to call set_close_on_exit if we create the file descriptor right away with the flag set. We have a function for this now. The resulting code is smaller and a tiny bit faster. Signed-off-by: Ulrich Drepper Signed-off-by: Linus Torvalds commit d35c7b0e54a596c5a8134d75999b7f391a9c6550 Author: Ulrich Drepper Date: Sat May 3 15:10:37 2008 -0400 unified (weak) sys_pipe implementation This replaces the duplicated arch-specific versions of "sys_pipe()" with one unified implementation. This removes almost 250 lines of duplicated code. It's marked __weak, so that *if* an architecture wants to override the default implementation it can do so by simply having its own replacement version, since many architectures use alternate calling conventions for the 'pipe()' system call for legacy reasons (ie traditional UNIX implementations often return the two file descriptors in registers) I still haven't changed the cris version even though Linus says the BKL isn't needed. The arch maintainer can easily do it if there are really no obstacles. Signed-off-by: Ulrich Drepper Signed-off-by: Linus Torvalds commit 2ddcca36c8bcfa251724fe342c8327451988be0d Author: Linus Torvalds Date: Sat May 3 11:59:44 2008 -0700 Linux 2.6.26-rc1 commit 38e80121bd7d0c493072442ac7eddcba165a07a8 Merge: e098675... 35bf559... Author: Linus Torvalds Date: Sat May 3 10:57:57 2008 -0700 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: PMU battery: filenames in sysfs with spaces pda_power: add init and exit function callbacks commit e098675635479e9267cf2b12fb969c463cf506ab Merge: 2905474... b9095fd... Author: Linus Torvalds Date: Sat May 3 10:54:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes * git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes: (24 commits) Make constants in kernel/timeconst.h fixed 64 bits types: add C99-style constructors to xtensa: types: use for the xtensa architecture x86: types: use for the x86 architecture v850: types: use for the v850 architecture sparc64: types: use for the sparc64 architecture sparc: types: use for the sparc architecture sh: types: use for the sh architecture s390: types: use for the s390 architecture powerpc: types: use for the powerpc architecture parisc: types: use for the parisc architecture mn10300: types: use for the mn10300 architecture mips: types: use for the mips architecture m68k: types: use for the m68k architecture m32r: types: use for the m32r architecture ia64: types: use for the ia64 architecture h8300: types: use for the h8300 architecture frv: types: use for the frv architecture cris: types: use for the cris architecture blackfin: types: use for the blackfin architecture ... commit 2905474d3842bfab0b9d8197fb1f4576462901da Author: Jesse Barnes Date: Sat May 3 08:35:49 2008 -0700 [MAINTAINERS] PCI list moved Many thanks to Martin for his years of hosting. The pci list has moved to vger, along with what seems like the rest of the major Linux mailing lists. Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit c402f98c6d43f22b4c6d7b3db9d7099611cdcaec Merge: 4f9faaa... f6acb63... Author: Linus Torvalds Date: Sat May 3 10:18:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: #ifdef simplification slabinfo: Support printout of the number of fallbacks slub: Whitespace cleanup and use of strict_strtoul commit 4f9faaace217b854ae1e1746ee4ac44688ddadbd Merge: bf640be... f37f2c6... Author: Linus Torvalds Date: Sat May 3 10:18:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) rose: Wrong list_lock argument in rose_node seqops netns: Fix reassembly timer to use the right namespace netns: Fix device renaming for sysfs bnx2: Update version to 1.7.5. bnx2: Update RV2P firmware for 5709. bnx2: Zero out context memory for 5709. bnx2: Fix register test on 5709. bnx2: Fix remote PHY initial link state. bnx2: Refine remote PHY locking. bridge: forwarding table information for >256 devices tg3: Update version to 3.92 tg3: Add link state reporting to UMP firmware tg3: Fix ethtool loopback test for 5761 BX devices tg3: Fix 5761 NVRAM sizes tg3: Use constant 500KHz MI clock on adapters with a CPMU hci_usb.h: fix hard-to-trigger race dccp: ccid2.c, ccid3.c use clamp(), clamp_t() net: remove NR_CPUS arrays in net/core/dev.c net: use get/put_unaligned_* helpers bluetooth: use get/put_unaligned_* helpers ... commit bf640be423d60d954b9673527e106a461a129eb8 Merge: c36c804... 4a1236a... Author: Linus Torvalds Date: Sat May 3 10:05:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc32: Delete prom_stdin and prom_stdout. sparc32: More memory probing consolidation. sparc32: Kill totally unused memory information tables. sparc64: Fix syscall restart, for real... serial: Fix sparc driver name strings. sparc64: Stop creating dummy root PCI host controller devices. commit c36c804559d3a891a2e655ba8185b4fa7eaee156 Merge: be2e880... 3b57506... Author: Linus Torvalds Date: Sat May 3 10:01:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Bolt in SLB entry for kernel stack on secondary cpus [POWERPC] PS3: Update ps3_defconfig [POWERPC] PS3: Remove unsupported wakeup sources [POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy static [POWERPC] PS3: Add time include to lpm [POWERPC] Fix slb.c compile warnings [POWERPC] Xilinx: Fix compile warnings [POWERPC] Squash build warning for print of resource_size_t in fsl_soc.c [RAPIDIO] fix current kernel-doc notation [POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slot Fix a potential issue in mpc52xx uart driver [POWERPC] mpc5200: Allow for fixed speed MII configurations [POWERPC] 86xx: Fix the wrong serial1 interrupt for 8610 board commit 4f95f81a48623982879f4fa80c641933444afd18 Author: Heiko Carstens Date: Sat May 3 14:23:14 2008 +0200 clocksource: allow read access to available/current_clocksource There is no harm, when users can read the info and we ask often enough during debugging for this kind of information. Signed-off-by: Heiko Carstens Cc: Andrew Morton Cc: John Stultz Signed-off-by: Thomas Gleixner commit 4359a023a8c3b247b348c310bf510b23f3c1ab64 Author: Heiko Carstens Date: Fri May 2 12:49:40 2008 +0200 clocksource: Fix permissions for available_clocksource File permissions for /sys/devices/system/clocksource/clocksource0/available_clocksource are 600 which allows write access. But this is in fact a read only file. So change permissions to 400. Signed-off-by: Heiko Carstens Cc: John Stultz Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 4346f65426cbceb64794b468e4af6f5632d58c5e Author: Oliver Hartkopp Date: Wed Apr 30 23:04:37 2008 +0200 hrtimer: remove duplicate helper function The helper function hrtimer_callback_running() is used in kernel/hrtimer.c as well as in the updated net/can/bcm.c which now supports hrtimers. Moving the helper function to hrtimer.h removes the duplicate definition in the C-files. Signed-off-by: Oliver Hartkopp Cc: David Miller Signed-off-by: Thomas Gleixner commit f37f2c62a28e848e06399ea2f9be1e098212625c Author: Bernard Pidoux Date: Fri May 2 17:03:22 2008 -0700 rose: Wrong list_lock argument in rose_node seqops In rose_node_start() as well as in rose_node_stop() __acquires() and spin_lock_bh() were wrongly passing rose_neigh_list_lock instead of rose_node_list_lock arguments. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit 4ac2ccd01646e08d7176185c94e5b19404a25998 Author: Daniel Lezcano Date: Fri May 2 17:02:03 2008 -0700 netns: Fix reassembly timer to use the right namespace This trivial fix retrieves the network namespace from frag queue and use it to get the network device in the right namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit aaf8cdc34ddba08122f02217d9d684e2f9f5d575 Author: Daniel Lezcano Date: Fri May 2 17:00:58 2008 -0700 netns: Fix device renaming for sysfs When a netdev is moved across namespaces with the 'dev_change_net_namespace' function, the 'device_rename' function is used to fixup kobject and refresh the sysfs tree. The device_rename function will call kobject_rename and this one will check if there is an object with the same name and this is the case because we are renaming the object with the same name. The use of 'device_rename' seems for me wrong because we usually don't rename it but just move it across namespaces. As we just want to do a mini "netdev_[un]register", IMO the functions 'netdev_[un]register_kobject' should be used instead, like an usual network device [un]registering. This patch replace device_rename by netdev_unregister_kobject, followed by netdev_register_kobject. The netdev_register_kobject will call device_initialize and will raise a warning indicating the device was already initialized. In order to fix that, I split the device initialization into a separate function and use it together with 'netdev_register_kobject' into register_netdevice. So we can safely call 'netdev_register_kobject' in 'dev_change_net_namespace'. This fix will allow to properly use the sysfs per namespace which is coming from -mm tree. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 705d209168681b4408d10fca7257de3343be573d Author: Michael Chan Date: Fri May 2 16:58:18 2008 -0700 bnx2: Update version to 1.7.5. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d25be1d3ecf0b1b95ae29919786372b87b2bfea6 Author: Michael Chan Date: Fri May 2 16:57:59 2008 -0700 bnx2: Update RV2P firmware for 5709. The new RV2P firmware fixes 2 issues: 1. The jumbo rx buffer page size is now configurable and set to the proper PAGE_SIZE. Before, it was assumed to be always 4K. 2. Driver sometimes would crash when receiving jumbo packets mixed with firmware management packets. This was caused by the old firmware DMA'ing to the wrong address. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 352f76879ebde543817360ce9c18c973d4300f4f Author: Michael Chan Date: Fri May 2 16:57:26 2008 -0700 bnx2: Zero out context memory for 5709. We should zero out the context memory for 5709 before each reset. When we resume after suspend for example, the memory may not be zero and the chip may not function correctly. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 15b169cccff1503a88f12f104e5657c65c53ade7 Author: Michael Chan Date: Fri May 2 16:57:08 2008 -0700 bnx2: Fix register test on 5709. The register BNX2_CTX_STATUS (0x1004) should be skipped on 5709 as it contains reserved bits. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 543a827d7a5600a71855bd6afacac78536c86822 Author: Michael Chan Date: Fri May 2 16:56:44 2008 -0700 bnx2: Fix remote PHY initial link state. On some remote PHY blade systems, the driver receives no initial link interrupt. As a result, the GMII/MII MAC mode does not get setup properly. To fix this problem, we add an initial poll of the link state after chip reset. With this change, the setting of the initial carrier state in the init code can be eliminated. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit 74ecc62d6e595ca64bbef2471787bf53b94e5d3c Author: Michael Chan Date: Fri May 2 16:56:16 2008 -0700 bnx2: Refine remote PHY locking. bnx2_set_remote_link() should be called under bp->phy_lock to protect against concurrent polling and interrupt calls. This change is needed by the next patch which will add one initial poll of the remote PHY link status. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: David S. Miller commit ae4f8fca4030a4e783fa4ccb0c9d8d8a8cf60a32 Author: Stephen Hemminger Date: Fri May 2 16:53:33 2008 -0700 bridge: forwarding table information for >256 devices The forwarding table binary interface (my bad choice), only exposes the port number of the first 8 bits. The bridge code was limited to 256 ports at the time, but now the kernel supports up 1024 ports, so the upper bits are lost when doing: brctl showmacs The fix is to squeeze the extra bits into small hole left in data structure, to maintain binary compatiablity. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 920e37f76b19b4a3d8a1a3144cd6ee24e0e7f5b4 Author: Matt Carlson Date: Fri May 2 16:49:50 2008 -0700 tg3: Update version to 3.92 This patch updates the version number to 3.92. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7c5026aa9b81dd45df8d3f4e0be73e485976a8b6 Author: Matt Carlson Date: Fri May 2 16:49:29 2008 -0700 tg3: Add link state reporting to UMP firmware All variants of the 5714, 5715, and 5780 offer a feature called the "Universal Management Port". This feature is implemented in firmware and is largely transparent to the driver, except... It turns out that the UMP firmware needs to know the current status of the link. Because the firmware cannot touch the PHY registers while the driver is in control of the device, it needs the driver to report link status changes through an additional handshaking mechanism. Without this handshake, it has been observed in the field that the UMP firmware will not operate correctly. This patch implements the new handshake with the UMP firmware. Since the handshake uses the same mechanism ASF heartbeats use, code was added to detect and wait for completion of a pending previous event. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 109115e1991824b88306b374b763d6857b292aeb Author: Matt Carlson Date: Fri May 2 16:48:59 2008 -0700 tg3: Fix ethtool loopback test for 5761 BX devices A CPMU related loopback test bug existed for AX revisions of the 5761. While that errata has been fixed, the CPMU still slows down the core clock too far to run the loopback test successfully. This patch disables the CPMU LINK_SPEED mode just like we do with the AX revisions of the 5761 and all revisions of the 5784. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fd1122a2593d0bbe19856e3943c859ebfe563583 Author: Matt Carlson Date: Fri May 2 16:48:36 2008 -0700 tg3: Fix 5761 NVRAM sizes The 5761 NVRAM sizes assigned to the nvram_size member are half as big as they should be. This patch corrects the NVRAM sizes and replaces the hardcoded constants with preprocessor constants for readability. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8ef214288622bf523a3b3096958292a1c63132ad Author: Matt Carlson Date: Fri May 2 16:47:53 2008 -0700 tg3: Use constant 500KHz MI clock on adapters with a CPMU The MI clock is not configured correctly on adapters with the CPMU present. The tg3 driver has code which statically sets the MI clock to be a fraction of the speed at which the core clock is running. However, the CPMU can change the adapter's core clock frequency based on operating conditions. Consequently, the MI will run slow when the core's clock has been slowed down. There is a new 500KHz constant frequency clock available on adapters with a CPMU. This patch removes the static core clock scaling and configures the MI clock to use this new 500KHz clock instead. Running the MI clock at slower speeds will not directly result in data corruption, but it does challenge the PHY read and write routine timeouts. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 026672d0997c911c9bef9aabe862884fc0add106 Author: Pavel Machek Date: Fri May 2 16:45:10 2008 -0700 hci_usb.h: fix hard-to-trigger race If someone tries to _urb_unlink while _urb_queue_head is running, he'll see _urb->queue == NULL and fail to do any locking. Prevent that from happening by strategically placed barriers. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 84994e16f25dabe234be4fc2d323ec9db95b87cb Author: Harvey Harrison Date: Fri May 2 16:44:07 2008 -0700 dccp: ccid2.c, ccid3.c use clamp(), clamp_t() Makes the intention of the nested min/max clear. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0c0b0aca66b3a58e12a216d992a0b534eff210e0 Author: Mike Travis Date: Fri May 2 16:43:08 2008 -0700 net: remove NR_CPUS arrays in net/core/dev.c Remove the fixed size channels[NR_CPUS] array in net/core/dev.c and dynamically allocate array based on nr_cpu_ids. Signed-off-by: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 35bf559145b6332f5465c15a4e5cd7a363985382 Author: Christian Kujau Date: Fri May 2 13:41:56 2008 -0700 PMU battery: filenames in sysfs with spaces By changing drivers/power/pmu_battery.c I now have '_' instead of ' ' (spaces) in /sys: /sys/devices/platform/pmu-battery.0/power_supply/PMU_battery_0 /sys/class/power_supply/PMU_battery_0 I'm still not sure if some userspace tool out there uses the old paths and will break now. Signed-off-by: Christian Kujau Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Anton Vorontsov commit f6b6b180b4614e57af217045f71caedd94821fc7 Author: Philipp Zabel Date: Sat Apr 12 13:47:45 2008 +0200 pda_power: add init and exit function callbacks This adds init/exit function callbacks to pda_power, to provide a place where the platform code can request/free GPIOs that it wants to use in the is_ac_online, is_usb_online and set_charge functions. Signed-off-by: Philipp Zabel Signed-off-by: Anton Vorontsov commit d3e2ce3bcdbf4319dea308c79b5f72a8ecc8015c Author: Harvey Harrison Date: Fri May 2 16:26:16 2008 -0700 net: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 83985319393973f280ca2a797047780a7955cf19 Author: Harvey Harrison Date: Fri May 2 16:25:46 2008 -0700 bluetooth: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 260ffeed3fd185d29f08e98fb47c09e71bb59cd8 Author: Harvey Harrison Date: Fri May 2 16:21:52 2008 -0700 irda: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit b4192bbd85d29eb3bec7f9297d6464250e6a7a90 Author: Arjan van de Ven Date: Fri May 2 16:21:07 2008 -0700 net: Add a WARN_ON_ONCE() to the transmit timeout function WARN_ON_ONCE() gives a stack trace including the full module list. Having this in the kernel dump for the timeout case in the generic netdev watchdog will help us see quicker which driver is involved. It also allows us to collect statistics and patterns in terms of which drivers have this event occuring. Suggested by Andrew Morton Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 50aab54f3056ba28afc681f71adee41c399dde1e Author: Ilpo Järvinen Date: Fri May 2 16:20:10 2008 -0700 net: Add missing braces to multi-statement if()s One finds all kinds of crazy things with some shell pipelining. Signed-off-by: Ilpo Järvinen Acked-by: David Howells Signed-off-by: David S. Miller commit b9095fd8a7f41dc7ac0b0b7864f74766a3056f96 Author: H. Peter Anvin Date: Fri May 2 16:18:42 2008 -0700 Make constants in kernel/timeconst.h fixed 64 bits Force constants in kernel/timeconst.h (except shift counts) to be 64 bits, using U64_C() constructor macros, and eliminate constants that cannot be represented at all in 64 bits. This avoids warnings with some gcc versions. Drop generating 64-bit constants, since we have no real hope of getting a full set (operation on 64-bit values requires a 128-bit intermediate result, which gcc only supports on 64-bit platforms, and only with libgcc support on some.) Note that the use of these constants does not depend on if we are on a 32- or 64-bit architecture. This resolves Bugzilla 10153. Signed-off-by: H. Peter Anvin commit c25bd29805f4d854c3a0b4176813f3c1bff569d3 Author: H. Peter Anvin Date: Thu Apr 24 13:37:33 2008 -0700 types: add C99-style constructors to Add C99-style constructor macros for fixed types to . Since Linux uses names like "u64" instead of "uint64_t", the constructor macros are called U64_C() instead of UINT64_C() and so forth. These macros allow specific sizes to be specified as U64_C(0x123456789abcdef), without gcc issuing warnings as it will if one writes (u64)0x123456789abcdef. When used from assembly, these macros pass their argument unchanged. Signed-off-by: H. Peter Anvin commit 4cf63c8ac48c63b4c55669d4648506ed2bb8976f Author: H. Peter Anvin Date: Sun Apr 6 10:35:15 2008 -0700 xtensa: types: use for the xtensa architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Chris Zankel commit edfa5cfa3dc5bfa95e6aa82a2b8904e7f6c35ed7 Author: H. Peter Anvin Date: Sun Apr 6 10:35:14 2008 -0700 x86: types: use for the x86 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: H. Peter Anvin Cc: Ingo Molnar Cc: Thomas Gleixner commit a192da9afa00476ca27edf763922ab0b5d64246e Author: H. Peter Anvin Date: Sun Apr 6 10:35:13 2008 -0700 v850: types: use for the v850 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin commit 0dc794754cba8e3e8eb39bc028cb88c5d6ed506b Author: H. Peter Anvin Date: Sun Apr 6 10:35:13 2008 -0700 sparc64: types: use for the sparc64 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Acked-by: David S. Miller commit a3727dc6c21cd0bed64dbc97212c39d2b391f5af Author: H. Peter Anvin Date: Sun Apr 6 10:35:12 2008 -0700 sparc: types: use for the sparc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: William L. Irwin Signed-off-by: David S. Miller commit ba6677886e46adcd075f251d8971debf7b5ca3ee Author: H. Peter Anvin Date: Sun Apr 6 10:35:11 2008 -0700 sh: types: use for the sh architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Paul Mundt commit 59df83992b6ec962fdf69e4db4c18951499cc67c Author: H. Peter Anvin Date: Sun Apr 6 10:35:10 2008 -0700 s390: types: use for the s390 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Martin Schwidefsky Cc: Heiko Carstens commit 3f02c4e0e5d20884677a0259de42e553514534f9 Author: H. Peter Anvin Date: Sun Apr 6 10:35:09 2008 -0700 powerpc: types: use for the powerpc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Paul Mackerras Cc: Anton Blanchard commit 849bf3a09fdcf9dbbe060da0f5bce90231b14625 Author: H. Peter Anvin Date: Sun Apr 6 10:35:09 2008 -0700 parisc: types: use for the parisc architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler commit 8523437b4c664cfc0f11998c4274846b95182000 Author: H. Peter Anvin Date: Sun Apr 6 10:35:07 2008 -0700 mn10300: types: use for the mn10300 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: David Howells Cc: Koichi Yasutake commit 23cf11ddb5099f8c7f7cb3eb154bff0faf31cae9 Author: H. Peter Anvin Date: Sun Apr 6 10:35:06 2008 -0700 mips: types: use for the mips architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Ralf Baechle commit ad55ed6161c113cc03c04df266e75d484bce8247 Author: H. Peter Anvin Date: Sun Apr 6 10:35:06 2008 -0700 m68k: types: use for the m68k architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Geert Uytterhoeven Cc: Roman Zippel commit ff704db3d4d9354712df2683b62f89dc0611632a Author: H. Peter Anvin Date: Sun Apr 6 10:35:05 2008 -0700 m32r: types: use for the m32r architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Hirokazu Takata commit 4a4bb4cee14905dd8b2b471b6998d62eeae8199c Author: H. Peter Anvin Date: Sun Apr 6 10:35:04 2008 -0700 ia64: types: use for the ia64 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Acked-by: Tony Luck commit 861531555dfac342c1c40668af8ac2f88af26e71 Author: H. Peter Anvin Date: Sun Apr 6 10:35:04 2008 -0700 h8300: types: use for the h8300 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Yoshinori Sato commit 8f337b5399302e41ed44e999e0cc518f92d0a509 Author: H. Peter Anvin Date: Sun Apr 6 10:35:03 2008 -0700 frv: types: use for the frv architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: David Howells commit e3b8cf047eb2702178b8cc16f03f8194af840732 Author: H. Peter Anvin Date: Sun Apr 6 10:35:02 2008 -0700 cris: types: use for the cris architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Mikael Starvik Cc: Jesper Nilsson commit 5424a328d281f54bbc62bf9b5118c45f8113a8b8 Author: H. Peter Anvin Date: Sun Apr 6 10:35:02 2008 -0700 blackfin: types: use for the blackfin architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Bryan Wu commit 63eae0ccacd67fd5ee238c6ba68f83f0ab91a1df Author: H. Peter Anvin Date: Sun Apr 6 10:35:01 2008 -0700 avr32: types: use for the avr32 architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Haavard Skinnemoen commit 4cc1a102b049ff2890e3a97c23ca88e7205b42fd Author: H. Peter Anvin Date: Sun Apr 6 10:35:00 2008 -0700 arm: types: use for the arm architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Russell King Cc: Lennert Buytenhek Cc: Ben Dooks commit 3726c23df8e4d95b6f2b335dfa90e3f4850a8a00 Author: H. Peter Anvin Date: Sun Apr 6 10:35:00 2008 -0700 alpha: types: use for the alpha architecture This modifies to use the generic include files. Signed-off-by: H. Peter Anvin Cc: Richard Henderson Cc: Ivan Kokshaysky commit d13ff31cfeedbf2fefc7ba13cb753775648eac0c Author: H. Peter Anvin Date: Thu Apr 24 12:56:52 2008 -0700 types: create This creates two generic files with common integer definitions; one where 64 bits is "long" (most 64-bit architectures) and one where 64 bits is "long long" (all 32-bit architectures and x86-64.) Signed-off-by: H. Peter Anvin Cc: Anton Blanchard Cc: Ben Dooks Cc: Bryan Wu Cc: Chris Zankel Cc: David Howells Cc: David S. Miller Cc: Geert Uytterhoeven Cc: Grant Grundler Cc: H. Peter Anvin Cc: Haavard Skinnemoen Cc: Heiko Carstens Cc: Hirokazu Takata Cc: Ingo Molnar Cc: Ivan Kokshaysky Cc: Jesper Nilsson Cc: Koichi Yasutake Cc: Kyle McMartin Cc: Lennert Buytenhek Cc: Martin Schwidefsky Cc: Matthew Wilcox Cc: Mikael Starvik Cc: Paul Mackerras Cc: Paul Mundt Cc: Ralf Baechle Cc: Richard Henderson Cc: Roman Zippel Cc: Russell King Cc: Thomas Gleixner Cc: Tony Luck Cc: William L. Irwin Cc: Yoshinori Sato commit 5ade9deaaa3e1f7291467d97b238648e43eae15e Author: Steve French Date: Fri May 2 20:56:23 2008 +0000 [CIFS] fix typo Signed-off-by: Steve French commit be2e88011bd800222bfd7b477c727966f93186a9 Merge: d626e3b... 4ba1c5b... Author: Linus Torvalds Date: Fri May 2 13:53:07 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Use GFP_NOFS in kmalloc during localalloc window move ocfs2: Allow uid/gid/perm changes of symlinks ocfs2/dlm: dlmdebug.c: make 2 functions static ocfs2: make struct o2cb_stack_ops static ocfs2: make struct ocfs2_control_device static ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb) commit d626e3bf728c47746f2129aa00c775d4e8c2a73b Merge: b66e1f1... 7ad4a48... Author: Linus Torvalds Date: Fri May 2 13:52:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: [SCSI] aic94xx: fix section mismatch [SCSI] u14-34f: Fix 32bit only problem [SCSI] dpt_i2o: sysfs code [SCSI] dpt_i2o: 64 bit support [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent [SCSI] dpt_i2o: use standard __init / __exit code [SCSI] megaraid_sas: fix suspend/resume sections [SCSI] aacraid: Add Power Management support [SCSI] aacraid: Fix jbod operations scan issues [SCSI] aacraid: Fix warning about macro side-effects [SCSI] add support for variable length extended commands [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer [SCSI] bsg: add large command support [SCSI] aacraid: Fix down_interruptible() to check the return value correctly [SCSI] megaraid_sas; Update the Version and Changelog [SCSI] ibmvscsi: Handle non SCSI error status [SCSI] bug fix for free list handling [SCSI] ipr: Rename ipr's state scsi host attribute to prevent collisions [SCSI] megaraid_mbox: fix Dell CERC firmware problem commit 7ad4a485002c141f156a014e89542e01e7f8e36a Author: Sam Ravnborg Date: Fri Apr 18 13:57:22 2008 -0700 [SCSI] aic94xx: fix section mismatch Fix following warnings: WARNING: vmlinux.o(.data+0x17aa88): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup() WARNING: vmlinux.o(.data+0x17aa98): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9410_setup() WARNING: vmlinux.o(.data+0x17aaa8): Section mismatch in reference from the variable asd_pcidev_data to the function .devinit.text:asd_aic9405_setup() asd_pcidev_data is only used by __devinit asd_pci_probe. So mark is const and annotate it __devinitconst to fix the warnings. [akpm@linux-foundation.org: fix warning] Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit b66e1f11ebc429569a3784aaf64123633d9e3ed1 Merge: 1be1d6b... 5c598b3... Author: Linus Torvalds Date: Fri May 2 11:23:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] fix sysctl_nr_open bugs [PATCH] sanitize anon_inode_getfd() [PATCH] split linux/file.h [PATCH] make osf_select() use core_sys_select() [PATCH] remove horrors with irix tty ioctls handling [PATCH] fix file and descriptor handling in perfmon commit 392512fbf9407fa1647225143e3f9c28a869ac57 Author: Alan Cox Date: Fri May 2 14:21:50 2008 +0100 [SCSI] u14-34f: Fix 32bit only problem Another user of 32bit time Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 1ed43910956f5faec690ea3214451779e93bbb52 Author: Miquel van Smoorenburg Date: Fri May 2 01:08:19 2008 +0200 [SCSI] dpt_i2o: sysfs code Create a /sys/class/dpt_i2o directory and populate it with dptiN directories. Each dptiN directory contains a "dev" file that makes udev create /dev/dptiN Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 62ac5aedc51485d672a5d91c262a001acecbe447 Author: Miquel van Smoorenburg Date: Fri May 2 01:07:27 2008 +0200 [SCSI] dpt_i2o: 64 bit support This is the code to actually support 64 bit platforms. 64 bit DMA is enabled on both x86_32 PAE and 64 bit platforms. This code is based in part on the unofficial adaptec 64-bit dpt_i2o driver update that I got from Mark Salyzyn at Adaptec. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 67af2b060e027c84b8e48d77e00b2369d997c0d4 Author: Miquel van Smoorenburg Date: Fri May 2 01:06:39 2008 +0200 [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent Remove virt_to_bus/bus_to_virt code from dpt_i2o, and use dma_alloc_coherent() / dma_free_coherent(). This is in preparation of 64-bit support, dma_alloc_coherent() can allocate memory in the lower 32 bits of physical memory which is needed because the HBA only supports message blocks under 4GB This code is based in part on the unofficial adaptec 64-bit dpt_i2o driver update that I got from Mark Salyzyn at Adaptec. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit c864cb145dc2218cfad9fe53d323b54b48dbab6c Author: Miquel van Smoorenburg Date: Fri May 2 01:05:33 2008 +0200 [SCSI] dpt_i2o: use standard __init / __exit code Update dpt_i2o.c to use the standard __init / __exit code instead of the legacy '#include "scsi_module.c"' code. This is needed in preparation of 64-bit support. scsi_module.c calls scsi_add_host() with the device pointer set to NULL, and that crashes code like arch/x64/kernel/pci-gart_64.c::need_iommu(). The reboot_notifier code is deleted because it wasn't compiled in ever anyway, and it would be useless to duplicate it in the new code. Signed-off-by: Miquel van Smoorenburg Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 33139b21013aba815924b421159fab35e5175483 Author: Jiri Slaby Date: Thu May 1 17:56:02 2008 +0200 [SCSI] megaraid_sas: fix suspend/resume sections megaraid_sas suspend and resume are inappropriatelly placed in __devinit section. Remove those placements and make the stuff dependent on CONFIG_PM. While at it, mark remove function as __devexit. Signed-off-by: Jiri Slaby Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit 655d722cf7812078306f975a3afe88b96a1306b8 Author: Mark Salyzyn Date: Wed Apr 30 16:03:42 2008 -0400 [SCSI] aacraid: Add Power Management support For firmware that supports the feature(s), add the ability to start or stop an array using the associated SCSI commands, to automatically manage the spin-up of an array on new I/O reporting back the appropriate check conditions and actions in cooperation with the normal timeout mechanisms and enable the blackout period management in the Firmware associated with the background spin-down of the arrays when the Firmware times out and deems the arrays as idle. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit a4576b5da671563187ac388e36e1d077bd20e43a Author: Mark Salyzyn Date: Wed Apr 30 15:47:35 2008 -0400 [SCSI] aacraid: Fix jbod operations scan issues As JBOD devices (really just Simple Single Drive Volumes exported to the SCSI channel) are managed, they fail to update correctly when the driver triggers a SCSI scan. In addition, the ability to change multiple arrays or JBODs at the same time was resulting in dropped scans, set up a mechanism to issue a list of single target scans on a single configuration change notification from the Firmware. Performed some additional sundry cosmetic code style cleanups. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e2efe7aa24dc7b430d2ea109fa117bd3c60ae8e6 Author: Mark Salyzyn Date: Wed Apr 30 15:28:32 2008 -0400 [SCSI] aacraid: Fix warning about macro side-effects On some compile environments, warnings are produced regarding the usage of aac_logical_to_phys macro. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1be1d6b7f3f6e3a87f872dd5e7a867d03d8a6851 Merge: 37b6a04... 62fd2ca... Author: Linus Torvalds Date: Fri May 2 11:03:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (32 commits) USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance, clear-feature ignore USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance usb_serial: some coding style fixes USB: Remove redundant dependencies on USB_ATM. USB: UHCI: disable remote wakeup when it's not needed USB: OHCI: work around bogus compiler warning USB: add Cypress c67x00 OTG controller HCD driver USB: add Cypress c67x00 OTG controller core driver USB: add Cypress c67x00 low level interface code USB: airprime: unlock mutex instead of trying to lock it again USB: storage: Update mailling list address USB: storage: UNUSUAL_DEVS() for PanDigital Picture frame. USB: Add the USB 2.0 extension descriptor. USB: add more FTDI device ids USB: fix cannot work usb storage when using ohci-sm501 usb: gadget zero timer init fix usb: gadget zero style fixups (mostly whitespace) usb serial gadget: CDC ACM fixes usb: pxa27x_udc driver USB: INTOVA Pixtreme camera mass storage device ... commit 37b6a04fd9fc887bbcc1a27d9354a5e7a5a4cdd8 Merge: 3482a6f... 0691663... Author: Linus Torvalds Date: Fri May 2 11:02:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: driver-core: add dev_name() to help transition away from using bus_id commit 77a8d5741f3ee2c79554382179cca7b5893d6ae9 Author: Steve Wise Date: Fri May 2 10:57:09 2008 -0700 RDMA/cxgb3: Bump up the MPA connection setup timeout. Testing on large clusters shows its way too short at 10 secs. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit c4d49776e8f5bf2d900d2b6d4855c1670a535ac5 Author: Steve Wise Date: Fri May 2 10:57:09 2008 -0700 RDMA/cxgb3: Silently ignore close reply after abort. Remove bad BUG_ON() that can trigger in correct operation from close_con_rpl(). It is possible to get a close_rpl message on a dead connection. The sequence is: - host refs ep for close exchange - host posts close_req - hw posts PEER_ABORT from incoming RST - host marks ep DEAD - host posts ABORT_RPL and releases ep resources - hw posts CLOSE_RPL - host derefs ep and ep freed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit c8286944b802c5ce4063ec3c334b38c6757a9434 Author: Steve Wise Date: Fri May 2 11:17:41 2008 -0500 RDMA/cxgb3: QP flush fixes - Flush the QP only after the HW disables the connection. Currently we flush the QP when transitioning to CLOSING. This exposes a race condition where the HW can complete a RECV WR, for instance, -and- the SW can flush that same WR. - Only call CQ event handlers on flush IFF we actually flushed something. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 62fd2cac5bf5cf9e6fcb2fc40b32e7271e605c53 Author: David Lopo Date: Tue Apr 29 10:14:38 2008 +0100 USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance, clear-feature ignore Gadget tells controller driver to ignore Clear-Feature(HALT_ENDPOINT) Signed-off-by: David Lopo Acked-by: Alan Stern commit a5e54b0dbb6a099793caf508b1d6c7d82f965ec3 Author: David Lopo Date: Tue Apr 29 10:12:37 2008 +0100 USB GADGET/PERIPHERAL: g_file_storage Bulk-Only Transport compliance Gadget can tell controller driver to ignore Clear-Feature(HALT_ENDPOINT) This API change enables future support for Bulk-Only Transport compliance Signed-off-by: David Lopo Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c4d0f8cbca3a97900f85b082064a63c7a5928bd7 Author: Alan Cox Date: Tue Apr 29 14:35:39 2008 +0100 usb_serial: some coding style fixes Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e5430f889ce04301152044cce15a4a11a3e21e7d Author: Robert P. J. Day Date: Fri Apr 25 17:06:35 2008 -0400 USB: Remove redundant dependencies on USB_ATM. Given that the bulk of the Kconfig file is enclosed in "if USB_ATM", remove the unnecessary dependencies. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit d8f12ab5d984761726e638a4222299a9fc516233 Author: Alan Stern Date: Tue Apr 22 10:49:15 2008 -0400 USB: UHCI: disable remote wakeup when it's not needed This patch (as1084b) fixes the way uhci-hcd handles polling and remote wakeups for its root hubs. When remote wakeup is disabled, neither interrupts nor polling should be enabled during a root-hub suspend. Likewise, if interrupts are enabled during suspend then polling isn't needed. Furthermore the EGSM (Enter Global Suspend Mode) bit shouldn't be set in the Command register unless remote wakeup is enabled. Apparently some controllers will issue a remote-wakeup interrupt whenever EGSM is on, even if Resume-Detect interrupts are supposedly disabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1b7b61c5d4071b9a25f6a9aae6f0a1e0efdbb2ae Author: Alan Stern Date: Tue Apr 22 10:50:18 2008 -0400 USB: OHCI: work around bogus compiler warning The patch (as1086) works around a bogus "uninitialized variable" warning generated by some versions of GCC. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e9b29ffc519b9e63d4e1c0b1278bb951bb418a9d Author: Peter Korsgaard Date: Sun Apr 27 08:59:45 2008 +0200 USB: add Cypress c67x00 OTG controller HCD driver This patch adds HCD support for the Cypress c67x00 family of devices. Signed-off-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit b02b371e6d14961ad458ca9d88b30eefef77003d Author: Peter Korsgaard Date: Sun Apr 27 08:59:44 2008 +0200 USB: add Cypress c67x00 OTG controller core driver This patch add the core driver for the c67x00 USB OTG controller. The core driver is responsible for the platform bus binding and creating either USB HCD or USB Gadget instances for each of the serial interface engines on the chip. This driver does not directly implement the HCD or gadget behaviours; it just controls access to the chip. Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d6f945044ee3b91a170183e8e34c3db29696d9b8 Author: Peter Korsgaard Date: Sun Apr 27 08:59:43 2008 +0200 USB: add Cypress c67x00 low level interface code This patch adds the low level support code for the Cypress c67x00 family of OTG controllers. The low level code is responsible for register access and implements the software protocol for communicating with the 16bit microcontroller inside the c67x00 device. Communication is done over the HPI interface (16bit SRAM-like parallel bus). Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 21ae1dd1d4948968ad2d923c5e104d38fb35b4e4 Author: Leonardo Chiquitto Date: Tue Apr 22 16:02:03 2008 -0300 USB: airprime: unlock mutex instead of trying to lock it again The following patch fixes a [probable] copy & paste mistake in airprime.c. Instead of unlocking an acquired mutex, the actual code tries to lock it again. Signed-off-by: Leonardo Chiquitto Signed-off-by: Greg Kroah-Hartman commit cef03f8f1d5042e85de431d739eeded89d79999b Author: Andrew Lunn Date: Wed Apr 23 22:04:30 2008 +0200 USB: storage: Update mailling list address drivers/usb/storage/unusual_devs.h lists the address linux-usb-devel@lists.sourceforge.net for patches to that file. This address results in a bounce and a pointer to vger. This patch updates the address in the header file. Signed-off-by: Andrew Lunn Signed-off-by: Greg Kroah-Hartman commit f7687217ddb5e20ca855fadef2f9eb3c3202acca Author: Andrew Lunn Date: Thu Apr 24 19:36:39 2008 +0200 USB: storage: UNUSUAL_DEVS() for PanDigital Picture frame. Signed-off-by: Andrew Lunn Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 35e5437e8c8cd013e1e573ac4671d556819edbcb Author: Sarah Sharp Date: Fri Apr 25 16:46:45 2008 -0700 USB: Add the USB 2.0 extension descriptor. This device descriptor was added by the recent USB Link Power Management (LPM) ECN. It indicates whether the USB device supports LPM. This descriptor is grouped under a Binary Device Object Store (BOS) descriptor. Update the BOS comments to indicate any USB device (not just wireless USB devices) can implement BOS descriptors. Signed-off-by: Sarah Sharp Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6e1ab3ed825418320319f44af1b990c9c3f4c45b Author: Peter Mack Date: Tue Apr 22 13:25:11 2008 +0200 USB: add more FTDI device ids Add more usb device ids to the ftdi driver. From: Peter Mack Signed-off-by: Greg Kroah-Hartman commit e2722528ce688eecf574c237f7656d3934d4f23c Author: Yoshihiro Shimoda Date: Mon Apr 21 13:48:22 2008 +0900 USB: fix cannot work usb storage when using ohci-sm501 When I used ohci-sm501, hcd_alloc_coherent() in map_urb_for_dma() is not called, because usb_sg_init() always sets URB_NO_TRANSFER_DMA_MAP. dmesg (CONFIG_USB_STORAGE_DEBUG enabled): usb-storage: Bulk Command S 0x43425355 T 0x1 L 36 F 128 Trg 0 LUN 0 CL 6 usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes usb-storage: Status code 0; transferred 31/31 usb-storage: -- transfer complete usb-storage: Bulk command transfer result=0 usb-storage: usb_stor_bulk_transfer_sglist: xfer 36 bytes, 1 entries usb-storage: Status code -75; transferred 0/36 usb-storage: -- babble usb-storage: Bulk data transfer result 0x3 usb-storage: Attempting to get CSW... usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes usb-storage: Status code 0; transferred 13/13 usb-storage: -- transfer complete usb-storage: Bulk status result = 0 usb-storage: Bulk Status S 0x53425355 T 0x1 R 0 Stat 0x0 usb-storage: scsi cmd done, result=0x2 Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 7a6ad1dd86a45da8f235300349d4abd9ae7d1a21 Author: David Lopo Date: Fri Apr 18 18:49:01 2008 -0700 usb: gadget zero timer init fix Initialize timer earlier so if an error occurs allocating USB request or buffer request (zero_bind) Gadget Zero will not hang trying to delete an uninitialized timer (zero_unbind). Signed-off-by: David Lopo Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7472f38b10c884f47241529d1367f77c2e1b3551 Author: David Brownell Date: Fri Apr 18 18:47:54 2008 -0700 usb: gadget zero style fixups (mostly whitespace) Minor updates to "Gadget Zero". - Primarily these are whitespace updates to address the fact that since this was written, Documentation/CodingStyle was changed to disapprove of parts of the original coding style. - Update a few comments that weren't quite correct, notably mentioning the "autoresume" module parameter. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f371e750c9324f3498842ee833a0242a11b359e6 Author: David Brownell Date: Fri Apr 18 17:37:49 2008 -0700 usb serial gadget: CDC ACM fixes Based on a patch from , this makes the CDC-ACM support in the serial gadget handle the SET_LINE_CODING and SET_CONTROL_LINE_STATE requests ... which should improve interop with at least MS-Windows "usbser.sys" if not some other ACM host drivers. It also adds a few REVISIT comments where this code plays a bit loose with the CDC ACM spec. If this were used to hook up to a real RS232 or modem link, those places would need a bit of work. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d75379a538708c5a8e3dba673d866c3f5f856620 Author: Robert Jarzmik Date: Fri Apr 18 15:56:49 2008 -0700 usb: pxa27x_udc driver Adds pxa27x udc driver to support USB peripherals on pxa27x chips. The driver is compatible with: Gadget Zero, the File Storage gadget, and the Ethernet gadget (only in CDC subset mode). The driver can't properly support multiple interfaces, because of hardware bugs without possible workaround. That means no RNDIS support from g_ether, and no CDC ACM support in g_serial. Signed-off-by: Robert Jarzmik Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d301f528eb7b204fc99fb9ebbf289f84a69bfa19 Author: Rohan Hart Date: Fri Apr 18 21:19:33 2008 +1200 USB: INTOVA Pixtreme camera mass storage device FIX_CAPACITY is all that's needed. Cc: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 87521c46f63f0e1cac2bf8af08942ac47bb25de5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 06:16:24 2008 +0200 USB: mos7840: test and propagate set_uart_reg return value The test for an mos7840_set_uart_reg() error return value only works when status is signed. propagate its error value. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: SL Baur Signed-off-by: Greg Kroah-Hartman commit 28ffd79c31a7bed6f610511a4d104d1255cd1d95 Author: David Brownell Date: Fri Apr 25 18:51:10 2008 -0700 USB: usbtest displays diagnostics again Minor cleanup to the "usbtest" driver, mostly to resolve a regression: all the important diagnostics were at KERN_DEBUG, so that when the "#define DEBUG" was removed from the top of that file it stopped providing diagnostics. Fix by using KERN_ERROR. Also: - Stop using the legacy dbg() calls - Simplify the internal debug macros - Correct some test descriptions: * Test #10 subcase 7 should *always* stall * Test #10 subcase 8 *may* stall - Diagnostic about control queue test failures is more informative - Fix some whitespace "bugs" And add a warning about the rude interaction between usbfs ioctl() and khubd during device disconnect ... don't unplug a device under test, that will wedge. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9029b174ba22918d0a0aa3b71859854bd50c39cc Author: Pete Zaitcev Date: Sat Apr 19 14:45:24 2008 -0700 ub: Cosmetics Fix a few comments and printk statements. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 0da13c8c3dfb1ab6c56f2a70fadfddd57e0d7c42 Author: Pete Zaitcev Date: Sat Apr 19 14:42:49 2008 -0700 ub: Ignore bad residue I hoped to continue to ignore this problem or use libusual, but these days it's simpler to work around than to deal with it. Let's attempt to use bad residue devices and hope that upper level integrity checks catch any problems (e.g. please use sha1sum on your backups). Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 82fe26ba7a21d9bcc77e6142c941683eede32940 Author: Pete Zaitcev Date: Sat Apr 19 14:35:30 2008 -0700 ub: Tune retries Make ub to fail faster in hopeless cases. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 2c51ae70ede5a90d8ccb67d965c1b4e20fc4e110 Author: Pete Zaitcev Date: Sat Apr 19 14:32:18 2008 -0700 ub: Fix timeouts The wodim says: "close track/session scsi sendcmd: cmd timeout after 5.000 (480) s" This happened because we ignored the supplied timeout and used 5s. It's not completely correct to apply a timeout meant for the complete command to any single URB, but we don't have many URBs per command, so this is simple and works. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 043042109b24a1bd418db7cd509dadc5d120daf1 Author: Rusty Russell Date: Mon Apr 21 06:38:34 2008 +1000 usb: libusual kthread_run() called with wrong format. Signed-off-by: Rusty Russell Signed-off-by: Greg Kroah-Hartman commit b28884c1729940df83d87c515a5e66e5afbe9dea Author: Alan Stern Date: Mon Apr 28 10:26:13 2008 -0400 usb-storage: add unusual_devs entry for Samsung YP-U3 This patch (as1088) adds an unusual_devs entry for Samsung's YP-U3. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 43c1e98c87013757ef02c50a6e43bafeb6871f68 Author: Adrian Bunk Date: Mon Apr 28 18:39:37 2008 +0300 USB: storage/onetouch.c: make a function static This patch makes the needlessly global onetouch_release_input() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit e42dc36b2cf9849362967ea836196c8ef6079ec7 Author: Dmitry Torokhov Date: Mon Apr 28 16:57:14 2008 -0400 usb-storage: fix build failure in OneTouch driver If USB storage is built-in but input subsystem is made modular then OneTouch button functionality can not be selected. Signed-off-by: Dmitry Torokhov Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit ce0d7d3f575fc1ba6a89c3c651e710355590daff Author: Daniel Walker Date: Mon Apr 28 10:34:56 2008 -0700 usb: ldusb: ld_usb semaphore to mutex Signed-off-by: Daniel Walker Acked-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit db11e47dd7b09b7f76c7eaa236277f23391331e7 Author: Sebastian Siewior Date: Thu Apr 24 00:37:04 2008 +0200 USB: ISP1760 HCD driver This driver has been written from scratch and supports the ISP1760. ISP1761 might (should) work as well but the OTG isn't supported. Also ISO packets are not. However, it works on my little PowerPC board. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Kroah-Hartman commit 06916639e2fed9ee475efef2747a1b7429f8fe76 Author: Kay Sievers Date: Fri May 2 06:02:41 2008 +0200 driver-core: add dev_name() to help transition away from using bus_id Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit db4742dd8f0aa9125b74f9b2516336a75f3d9106 Author: Boaz Harrosh Date: Wed Apr 30 11:27:26 2008 +0300 [SCSI] add support for variable length extended commands Add support for variable-length, extended, and vendor specific CDBs to scsi-ml. It is now possible for initiators and ULD's to issue these types of commands. LLDs need not change much. All they need is to raise the .max_cmd_len to the longest command they support (see iscsi patch). - clean-up some code paths that did not expect commands to be larger than 16, and change cmd_len members' type to short as char is not enough. Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: James Bottomley commit 3482a6f1d1447b618d37049529cf36a8dc3bd3e3 Merge: 59d42c0... 1adb085... Author: Linus Torvalds Date: Fri May 2 08:22:36 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq: genirq: reenable a nobody cared disabled irq when a new driver arrives commit 59d42c0eb1d8fdfeec18f4ff088de8084bda906b Merge: 02cdf08... 62478fa... Author: Linus Torvalds Date: Fri May 2 08:20:43 2008 -0700 Merge branch 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev: m32r: cleanup: drop .data.idt section in vmlinux.lds script m32r: use KBUILD_DEFCONFIG commit 02cdf0827b61d51f0e9cc1b5ddd486950830ba08 Merge: 8bec4a5... a007a75... Author: Linus Torvalds Date: Fri May 2 08:20:04 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: make Launcher see device status updates lguest: remove bogus NULL cpu check lguest: avoid using NR_CPUS as a bounds check. virtio: add virtio disk geometry feature virtio: explicit advertisement of driver features virtio: change config to guest endian. virtio: finer-grained features for virtio_net virtio: wean net driver off NETDEV_TX_BUSY virtio-blk: fix remove oops virtio: fix scatterlist sizing in net driver. virtio: de-structify virtio_block status byte virtio: export more headers to userspace virtio: fix sparse return void-valued expression warnings virtio: fix tx_ stats in virtio_net virtio: ignore corrupted virtqueues rather than spinning. commit 64a87b244b9297667ca80264aab849a36f494884 Author: Boaz Harrosh Date: Wed Apr 30 11:19:47 2008 +0300 [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer - struct scsi_cmnd had a 16 bytes command buffer of its own. This is an unnecessary duplication and copy of request's cmd. It is probably left overs from the time that scsi_cmnd could function without a request attached. So clean that up. - Once above is done, few places, apart from scsi-ml, needed adjustments due to changing the data type of scsi_cmnd->cmnd. - Lots of drivers still use MAX_COMMAND_SIZE. So I have left that #define but equate it to BLK_MAX_CDB. The way I see it and is reflected in the patch below is. MAX_COMMAND_SIZE - means: The longest fixed-length (*) SCSI CDB as per the SCSI standard and is not related to the implementation. BLK_MAX_CDB. - The allocated space at the request level - I have audit all ISA drivers and made sure none use ->cmnd in a DMA Operation. Same audit was done by Andi Kleen. (*)fixed-length here means commands that their size can be determined by their opcode and the CDB does not carry a length specifier, (unlike the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly true and the SCSI standard also defines extended commands and vendor specific commands that can be bigger than 16 bytes. The kernel will support these using the same infrastructure used for VARLEN CDB's. So in effect MAX_COMMAND_SIZE means the maximum size command scsi-ml supports without specifying a cmd_len by ULD's Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8bec4a5d9305c86d028a519b08f05b81cd63cc55 Merge: 886c35f... f8e811b... Author: Linus Torvalds Date: Fri May 2 08:17:58 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix file and descriptor handling in perfmon [IA64] TS_RESTORE_SIGMASK [IA64] smp.c coding style fix [IA64] fix section mismatch in arch/ia64/kernel/topology.c [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c [IA64] fix section mismatch in arch/ia64/kernel/irq.c [IA64] fix section mismatch in arch/ia64/kernel/acpi.c commit 9f5de6b105bfa45911d46566df0b36720b648c42 Author: FUJITA Tomonori Date: Wed Apr 30 13:16:21 2008 +0900 [SCSI] bsg: add large command support This enables bsg to handle the request length larger than BLK_MAX_CDB (mainly for the variable length CDB format). Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 0462590efe9a562dd2aa976ae2dc9cd2e6f5a0c6 Author: Mark Salyzyn Date: Wed Apr 23 08:16:06 2008 -0400 [SCSI] aacraid: Fix down_interruptible() to check the return value correctly On Apr 21, 2008, at 8:42 PM, Yinghai Lu wrote: > bisected to: > > commit e6990c6448ca9359b6d4ad027c0a6efbf4379e64 > Author: Mark Salyzyn > Date: Mon Apr 14 14:20:16 2008 -0400 > > [SCSI] aacraid: Fix down_interruptible() to check the return value The return value for down_interruptible was incorrectly checked! updated patch enclosed. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 4a1236ac6ee3bb3a2f585e66871de3c39ab38f7c Author: David S. Miller Date: Thu May 1 22:33:04 2008 -0700 sparc32: Delete prom_stdin and prom_stdout. They are written, but never used. Signed-off-by: David S. Miller commit 9f2b2a5f68c27c00f1e1f1922de5aa2f24505ed8 Author: David S. Miller Date: Thu May 1 22:28:17 2008 -0700 sparc32: More memory probing consolidation. The PROM library function prom_meminit() builds a table, prom_phys_avail[], just so that probe_memory() in arch/sparc/mm/fault.c can copy it into sp_banks[]. Just have prom_meminit() fill in the sp_banks[] array directly, and remove duplicated sort() function. Signed-off-by: David S. Miller commit ccc34028d46230f715eeda4c8cce27e919934fad Author: David S. Miller Date: Thu May 1 21:28:59 2008 -0700 sparc32: Kill totally unused memory information tables. The code in arch/sparc/prom/memory.c computes three tables, the list of total memory, the list of available memory (total minus what firmware is using), and the list of firmware taken memory. Only the available memory list is even used. Therefore, kill those unused tables and make prom_meminfo() return just the available memory list. Signed-off-by: David S. Miller commit 2678fefedbbc03a3ae6f5c254791bf147d6c52fd Author: David S. Miller Date: Thu May 1 03:30:22 2008 -0700 sparc64: Fix syscall restart, for real... The change I put into copy_thread() just papered over the real problem. When we are looking to see if we should do a syscall restart, when deliverying a signal, we should only interpret the syscall return value as an error if the carry condition code(s) are set. Otherwise it's a success return. Also, sigreturn paths should do a pt_regs_clear_trap_type(). It turns out that doing a syscall restart when returning from a fork() does and should happen, from time to time. Even if copy_thread() returns success, copy_process() can still unwind and signal -ERESTARTNOINTR in the parent. Signed-off-by: David S. Miller commit 32039f4954938e4d761032d7046254d08d0db54c Author: David S. Miller Date: Thu May 1 01:14:27 2008 -0700 serial: Fix sparc driver name strings. They were all "serial" so if multiple of these drivers registered, we'd trigger sysfs directory creation errors: [ 1.695793] proc_dir_entry 'serial' already registered [ 1.695839] Call Trace: [ 1.831891] [00000000004f2534] create_proc_entry+0x7c/0x98 [ 1.833608] [00000000004f3a58] proc_tty_register_driver+0x40/0x70 [ 1.833663] [0000000000594700] tty_register_driver+0x1fc/0x208 [ 1.835371] [00000000005aade4] uart_register_driver+0x134/0x16c [ 1.841762] [00000000005ac274] sunserial_register_minors+0x34/0x68 [ 1.841818] [00000000007db2a4] sunsu_init+0xf8/0x150 [ 1.867697] [00000000007c62a4] kernel_init+0x190/0x330 [ 1.939147] [0000000000426cf8] kernel_thread+0x38/0x48 [ 1.939198] [00000000006a0d90] rest_init+0x18/0x5c Signed-off-by: David S. Miller commit c26d3c0138970778fabe114df99dffb34a04b1d7 Author: David S. Miller Date: Thu May 1 01:12:40 2008 -0700 sparc64: Stop creating dummy root PCI host controller devices. It just creates confusion, errors, and bugs. For one thing, this can cause dup sysfs or procfs nodes to get created: [ 1.198015] proc_dir_entry '00.0' already registered [ 1.198036] Call Trace: [ 1.198052] [00000000004f2534] create_proc_entry+0x7c/0x98 [ 1.198092] [00000000005719e4] pci_proc_attach_device+0xa4/0xd4 [ 1.198126] [00000000007d991c] pci_proc_init+0x64/0x88 [ 1.198158] [00000000007c62a4] kernel_init+0x190/0x330 [ 1.198183] [0000000000426cf8] kernel_thread+0x38/0x48 [ 1.198210] [00000000006a0d90] rest_init+0x18/0x5c Signed-off-by: David S. Miller commit a007a751d98fe97142e4724a83a4e31ec66b7532 Author: Rusty Russell Date: Fri May 2 21:50:53 2008 -0500 lguest: make Launcher see device status updates This brings us closer to Real Life, where we'd examine the device features once it's set the DRIVER_OK status bit. Signed-off-by: Rusty Russell commit 9f3f746741d917fe3c6c544c7d319d533176d90b Author: Rusty Russell Date: Fri May 2 21:50:51 2008 -0500 lguest: remove bogus NULL cpu check If lg isn't NULL, and cpu_id is sane, &lg->cpus[cpu_id] can't be NULL. Signed-off-by: Rusty Russell commit 24adf12722b4f2800e5b5f0955d57033f0d0c9e5 Author: Rusty Russell Date: Fri May 2 21:50:51 2008 -0500 lguest: avoid using NR_CPUS as a bounds check. NR_CPUS (being a host number) is an arbitrary limit for the Guest. Using the array size directly (which currently happes to be NR_CPUS) is more futureproof. Signed-off-by: Rusty Russell commit 48e4043d4529523cbc7fa8dd745bd8e2c45ce1d3 Author: Ryan Harper Date: Wed Apr 16 13:56:37 2008 -0500 virtio: add virtio disk geometry feature Rather than faking up some geometry, allow the backend to push the disk geometry via virtio pci config option. Keep the old geo code around for compatibility. Signed-off-by: Ryan Harper Reviewed-by: Anthony Liguori Signed-off-by: Rusty Russell (modified to single struct) commit c45a6816c19dee67b8f725e6646d428901a6dc24 Author: Rusty Russell Date: Fri May 2 21:50:50 2008 -0500 virtio: explicit advertisement of driver features A recent proposed feature addition to the virtio block driver revealed some flaws in the API: in particular, we assume that feature negotiation is complete once a driver's probe function returns. There is nothing in the API to require this, however, and even I didn't notice when it was violated. So instead, we require the driver to specify what features it supports in a table, we can then move the feature negotiation into the virtio core. The intersection of device and driver features are presented in a new 'features' bitmap in the struct virtio_device. Note that this highlights the difference between Linux unsigned-long bitmaps where each unsigned long is in native endian, and a straight-forward little-endian array of bytes. Drivers can still remove feature bits in their probe routine if they really have to. API changes: - dev->config->feature() no longer gets and acks a feature. - drivers should advertise their features in the 'feature_table' field - use virtio_has_feature() for extra sanity when checking feature bits Signed-off-by: Rusty Russell commit 72e61eb40b55dd57031ec5971e810649f82b0259 Author: Rusty Russell Date: Fri May 2 21:50:49 2008 -0500 virtio: change config to guest endian. A recent proposed feature addition to the virtio block driver revealed some flaws in the API, in particular how easy it is to break big endian machines. The virtio config space was originally chosen to be little-endian, because we thought the config might be part of the PCI config space for virtio_pci. It's actually a separate mmio region, so that argument holds little water; as only x86 is currently using the virtio mechanism, we can change this (but must do so now, before the impending s390 merge). API changes: - __virtio_config_val() just becomes a striaght vdev->config_get() call. Signed-off-by: Rusty Russell commit 5539ae9613587e4a4eec42d420b8bdd9ff552a65 Author: Rusty Russell Date: Fri May 2 21:50:46 2008 -0500 virtio: finer-grained features for virtio_net So, we previously had a 'VIRTIO_NET_F_GSO' bit which meant that 'the host can handle csum offload, and any TSO (v4&v6 incl ECN) or UFO packets you might want to send. I thought this was good enough for Linux, but it actually isn't, since we don't do UFO in software. So, add separate feature bits for what the host can handle. Add equivalent ones for the guest to say what it can handle, because LRO is coming too (thanks Herbert!). Signed-off-by: Rusty Russell commit 99ffc696d10b28580fe93441d627cf290ac4484c Author: Rusty Russell Date: Fri May 2 21:50:46 2008 -0500 virtio: wean net driver off NETDEV_TX_BUSY Herbert tells me that returning NETDEV_TX_BUSY from hard_start_xmit is seen as a poor thing to do; we should cache the packet and stop the queue. Signed-off-by: Rusty Russell Acked-by: Herbert Xu commit 2e895e4c23b7f73dba7238db5c5c2dcffb2a4d9d Author: Marcelo Tosatti Date: Thu Apr 24 15:49:53 2008 -0300 virtio-blk: fix remove oops Do not unregister the major at device remove, since there might be another device instances around. (qemu) pci_del 0 11 (qemu) ACPI: PCI interrupt for device 0000:00:0b.0 disabled (qemu) pci_del 0 10 (qemu) ------------[ cut here ]------------ WARNING: at block/genhd.c:126 unregister_blkdev+0x74/0x9e() ACPI: PCI interrupt for device 0000:00:0a.0 disabled Signed-off-by: Marcelo Tosatti Signed-off-by: Rusty Russell commit 0527168522c25121bdd5d5f1d3c5b484d972ea14 Author: Rusty Russell Date: Fri May 2 21:50:45 2008 -0500 virtio: fix scatterlist sizing in net driver. Herbert Xu points out (within another patch) that my scatterlists are too short: one entry for the gso header, one for the skb->data, and MAX_SKB_FRAGS for all the fragments. Fix both xmit and recv sides (recv currently unused, coming in later patch). Signed-off-by: Rusty Russell commit cb38fa23c17519faf46a76d2f71a8430705fe474 Author: Rusty Russell Date: Fri May 2 21:50:45 2008 -0500 virtio: de-structify virtio_block status byte Ron Minnich points out that a struct containing a char is not always sizeof(char); simplest to remove the structure to avoid confusion. Cc: "ron minnich" Signed-off-by: Rusty Russell commit 81473132878f8a1d0c6a78cffa0cf84c8a19c1be Author: Christian Borntraeger Date: Wed Apr 23 12:57:00 2008 +0200 virtio: export more headers to userspace Rusty, is there a reason why we dont export the virtio headers for 9p, balloon, console, pci, and virtio_ring? kvm uses make sync, but I think it is still useful to heave these headers exported as they might be useful for other userspace tools. I dont export virtio.h, because it does not seem to have useful information for userspace and it requires scatterlist.h which is also not exported. See also my other mail about your "virtio: change config to guest endian." patch. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 597d56e4b51fc3385e097e52d6e92bf596ff21ec Author: Harvey Harrison Date: Mon Mar 31 17:53:55 2008 -0700 virtio: fix sparse return void-valued expression warnings drivers/virtio/virtio_pci.c:148:2: warning: returning void-valued expression drivers/virtio/virtio_pci.c:155:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Rusty Russell commit 655aa31f028c4498e8896576571ee1ea68dd26e0 Author: Rusty Russell Date: Fri May 2 21:50:43 2008 -0500 virtio: fix tx_ stats in virtio_net get_buf() gives the length written by the other side, which will be zero. We want to add the skb length. Signed-off-by: Rusty Russell commit 5ef827526fc01820a7a80827802e9fad3f34f937 Author: Rusty Russell Date: Fri May 2 21:50:43 2008 -0500 virtio: ignore corrupted virtqueues rather than spinning. A corrupt virtqueue (caused by the other end screwing up) can have strange results such as a driver spinning: just bail when we try to get a buffer from a known-broken queue. Signed-off-by: Rusty Russell commit 1adb0850a1254333d81e64121c80af100c6d6e06 Author: Thomas Gleixner Date: Mon Apr 28 17:01:56 2008 +0200 genirq: reenable a nobody cared disabled irq when a new driver arrives Uwe Kleine-Koenig has some strange hardware where one of the shared interrupts can be asserted during boot before the appropriate driver loads. Requesting the shared irq line from another driver result in a spurious interrupt storm which finally disables the interrupt line. I have seen similar behaviour on resume before (the hardware does not work anymore so I can not verify). Change the spurious disable logic to increment the disable depth and mark the interrupt with an extra flag which allows us to reenable the interrupt when a new driver arrives which requests the same irq line. In the worst case this will disable the irq again via the spurious trap, but there is a decent chance that the new driver is the one which can handle the already asserted interrupt and makes the box usable again. Eric Biederman said further: This case also happens on a regular basis in kdump kernels where we deliberately don't shutdown the hardware before starting the new kernel. This patch should reduce the need for using irqpoll in that situation by a small amount. Signed-off-by: Thomas Gleixner Tested-and-Acked-by: Uwe Kleine-König commit 78e92b99ec4eb73755abd4e357b0b211eadafd88 Author: Denis V. Lunev Date: Fri May 2 04:12:41 2008 -0700 netns: assign PDE->data before gluing entry into /proc tree In this unfortunate case, proc_mkdir_mode wrapper can't be used anymore and this is no way to reuse proc_create_data due to nlinks assignment. So, copy the code from proc_mkdir and assign PDE->data at the appropriate moment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8b169240e266d7fc58d9b9077d18d50a548d9732 Author: Denis V. Lunev Date: Fri May 2 04:11:52 2008 -0700 netfilter: assign PDE->data before gluing PDE into /proc tree Replace proc_net_fops_create with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 52c0e111fa082082060c4d43c05f20b756d5f06a Author: Denis V. Lunev Date: Fri May 2 04:10:57 2008 -0700 netfilter: assign PDE->fops before gluing PDE into /proc tree Replace create_proc_entry with specially created for this purpose proc_create. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 84841c3c6cf2ed9a8e0dfd842fb35ef6e2bce091 Author: Denis V. Lunev Date: Fri May 2 04:10:08 2008 -0700 ipv4: assign PDE->data before gluing PDE into /proc tree The check for PDE->data != NULL becomes useless after the replacement of proc_net_fops_create with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1d3faa390df9f009d7d76134b2aa1f07990945a4 Author: Denis V. Lunev Date: Fri May 2 04:09:11 2008 -0700 vlan: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c89652a741cce71661d561c4466115c60c752d1 Author: Denis V. Lunev Date: Fri May 2 04:08:30 2008 -0700 atm: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. proc_atm_dev_ops holds proper referrence. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0bb53a66fe1258b1cb5eb1ea70768386f0c2a1ca Author: Denis V. Lunev Date: Fri May 2 02:46:55 2008 -0700 ipv6: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5efdccbcda20d3e5fbaa85f726dcc9cfeb005577 Author: Denis V. Lunev Date: Fri May 2 02:46:22 2008 -0700 net: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Additionally, there is no need to assign NULL to PDE->data after creation, /proc generic has already done this for us. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6e79d85d9a6b7a149dd3666b079c96cfbf57fdb8 Author: Denis V. Lunev Date: Fri May 2 02:45:42 2008 -0700 netfilter: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e7fe23363bab0488c7ce09626900e7d621ea2292 Author: Denis V. Lunev Date: Fri May 2 02:44:36 2008 -0700 sunrpc: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3b5750644b2ffa2a76fdfe7b4e00e4af2ecf3539 Author: Paul Mackerras Date: Fri May 2 14:29:12 2008 +1000 [POWERPC] Bolt in SLB entry for kernel stack on secondary cpus This fixes a regression reported by Kamalesh Bulabel where a POWER4 machine would crash because of an SLB miss at a point where the SLB miss exception was unrecoverable. This regression is tracked at: http://bugzilla.kernel.org/show_bug.cgi?id=10082 SLB misses at such points shouldn't happen because the kernel stack is the only memory accessed other than things in the first segment of the linear mapping (which is mapped at all times by entry 0 of the SLB). The context switch code ensures that SLB entry 2 covers the kernel stack, if it is not already covered by entry 0. None of entries 0 to 2 are ever replaced by the SLB miss handler. Where this went wrong is that the context switch code assumes it doesn't have to write to SLB entry 2 if the new kernel stack is in the same segment as the old kernel stack, since entry 2 should already be correct. However, when we start up a secondary cpu, it calls slb_initialize, which doesn't set up entry 2. This is correct for the boot cpu, where we will be using a stack in the kernel BSS at this point (i.e. init_thread_union), but not necessarily for secondary cpus, whose initial stack can be allocated anywhere. This doesn't cause any immediate problem since the SLB miss handler will just create an SLB entry somewhere else to cover the initial stack. In fact it's possible for the cpu to go quite a long time without SLB entry 2 being valid. Eventually, though, the entry created by the SLB miss handler will get overwritten by some other entry, and if the next access to the stack is at an unrecoverable point, we get the crash. This fixes the problem by making slb_initialize create a suitable entry for the kernel stack, if we are on a secondary cpu and the stack isn't covered by SLB entry 0. This requires initializing the get_paca()->kstack field earlier, so I do that in smp_create_idle where the current field is initialized. This also abstracts a bit of the computation that mk_esid_data in slb.c does so that it can be used in slb_initialize. Signed-off-by: Paul Mackerras commit d9f2f3f537acb8aa04280509b2eed50c855fd3ef Author: Geoff Levand Date: Thu May 1 08:25:36 2008 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 5442381cdd311633d18f8bb52a66ede2d0fa502c Author: Geoff Levand Date: Thu May 1 08:25:30 2008 +1000 [POWERPC] PS3: Remove unsupported wakeup sources Other OS wakeup is not supported from the IR controller, the bluetooth controller nor the RTC. Remove references to these in the PS3 sys-manager source. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fdedb4caea36cfc00571928a727ac87906037712 Author: Geert Uytterhoeven Date: Thu May 1 08:25:18 2008 +1000 [POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy static The routines ps3_virq_setup() and ps3_virq_destroy() are used in only one file, so make them static. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 483d8876f75aa5707a646442377051f1b90db206 Author: FUJITA Tomonori Date: Thu May 1 08:25:09 2008 +1000 [POWERPC] PS3: Add time include to lpm Add an include statement for get_tb(). Signed-off-by: FUJITA Tomonori Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit bbea34606269efedf7d12c608924b47bafb344f5 Author: Geoff Levand Date: Thu May 1 08:24:58 2008 +1000 [POWERPC] Fix slb.c compile warnings Arrange for a syntax check to always be done on the powerpc/mm/slb.c DBG() macro by defining it to pr_debug() for non-debug builds. Also, fix these related compile warnings: slb.c:273: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int slb.c:274: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int' Signed-off-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5be661a28b12aa43cc83ba935ba2b2c273d0da45 Merge: fbe543b... b17b818... Author: Paul Mackerras Date: Fri May 2 14:45:50 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit b17b8181c97e88e6fac5aa704879ad61fdd67351 Author: Kumar Gala Date: Wed Apr 30 10:24:44 2008 -0500 [POWERPC] Xilinx: Fix compile warnings arch/powerpc/sysdev/xilinx_intc.c: In function 'xilinx_intc_init': arch/powerpc/sysdev/xilinx_intc.c:111: warning: format '%08X' expects type 'unsigned int', but argument 2 has type 'resource_size_t' drivers/char/xilinx_hwicap/xilinx_hwicap.c: In function 'hwicap_setup': drivers/char/xilinx_hwicap/xilinx_hwicap.c:626: warning: cast to pointer from integer of different size drivers/char/xilinx_hwicap/xilinx_hwicap.c:646: warning: format '%x' expects type 'unsigned int', but argument 6 has type 'resource_size_t' Signed-off-by: Kumar Gala commit 128cf7f2eb952a85875834c0d274da05ee0f02aa Author: Becky Bruce Date: Thu May 1 18:15:45 2008 -0500 [POWERPC] Squash build warning for print of resource_size_t in fsl_soc.c When resource_size_t is larger than an int, the current code generates a build warning. Kill it. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 9941d945f491320bc121d86c558b1288ac0ad6ca Author: Randy Dunlap Date: Wed Apr 30 16:45:58 2008 -0700 [RAPIDIO] fix current kernel-doc notation Fix current (-git16) missing docbook/kernel-doc notation in RapidIO files. Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'sys_size' Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'phy_type' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:188): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:224): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:245): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:270): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:311): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:996): No description found for parameter 'dev' Signed-off-by: Randy Dunlap Signed-off-by: Kumar Gala commit e598477a3a9679bd04565ef2be20cc985b8954ae Author: Anton Vorontsov Date: Tue Apr 29 20:41:12 2008 +0400 [POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slot This patch adds pcie node which is resposible for PCI-E x8 slot functioning. Though, this was tested using only x1 SKY2 NIC. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit fb65f180e02dde224af256b43d3ab2c28b9689d7 Merge: ab59859... 61c2b68... Author: David S. Miller Date: Thu May 1 16:04:59 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 61c2b682b8391f13b67e2d95990a0aba34697d9c Author: Ivo van Doorn Date: Mon Apr 21 19:01:09 2008 +0200 rt2x00: Fix quality/activity led handling There was an obvious typo in LED structure initialization which caused the radio and quality/activity leds to be incorrectly initialized which resulted in the leds not being enabled. Additionally add the rt2x00led_led_activity() handler that will enable TX/RX activity leds when the radio is being enabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 44a9809b97ec5acd1c549c3120bdd35613897d7c Author: Ivo van Doorn Date: Mon Apr 21 19:00:17 2008 +0200 rt2x00: Don't enable short preamble for 1MBs The timing settings for 1MBs should exclude the short preamble bit since that only applies to 2MBs, 5.5MBs and 11MBs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2218228392080f0ca2fc2974604e79f57b12c436 Author: Kirill A. Shutemov Date: Tue Apr 22 16:38:55 2008 +0300 Make linux/wireless.h be able to compile Signed-off-by: Kirill A. Shutemov Signed-off-by: John W. Linville commit 786b4557075ae0d8a23e73c316dc4204b41ccb4d Author: Bill Moss Date: Thu Apr 17 16:03:40 2008 -0700 iwlwifi: fix debug messages during scanning direct_mask will be set when we are not associated and requesting a direct scan. The second debug print will be confusing as priv->essid is not set at that time and it will thus print "" while it is known to which AP a direct scan is requested - as previous debug message also indicates. Now make all debugging consistent. Signed-off-by: Bill Moss Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f52764886540b16e7962bd1d150bd939aec9248c Author: Guy Cohen Date: Mon Apr 21 15:41:57 2008 -0700 iwlwifi: fix current channel is not scanned All channels should be scanned, including the current channel when the client is associated. Removed also unused flag to scan only active channels. Signed-off-by: Guy Cohen Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 21a75d7788f4e29b6c6d28e08f9f0310c4de828d Author: Michael Buesch Date: Fri Apr 25 19:29:08 2008 +0200 b43: Fix some TX/RX locking issues This fixes some TX/RX related locking issues. With this patch applied, some of the PHY transmission errors are fixed. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f8e811b98935f702b48abc92563462a15c226eb8 Author: Al Viro Date: Thu May 1 14:36:36 2008 -0700 [IA64] fix file and descriptor handling in perfmon Races galore... General rule: as soon as it's in descriptor table, it's over; another thread might have started IO on it/dup2() it elsewhere/dup2() something *over* it/etc. fd_install() is the very last step one should take - it's a point of no return. Besides, the damn thing leaked on failure exits... Signed-off-by: Al Viro Signed-off-by: Tony Luck commit 848376c774a941c29e4fa083d96d84a5f2190857 Author: Roland McGrath Date: Wed Apr 30 14:40:14 2008 -0700 [IA64] TS_RESTORE_SIGMASK Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Signed-off-by: Roland McGrath Signed-off-by: Tony Luck commit c0cd661b1b0ad83dac54420169ec9ca14df409e9 Author: Hidetoshi Seto Date: Wed Apr 30 18:55:48 2008 +0900 [IA64] smp.c coding style fix Fix indenting of switch statement to follow CodingStyle, and pull out handling of call_data into an inlined function. I confirmed that applying this fix doesn't affect assembled code. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit f6acb63508700b5f8cd817082b62c96ba907775e Author: Christoph Lameter Date: Tue Apr 29 16:16:06 2008 -0700 slub: #ifdef simplification If we make SLUB_DEBUG depend on SYSFS then we can simplify some #ifdefs and avoid others. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit f715e6f15ee167026581a8a2e09b2ed644b974aa Author: Christoph Lameter Date: Tue Apr 29 16:14:46 2008 -0700 slabinfo: Support printout of the number of fallbacks Add functionality to slabinfo to print out the number of fallbacks that have occurred for each slab cache when the -D option is specified. Also widen the allocation / free field since the numbers became too big after a week. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 0121c619d03820d965745e56f80f6eb5994533fe Author: Christoph Lameter Date: Tue Apr 29 16:11:12 2008 -0700 slub: Whitespace cleanup and use of strict_strtoul Fix some issues with wrapping and use strict_strtoul to make parameter passing from sysfs safer. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a Merge: 6ed7b6a... f32ddad... Author: Linus Torvalds Date: Thu May 1 11:31:38 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-sbp2: log scsi_target ID at release ieee1394: fix NULL pointer dereference in sysfs access commit 6ed7b6a05dc4332c391134809387220123e82ea7 Merge: 2c4aabc... 90ebd87... Author: Linus Torvalds Date: Thu May 1 11:31:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus: kbuild: fix vmlinux.o link kconfig: made check-lxdialog more portable commit 2c4aabcca847ac4c92aa5e960c3f6053e1051b62 Merge: bcf35af... a98889f... Author: Linus Torvalds Date: Thu May 1 11:15:28 2008 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: [MTD][NOR] Add physical address to point() method [JFFS2] Track parent inode for directories (for NFS export) [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean. [JFFS2] Quiet lockdep false positive. [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once() [MTD] Delete long-unused jedec.h header file. [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently. commit fbe543b412cef02350fab35526a6d4dc3d20d182 Author: Andrew Liu Date: Tue Apr 29 17:36:25 2008 +1000 Fix a potential issue in mpc52xx uart driver mpc52xx_uart_int and __uart_put_char both try to acquire the port->lock. Therefore the function sequence of: mpc52xx_uart_int--> ...-->flush_to_ldisc-->...-->__uart_put_char can potentially trigger a deadlock. To avoid this deadlock a fix similar to that found in the 8250.c serial driver is applied. The deadlock is avoided by releasing the lock before pushing a buffer and reacquiring it when completed. Signed-off-by: Andrew Liu Signed-off-by: Grant Likely commit a98889f3d8882995b5aa2255b931cf0202325cc0 Author: Jared Hulbert Date: Tue Apr 29 23:26:49 2008 -0700 [MTD][NOR] Add physical address to point() method Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace code from flash. Signed-off-by: Jared Hulbert Reviewed-by: Jörn Engel Acked-by: Nicolas Pitre Acked-by: Greg Ungerer Signed-off-by: David Woodhouse commit f32ddaddf95d8a30be5a41cf681bc8792bc42ec7 Author: Stefan Richter Date: Thu Apr 24 23:17:47 2008 +0200 firewire: fw-sbp2: log scsi_target ID at release Makes the good-by message more informative. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 07c7224cf74c3977c69c7c9a0b0fba264f2df36a Author: Stefan Richter Date: Thu May 1 10:43:04 2008 +0200 ieee1394: fix NULL pointer dereference in sysfs access Regression since "ieee1394: prevent device binding of raw1394, video1394, dv1394", commit d2ace29fa44589da51fedc06a67b3f05301f3bfd: $ cat /sys/bus/ieee1394/drivers/raw1394/device_ids triggers a NULL pointer dereference in fw_show_drv_device_ids. Reported by Miles Lane. Signed-off-by: Stefan Richter Tested-by: Miles Lane commit 27c72b040c0be8f3704ed0b6b84c12cbba24a7e8 Author: David Woodhouse Date: Thu May 1 18:47:17 2008 +0100 [JFFS2] Track parent inode for directories (for NFS export) To support NFS export, we need to know the parent inode of directories. Rather than growing the jffs2_inode_cache structure, share space with the nlink field -- which was always set to 1 for directories anyway. Signed-off-by: David Woodhouse commit 90ebd878a5900839106664fae40a6cc83dbe86ab Author: Sam Ravnborg Date: Thu May 1 19:31:35 2008 +0200 kbuild: fix vmlinux.o link We always linked vmliux.o. Remove init/built-in.o dependency so we avoid this Signed-off-by: Sam Ravnborg commit b44158de9e318fbc92ac6c665ad3d0c948e80ac3 Author: Sam Ravnborg Date: Thu May 1 19:29:47 2008 +0200 kconfig: made check-lxdialog more portable OS-X shell did not like 'echo -e' so implement suggestion from Al Viro to use a more portable construct. Signed-off-by: Sam Ravnborg Cc: Al Viro Acked-By: Timur Tabi commit bcf35afb528109a31264b45d4851fa6ae72dbe18 Author: Christoph Hellwig Date: Thu May 1 18:43:12 2008 +0200 make generic sys_ptrace unconditional With s390 the last arch switched to the generic sys_ptrace yesterday so we can now kill the ifdef around it to enforce every new port it using it instead of introducing new weirdo versions. Signed-off-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit 5c598b3428c372a1209597cee99a70da20625876 Author: Al Viro Date: Sun Apr 27 20:04:15 2008 -0400 [PATCH] fix sysctl_nr_open bugs * if luser with root sets it to something that is not a multiple of BITS_PER_LONG, the system is screwed. * if it gets decreased at the wrong time, we can get expand_files() returning success and _not_ increasing the size of table as asked. Signed-off-by: Al Viro commit 2030a42cecd4dd1985a2ab03e25f3cd6106a5ca8 Author: Al Viro Date: Sat Feb 23 06:46:49 2008 -0500 [PATCH] sanitize anon_inode_getfd() a) none of the callers even looks at inode or file returned by anon_inode_getfd() b) any caller that would try to look at those would be racy, since by the time it returns we might have raced with close() from another thread and that file would be pining for fjords. Signed-off-by: Al Viro commit 9f3acc3140444a900ab280de942291959f0f615d Author: Al Viro Date: Thu Apr 24 07:44:08 2008 -0400 [PATCH] split linux/file.h Initial splitoff of the low-level stuff; taken to fdtable.h Signed-off-by: Al Viro commit a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184 Author: Al Viro Date: Wed Apr 23 14:05:15 2008 -0400 [PATCH] make osf_select() use core_sys_select() ... instead of open-coding it Signed-off-by: Al Viro commit bf7da7bcfb38409b4cdea34b0905bdf344f1b36d Author: Al Viro Date: Wed Apr 23 00:49:25 2008 -0400 [PATCH] remove horrors with irix tty ioctls handling Existing code in there (get_tty(), etc.) is both severely racy *and* pointless: ioctls in question have Linux equivalents and there's no need to play silly buggers in irix_ioctl() - just need to replace arguments and, in case of TIOCGSID, deal with API differences - Linux one expects pid_t __user * while Irix one does unsigned long __user *. BFD... Signed-off-by: Al Viro commit 74d92abc6143b124db03f0d341f02bde72fba6f5 Author: Al Viro Date: Tue Apr 22 19:46:10 2008 -0400 [PATCH] fix file and descriptor handling in perfmon Races galore... General rule: as soon as it's in descriptor table, it's over; another thread might have started IO on it/dup2() it elsewhere/dup2() something *over* it/etc. fd_install() is the very last step one should take - it's a point of no return. Besides, the damn thing leaked on failure exits... Signed-off-by: Al Viro commit 80791be11145f7dd7f68c84741fc66e5164b7353 Author: Grant Likely Date: Thu May 1 11:05:58 2008 -0600 [POWERPC] mpc5200: Allow for fixed speed MII configurations Various improvements for configuring the MPC5200 MII link from the device tree: * Look for 'current-speed' property for fixed speed MII links * Look for 'fsl,7-wire-mode' property for boards using the 7 wire mode * move definition of private data structure out of the header file Signed-off-by: Grant Likely Acked-by: Wolfgang Grandegger commit 1b690b48786229571e590dd22fe01ecc22a8746b Author: David Woodhouse Date: Thu May 1 16:59:24 2008 +0100 [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean. We don't actually care about nlink; we only care whether the inode in question is unlinked or not. Signed-off-by: David Woodhouse commit 9fc3ace937a675bf42cbe6e6ef8950a6731ca16f Merge: c92758c... 23f8e4b... Author: Linus Torvalds Date: Thu May 1 08:45:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix early setup of hwif->host_flags commit c92758ceda477b1333fde35327cfa867dcc47bd1 Merge: 03fc922... 4f02f82... Author: Linus Torvalds Date: Thu May 1 08:28:26 2008 -0700 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (adt7473) minor cleanup / refactoring hwmon: (asb100) Remove some dead code hwmon: (lm75) Fix an incorrect comment hwmon: (w83793) VID and VRM handling cleanups hwmon: (w83l785ts) Don't ask the user to report failures hwmon: (smsc47b397) add a new chip id (0x8c) commit 03fc922f4085a0139f313831fe2dc6fed467cd2d Merge: a0be752... df4b565... Author: Linus Torvalds Date: Thu May 1 08:26:56 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: add MODULE_STATE_GOING notifier call module: Enhance verify_export_symbols module: set unused_gpl_crcs instead of overwriting unused_crcs module: neaten __find_symbol, rename to find_symbol module: reduce module image and resident size module: make module_sect_attrs private to kernel/module.c commit a0be7522b25f17ac2c3964a24b88b5fe7c9404b8 Merge: 3b2b74c... b1145ce... Author: Linus Torvalds Date: Thu May 1 08:15:36 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cryptd: Correct kzalloc error test [CRYPTO] eseqiv: Fix off-by-one encryption [CRYPTO] api: Fix scatterwalk_sg_chain [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv() commit 3b2b74cad34e7a0cf6d4929ee9e8ad4e11a84867 Author: Sebastian Siewior Date: Thu May 1 14:08:12 2008 +1000 m68knommu: fix FEC driver locking It's easy: grab locks before talking to hardware and realease them afterwards. The one big lock has been splitted into a hw_lock and mii_lock. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c1d9615680c3f43a305b1f66dff0f933d5079273 Author: Sebastian Siewior Date: Thu May 1 14:04:02 2008 +1000 m68knommu: kill warnings in FEC driver linux-2.6-mk68/drivers/net/fec.c: In function 'fec_enet_module_init': linux-2.6-mk68/drivers/net/fec.c:2627: warning: unused variable 'j' linux-2.6-mk68/drivers/net/fec.c: At top level: linux-2.6-mk68/drivers/net/fec.c:2136: warning: 'mii_link_interrupt' defined but not used Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 398ec922b9cd5fdec26d2ca75b9389bed2432557 Author: Greg Ungerer Date: Thu May 1 13:47:09 2008 +1000 m68knommu: remove unused interrupts in FEC driver Remove the acquisition of unused interrupt types. We don't need to register all the TX and RX varients used on some ColdFire FEC hardware. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cc462f7df0a78df568fd4e1d19f0874476f3c002 Author: Greg Ungerer Date: Thu May 1 13:35:34 2008 +1000 m68knommu: fix ColdFire 5272 fec driver hash registers Renamed the 5272 hash_table registers to match the "grp" hash_table registers of the other ColdFire parts. They are actually a group hash. The makes for consistent setup across all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6c5a7d504fb0e27aa90b96267177d434642a393d Author: Sebastian Siewior Date: Thu May 1 12:17:49 2008 +1000 m68knommu: fix compare race in sched related code The interrupts must be disabled before considering the need resched bit of the task struct and they have to be disabled before calling schedule() Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 0042a1f7ecbc5d40eb2164f375ec87ecf3494418 Author: Greg Ungerer Date: Thu May 1 12:17:41 2008 +1000 m68knommu: rework definition of HZ Rework the HZ definition to be more consistent with other architectures. Non-kernel includers will see a constant HZ setting of 100. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6cca49173198e1666cb9852649f66e1dba99d88a Author: Sebastian Siewior Date: Thu May 1 12:17:36 2008 +1000 m68knommu: update MAX_M68K_DMA_CHANNELS for some plattforms include/asm-m68knommu/mcfdma.h defines base0-3 for M523x, M527x and M528x so it looks this has been forgotten. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cff28b56bdafd314836f4193b638b88d9b3cb5b1 Author: Greg Ungerer Date: Thu May 1 12:17:21 2008 +1000 m68knommu: remove unused CONFIG_DISKtel Remove unused CONFIG_DISKtel support. Missing config definition pointed out by Robert P. J. Day Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 188a9a4841c9b4a56cdd9b58761a882db4873f0c Author: Steve Bennett Date: Thu May 1 12:17:08 2008 +1000 m68knommu: add WilFire and WildfireMod board support This patch adds linux-2.6.x kernel support for the Intec Automation ColdFire 5282-based boards, the WildFire and WildFireMod Signed-Off-By: Steve Bennett Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 653620d6190670a7e2e3a6c7c0a4f78badb0e31f Author: Greg Ungerer Date: Thu May 1 12:17:00 2008 +1000 m68knommu: remove unused CONFIG_MTD_KeyTechnology Remove unused board type CONFIG_MTD_KeyTechnology. Pointed out by Robert P. J. Day Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit d259c329835bc1c17eca1dac7604baaf2d895e73 Author: Greg Ungerer Date: Thu May 1 12:16:53 2008 +1000 m68knommu: fix 5206e UART init function naming Fix ColdFire 5206e platform UART init function naming. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 779125c274446e873f262e24853353eaf0002719 Author: Sebastian Siewior Date: Thu May 1 12:16:46 2008 +1000 m68knommu: add some missing sections into the linker script Add some missing sections into the linker script. Those are required for spinlocks & kallsyms. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f6054e2131d8f5d43f6686ecc7687994adecc5a2 Author: Sebastian Siewior Date: Thu May 1 12:16:38 2008 +1000 m68knommu: add pretty back strace With this patch and CONFIG_FRAME_POINTER=y CONFIG_KALLSYMS=y The backtrace shows resolved function names and their numeric address. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 008150f53729d188a5c14b1a86725972e15fe5f4 Author: Sebastian Siewior Date: Thu May 1 12:16:33 2008 +1000 m68knommu: add a missing backslash n in setup code add a missing backslash n in setup code Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a19325a77432338d2710b3ebbe7fd8e6627e81e3 Author: Sebastian Siewior Date: Thu May 1 12:16:29 2008 +1000 m68knommu: ColdFire add support for kernel preemption As the subject says this patch adds the support for kernel preemption on m68knommu Coldfire. I thing the same changes could be applied to 68360 & 68328 but since I don't have the HW for testing, I don't touch it. Signed-off-by: Sebastian Siewior Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 2d7f16d6d12682c41fb287ea8261df8e4679f638 Author: Wilson Callan Date: Thu May 1 12:16:28 2008 +1000 m68knommu: fix signal handling return path The return from software signal handling pushes code on the stack that system calls to the kernels cleanup code. This is borrowed directly from the m68k linux signal handler. The rt signal case is not quite right for the restricted instruction set of the ColdFire parts. And neither the normal signal case or rt signal case properly flushes/pushes the appropriate cache lines. Rework the return path to just call back through some code fragments in the kernel proper (with no MMU in the way we can do this). No cache problems, and less code overall. Original patch submitted by Wilson Callan Greg fixed the rt signal return path to use the proper system call Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 10ed2195bb8aef4358223f07bb00e8cf9b278bf2 Author: Andrew Morton Date: Thu May 1 04:35:20 2008 -0700 drivers/scsi/mvsas.c: fix printk warnings drivers/scsi/mvsas.c: In function `mvs_update_phyinfo': drivers/scsi/mvsas.c:2822: warning: long long unsigned int format, u64 arg (arg 5) drivers/scsi/mvsas.c:2822: warning: long long unsigned int format, u64 arg (arg 6) We do not know what type the arch uses to implement u64. Cc: Ke Wei Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 726792b26b66c41f650e4a0c2f7b9e1fc16473a4 Author: Andrew Morton Date: Thu May 1 04:35:20 2008 -0700 drivers/scsi/ncr53c8xx.c: fix warning drivers/scsi/ncr53c8xx.c: In function 'process_waiting_list': drivers/scsi/ncr53c8xx.c:8225: warning: suggest parentheses around assignment used as truth value recently added by commit 172c122df5186e7cbd413d61757ff90267331002 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 scsi: fix integer as NULL pointer warnings Cc: James Bottomley Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5098021e1ed91388ab7f3984650e95a5584450c3 Author: Andrew Morton Date: Thu May 1 04:35:19 2008 -0700 drivers-char-synclinkc-inbreak-mgsl_put_char-fix Cc: Alan Cox Cc: Jiri Slaby Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076482307ff1acfe88d5ad1a3fbfbac5cc8d7ad4 Author: Andrew Morton Date: Thu May 1 04:35:18 2008 -0700 drivers/char/synclink.c: unbreak mgsl_put_char() Repair the effects of commit 55da77899c1472d83452c914fa179d00ea96df65 Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 synclink series: switch to int put_char method Signed-off-by: Alan Cox Cc: Paul Fulghum Cc: Jiri Slaby drivers/char/synclink_gt.c: In function 'put_char': drivers/char/synclink_gt.c:919: warning: 'ret' may be used uninitialized in this function and do some whitespace repair and unneeded-cast-removal in there as well. Cc: Paul Fulghum Cc: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24c03d47d0481ed7b172b398f6c9b7ca1fafb9fa Author: Harvey Harrison Date: Thu May 1 04:35:17 2008 -0700 block: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e37d05dad7ff9744efd8ea95a70d389e9a65a6fc Author: Mike Travis Date: Thu May 1 04:35:16 2008 -0700 cpu: change cpu_sys_devices from array to per_cpu variable Change cpu_sys_devices from array to per_cpu variable in drivers/base/cpu.c. Signed-off-by: Mike Travis Cc: Ashok Raj Cc: Vivek Goyal Cc: Greg Kroah-Hartman Cc: Suresh Siddha Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd7309677c937bf23296f6c81027123c84c5cc5c Author: Harvey Harrison Date: Thu May 1 04:35:15 2008 -0700 fuse: use clamp() rather than nested min/max clamp() exists for this use. Signed-off-by: Harvey Harrison Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfcf9c4bf1fda4aa75861bcf6c50607dd322fe5 Author: Denis V. Lunev Date: Thu May 1 04:35:14 2008 -0700 cciss: assign PDE->data before gluing PDE into /proc tree Simply replace proc_create and further data assigned with proc_create_data. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: Eric W. Biederman Acked-by: Mike Miller Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a3e77cc212f3bc8eccc95e0d046405cf2a02764 Author: Andrew Liu Date: Thu May 1 04:35:14 2008 -0700 workqueue: remove redundant function invocation timer_stats_timer_set_start_info is invoked twice, additionally, the invocation of this function can be moved to where it is only called when a delay is really required. Signed-off-by: Andrew Liu Cc: Pavel Machek Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e462b05b5df4fd113c4a304c4f487d44b0898e Author: Balaji Rao Date: Thu May 1 04:35:12 2008 -0700 memcg: simple stats for memory resource controller Implement trivial statistics for the memory resource controller. Signed-off-by: Balaji Rao Acked-by: Balbir Singh Cc: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f39e578172f30d3bdd4533465c7ec00db738eb9d Author: Will Newton Date: Thu May 1 04:35:10 2008 -0700 gpio: pca953x: add support for pca9555 I2C I/O expander Add support for pca9555 I2C I/O expander. As the comment suggests this part is software compatible with the pca9539. Signed-off-by: Will Newton Cc: "eric miao" Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 868eb7a8539d3e8c494209be2b1f4084a274dfef Author: Jan Blunck Date: Thu May 1 04:35:10 2008 -0700 autofs: path_{get,put}() cleanups Here are some more places where path_{get,put}() can be used instead of dput()/mntput() pair. Besides that it fixes a bug in autofs4_mount_busy() where mntput() was called before dput(). Signed-off-by: Jan Blunck Cc: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d2de6ad2a78bb8b60bf7a54e6043dca44e9a801 Author: Jeff Moyer Date: Thu May 1 04:35:09 2008 -0700 autofs4: fix incorrect return from root.c:try_to_fill_dentry() Jeff Moyer has identified a case where the autofs4 function root.c:try_to_fill_dentry() can return -EBUSY when it should return 0. Jeff's description of the way this happens is: "automount starts an expire for directory d. after the callout to the daemon, but before the rmdir, another process tries to walk into the same directory. It puts itself onto the waitq, pending the expiration. When the expire finishes, the second process is woken up. In try_to_fill_dentry, it does this check: status = d_invalidate(dentry); if (status != -EBUSY) return -EAGAIN; And status is EBUSY. The dentry still has a non-zero d_inode, and the flags do not contain LOOKUP_CONTINUE or LOOKUP_DIRECTORY So, we fall through and return -EBUSY to the caller." Signed-off-by: Jeff Moyer Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 033790449ba9c4dcf8478a87693d33df625c23b5 Author: Jeff Moyer Date: Thu May 1 04:35:08 2008 -0700 autofs4: fix execution order race in mount request code Jeff Moyer has identified a race in due to an execution order dependency in the autofs4 function root.c:try_to_fill_dentry(). Jeff's description of this race is: "P1 does a lookup of /mount/submount/foo. Since the VFS can't find an entry for "foo" under /mount/submount, it calls into the autofs4 kernel module to allocate a new dentry, D1. The kernel creates a new waitq for this lookup and calls the daemon to perform the mount. The daemon performs a mkdir of the "foo" directory under /mount/submount, which ends up creating a *new* dentry, D2. Then, P2 does a lookup of /mount/submount/foo. The VFS path walking logic finds a dentry in the dcache, D2, and calls the revalidate function with this. In the autofs4 revalidate code, we then trigger a mount, since the dentry is an empty directory that isn't a mountpoint, and so set DCACHE_AUTOFS_PENDING and call into the wait code to trigger the mount. The wait code finds our existing waitq entry (since it is keyed off of the directory name) and adds itself to the list of waiters. After the daemon finishes the mount, it calls back into the kernel to release the waiters. When this happens, P1 is woken up and goes about clearing the DCACHE_AUTOFS_PENDING flag, but it does this in D1! So, given that P1 in our case is a program that will immediately try to access a file under /mount/submount/foo, we end up finding the dentry D2 which still has the pending flag set, and we set out to wait for a mount *again*! So, one way to address this is to re-do the lookup at the end of try_to_fill_dentry, and to clear the pending flag on the hashed dentry. This seems a sane approach to me." And Jeff's patch does this. Signed-off-by: Jeff Moyer Signed-off-by-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab0936aac8aa907c6bb814c2cf26385478f254b Author: Ian Kent Date: Thu May 1 04:35:07 2008 -0700 autofs4: check for invalid dentry in getpath Catch invalid dentry when calculating its path. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afec570c32a0d116e3c68af583ed1d11110f12fc Author: Ian Kent Date: Thu May 1 04:35:06 2008 -0700 autofs4: fix sparse warning in waitq.c:autofs4_expire_indirect() Re-order some code in expire.c:autofs4_expire_indirect() to avoid compile warning, reported by Harvey Harrison: CHECK fs/autofs4/expire.c fs/autofs4/expire.c:383:2: warning: context imbalance in 'autofs4_expire_indirect' - unexpected unlock Signed-off-by: Ian Kent Reviewed-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c32e026efc1e1a4f9e36babebf123f2b88205b0b Author: Jan Kara Date: Thu May 1 04:35:05 2008 -0700 quota: add a convenience macro for filesystems Note that it cannot be an inline function because we don't have struct super_block prototype... Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d34aa4d5a3e5d141bb4d07ed5d4bf02d4d4998a Author: Matthew Wilcox Date: Thu May 1 04:35:04 2008 -0700 spi_s3c24xx signedness fix On Fri, Apr 18, 2008 at 09:08:55PM +0200, Julia Lawall wrote: > I found 63 occurrences of this problem with the following semantic match > (http://www.emn.fr/x-info/coccinelle/): > > @@ unsigned int i; @@ > > * i < 0 > Since this one's always in the range 0-255, it could probably be made signed, but it's just as easy to make it work unsigned. Reported-by: Julia Lawall Signed-off-by: Matthew Wilcox Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8eeb12e5a2486ab958fa27ec97e71dabf234b73b Author: Vitja Makarov Date: Thu May 1 04:35:03 2008 -0700 spi_bfin5xx: use PIO for full duplex, not DMA Use PIO for full-duplex transfers, instead of DMA. Signed-off-by: Vitja Makarov Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef3fb66ced1a890769d71a4f4ae9f68b8afa98b6 Author: Jean Delvare Date: Thu May 1 04:35:01 2008 -0700 dmi: clean-up dmi helper declarations The declaration of dmi helper functions is a bit messy and inconsistent at the moment: * On ia64 they are declared in . * On x86-64 they are declared in . * On i386 they are declared both in and . Fix the header files so that the dmi helper functions are consistently defined in . Signed-off-by: Jean Delvare Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99da9047e675a4a8d671bbd67b34eb096c308b0d Author: Scott Kilau Date: Thu May 1 04:35:00 2008 -0700 jsm: add new supported board to jsm serial driver Add new PCI Express Neo/JSM board to the supported list of drivers in the JSM driver. Signed-off-by: Scott Kilau Acked-by: Ananda V Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f441fe99814f64315b8c11890744230b990c460 Author: Alan Cox Date: Thu May 1 04:34:59 2008 -0700 8250: switch 8250 drivers to use _nocache ioremaps Signed-off-by: Alan Cox Cc: Russell King Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ed99a27d161ce6f1eb6657c5cd5e6aef365c665 Author: Jochen Eisinger Date: Thu May 1 04:34:58 2008 -0700 i8k: make fan multiplier tunable with a module parameter The i8k driver multiplies the fan speed reported by the BIOS with a factor of 30. On my Dell Latitude D800, this factor is not required. I'd suggest to make this configurable. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af8e2a4cb9b3e14b919ae1cd4012825aefddbeb0 Author: Nadia Derbey Date: Thu May 1 04:34:57 2008 -0700 idr: fix idr_remove() The return inside the loop makes us free only a single layer. Signed-off-by: Nadia Derbey Cc: "Paul E. McKenney" Cc: Manfred Spraul Cc: Jim Houston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7793bfcfccc91d036d61618d90baf2be3d76e710 Author: Randy Dunlap Date: Thu May 1 04:34:55 2008 -0700 PNP: fix printk format warnings next-20080430/drivers/pnp/pnpbios/rsparser.c:594: warning: format '%d' expects type 'int', but argument 4 has type 'resource_size_t' next-20080430/drivers/pnp/pnpbios/rsparser.c:605: warning: format '%d' expects type 'int', but argument 4 has type 'resource_size_t' [joe@perches.com: fix it] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Randy Dunlap Cc: Bjorn Helgaas Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e11cb4c52ffbadab4844b28803577ba7272b221 Author: Harvey Harrison Date: Thu May 1 04:34:54 2008 -0700 pcmcia: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d077e28127ea96408032edcf9dd7062a0daaa3 Author: Andrew Morton Date: Thu May 1 04:34:54 2008 -0700 drivers/pcmcia/soc_common.c: convert soc_pcmcia_sockets_lock into a mutex and make it static Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d1e75d3d4d2748f5db308d9b5d5b873435c308 Author: Matthias Kaehlcke Date: Thu May 1 04:34:53 2008 -0700 Alchemy Semi Au1000 pcmcia driver: convert pcmcia_sockets_lock in a mutex Alchemy Semi Au1000 pcmcia driver: The semaphore pcmcia_sockets_lock is used as a mutex, convert it to the mutex API (akpm: make it static too) Signed-off-by: Matthias Kaehlcke Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e772d782a6b0f14d491a95445f0ec6767d66fb29 Author: Sam Ravnborg Date: Thu May 1 04:34:52 2008 -0700 pcmcia: annotate cb_alloc with __ref cb_alloc() uses a function (pci_scan_slot) that will be annotated __devinit. Annotate cb_alloc() with __ref to tell modpost to ignore this reference. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba66ddfa613886cbb554f7b064dc05bdc2c7138b Author: Sam Ravnborg Date: Thu May 1 04:34:51 2008 -0700 pcmcia: silence section mismatch warnings from pci_driver variables Silence following warnings: WARNING: drivers/pcmcia/built-in.o(.data+0x14e0): Section mismatch in reference from the variable pd6729_pci_drv to the function .devinit.text:pd6729_pci_probe() WARNING: drivers/pcmcia/built-in.o(.data+0x14e8): Section mismatch in reference from the variable pd6729_pci_drv to the function .devexit.text:pd6729_pci_remove() WARNING: drivers/pcmcia/built-in.o(.data+0x16c0): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devinit.text:i82092aa_pci_probe() WARNING: drivers/pcmcia/built-in.o(.data+0x16c8): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devexit.text:i82092aa_pci_remove() Rename the variables from *_drv to *_driver so modpost ignore the OK references to __devinit/__devexit functions. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed49f5d0015927334dcca3607a9bfc1478ff8f55 Author: Sam Ravnborg Date: Thu May 1 04:34:50 2008 -0700 pcmcia: silence section mismatch warnings from class_interface variables Silence the following warnings: WARNING: drivers/pcmcia/built-in.o(.data+0x6e8): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket() WARNING: drivers/pcmcia/built-in.o(.data+0xa88): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc() WARNING: drivers/pcmcia/built-in.o(.data+0xa90): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc() The variables of type class_interface contains references to __devinit and __devexit functions which is OK. Silence warnings by annotating the variables with __refdata. Signed-off-by: Sam Ravnborg Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be089d79c46f5efa77fbdf03c5e576e220bf143f Author: Michael Ellerman Date: Thu May 1 04:34:49 2008 -0700 kexec: make extended crashkernel= syntax less confusing The extended crashkernel syntax is a little confusing in the way it handles ranges. eg: crashkernel=512M-2G:64M,2G-:128M Means if the machine has between 512M and 2G of memory the crash region should be 64M, and if the machine has 2G of memory the region should be 64M. Only if the machine has more than 2G memory will 128M be allocated. Although that semantic is correct, it is somewhat baffling. Instead I propose that the end of the range means the first address past the end of the range, ie: 512M up to but not including 2G. [bwalle@suse.de: clarify inclusive/exclusive in crashkernel commandline in documentation] Signed-off-by: Michael Ellerman Acked-by: Bernhard Walle Cc: "Eric W. Biederman" Cc: Simon Horman Signed-off-by: Bernhard Walle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c85d194bfd2e36c5254b8058c1f35cfce0dfa10a Author: Randy Dunlap Date: Thu May 1 04:34:48 2008 -0700 docbook: fix vmalloc missing parameter notation Fix vmalloc kernel-doc warning: Warning(linux-2.6.25-git14//mm/vmalloc.c:555): No description found for parameter 'caller' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045790589bd426b5d515d78fa71f0fc92dd4e83 Author: Ingo Molnar Date: Thu May 1 04:34:47 2008 -0700 isdn: hysdn_procconf.c build fix x86.git randconfig testing found the following build error in latest -git: CC [M] drivers/isdn/hysdn/hysdn_procconf.o CC [M] drivers/isdn/hysdn/hysdn_init.o drivers/isdn/hysdn/hysdn_procconf.c: In function 'hysdn_procconf_init': drivers/isdn/hysdn/hysdn_procconf.c:408: error: too few arguments to function 'proc_create' with the following config: http://redhat.com/~mingo/misc/config-Wed_Apr_30_15_12_48_CEST_2008.bad Signed-off-by: Ingo Molnar Cc: "Denis V. Lunev" Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e3a7d666d6db19406ba0865e8116ff59c8af6f1 Author: David Woodhouse Date: Thu May 1 04:34:46 2008 -0700 Embedded Maintainer(s), linux-embedded@vger list Add Paul and myself, and the linux-embedded list, to MAINTAINERS. Signed-off-by: David Woodhouse Signed-off-by: Paul Gortmaker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c6be615f1fcd37ac5ed93a3ad6692ad8991cd9 Author: Miklos Szeredi Date: Thu May 1 04:34:45 2008 -0700 vfs: fix permission checking in sys_utimensat If utimensat() is called with both times set to UTIME_NOW or one of them to UTIME_NOW and the other to UTIME_OMIT, then it will update the file time without any permission checking. I don't think this can be used for anything other than a local DoS, but could be quite bewildering at that (e.g. "Why was that large source tree rebuilt when I didn't modify anything???") This affects all kernels from 2.6.22, when the utimensat() syscall was introduced. Fix by doing the same permission checking as for the "times == NULL" case. Thanks to Michael Kerrisk, whose utimensat-non-conformances-and-fixes.patch in -mm also fixes this (and breaks other stuff), only he didn't realize the security implications of this bug. Signed-off-by: Miklos Szeredi Cc: Ulrich Drepper Cc: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2850699c59d513a0cd0c68f60f75609a5f9d4d32 Author: Randy Dunlap Date: Thu May 1 04:34:43 2008 -0700 sysfs: sysfs_update_group stub for CONFIG_SYSFS=n scsi_transport_spi uses sysfs_update_group() when CONFIG_SYSFS=n, so provide a stub for it. next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Cc: Greg KH Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34990cf702bdf2b4964e0629dab4af7669f8b2c5 Author: David Brownell Date: Thu May 1 04:34:42 2008 -0700 Add a new sysfs_streq() string comparison function Add a new sysfs_streq() string comparison function, which ignores the trailing newlines found in sysfs inputs. By example: sysfs_streq("a", "b") ==> false sysfs_streq("a", "a") ==> true sysfs_streq("a", "a\n") ==> true sysfs_streq("a\n", "a") ==> true This is intended to simplify parsing of sysfs inputs, letting them avoid the need to manually strip off newlines from inputs. Signed-off-by: David Brownell Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 Author: Roman Zippel Date: Thu May 1 04:34:41 2008 -0700 ntp: handle leap second via timer Remove the leap second handling from second_overflow(), which doesn't have to check for it every second anymore. With CONFIG_NO_HZ this also makes sure the leap second is handled close to the full second. Additionally this makes it possible to abort a leap second properly by resetting the STA_INS/STA_DEL status bits. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8383c42399f394a89bd6c2f03632c53689bdde7a Author: Roman Zippel Date: Thu May 1 04:34:39 2008 -0700 ntp: remove current_tick_length() current_tick_length used to do a little more, but now it just returns tick_length, which we can also access directly at the few places, where it's needed. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc5c78409479d826341b103bdf734cb4fb02436 Author: Roman Zippel Date: Thu May 1 04:34:38 2008 -0700 ntp: rename TICK_LENGTH_SHIFT to NTP_SCALE_SHIFT As TICK_LENGTH_SHIFT is used for more than just the tick length, the name isn't quite approriate anymore, so this renames it to NTP_SCALE_SHIFT. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 153b5d054ac2d98ea0d86504884326b6777f683d Author: Roman Zippel Date: Thu May 1 04:34:37 2008 -0700 ntp: support for TAI This adds support for setting the TAI value (International Atomic Time). The value is reported back to userspace via timex (as we don't have a ntp_gettime() syscall). Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f14f669d18477fe3df071e2fa4da36c00acee8e Author: Roman Zippel Date: Thu May 1 04:34:36 2008 -0700 ntp: increase time_offset resolution time_offset is already a 64bit value but its resolution barely used, so this makes better use of it by replacing SHIFT_UPDATE with TICK_LENGTH_SHIFT. Side note: the SHIFT_HZ in SHIFT_UPDATE was incorrect for CONFIG_NO_HZ and the primary reason for changing time_offset to 64bit to avoid the overflow. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074b3b87941c99bc0ce35385b5817924b1ed0c23 Author: Roman Zippel Date: Thu May 1 04:34:34 2008 -0700 ntp: increase time_freq resolution This changes time_freq to a 64bit value and makes it static (the only outside user had no real need to modify it). Intermediate values were already 64bit, so the change isn't that big, but it saves a little in shifts by replacing SHIFT_NSEC with TICK_LENGTH_SHIFT. PPM_SCALE is then used to convert between user space and kernel space representation. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eea83d896e318bda54be2d2770d2c5d6668d11db Author: Roman Zippel Date: Thu May 1 04:34:33 2008 -0700 ntp: NTP4 user space bits update This adds a few more things from the ntp nanokernel related to user space. It's now possible to select the resolution used of some values via STA_NANO and the kernel reports in which mode it works (pll/fll). If some values for adjtimex() are outside the acceptable range, they are now simply normalized instead of letting the syscall fail. I removed MOD_CLKA/MOD_CLKB as the mapping didn't really makes any sense, the kernel doesn't support setting the clock. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee9851b218b8bafa22942b5404505ff3d2d34324 Author: Roman Zippel Date: Thu May 1 04:34:32 2008 -0700 ntp: cleanup ntp.c This is mostly a style cleanup of ntp.c and extracts part of do_adjtimex as ntp_update_offset(). Otherwise the functionality is still the same as before. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8bd2258e2d520dff28c855658bd24bdafb5102d Author: Roman Zippel Date: Thu May 1 04:34:31 2008 -0700 remove div_long_long_rem x86 is the only arch right now, which provides an optimized for div_long_long_rem and it has the downside that one has to be very careful that the divide doesn't overflow. The API is a little akward, as the arguments for the unsigned divide are signed. The signed version also doesn't handle a negative divisor and produces worse code on 64bit archs. There is little incentive to keep this API alive, so this converts the few users to the new API. Signed-off-by: Roman Zippel Cc: Ralf Baechle Cc: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f6d6a1a6a1336431a6cba60ace9e97c3a496a19 Author: Roman Zippel Date: Thu May 1 04:34:28 2008 -0700 rename div64_64 to div64_u64 Rename div64_64 to div64_u64 to make it consistent with the other divide functions, so it clearly includes the type of the divide. Move its definition to math64.h as currently no architecture overrides the generic implementation. They can still override it of course, but the duplicated declarations are avoided. Signed-off-by: Roman Zippel Cc: Avi Kivity Cc: Russell King Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: David Howells Cc: Jeff Dike Cc: Ingo Molnar Cc: "David S. Miller" Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71abb3af62dfa52930755f3b6497eafbe1d6ec85 Author: Roman Zippel Date: Thu May 1 04:34:26 2008 -0700 convert a few do_div users This converts a few users of do_div to div_[su]64 and this demonstrates nicely how it can reduce some expressions to one-liners. Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2418f4f28f8467b92a6177af32d05737ebf6206c Author: Roman Zippel Date: Thu May 1 04:34:25 2008 -0700 introduce explicit signed/unsigned 64bit divide The current do_div doesn't explicitly say that it's unsigned and the signed counterpart is missing, which is e.g. needed when dealing with time values. This introduces 64bit signed/unsigned divide functions which also attempts to cleanup the somewhat awkward calling API, which often requires the use of temporary variables for the dividend. To avoid the need for temporary variables everywhere for the remainder, each divide variant also provides a version which doesn't return the remainder. Each architecture can now provide optimized versions of these function, otherwise generic fallback implementations will be used. As an example I provided an alternative for the current x86 divide, which avoids the asm casts and using an union allows gcc to generate better code. It also avoids the upper divde in a few more cases, where the result is known (i.e. upper quotient is zero). Signed-off-by: Roman Zippel Cc: john stultz Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adafbedf0c31ae1cde62035c82857f5e376af553 Author: David Howells Date: Thu May 1 04:34:24 2008 -0700 frv: unbreak misalignment handling changes Fix a reference in a arch/frv/mm/Makefile to unaligned.c which has now been deleted. Also revert the change to the guard macro name in include/asm-frv/unaligned.h. Signed-off-by: David Howells Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5e417232e7c9ecc58a77902d2e8dd46792cd092 Author: Christian Borntraeger Date: Thu May 1 04:34:23 2008 -0700 Fix cpu hotplug problem in softirq code currently cpu hotplug (unplug) seems broken on s390 and likely others. On cpu unplug the system starts to behave very strange and hangs. I bisected the problem to the following commit: commit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183 Author: Olof Johansson Date: Tue Mar 4 15:23:25 2008 -0800 tasklets: execute tasklets in the same order they were queued Reverting this patch seems to fix the problem. I looked into takeover_tasklet and it seems that there is a way to corrupt the tail pointer of the current cpu. If the tasklet list of the frozen cpu is empty, the tail pointer of the current cpu points to the address of the head pointer of the stopped cpu and not to the next pointer of a tasklet_struct. This patch avoids the list splice of the list is empty and cpu hotplug seems to work as the tail pointer is not corrupted. Olof, can you look into that patch and ACK/NACK it so Andrew can push this to Linus, if appropriate? Please note that some lines are longer than 80 chars, but line-wrapping looked worse that this version. Signed-off-by: Christian Borntraeger Acked-by: Olof Johansson Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bffd7b57d747d74ec2962d7c822f4b86e9f64d4 Author: Paul Jackson Date: Thu May 1 04:34:21 2008 -0700 cpusets: update maintainers Update CPUSETS MAINTAINERS to reflect the more active role of Paul Menage (secondary to his work on cgroups) and the retirement of the original author of cpusets, Simon Derr. Thanks, Simon! Best of luck to you. Signed-off-by: Paul Jackson Acked-by: Paul Menage Acked-by: Simon Derr Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 590fe34c47cb5c2d836ac76fabc5f160bf31a3f1 Author: David Woodhouse Date: Thu May 1 15:53:28 2008 +0100 [JFFS2] Quiet lockdep false positive. Don't hold f->sem while calling into jffs2_do_create(). It makes lockdep unhappy, and we don't really need it -- the _reason_ it's a false positive is because nobody else can see this inode yet and so nobody will be trying to lock it anyway. Signed-off-by: David Woodhouse commit 23f8e4bf7cf0e2125b6d798cc85c031951c763d3 Author: Bartlomiej Zolnierkiewicz Date: Thu May 1 14:08:51 2008 +0200 ide: fix early setup of hwif->host_flags On Thursday 01 May 2008, Jeremy Kerr wrote: > Hi all, > > On QS20 Cell machines, Linus' current git tree explodes on boot: > > SiI680: IDE controller (0x1095:0x0680 rev 0x02) at PCI slot > 0000:00:0a.0 > SiI680: BASE CLOCK == 133 > SiI680: 100% native mode on irq 51 > ide0: MMIO-DMA > ide1: MMIO-DMA > Unable to handle kernel paging request for data at address > 0xa000100081220080 > Faulting instruction address: 0xc000000000024748 > cpu 0x2: Vector: 300 (Data Access) at [c00000001e143420] > pc: c000000000024748: ._insw_ns+0x10/0x30 > lr: c000000000037fc4: .spiderpci_readsw+0x24/0x6c > sp: c00000001e1436a0 > msr: 9000000000001032 > dar: a000100081220080 > dsisr: 40000000 > current = 0xc00000003d060000 > paca = 0xc000000000623880 > pid = 1, comm = swapper > enter ? for help > [link register ] c000000000037fc4 .spiderpci_readsw+0x24/0x6c > [c00000001e1436a0] c00000000062ce63 (unreliable) > [c00000001e143730] c0000000000379d4 .iowa_readsw+0x78/0xa8 > [c00000001e1437c0] c000000000037a98 .iowa_insw+0x94/0xd4 > [c00000001e143850] c00000000022a190 .ata_input_data+0x298/0x2ec > [c00000001e143910] c00000000022b600 .try_to_identify+0x2c0/0x6d4 > [c00000001e1439d0] c00000000022bb54 .do_probe+0x140/0x35c > [c00000001e143a80] c00000000022bfbc .ide_probe_port+0x24c/0x670 > [c00000001e143b50] c00000000022d09c .ide_device_add_all+0x2ec/0x690 > [c00000001e143c00] c00000000022d4a4 .ide_device_add+0x64/0x74 > [c00000001e143c90] c00000000022f834 .ide_setup_pci_device+0x58/0x7c > [c00000001e143d30] c00000000038bdf8 > [c00000001e143e10] c000000000486fb0 .ide_scan_pcibus+0x8c/0x178 > [c00000001e143ea0] c000000000460c00 .kernel_init+0x1c4/0x344 > [c00000001e143f90] c000000000024a1c .kernel_thread+0x4c/0x68 > > It looks like we're trying to do PIO accesses (which appear to be > broken, but that's another issue) to this MMIO device. In > ata_input_data, we see that: > > u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; > > Gives mmio == 0. > > (what's the difference between hwif->mmio and ID_HFLAG_MMIO?) > > In the siimage driver, hwif->host flags is initially set up correctly > (host_flags includes IDE_HFLAG_MMIO), but we then *clear* this bit in > ide_init_port: > > hwif->host_flags = d->host_flags; > > where d is the struct ide_port_info for this chipset. In my case, > d->host_flags is 0x0. It looks like this will be the same for all of > the siimage chipsets. Don't over-write hwif->host_flags in ide_init_port(), some host drivers set IDE_HFLAG_MMIO or IDE_HFLAG_NO_IO_32BIT host flag early. Thanks to Jeremy Kerr for the excellent analysis of the bug. Reported-by: Jeremy Kerr Tested-by: Jeremy Kerr Cc: Sergei Shtylyov Cc: Ben Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f02f8220562591322c118d07a32bebf705318b7 Merge: 1852448... 8093077... Author: Mark M. Hoffman Date: Thu May 1 07:33:17 2008 -0400 Merge branch 'smsc47b397-new-id' into release commit 4e571aba7bb25a3a069a7b88c0f63fe5a14c05c6 Author: David Woodhouse Date: Thu May 1 12:28:04 2008 +0100 [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once() Ditch a couple of pointless casts from void *, and use the normal variable name 'f' for jffs2_inode_info pointers -- especially since it actually shows up in lockdep reports. Signed-off-by: David Woodhouse commit df4b565e1fbc777bb6e274378a41fa8ff7485680 Author: Peter Oberparleiter Date: Mon Apr 21 14:34:31 2008 +0200 module: add MODULE_STATE_GOING notifier call Provide module unload callback. Required by the gcov profiling infrastructure to keep track of profiling data structures. Signed-off-by: Peter Oberparleiter Signed-off-by: Rusty Russell commit b211104d111c99dbb97c636b57bd9db711455684 Author: Rusty Russell Date: Thu May 1 21:15:00 2008 -0500 module: Enhance verify_export_symbols Make verify_export_symbols check the modules unused, unused_gpl and gpl_future syms. Inspired by Jan Beulich's fix, but table-driven. Signed-off-by: Rusty Russell commit 4e2d92454b2d822fe1d474efabccc2a3806d5f86 Author: Rusty Russell Date: Thu May 1 21:15:00 2008 -0500 module: set unused_gpl_crcs instead of overwriting unused_crcs Obvious typo, but I don't know of any modules with unused GPL exports, and then it would take someone noticing that the version shouldn't have matched in a dependent module. Signed-off-by: Rusty Russell commit ad9546c9917d44eddc7676b639296d624cee455e Author: Rusty Russell Date: Thu May 1 21:14:59 2008 -0500 module: neaten __find_symbol, rename to find_symbol __find_symbol() has grown over time: there are now 5 different arrays of symbols it traverses. It also shouldn't print out a warning on some calls (ie. verify_symbol which simply checks for name clashes, and __symbol_put which checks for bugs). 1) Rename to find_symbol: no need for underscores. 2) Use bool and add "warn" parameter to suppress warnings. 3) Make table-driven rather than open coded. Signed-off-by: Rusty Russell commit ea01e798e2d27fd04142e0473ca36570fa9d9218 Author: Rusty Russell Date: Thu Mar 13 09:02:17 2008 +0000 module: reduce module image and resident size Resulting reduction (x86-64, gcc 4.1.2) with my (special purpose, i.e. much reduced) configurations: - 16k kernel resident size - 180k module resident size - 10k module image size Signed-off-by: Jan Beulich Signed-off-by: Rusty Russell commit a58730c42174672fe0012a4edbe3e38f94ef2bad Author: Rusty Russell Date: Thu Mar 13 09:03:44 2008 +0000 module: make module_sect_attrs private to kernel/module.c No-one else is using these afaics. Signed-off-by: Jan Beulich Signed-off-by: Rusty Russell commit b1145ce395f7785487c128fe8faf8624e6586d84 Author: Julia Lawall Date: Wed Apr 30 00:27:14 2008 +0800 [CRYPTO] cryptd: Correct kzalloc error test Normally, kzalloc returns NULL or a valid pointer value, not a value to be tested using IS_ERR. Signed-off-by: Julia Lawall Signed-off-by: Herbert Xu commit 46f8153cc59384eb09a426d044668d4801f818ce Author: Herbert Xu Date: Tue Apr 29 21:57:01 2008 +0800 [CRYPTO] eseqiv: Fix off-by-one encryption After attaching the IV to the head during encryption, eseqiv does not increase the encryption length by that amount. As such the last block of the actual plain text will be left unencrypted. Fortunately the only user of this code hifn currently crashes so this shouldn't affect anyone :) Signed-off-by: Herbert Xu commit 8ec970d8561abb5645d4602433b772e268c96d05 Author: Herbert Xu Date: Tue Apr 29 21:53:52 2008 +0800 [CRYPTO] api: Fix scatterwalk_sg_chain When I backed out of using the generic sg chaining (as it isn't currently portable) and introduced scatterwalk_sg_chain/scatterwalk_sg_next I left out the sg_is_last check in the latter. This causes it to potentially dereference beyond the end of the sg array. As most uses of scatterwalk_sg_next are bound by an overall length, this only affected the chaining code in authenc and eseqiv. Thanks to Patrick McHardy for identifying this problem. This patch also clears the "last" bit on the head of the chained list as it's no longer last. This also went missing in scatterwalk_sg_chain and is present in sg_chain. Signed-off-by: Herbert Xu commit 161613293fd4b7d5ceb1faab788f47e688e07a67 Author: Patrick McHardy Date: Tue Apr 29 21:44:28 2008 +0800 [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv() crypto_authenc_givencrypt_done uses req->data as struct aead_givcrypt_request, while it really points to a struct aead_request, causing this crash: BUG: unable to handle kernel paging request at 6b6b6b6b IP: [] :authenc:crypto_authenc_genicv+0x23/0x109 *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: hifn_795x authenc esp4 aead xfrm4_mode_tunnel sha1_generic hmac crypto_hash] Pid: 3074, comm: ping Not tainted (2.6.25 #4) EIP: 0060:[] EFLAGS: 00010296 CPU: 0 EIP is at crypto_authenc_genicv+0x23/0x109 [authenc] EAX: daa04690 EBX: daa046e0 ECX: dab0a100 EDX: daa046b0 ESI: 6b6b6b6b EDI: dc872054 EBP: c033ff60 ESP: c033ff0c DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process ping (pid: 3074, ti=c033f000 task=db883a80 task.ti=dab6c000) Stack: 00000000 daa046b0 c0215a3e daa04690 dab0a100 00000000 ffffffff db9fd7f0 dba208c0 dbbb1720 00000001 daa04720 00000001 c033ff54 c0119ca9 dc852a75 c033ff60 c033ff60 daa046e0 00000000 00000001 c033ff6c dc87527b 00000001 Call Trace: [] ? dev_alloc_skb+0x14/0x29 [] ? printk+0x15/0x17 [] ? crypto_authenc_givencrypt_done+0x1a/0x27 [authenc] [] ? hifn_process_ready+0x34a/0x352 [hifn_795x] [] ? rhine_napipoll+0x3f2/0x3fd [via_rhine] [] ? hifn_check_for_completion+0x4d/0xa6 [hifn_795x] [] ? hifn_tasklet_callback+0xa/0xc [hifn_795x] [] ? tasklet_action+0x3f/0x66 [] ? __do_softirq+0x38/0x7a [] ? do_softirq+0x3e/0x71 [] ? irq_exit+0x2c/0x65 [] ? smp_apic_timer_interrupt+0x5f/0x6a [] ? apic_timer_interrupt+0x28/0x30 [] ? hifn_handle_req+0x44a/0x50d [hifn_795x] ... Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit ab59859de1946a098b091308380179e92dc7683b Author: Harvey Harrison Date: Thu May 1 02:47:38 2008 -0700 net: fix returning void-valued expression warnings drivers/net/8390.c:37:2: warning: returning void-valued expression drivers/net/bnx2.c:1635:3: warning: returning void-valued expression drivers/net/xen-netfront.c:1806:2: warning: returning void-valued expression net/ipv4/tcp_hybla.c:105:3: warning: returning void-valued expression net/ipv4/tcp_vegas.c:171:3: warning: returning void-valued expression net/ipv4/tcp_veno.c:123:3: warning: returning void-valued expression net/sysctl_net.c:85:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Acked-by: Alan Cox Signed-off-by: David S. Miller commit c2a3b233450d5bc426c063ea2d8a74351db29ea4 Merge: e4c576b... c0d4399... Author: David S. Miller Date: Thu May 1 02:06:32 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit e4c576b911e364737b1bf4f5bfdab1c440713f26 Author: Theodore Ts'o Date: Wed Apr 30 21:55:48 2008 -0400 Update .gitignore to include include/linux/bounds.h (which is autogenerated by kbuild) Signed-off-by: "Theodore Ts'o" Signed-off-by: Linus Torvalds commit ccc751841567816532874afcaeb449dbf6ca7d3a Merge: 214b704... 8099179... Author: Linus Torvalds Date: Wed Apr 30 20:13:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: ipv6: Compilation fix for compat MCAST_MSFILTER sockopts. commit 214b7049a7929f03bbd2786aaef04b8b79db34e2 Author: Al Viro Date: Thu May 1 03:52:22 2008 +0100 Fix dnotify/close race We have a race between fcntl() and close() that can lead to dnotify_struct inserted into inode's list *after* the last descriptor had been gone from current->files. Since that's the only point where dnotify_struct gets evicted, we are screwed - it will stick around indefinitely. Even after struct file in question is gone and freed. Worse, we can trigger send_sigio() on it at any later point, which allows to send an arbitrary signal to arbitrary process if we manage to apply enough memory pressure to get the page that used to host that struct file and fill it with the right pattern... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6d98ca736441029e4e87ad3b6dc4a8645dc4c6d3 Author: Linus Torvalds Date: Wed Apr 30 19:50:03 2008 -0700 x86: Mark OPTIMIZE_INLINING broken So Ingo finally did figure out why UML broke with this option: UML passes gcc the -fno-unit-at-a-time flag, and apparently that wreaks havoc with gcc's inlining. We could turn off -fno-unit-at-a-time for UML for gcc4+ (which is what x86 does), but there's bad blood about this whole option, and it does show that the thing is just fragile as heck. So let tempers cool, and disable the thing, and we can revisit the decision later. Cc: Adrian Bunk Cc: David Miller Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 57ce41d1d18279cc90223f3deadca70c7de1cfca Author: Eli Cohen Date: Wed Apr 30 20:02:45 2008 -0700 IB/ipoib: Fix transmit queue stalling forever Commit f56bcd80 ("IPoIB: Use separate CQ for UD send completions") introduced a bug where the transmit queue could get stopped and never woken up. The problem is that send completions are only polled at the end of the xmit function, so if the send queue fills up and the xmit path stops the queue, then there is no way for send completions to ever get polled, and so the transmit queue stays stopped forever. Fix this by arming the send CQ just before posting the last send request that fills the send queue. Then, when the completion event handler is called, drain the send CQ. Since it is possible that not enough send completions are in the CQ, verify that the the net queue has been woken up after draining the send CQ, and if not arm a timer and drain again at the timer function. Signed-off-by: Roland Dreier commit 3ae15e1623b9d32eb410c2a23d90e47b16e6acd0 Author: Roland Dreier Date: Wed Apr 30 19:52:55 2008 -0700 IB/mlx4: Fix off-by-one errors in calls to mlx4_ib_free_cq_buf() When I merged bbf8eed1 ("IB/mlx4: Add support for resizing CQs") I changed things around so that mlx4_ib_alloc_cq_buf() and mlx4_ib_free_cq_buf() were used everywhere they could be. However, I screwed up the number of entries passed into mlx4_ib_alloc_cq_buf() in a couple places -- the function bumps the number of entries internally, so the caller shouldn't add 1 as well. Passing a too-big value for the number of entries to mlx4_ib_free_cq_buf() can cause the cleanup to go off the end of an array and corrupt allocator state in interesting ways. Signed-off-by: Roland Dreier commit 958a2f29a6520a1d2973077ce7854ea9a44f48a2 Merge: 6de3d58... 895d309... Author: Linus Torvalds Date: Wed Apr 30 19:31:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes3: (21 commits) x86: numaq fix x86: 8K stacks by default x86: ioremap ram check fix x86: fix HT cpu booting on 32-bit x86: optimize inlining off x86: CONFIG_X86_ELAN fix x86: Kconfig fix x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range() x86: use defconfigs from x86/configs/* toshiba: use ioremap_cached revert: "x86: ioremap(), extend check to all RAM pages" x86: don't bother printing compat vdso address fix: x86: support for new UV apic x86: fix early-BUG message x86: iommu_sac_force can become static x86: add proper header for reboot_force x86 VISWS: build fix x86, voyager: fix ioremap_nocache() hpet: fix x86: unexport kmap_atomic_to_page ... commit c0d43990768b6ca83604ff4be80425b89d317e2f Author: Holger Schurig Date: Tue Apr 29 10:07:56 2008 +0200 libertas: fix use-before-check violation According to Coverity (kudo's to Adrian Bunk), we had one use-before-check bug in libe libertas driver. This patch fixes this issue. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2e35af143a1380173ba292e48e9b4913ef16b4ee Author: Michael Buesch Date: Sun Apr 27 19:06:18 2008 +0200 b43: Fix dual-PHY devices This fixes operation of dual-PHY (A/B/G) devices. Do not anounce the A-PHY to mac80211, as that's not supported, yet. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 17f830459d6116ae13dbcfc9d09a406e6717b1a6 Author: Harvey Harrison Date: Sun Apr 27 03:48:40 2008 -0700 mac80211: incorrect shift direction Looks like 5d2cdcd4e85c5187db30a6b29f79fbbe59f39f78 ("mac80211: get a TKIP phase key from skb") got the shifts wrong. Noticed by sparse: net/mac80211/tkip.c:234:25: warning: right shift by bigger than source value net/mac80211/tkip.c:235:25: warning: right shift by bigger than source value net/mac80211/tkip.c:236:25: warning: right shift by bigger than source value Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 636c5d488bc0b349e01cf5bfbf85588134af70a0 Author: Johannes Berg Date: Thu Apr 24 14:18:37 2008 +0200 mac80211: insert WDS peer after adding interface This reorders the open code so that WDS peer STA info entries are added after the corresponding interface is added to the driver so that driver callbacks aren't invoked out of order. Also make any master device startup fatal. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e94e106831403d5028e7bb73c3163951134de1ba Author: Johannes Berg Date: Thu Apr 24 14:16:36 2008 +0200 mac80211: don't allow invalid WDS peer addresses Rather than just disallowing the zero address, disallow all invalid ones. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8b808bf29bdafe9270cb283ea093bb87f5a3be19 Author: Johannes Berg Date: Wed Apr 23 23:35:09 2008 +0200 mac80211: assign conf.beacon_control for mesh Drivers can rightfully assume that they get a beacon_control if the beacon is set. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51ceddade0fb1e15f080b2555f3b3e1d68c6707e Author: Luis Carlos Cobo Date: Wed Apr 23 12:15:29 2008 -0700 mac80211: use 4-byte mesh sequence number This follows the new 802.11s/D2.0 draft. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 4ba1c5bfd2e5a6c9528eb7777b66c297e70f61ca Author: Sunil Mushran Date: Fri Apr 18 15:03:59 2008 -0700 ocfs2: Use GFP_NOFS in kmalloc during localalloc window move kmalloc() during a localalloc window move can trigger the mm to prune the dcache which inturn can trigger the fs to delete an inode causing it start a recursive transaction. The fix also makes the change in kmalloc during localalloc shutdown just to be safe. Fixes oss bugzilla#901 http://oss.oracle.com/bugzilla/show_bug.cgi?id=901 Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit bc535809c06ada210d89f5a43b335c68ecbb8e1b Author: Sunil Mushran Date: Fri Apr 18 10:23:53 2008 -0700 ocfs2: Allow uid/gid/perm changes of symlinks This patch adds the ability to change attributes of a symlink. Fixes oss bugzilla#963 http://oss.oracle.com/bugzilla/show_bug.cgi?id=963 Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 95642e56647d84963428a1168baa8a73cb782ac3 Author: Adrian Bunk Date: Mon Apr 21 11:49:37 2008 +0300 ocfs2/dlm: dlmdebug.c: make 2 functions static This patch makes the following needlessly global functions static: - stringify_lockname() - dlm_debug_put() Signed-off-by: Adrian Bunk Acked-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 4af694e672aaa85940d6e29d27b7eeea5f6eb258 Author: Adrian Bunk Date: Mon Apr 21 11:49:31 2008 +0300 ocfs2: make struct o2cb_stack_ops static This patch makes the needlessly global struct o2cb_stack_ops static. Signed-off-by: Adrian Bunk Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 4d8755b5e667df8f01647773ba744a5ac97e68e6 Author: Adrian Bunk Date: Mon Apr 21 11:49:26 2008 +0300 ocfs2: make struct ocfs2_control_device static This patch makes the needlessly global struct ocfs2_control_device static. Signed-off-by: Adrian Bunk Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 9d80f7539a91c0154e40fc9e4ae5e818dd8f102e Author: Joel Becker Date: Tue Apr 22 11:46:44 2008 -0700 ocfs2: Correct merge of 52f7c21 (Move /sys/o2cb to /sys/fs/o2cb) Commit 52f7c21b613f80cb425d115c9e5b4ed958a133c0 was intended to move /sys/o2cb to /sys/fs/o2cb, providing /sys/o2cb as a symlink for backwards compatibility. However, the merge apparently added the symlink but failed to move the directory, resulting in a duplicate filename error. It's a one-line change that was missing. Signed-off-by: Joel Becker Acked-by: Randy Dunlap Signed-off-by: Mark Fasheh commit 6de3d58dcfbab516dbe9aff36ea9542f40cd1bf2 Merge: e0066c4... c3bb7fad... Author: Linus Torvalds Date: Wed Apr 30 17:05:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: klist: fix coding style errors in klist.h and klist.c driver core: remove no longer used "struct class_device" pcmcia: remove pccard_sysfs_interface warnings devres: support addresses greater than an unsigned long via dev_ioremap kobject: do not copy vargs, just pass them around sysfs: sysfs_update_group stub for CONFIG_SYSFS=n DEBUGFS: Correct location of debugfs API documentation. driver core: warn about duplicate driver names on the same bus klist: implement klist_add_{after|before}() klist: implement KLIST_INIT() and DEFINE_KLIST() sysfs: Disallow truncation of files in sysfs commit c3bb7fadaf52de3637b834002dac27f6250b4b49 Author: Greg Kroah-Hartman Date: Wed Apr 30 16:43:45 2008 -0700 klist: fix coding style errors in klist.h and klist.c Finally clean up the odd spacing in these files. Signed-off-by: Greg Kroah-Hartman commit c3b19ff06e0808555403491d61e8f0cbbb53e933 Author: Kay Sievers Date: Wed Mar 12 20:47:35 2008 +0100 driver core: remove no longer used "struct class_device" Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4356d73d028ad0726cfaf31ad30c5d28fcd98795 Author: David Brownell Date: Mon Apr 28 01:03:20 2008 -0700 pcmcia: remove pccard_sysfs_interface warnings Make the PCMCIA core stop using class_interface to hide socket attribute registration. This removes the associated section mismatch warnings, and helps get to the point where that mechanism can finally be removed. Simplify that attribute registration by using an attribute_group. This is a net shrink in object size. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4f452e8aa492c0b8028ca9b4bdb4d018ba28c6c7 Author: Kumar Gala Date: Tue Apr 29 10:25:48 2008 -0500 devres: support addresses greater than an unsigned long via dev_ioremap Use a resource_size_t instead of unsigned long since some arch's are capable of having ioremap deal with addresses greater than the size of a unsigned long. Signed-off-by: Kumar Gala Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit a4ca6617421188f50774780cdc91c3782b7d08fe Author: Kay Sievers Date: Wed Apr 30 02:06:29 2008 +0200 kobject: do not copy vargs, just pass them around This prevents a few unneeded copies. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1cbfb7a5acd357de6c3f8e27e8d8f92b3867b1f3 Author: Randy Dunlap Date: Wed Apr 30 09:01:17 2008 -0700 sysfs: sysfs_update_group stub for CONFIG_SYSFS=n scsi_transport_spi uses sysfs_update_group() when CONFIG_SYSFS=n, so provide a stub for it. next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 883ce42ec45c2dbef5be7c133ade9741ac978329 Author: Robert P. J. Day Date: Fri Apr 25 08:52:51 2008 -0400 DEBUGFS: Correct location of debugfs API documentation. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 16dc42e018c2868211b4928f20a957c0c216126c Author: Stas Sergeev Date: Sat Apr 26 19:52:35 2008 +0400 driver core: warn about duplicate driver names on the same bus Currently an attempt to register multiple drivers with the same name causes the stack trace with some cryptic error message. The attached patch adds the necessary check and the clear error message. Signed-off-by: Stas Sergeev Signed-off-by: Greg Kroah-Hartman commit 93dd40013f4f7f4b18d19d0d77855f025bcc57c3 Author: Tejun Heo Date: Tue Apr 22 18:58:46 2008 +0900 klist: implement klist_add_{after|before}() Add klist_add_after() and klist_add_before() which puts a new node after and before an existing node, respectively. This is useful for callers which need to keep klist ordered. Note that synchronizing between simultaneous additions for ordering is the caller's responsibility. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 1da43e4a9ee942c9c967dbe8839476571df0c3ed Author: Tejun Heo Date: Sat Apr 26 03:16:04 2008 +0900 klist: implement KLIST_INIT() and DEFINE_KLIST() klist is missing static initializers and definition helper. Add them. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Signed-off-by: Greg Kroah-Hartman commit 40a2159abf3d0107bba359246554bd7d56f2171b Author: Ben Hutchings Date: Mon Apr 28 15:59:58 2008 +0100 sysfs: Disallow truncation of files in sysfs sysfs allows attribute files to be truncated, e.g. using ftruncate(), with the expected effect on their inode. For most attributes, this doesn't change the "real" size of the file i.e. how much can be read from it. However, the parameter validation for reading and writing binary attribute files is based on the inode size and not the size specified in the file's bin_attribute, so it can be broken by this. For example, if we try using dd to write to such a file: # pwd /sys/bus/pci/devices/0000:08:00.0 # ls -l config -rw-r--r-- 1 root root 4096 Feb 1 17:35 config # dd if=/dev/zero of=config bs=4 count=1 1+0 records in 1+0 records out # ls -l config -rw-r--r-- 1 root root 0 Feb 1 17:50 config # dd if=/dev/zero of=config bs=4 count=1 seek=128 dd: writing `config': No space left on device 1+0 records in 0+0 records out Also, after truncation to 0, parameter validation for read and write is disabled. Most bin_attribute read and write methods also validate the size and offset, but for some this will allow out-of-range access. This may be a security issue, though access to such files is often limited to root. In any case, the validation should remain for safety's sake!) This was previously reported in Bugzilla as bug 9867. sysfs should ignore size changes or else refuse them (by returning -EINVAL). This patch makes it ignore them. Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman commit e0066c4ea9ffa420cb79814411ff74fdc7b7d98e Author: Alexey Dobriyan Date: Thu May 1 04:10:02 2008 +0400 Fix ACPI vs proc_create_data() mismerge acpi_device_dir() is NULL until all files are createst, so everyting is created in straight in /proc/ and creation code warns. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 809917903127804c2b2ac76342ab0f29f4b394d3 Author: Pavel Emelyanov Date: Wed Apr 30 14:49:54 2008 -0700 ipv6: Compilation fix for compat MCAST_MSFILTER sockopts. The last hunk from the commit dae50295 (ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.) escaped from the compat_ipv6_setsockopt to the ipv6_getsockopt (I guess due to patch smartness wrt searching for context) thus breaking 32-bit and 64-bit-without-compat compilation. Signed-off-by: Pavel Emelyanov Acked-by: David L Stevens Signed-off-by: David S. Miller commit 895d30935ebe05f192e844792668bf8d19deaae7 Author: Ingo Molnar Date: Wed Apr 30 23:05:52 2008 +0200 x86: numaq fix do not override the existing pci-y rule when adding visws or numaq rules. Signed-off-by: Ingo Molnar commit 6b8e1c7ec4af6defa7045ff3c9b266486124d9c5 Author: Ingo Molnar Date: Wed Apr 30 20:45:40 2008 +0200 x86: 8K stacks by default Switch back to 8K stacks as the safer default. Out-of-memory situations are less problematic than silent and hard to debug stack corruption. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb8ab687c32331fb548c613ae74df574bb0908c1 Author: Andres Salomon Date: Wed Apr 30 11:30:24 2008 -0400 x86: ioremap ram check fix bdd3cee2e4b7279457139058615ced6c2b41e7de (x86: ioremap(), extend check to all RAM pages) breaks OLPC's ioremap call. The ioremap that OLPC uses is: romsig = ioremap(0xffffffc0, 16); The commit that breaks it is basically: - for (pfn = phys_addr >> PAGE_SHIFT; pfn < max_pfn_mapped && - (pfn << PAGE_SHIFT) < last_addr; pfn++) { + for (pfn = phys_addr >> PAGE_SHIFT; + (pfn << PAGE_SHIFT) < last_addr; pfn++) { + Previously, the 'pfn < max_pfn_mapped' check would've caused us to not enter the loop. Removing that check means we loop infinitely. The reason for that is because pfn is 0xfffff, and last_addr is 0xffffffcf. The remaining check that is used to exit the loop is not sufficient; when pfn< Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f464707c8c18fccd3c6278ad46ac94b5cf15a98 Author: Hugh Dickins Date: Wed Apr 30 16:17:46 2008 +0100 x86: fix HT cpu booting on 32-bit Since recent smpboot 32/64-bit merge, my dual Xeon with HT has been booting only 2 of its 4 cpus (when running an i386 kernel; but x86_64 is okay). J.A. Magallón reports the same. native_cpu_up: bad cpu 2 native_cpu_up: bad cpu 3 The mach-default cpu_present_to_apicid() was just returning cpu number (2, 3) instead of apicid (6, 7): looks like we now need the x86_64 code even for the i386 case. Comparing with other versions of cpu_present_to_apicid(), it seems a good idea to include an NR_CPUS test too, since cpu_present() doesn't include that; but that wasn't a problem here, and may no problem at all. Prior to that smpboot merge, my Xeon booted the two HT siblings on one physical first, then the two siblings on the other physical after - when i386, but alternated them when x86_64. Since the merge, the x86_64 sequence is unchanged, but the i386 sequence is now like x86_64. I prefer this consistency, and I prefer the new sequence: booting with maxcpus=2 then uses the independent physicals without HT sharing. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5de8f68b43229cce3d457ca9ac6dab8372a35f18 Author: Ingo Molnar Date: Wed Apr 30 10:29:13 2008 +0200 x86: optimize inlining off default to inline optimizing off. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit acbaa93e3d38db0e67b070d97598f87a7a6779da Author: Ingo Molnar Date: Wed Apr 30 08:58:27 2008 +0200 x86: CONFIG_X86_ELAN fix move the X86_CPU section out of the !X86_ELAN branch. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9af1e33231912cedae3e49e56621b6c765e57fe Author: Ingo Molnar Date: Wed Apr 30 08:48:45 2008 +0200 x86: Kconfig fix Andrew noticed that OPTIMIZE_INLINING appeared in the toplevel menu - fix it. Reported-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit de33c442ed2a465d2d7804b26dafd2eec067aa34 Author: Suresh Siddha Date: Fri Apr 25 17:07:22 2008 -0700 x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range() Use UC_MINUS for ioremap(), ioremap_nocache() instead of strong UC. Once all the X drivers move to ioremap_wc(), we can go back to strong UC semantics for ioremap() and ioremap_nocache(). To avoid attribute aliasing issues, pci_mmap_page_range() will also use UC_MINUS for default non write-combining mapping request. Next steps: a) change all the video drivers using ioremap() or ioremap_nocache() and adding WC MTTR using mttr_add() to ioremap_wc() b) for strict usage, we can go back to strong uc semantics for ioremap() and ioremap_nocache() after some grace period for completing step-a. c) user level X server needs to use the appropriate method for setting up WC mapping (like using resourceX_wc sysfs file instead of adding MTRR for WC and using /dev/mem or resourceX under /sys) Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b9b39bfba5b0de3418305f01cfa7bc55a16004e1 Author: Sam Ravnborg Date: Tue Apr 29 12:48:15 2008 +0200 x86: use defconfigs from x86/configs/* Daniel Drake reported: In 2.6.23, if you unpacked a kernel source tarball and then ran "make menuconfig" you'd be presented with this message: # using defaults found in arch/i386/defconfig and the default options would be set. The same thing in 2.6.24 does not give you any "using defaults" message, and the default config options within menuconfig are rather blank (e.g. no PCI support). You can work around this by explicitly running "make defconfig" before menuconfig, but it would be nice to have the behaviour the way it was for 2.6.23 (and the way it still is for other archs). Fixed by adding a x86 specific defconfig list to Kconfig. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10470 Tested-by: dsd@gentoo.org Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1dcf83fd0c42525dd36cfeb61fe0bfb12113c6b3 Author: Alan Cox Date: Tue Apr 29 14:20:23 2008 +0100 toshiba: use ioremap_cached The switch of ioremap to default to uncached doesn't break this driver but it does needlessly slow it down as BIOS space is cachable and this driver is quite happy scanning cached ROM space. Signed-off-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2544a873ab2a1ee9196bb2f4b12c3afd44ec8a06 Author: Ingo Molnar Date: Tue Apr 29 12:04:51 2008 +0200 revert: "x86: ioremap(), extend check to all RAM pages" Vegard Nossum reported a large (150 seconds) boot delay during bootup, and bisected it to "x86: ioremap(), extend check to all RAM pages" (commit bdd3cee2e4b). Revert this commit for now. Bisected-by: Vegard Nossum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4c863f497e640e049083e1b3a1f3723cb766da9 Author: Jeremy Fitzhardinge Date: Mon Apr 28 11:05:07 2008 -0700 x86: don't bother printing compat vdso address The kernel prints the compat vdso address regardless of whether compat vdso mode is enabled or not, which is confusing. Given that this isn't very interesting information anyway, just remove the printk. Signed-off-by: Jeremy Fitzhardinge Cc: Gerhard Mack Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6c133f7d5ee3b82f5b34b988e897ea38cd8219c Author: Andi Kleen Date: Fri Apr 25 11:45:26 2008 +0200 fix: x86: support for new UV apic Don't warn in read_apic_id() when preemptible but only one CPU online. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 575ca7351bf0546919060071797cccb4a05960df Author: Vegard Nossum Date: Fri Apr 25 21:02:34 2008 +0200 x86: fix early-BUG message The .asciz directive takes any number of strings, but each one is zero- terminated, and string pasting is not done as in C. That results in only the first line being output. Replace .asciz with multiple .ascii directives and terminate with .asciz. Signed-off-by: Vegard Nossum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4cdc4300de6ff7b8b366f23bed17c7d59c8117c Author: Dmitri Vorobiev Date: Mon Apr 28 03:15:58 2008 +0400 x86: iommu_sac_force can become static The iommu_sac_force variable is needlessly defined global, and this patch makes it static. Additionally, this variable needs not be explicitly initialized. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4412620fc2772af0fc7a94b2cfa28792a46b4fc8 Author: Dmitri Vorobiev Date: Mon Apr 28 03:15:59 2008 +0400 x86: add proper header for reboot_force This patch fixes one sparse warning by including the appropriate header for the reboot_force symbol. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3e8f7e35f3fd17eadef44e4679abb39a3806cf01 Author: Ingo Molnar Date: Mon Apr 28 10:46:58 2008 +0200 x86 VISWS: build fix the 'reboot_force' flag is a notion that non-PC subarchitectures do not have. also, unify the X86_BIOS_REBOOT option between 32-bit and 64-bit and get rid of a few unnecessary Kconfig and Makefile complications that way. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ed5e233284bc4aff965df7351da8426aa188c8f9 Author: Ingo Molnar Date: Sun Apr 27 23:21:03 2008 +0200 x86, voyager: fix ioremap_nocache() James Bottomley reported that the following commit: | commit 6371b495991debfd1417b17c2bc4f7d7bae05739 | Author: Ingo Molnar | Date: Wed Jan 30 13:33:40 2008 +0100 | | x86: change ioremap() to default to uncached broke Voyager. James says: " it broke a class of voyager machines: those which rely on the quad interrupt controller (QIC). The precis of why they broke is because the QIC does IPIs (or CPIs in its terminology) via cache line interference: you interrupt a processor by moving a designated memory area to write exclusive in the cache (by simply writing to the line) and the CPU acks the interrupt by moving it back to read shared (by reading from it). That area, is, of course, mapped by ioremap, so reversing the ioremap semantics and adding the uncached bit completely breaks the QIC. " Sorry about that! Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc3fbc45098e5aff59f06962dee79aba2e11430d Author: Ingo Molnar Date: Sun Apr 27 14:04:14 2008 +0200 hpet: fix Al Viro pointed out that there's a missing readl() of timer->hpet_config, found by Sparse. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b9e017e04be672244502a0567fb752973556f388 Author: Adrian Bunk Date: Mon Apr 21 11:51:44 2008 +0300 x86: unexport kmap_atomic_to_page This patch removes the no longer used export of kmap_atomic_to_page. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9cbfe20068878d597cfa064be9cab871875bea60 Author: Adrian Bunk Date: Mon Apr 21 11:47:46 2008 +0300 x86: remove Xgt_desc_struct The comment says it should have been removed in 2.6.25. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d3c51110819918617d9e2d1da7ff53f4b2c1187 Author: Hidetoshi Seto Date: Wed Apr 30 16:50:55 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/topology.c This patch silences: WARNING: vmlinux.o(.text+0x44672): Section mismatch in reference from the function arch_register_cpu() to the function .cpuinit.text:register_cpu() Changes are based on codes in arch/x86/kernel/topology.c Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 9d4efae68714e24d40b628461bc4182e330969b1 Author: Hidetoshi Seto Date: Wed Apr 30 16:50:22 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c This patch removes following warning: WARNING: vmlinux.o(.exit.text+0xb1): Section mismatch in reference from the function palinfo_exit() to the variable .cpuinit.data:palinfo_cpu_notifier Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 751fc7849d623bcd5e77fd494b01662599a8dccf Author: Hidetoshi Seto Date: Wed Apr 30 16:50:43 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/irq.c This patch shuts up the following: WARNING: vmlinux.o(.text+0x7102): Section mismatch in reference from the function fixup_irqs() to the function .devinit.text:ia64_disable_timer() Removing ia64_disable_timer() is safe because there are no functions calling it other than the fixup_irqs(), Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit c5b5a5993234d4db2079e57e456bda5278ef59cf Author: Hidetoshi Seto Date: Wed Apr 30 16:51:06 2008 +0900 [IA64] fix section mismatch in arch/ia64/kernel/acpi.c This patch kills: WARNING: vmlinux.o(.text+0x1702): Section mismatch in reference from the function acpi_register_ioapic() to the function .devinit.text:iosapic_init() Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 08acd4f8af42affd8cbed81cc1b69fa12ddb213f Merge: ccf2779... 008238b... Author: Linus Torvalds Date: Wed Apr 30 11:52:52 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (179 commits) ACPI: Fix acpi_processor_idle and idle= boot parameters interaction acpi: fix section mismatch warning in pnpacpi intel_menlo: fix build warning ACPI: Cleanup: Remove unneeded, multiple local dummy variables ACPI: video - fix permissions on some proc entries ACPI: video - properly handle errors when registering proc elements ACPI: video - do not store invalid entries in attached_array list ACPI: re-name acpi_pm_ops to acpi_suspend_ops ACER_WMI/ASUS_LAPTOP: fix build bug thinkpad_acpi: fix possible NULL pointer dereference if kstrdup failed ACPI: check a return value correctly in acpi_power_get_context() #if 0 acpi/bay.c:eject_removable_drive() eeepc-laptop: add hwmon fan control eeepc-laptop: add backlight eeepc-laptop: add base driver ACPI: thinkpad-acpi: bump up version to 0.20 ACPI: thinkpad-acpi: fix selects in Kconfig ACPI: thinkpad-acpi: use a private workqueue ACPI: thinkpad-acpi: fluff really minor fix ACPI: thinkpad-acpi: use uppercase for "LED" on user documentation ... Fixed conflicts in drivers/acpi/video.c and drivers/misc/intel_menlow.c manually. commit 008238b54ac2350babf195084ecedbcf7851a202 Merge: 9691609... dfd2e1b... Author: Len Brown Date: Wed Apr 30 13:59:05 2008 -0400 Merge branch 'pnp' into release commit 96916090f488986a4ebb8e9ffa6a3b50881d5ccd Merge: 75a44ce... 729b2bd... 2f67a06... 51ae796... ce52ddf... e1faa9d... 36a9135... 9448b0d... 99bda83... 1071695... 7aa0f1a... 68f12ae... 66fb9d1... Author: Len Brown Date: Wed Apr 30 13:58:00 2008 -0400 Merge branches 'release', 'acpica', 'bugzilla-10224', 'bugzilla-9772', 'bugzilla-9916', 'ec', 'eeepc', 'idle', 'misc', 'pm-legacy', 'sysfs-links-2.6.26', 'thermal', 'thinkpad' and 'video' into release commit 36a913586597cab1cd565e9bf348d037f0df955b Author: Venkatesh Pallipadi Date: Wed Apr 30 13:57:15 2008 -0400 ACPI: Fix acpi_processor_idle and idle= boot parameters interaction acpi_processor_idle and "idle=" boot parameter interaction is broken. The problem is that, at boot time acpi driver is checking for "idle=" boot option and not registering the acpi idle handler. But, when there is a CST changed callback (typically when switching AC <-> battery or suspend-resume) there are no checks for boot_option_idle_override and acpi idle handler tries to get installed with nasty side effects. With CPU_IDLE configured this issue causes results in a nasty oops on CST change callback and without CPU_IDLE there is no oops, but boot option of "idle=" gets ignored and acpi idle handler gets installed. Change the behavior to not do anything in acpi idle handler when there is a "idle=" boot option. Note that the problem is only there when "idle=" boot option is used. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 9448b0d43e5509c6b7baca02510a92ef2de6e328 Author: Sam Ravnborg Date: Tue Apr 29 22:52:01 2008 +0200 acpi: fix section mismatch warning in pnpacpi Fix following section mismatch warning: WARNING: vmlinux.o(.text+0x153d69): Section mismatch in reference from the function is_exclusive_device() to the variable .init.data:excluded_id_list is_exclusive_device is only used from __init context so document this with the __init annotation and get rid of the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Len Brown commit ccf2779544eecfcc5447e2028d1029b6d4ff7bb6 Merge: 7cece14... fd403dc... Author: Linus Torvalds Date: Wed Apr 30 09:22:27 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc - neo1973_wm8753.c add suspend and shutdown hooks for lm4857 chip [ALSA] soc - neo1973_wm8753.c change maintainer contact info [ALSA] soc - neo1973_wm8753.c cleanup checkpatch issues [ALSA] soc - ln2440sbc_alc650 - Fix checkpatch warnings [ALSA] soc - s3c24xx-pcm - Fix checkpatch warnings [ALSA] soc - s3c2443-ac97 - Fix checkpatch warnings [ALSA] soc - wm8753 - Clean up checkpatch warnings commit fd403dc84f29aee613d13bde5656ba74cdee1e7b Author: Graeme Gregory Date: Wed Apr 30 20:26:45 2008 +0200 [ALSA] soc - neo1973_wm8753.c add suspend and shutdown hooks for lm4857 chip Patch taken from the openmoko bugtracker http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=781 This patch adds Suspend/Resume and Shutdown support for the lm4857 to the driver. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 443590e6f1823cd4bc1199cc658074bc3e30acbf Author: Graeme Gregory Date: Wed Apr 30 20:25:23 2008 +0200 [ALSA] soc - neo1973_wm8753.c change maintainer contact info I have moved workplaces since I originally wrote this driver so update the contact info for new employers. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 8ba02ace943ce956606d1f6f2a5aad9498798c31 Author: Graeme Gregory Date: Wed Apr 30 20:24:54 2008 +0200 [ALSA] soc - neo1973_wm8753.c cleanup checkpatch issues Clean up a few issues with the file that checkpatch noted, no functionality changes. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 854e4af258e214345d675dc406d24769e32a04c8 Author: Mark Brown Date: Wed Apr 30 17:19:57 2008 +0200 [ALSA] soc - ln2440sbc_alc650 - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 5111c0753486fffde14de2b207e46760b9c05fd0 Author: Mark Brown Date: Wed Apr 30 17:19:32 2008 +0200 [ALSA] soc - s3c24xx-pcm - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit ccfdd6c2b2ad3f32c02175007a66c82e2233b75c Author: Mark Brown Date: Wed Apr 30 17:19:07 2008 +0200 [ALSA] soc - s3c2443-ac97 - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 60fc684adfed810fc36b41778aca8de467fc3206 Author: Mark Brown Date: Wed Apr 30 17:18:43 2008 +0200 [ALSA] soc - wm8753 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7cece14acd063dd1c4e8933461d44ec6a5a5517b Merge: 95dfec6... 8cd0ae3... Author: Linus Torvalds Date: Wed Apr 30 08:46:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: remove duplicated include sparc: Add kgdb support. kgdbts: Sparc needs sstep emulation. sparc32: Kill smp_message_pass() and related code. sparc64: Kill PIL_RESERVED, unused. sparc64: Split entry.S up into seperate files. commit 95dfec6ae1cb8c03406aac612a5642cbddb676b3 Merge: ae3a006... 1591311... Author: Linus Torvalds Date: Wed Apr 30 08:45:48 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits) tcp: Overflow bug in Vegas [IPv4] UFO: prevent generation of chained skb destined to UFO device iwlwifi: move the selects to the tristate drivers ipv4: annotate a few functions __init in ipconfig.c atm: ambassador: vcc_sf semaphore to mutex MAINTAINERS: The socketcan-core list is subscribers-only. netfilter: nf_conntrack: padding breaks conntrack hash on ARM ipv4: Update MTU to all related cache entries in ip_rt_frag_needed() sch_sfq: use del_timer_sync() in sfq_destroy() net: Add compat support for getsockopt (MCAST_MSFILTER) net: Several cleanups for the setsockopt compat support. ipvs: fix oops in backup for fwmark conn templates bridge: kernel panic when unloading bridge module bridge: fix error handling in br_add_if() netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets netfilter: x_tables: fix net namespace leak when reading /proc/net/xxx_tables_names netfilter: xt_TCPOPTSTRIP: signed tcphoff for ipv6_skip_exthdr() retval tcp: Limit cwnd growth when deferring for GSO tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled [netdrvr] gianfar: Determine TBIPA value dynamically ... commit ae3a0064e6d69068b1c9fd075095da062430bda9 Author: Ingo Molnar Date: Wed Apr 30 00:15:31 2008 +0200 inlining: do not allow gcc below version 4 to optimize inlining fix the condition to match intention: always use the old inlining behavior on all gcc versions below 4. this should solve the UML build problem. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 53809d7eaef9503eb2589babdaba5ef0b661bb14 Author: S.Çağlar Onur Date: Wed Apr 30 15:29:02 2008 +0300 Update .mailmap I realize some of the maintainers email clients and/or scripts cannot handle UTF-8 encoded names properly, as a result your ChangeLogs displays me as two different person :). Following patch adds correctly encoded name of mine into .mailmap, to prevent appearing it not to be so or badly displayed. Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit d67c6f869c0a7f275689855161c93d714197e052 Merge: ec31b21... 1175cdc... Author: Linus Torvalds Date: Wed Apr 30 08:38:30 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] use generic sys_ptrace [S390] Remove self ptrace IEEE_IP hack. [S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP [S390] System z large page support. [S390] Convert machine feature detection code to C. [S390] vmemmap: use clear_table to initialise page tables. [S390] Move stfl to system.h and delete duplicated version. [S390] uaccess_mvcos: #ifdef config dependent code. [S390] cpu topology: Fix possible deadlock. [S390] Add topology_core_siblings to topology.h [S390] cio: Make isc handling more robust. [S390] remove -traditional [S390] Automatically detect added cpus. [S390] smp: Fix locking order. [S390] Add missing ifndef/define to include/asm-s390/sysinfo.h. [S390] Move show_regs to traps.c. [S390] cio: Use strict_strtoul() for attributes. commit ec31b2124158f60c515ed84bd5e40db1a883c7b6 Merge: ca72cdd... eabd909... Author: Linus Torvalds Date: Wed Apr 30 08:37:40 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix crashkernel= handling when no crashkernel= specified [POWERPC] Make emergency stack safe for current_thread_info() use [POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.h [POWERPC] spufs: trace spu_acquire_saved events [POWERPC] spufs: fix marker name for find_victim [POWERPC] spufs: add marker for destroy_spu_context [POWERPC] spufs: add sputrace marker parameter names [POWERPC] spufs: add context switch notification log [POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200 [POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 format [POWERPC] mpc5200: Fix FEC error handling on FIFO errors [POWERPC] mpc5200: add Phytec pcm030 board support [POWERPC] mpc5200: add gpiolib support for mpc5200 [POWERPC] mpc5200: add interrupt type function [POWERPC] mpc5200: Fix unterminated of_device_id table commit ca72cddfcb6afd75a808da4f027325fa63a1b856 Author: Ingo Molnar Date: Wed Apr 30 11:50:11 2008 +0200 fix drivers/media/common/tuners/ build bug x86.git randconfig testing found a build failure on latest -git: drivers/built-in.o: In function `set_type': tuner-core.c:(.text+0x2a9a26): undefined reference to `tea5761_attach' tuner-core.c:(.text+0x2a9d05): undefined reference to `tda9887_attach' tuner-core.c:(.text+0x2a9d51): undefined reference to `xc2028_attach' tuner-core.c:(.text+0x2a9e22): undefined reference to `tda829x_attach' tuner-core.c:(.text+0x2a9e3f): undefined reference to `microtune_attach' drivers/built-in.o: In function `tuner_probe': tuner-core.c:(.text+0x2aa18a): undefined reference to `tda829x_probe' tuner-core.c:(.text+0x2aa302): undefined reference to `tea5761_autodetection' with the following config: http://redhat.com/~mingo/misc/config-Wed_Apr_30_10_21_40_CEST_2008.bad the problem is caused by the drivers/media/common/tuners/ subdirectory not being part of the kbuild hierarchy anymore, due to commit 7c91f0624 ("V4L/DVB(7767): Move tuners to common/tuners"). this seems similar to the problem also reported by Mike Galbraith. Signed-off-by: Ingo Molnar Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 5167464446e527b5a3b5618ba0baff93048bcbbe Author: Andrew Morton Date: Wed Apr 30 00:55:17 2008 -0700 revert "memory hotplug: allocate usemap on the section with pgdat" This: commit 86f6dae1377523689bd8468fed2f2dd180fc0560 Author: Yasunori Goto Date: Mon Apr 28 02:13:33 2008 -0700 memory hotplug: allocate usemap on the section with pgdat Usemaps are allocated on the section which has pgdat by this. Because usemap size is very small, many other sections usemaps are allocated on only one page. If a section has usemap, it can't be removed until removing other sections. This dependency is not desirable for memory removing. Pgdat has similar feature. When a section has pgdat area, it must be the last section for removing on the node. So, if section A has pgdat and section B has usemap for section A, Both sections can't be removed due to dependency each other. To solve this issue, this patch collects usemap on same section with pgdat. If other sections doesn't have any dependency, this section will be able to be removed finally. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds broke davem's sparc64 bootup. Revert it while we work out what went wrong. Cc: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: "David S. Miller" Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a902c5f6851cd0b64c33efaa3bd57aa27a82efb Author: Nick Piggin Date: Wed Apr 30 00:55:16 2008 -0700 mm: fix warning on memory offline KAMEZAWA Hiroyuki found a warning message in the buffer dirtying code that is coming from page migration caller. WARNING: at fs/buffer.c:720 __set_page_dirty+0x330/0x360() Call Trace: [] show_stack+0x80/0xa0 [] dump_stack+0x30/0x60 [] warn_on_slowpath+0x90/0xe0 [] __set_page_dirty+0x330/0x360 [] __set_page_dirty_buffers+0xd0/0x280 [] set_page_dirty+0xc0/0x260 [] migrate_page_copy+0x5d0/0x5e0 [] buffer_migrate_page+0x2e0/0x3c0 [] migrate_pages+0x770/0xe00 What was happening is that migrate_page_copy wants to transfer the PG_dirty bit from old page to new page, so what it would do is set_page_dirty(newpage). However set_page_dirty() is used to set the entire page dirty, wheras in this case, only part of the page was dirty, and it also was not uptodate. Marking the whole page dirty with set_page_dirty would lead to corruption or unresolvable conditions -- a dirty && !uptodate page and dirty && !uptodate buffers. Possibly we could just ClearPageDirty(oldpage); SetPageDirty(newpage); however in the interests of keeping the change minimal... Signed-off-by: Nick Piggin Tested-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969a19f1c405a8e9d15ceb9e75e3f4a321aaf56f Author: Robert P. J. Day Date: Wed Apr 30 00:55:14 2008 -0700 Drop the exporting of empty Fix up the contents of so that it doesn't export a content-free generic.h to user space. This involves: * Removing the __KERNEL__ tests from generic.h and dropping it from Kbuild. * Wrapping the inclusions of generic.h in both big_endian.h and little_endian.h in __KERNEL__ tests. * Shifting big_endian.h and little_endian.h from header-y to unifdef-y in Kbuild. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae50884f66fc93aa713feade8f87c03471241275 Author: Robert P. J. Day Date: Wed Apr 30 00:55:13 2008 -0700 remove __KERNEL__ tests of unexported headers under asm-generic/ Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 735643ee6cc5249bfac07fcad0946a5e7aff4423 Author: Robert P. J. Day Date: Wed Apr 30 00:55:12 2008 -0700 Remove "#ifdef __KERNEL__" checks from unexported headers Remove the "#ifdef __KERNEL__" tests from unexported header files in linux/include whose entire contents are wrapped in that preprocessor test. Signed-off-by: Robert P. J. Day Cc: David Woodhouse Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71cc2c2152170b8166f59abb0604dc62073aeb92 Author: Harvey Harrison Date: Wed Apr 30 00:55:10 2008 -0700 serial: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf9d89295233ae2ba7b312c78ee5657307b09f4c Author: Harvey Harrison Date: Wed Apr 30 00:55:10 2008 -0700 drivers/char: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e24eea728068bbeb6a3c500b848f883a20bf225 Author: Harvey Harrison Date: Wed Apr 30 00:55:09 2008 -0700 fs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 530b6412786d7f83592c1a8e2445541ed73fca76 Author: Harvey Harrison Date: Wed Apr 30 00:55:09 2008 -0700 afs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 810304db75b0ca4e6ef071f86aa3e85fdaddee5e Author: Harvey Harrison Date: Wed Apr 30 00:55:08 2008 -0700 lib: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af1f16d08f38ab6f17b5760e6ec9d2b7d3a5ff1a Author: Harvey Harrison Date: Wed Apr 30 00:55:08 2008 -0700 kernel: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d40cee245ff6ad05d3448401d7320be82c1c5af1 Author: Harvey Harrison Date: Wed Apr 30 00:55:07 2008 -0700 mm: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7853d1f8932c847a8d7b3b38e6baedf77148cfb Author: Laurent Vivier Date: Wed Apr 30 00:55:06 2008 -0700 brd: modify ramdisk device to be able to manage partitions This patch adds partition management for Block RAM Device (BRD). This patch is done to keep in sync BRD and loop device drivers. This patch adds a parameter to the module, max_part, to specify the maximum number of partitions per RAM device. Example: # modprobe brd max_part=63 # ls -l /dev/ram* brw-rw---- 1 root disk 1, 0 2008-04-03 13:39 /dev/ram0 brw-rw---- 1 root disk 1, 64 2008-04-03 13:39 /dev/ram1 brw-rw---- 1 root disk 1, 640 2008-04-03 13:39 /dev/ram10 brw-rw---- 1 root disk 1, 704 2008-04-03 13:39 /dev/ram11 brw-rw---- 1 root disk 1, 768 2008-04-03 13:39 /dev/ram12 brw-rw---- 1 root disk 1, 832 2008-04-03 13:39 /dev/ram13 brw-rw---- 1 root disk 1, 896 2008-04-03 13:39 /dev/ram14 brw-rw---- 1 root disk 1, 960 2008-04-03 13:39 /dev/ram15 brw-rw---- 1 root disk 1, 128 2008-04-03 13:39 /dev/ram2 brw-rw---- 1 root disk 1, 192 2008-04-03 13:39 /dev/ram3 brw-rw---- 1 root disk 1, 256 2008-04-03 13:39 /dev/ram4 brw-rw---- 1 root disk 1, 320 2008-04-03 13:39 /dev/ram5 brw-rw---- 1 root disk 1, 384 2008-04-03 13:39 /dev/ram6 brw-rw---- 1 root disk 1, 448 2008-04-03 13:39 /dev/ram7 brw-rw---- 1 root disk 1, 512 2008-04-03 13:39 /dev/ram8 brw-rw---- 1 root disk 1, 576 2008-04-03 13:39 /dev/ram9 # fdisk /dev/ram0 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-2, default 2): 2 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. # ls -l /dev/ram0* brw-rw---- 1 root disk 1, 0 2008-04-03 13:40 /dev/ram0 brw-rw---- 1 root disk 1, 1 2008-04-03 13:40 /dev/ram0p1 # mkfs /dev/ram0p1 mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 4016 inodes, 16032 blocks 801 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=16515072 2 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # mount /dev/ram0p1 /mnt df /mnt Filesystem 1K-blocks Used Available Use% Mounted on /dev/ram0p1 15521 138 14582 1% /mnt # ls -l /mnt total 12 drwx------ 2 root root 12288 2008-04-03 13:41 lost+found # umount /mnt # rmmod brd Signed-off-by: Laurent Vivier Acked-by: Nick Piggin Cc: Al Viro Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 237fc6e7a35076f584b9d0794a5204fe4bd9b9e5 Author: Thomas Gleixner Date: Wed Apr 30 00:55:04 2008 -0700 add hrtimer specific debugobjects code hrtimers have now dynamic users in the network code. Put them under debugobjects surveillance as well. Add calls to the generic object debugging infrastructure and provide fixup functions which allow to keep the system alive when recoverable problems have been detected by the object debugging core code. Signed-off-by: Thomas Gleixner Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6f3a97f86a5c97be0ca255976110bb9c3cfe669 Author: Thomas Gleixner Date: Wed Apr 30 00:55:03 2008 -0700 debugobjects: add timer specific object debugging code Add calls to the generic object debugging infrastructure and provide fixup functions which allow to keep the system alive when recoverable problems have been detected by the object debugging core code. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 691cc54c7d28542434d2b3ee4ddbad6a99312dec Author: Thomas Gleixner Date: Wed Apr 30 00:55:02 2008 -0700 debugobjects: add documentation Add a DocBook for debugobjects. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ac7fe5a4aab409bd5674d0b070bce97f9d20872 Author: Thomas Gleixner Date: Wed Apr 30 00:55:01 2008 -0700 infrastructure to debug (dynamic) objects We can see an ever repeating problem pattern with objects of any kind in the kernel: 1) freeing of active objects 2) reinitialization of active objects Both problems can be hard to debug because the crash happens at a point where we have no chance to decode the root cause anymore. One problem spot are kernel timers, where the detection of the problem often happens in interrupt context and usually causes the machine to panic. While working on a timer related bug report I had to hack specialized code into the timer subsystem to get a reasonable hint for the root cause. This debug hack was fine for temporary use, but far from a mergeable solution due to the intrusiveness into the timer code. The code further lacked the ability to detect and report the root cause instantly and keep the system operational. Keeping the system operational is important to get hold of the debug information without special debugging aids like serial consoles and special knowledge of the bug reporter. The problems described above are not restricted to timers, but timers tend to expose it usually in a full system crash. Other objects are less explosive, but the symptoms caused by such mistakes can be even harder to debug. Instead of creating specialized debugging code for the timer subsystem a generic infrastructure is created which allows developers to verify their code and provides an easy to enable debug facility for users in case of trouble. The debugobjects core code keeps track of operations on static and dynamic objects by inserting them into a hashed list and sanity checking them on object operations and provides additional checks whenever kernel memory is freed. The tracked object operations are: - initializing an object - adding an object to a subsystem list - deleting an object from a subsystem list Each operation is sanity checked before the operation is executed and the subsystem specific code can provide a fixup function which allows to prevent the damage of the operation. When the sanity check triggers a warning message and a stack trace is printed. The list of operations can be extended if the need arises. For now it's limited to the requirements of the first user (timers). The core code enqueues the objects into hash buckets. The hash index is generated from the address of the object to simplify the lookup for the check on kfree/vfree. Each bucket has it's own spinlock to avoid contention on a global lock. The debug code can be compiled in without being active. The runtime overhead is minimal and could be optimized by asm alternatives. A kernel command line option enables the debugging code. Thanks to Ingo Molnar for review, suggestions and cleanup patches. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Cc: Greg KH Cc: Randy Dunlap Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30327acf7846c5eb97c8e31c78317a2918d3e515 Author: Thomas Gleixner Date: Wed Apr 30 00:54:59 2008 -0700 slab: add a flag to prevent debug_free checks on a kmem_cache This is a preperatory patch for the debugobjects infrastructure. The flag prevents debug_free checks on kmem_caches. This is necessary to avoid resursive calls into a debug mechanism which uses a kmem_cache itself. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Pekka Enberg Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 145980a0b07520f0f82cc40999acc92b349ea40c Author: Harvey Harrison Date: Wed Apr 30 00:54:57 2008 -0700 drivers: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf4bbaaee3d4b8f555658333cbce1affe9070fb Author: Harvey Harrison Date: Wed Apr 30 00:54:55 2008 -0700 Add macros similar to min/max/min_t/max_t Also, change the variable names used in the min/max macros to avoid shadowed variable warnings when min/max min_t/max_t are nested. Small formatting changes to make all the macros have a similar form. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix v4l build] Signed-off-by: Harvey Harrison Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Cc: Bartlomiej Zolnierkiewicz Cc: Jeff Garzik Cc: Tejun Heo Cc: Michael Buesch Cc: "John W. Linville" Cc: Miklos Szeredi Cc: Dmitry Torokhov Cc: Jiri Kosina Cc: Arnaldo Carvalho de Melo Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 354a1f4d99240f53980275416ca3e1ac2ee73d5d Author: Andrew Morton Date: Wed Apr 30 00:54:54 2008 -0700 alloc_uid: cleanup Use kmem_cache_zalloc(), remove large amounts of initialisation code and ifdeffery. Note: this assumes that memset(*atomic_t, 0) correctly initialises the atomic_t. This is true for all present archtiectures and if it becomes false for a future architecture then we'll need to make large changes all over the place anyway. Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 487798df6d25e76ed6558b3e17c44cf0458cc6f3 Author: Andrew Morton Date: Wed Apr 30 00:54:54 2008 -0700 hfsplus: fix warning with 64k PAGE_SIZE fs/hfsplus/btree.c: In function 'hfsplus_bmap_alloc': fs/hfsplus/btree.c:239: warning: comparison is always false due to limited range of data type But this might hide a real bug? Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e5a5097303eedb4ffae2719843eb064221b1db4 Author: Andrew Morton Date: Wed Apr 30 00:54:53 2008 -0700 hfs: fix warning with 64k PAGE_SIZE fs/hfs/btree.c: In function 'hfs_bmap_alloc': fs/hfs/btree.c:263: warning: comparison is always false due to limited range of data type The patch makes the warning go away, but the code might actually be buggy? Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f735295b14ae073a8302d7b1da894bc597724557 Author: Markus Armbruster Date: Wed Apr 30 00:54:52 2008 -0700 printk: don't read beyond string arguments' terminating zero Fix update_console_cmdline() not to to read beyond the terminating zero of its name argument. Signed-off-by: Markus Armbruster Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7511d5f66f01fc451747b24e79f3ada7a3af9af Author: Samuel Thibault Date: Wed Apr 30 00:54:51 2008 -0700 Basic braille screen reader support This adds a minimalistic braille screen reader support. This is meant to be used by blind people e.g. on boot failures or when / cannot be mounted etc and thus the userland screen readers can not work. [akpm@linux-foundation.org: fix exports] Signed-off-by: Samuel Thibault Cc: Jiri Kosina Cc: Dmitry Torokhov Acked-by: Alan Cox Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 730f412c08c13858f7681bac0a2770fbc9159fed Author: Jeff Dike Date: Wed Apr 30 00:54:49 2008 -0700 asm-*/futex.h should include linux/uaccess.h Lots of asm-*/futex.h call pagefault_enable and pagefault_disable, which are declared in linux/uaccess.h, without including linux/uaccess.h. They all include asm/uaccess.h, so this patch replaces asm/uaccess.h with linux/uaccess.h. Signed-off-by: Jeff Dike Cc: "Luck, Tony" Cc: Ralf Baechle Cc: Kyle McMartin Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07132922aac0caf807c56b9c2a388954b357a8c4 Author: Marcin Slusarz Date: Wed Apr 30 00:54:49 2008 -0700 sysv: [bl]e*_add_cpu conversion replace all: big/little_endian_variable = cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) + expression_in_cpu_byteorder); with: [bl]eX_add_cpu(&big/little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3592b12f507d2c12c883d9c18084b72a5710db3 Author: Marcin Slusarz Date: Wed Apr 30 00:54:48 2008 -0700 quota: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20c79e785ae3f813310261dde81b29ab0c3e28b4 Author: Marcin Slusarz Date: Wed Apr 30 00:54:47 2008 -0700 hfs/hfsplus: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6369a4abb486692cd0f5fe592b48ec7419b7976c Author: Marcin Slusarz Date: Wed Apr 30 00:54:47 2008 -0700 affs: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86098fa0115358abf5159093d11ddb306ce4b0da Author: Christoph Hellwig Date: Wed Apr 30 00:54:46 2008 -0700 reiserfs: use open_bdev_excl Use the proper helper to open a blockdevice by name for filesystem use, this makes sure it's properly claimed (also added for open-by-number) and gets rid of the struct file abuse. Tested by mounting a reiserfs filesystem with external journal. Signed-off-by: Christoph Hellwig Cc: Chris Mason Cc: Jeff Mahoney Acked-by: Edward Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dbf930ed6c1f8aa992937d0461f8f70d4004aad Author: Miklos Szeredi Date: Wed Apr 30 00:54:45 2008 -0700 fuse: fix sparse warnings fs/fuse/dev.c:306:2: warning: context imbalance in 'wait_answer_interruptible' - unexpected unlock fs/fuse/dev.c:361:2: warning: context imbalance in 'request_wait_answer' - unexpected unlock fs/fuse/dev.c:1002:4: warning: context imbalance in 'end_io_requests' - unexpected unlock Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7 Author: Miklos Szeredi Date: Wed Apr 30 00:54:45 2008 -0700 fuse: fix race in llseek Fuse doesn't use i_mutex to protect setting i_size, and so generic_file_llseek() can be racy: it doesn't use i_size_read(). So do a fuse specific llseek method, which does use i_size_read(). [akpm@linux-foundation.org: make `retval' loff_t] Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b48badf013018ef2aa4a46416454bdb18f77fb01 Author: Miklos Szeredi Date: Wed Apr 30 00:54:44 2008 -0700 fuse: fix node ID type Node ID is 64bit but it is passed as unsigned long to some functions. This breakage wasn't noticed, because libfuse uses unsigned long too. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d9a0df07484d6d191756878c974e4307fb24ce Author: Miklos Szeredi Date: Wed Apr 30 00:54:44 2008 -0700 fuse: fix max i/o size calculation Fix a bug that Werner Baumann reported: fuse can send a bigger write request than the maximum specified. This only affected direct_io operation. In addition set a sane minimum for the max_read and max_write tunables, so I/O always makes some progress. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac Author: Miklos Szeredi Date: Wed Apr 30 00:54:43 2008 -0700 fuse: update file size on short read If the READ request returned a short count, then either - cached size is incorrect - filesystem is buggy, as short reads are only allowed on EOF So assume that the size is wrong and refresh it, so that cached read() doesn't zero fill the missing chunk. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea9b9907b82a09bd1a708004454f7065de77c5b0 Author: Nick Piggin Date: Wed Apr 30 00:54:42 2008 -0700 fuse: implement perform_write Introduce fuse_perform_write. With fusexmp (a passthrough filesystem), large (1MB) writes into a backing tmpfs filesystem are sped up by almost 4 times (256MB/s vs 71MB/s). [mszeredi@suse.cz]: - split into smaller functions - testing - duplicate generic_file_aio_write(), so that there's no need to add a new ->perform_write() a_op. Comment from hch. Signed-off-by: Nick Piggin Signed-off-by: Miklos Szeredi Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 854512ec358f291bcadd7daea10d6bf3704933de Author: Miklos Szeredi Date: Wed Apr 30 00:54:41 2008 -0700 fuse: clean up setting i_size in write Extract common code for setting i_size in write functions into a common helper. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3be5a52b30aa5cf9d795b7634f728f612197b1c4 Author: Miklos Szeredi Date: Wed Apr 30 00:54:41 2008 -0700 fuse: support writable mmap Quoting Linus (3 years ago, FUSE inclusion discussions): "User-space filesystems are hard to get right. I'd claim that they are almost impossible, unless you limit them somehow (shared writable mappings are the nastiest part - if you don't have those, you can reasonably limit your problems by limiting the number of dirty pages you accept through normal "write()" calls)." Instead of attempting the impossible, I've just waited for the dirty page accounting infrastructure to materialize (thanks to Peter Zijlstra and others). This nicely solved the biggest problem: limiting the number of pages used for write caching. Some small details remained, however, which this largish patch attempts to address. It provides a page writeback implementation for fuse, which is completely safe against VM related deadlocks. Performance may not be very good for certain usage patterns, but generally it should be acceptable. It has been tested extensively with fsx-linux and bash-shared-mapping. Fuse page writeback design -------------------------- fuse_writepage() allocates a new temporary page with GFP_NOFS|__GFP_HIGHMEM. It copies the contents of the original page, and queues a WRITE request to the userspace filesystem using this temp page. The writeback is finished instantly from the MM's point of view: the page is removed from the radix trees, and the PageDirty and PageWriteback flags are cleared. For the duration of the actual write, the NR_WRITEBACK_TEMP counter is incremented. The per-bdi writeback count is not decremented until the actual write completes. On dirtying the page, fuse waits for a previous write to finish before proceeding. This makes sure, there can only be one temporary page used at a time for one cached page. This approach is wasteful in both memory and CPU bandwidth, so why is this complication needed? The basic problem is that there can be no guarantee about the time in which the userspace filesystem will complete a write. It may be buggy or even malicious, and fail to complete WRITE requests. We don't want unrelated parts of the system to grind to a halt in such cases. Also a filesystem may need additional resources (particularly memory) to complete a WRITE request. There's a great danger of a deadlock if that allocation may wait for the writepage to finish. Currently there are several cases where the kernel can block on page writeback: - allocation order is larger than PAGE_ALLOC_COSTLY_ORDER - page migration - throttle_vm_writeout (through NR_WRITEBACK) - sync(2) Of course in some cases (fsync, msync) we explicitly want to allow blocking. So for these cases new code has to be added to fuse, since the VM is not tracking writeback pages for us any more. As an extra safetly measure, the maximum dirty ratio allocated to a single fuse filesystem is set to 1% by default. This way one (or several) buggy or malicious fuse filesystems cannot slow down the rest of the system by hogging dirty memory. With appropriate privileges, this limit can be raised through '/sys/class/bdi//max_ratio'. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88473f73e6d7b6af9cfc4ecc349d82c75d9a6af Author: Miklos Szeredi Date: Wed Apr 30 00:54:39 2008 -0700 mm: document missing fields for /proc/meminfo A few fields in /proc/meminfo were not documented. Fix. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3ba692a4d19019387c5acaea63131f9eab05dd Author: Miklos Szeredi Date: Wed Apr 30 00:54:38 2008 -0700 mm: Add NR_WRITEBACK_TEMP counter Fuse will use temporary buffers to write back dirty data from memory mappings (normal writes are done synchronously). This is needed, because there cannot be any guarantee about the time in which a write will complete. By using temporary buffers, from the MM's point if view the page is written back immediately. If the writeout was due to memory pressure, this effectively migrates data from a full zone to a less full zone. This patch adds a new counter (NR_WRITEBACK_TEMP) for the number of pages used as temporary buffers. [Lee.Schermerhorn@hp.com: add vmstat_text for NR_WRITEBACK_TEMP] Signed-off-by: Miklos Szeredi Cc: Christoph Lameter Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd5656e59ca7b25fb60a22f9079905ed0da5ed0c Author: Miklos Szeredi Date: Wed Apr 30 00:54:37 2008 -0700 mm: bdi: export bdi_writeout_inc() Fuse needs this for writable mmap support. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4ad08fe64afca4ef79ecc4c624e6e871688da0d Author: Miklos Szeredi Date: Wed Apr 30 00:54:37 2008 -0700 mm: bdi: add separate writeback accounting capability Add a new BDI capability flag: BDI_CAP_NO_ACCT_WB. If this flag is set, then don't update the per-bdi writeback stats from test_set_page_writeback() and test_clear_page_writeback(). Misc cleanups: - convert bdi_cap_writeback_dirty() and friends to static inline functions - create a flag that includes all three dirty/writeback related flags, since almst all users will want to have them toghether Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76f1418b485da2707531178e517bbb5cf06b3c76 Author: Miklos Szeredi Date: Wed Apr 30 00:54:36 2008 -0700 mm: bdi: move statistics to debugfs Move BDI statistics to debugfs: /sys/kernel/debug/bdi//stats Use postcore_initcall() to initialize the sysfs class and debugfs, because debugfs is initialized in core_initcall(). Update descriptions in ABI documentation. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a42dde04152750426cc620fd277e80fffae2f65a Author: Peter Zijlstra Date: Wed Apr 30 00:54:36 2008 -0700 mm: bdi: allow setting a maximum for the bdi dirty limit Add "max_ratio" to /sys/class/bdi. This indicates the maximum percentage of the global dirty threshold allocated to this bdi. [mszeredi@suse.cz] - fix parsing in max_ratio_store(). - export bdi_set_max_ratio() to modules - limit bdi_dirty with bdi->max_ratio - document new sysfs attribute Signed-off-by: Peter Zijlstra Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 189d3c4a94ef19fca2a71a6a336e9fda900e25e7 Author: Peter Zijlstra Date: Wed Apr 30 00:54:35 2008 -0700 mm: bdi: allow setting a minimum for the bdi dirty limit Under normal circumstances each device is given a part of the total write-back cache that relates to its current avg writeout speed in relation to the other devices. min_ratio - allows one to assign a minimum portion of the write-back cache to a particular device. This is useful in situations where you might want to provide a minimum QoS. (One request for this feature came from flash based storage people who wanted to avoid writing out at all costs - they of course needed some pdflush hacks as well) max_ratio - allows one to assign a maximum portion of the dirty limit to a particular device. This is useful in situations where you want to avoid one device taking all or most of the write-back cache. Eg. an NFS mount that is prone to get stuck, or a FUSE mount which you don't trust to play fair. Add "min_ratio" to /sys/class/bdi. This indicates the minimum percentage of the global dirty threshold allocated to this bdi. [mszeredi@suse.cz] - fix parsing in min_ratio_store() - document new sysfs attribute Signed-off-by: Peter Zijlstra Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6f2fcbcfca9db2bd7aa24940224fcd3bbdbb8aa Author: Miklos Szeredi Date: Wed Apr 30 00:54:34 2008 -0700 mm: bdi: expose the BDI object in sysfs for FUSE Register FUSE's backing_dev_info under sysfs with the name "fuse-MAJOR:MINOR" Make the fuse control filesystem use s_dev instead of a fuse specific ID. This makes it easier to match directories under /sys/fs/fuse/connections/ with directories under /sys/class/bdi, and with actual mounts. Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa799759f9801137f665dbedda2c0815f1bf6f1b Author: Miklos Szeredi Date: Wed Apr 30 00:54:33 2008 -0700 mm: bdi: expose the BDI object in sysfs for NFS Register NFS' backing_dev_info under sysfs with the name "nfs-MAJOR:MINOR" Signed-off-by: Miklos Szeredi Cc: Peter Zijlstra Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf0ca9fe5dd9e3693d935757a7b2fc50fc576554 Author: Peter Zijlstra Date: Wed Apr 30 00:54:32 2008 -0700 mm: bdi: export BDI attributes in sysfs Provide a place in sysfs (/sys/class/bdi) for the backing_dev_info object. This allows us to see and set the various BDI specific variables. In particular this properly exposes the read-ahead window for all relevant users and /sys/block//queue/read_ahead_kb should be deprecated. With patient help from Kay Sievers and Greg KH [mszeredi@suse.cz] - split off NFS and FUSE changes into separate patches - document new sysfs attributes under Documentation/ABI - do bdi_class_init as a core_initcall, otherwise the "default" BDI won't be initialized - remove bdi_init_fmt macro, it's not used very much [akpm@linux-foundation.org: fix ia64 warning] Signed-off-by: Peter Zijlstra Cc: Kay Sievers Acked-by: Greg KH Cc: Trond Myklebust Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit caafa4324335aeb11bc233d5f87aca8cce30beba Author: Pavel Emelyanov Date: Wed Apr 30 00:54:31 2008 -0700 pidns: make pid->level and pid_ns->level unsigned These values represent the nesting level of a namespace and pids living in it, and it's always non-negative. Turning this from int to unsigned int saves some space in pid.c (11 bytes on x86 and 64 on ia64) by letting the compiler optimize the pid_nr_ns a bit. E.g. on ia64 this removes the sign extension calls, which compiler adds to optimize access to pid->nubers[ns->level]. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab883af53ec1b87add43b32a28d8347f17d5155b Author: Adrian Bunk Date: Wed Apr 30 00:54:30 2008 -0700 make marker_debug static With the needlessly global marker_debug being static gcc can optimize the unused code away. Signed-off-by: Adrian Bunk Acked-by: Mathieu Desnoyers Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 148ff86b11ec51d7d2f7ff863bd85d0dd5aa908c Author: Christoph Hellwig Date: Wed Apr 30 00:54:29 2008 -0700 mxser: convert large macros to functions Signed-off-by: Christoph Hellwig Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12a3de0a965826096d8adc593bcf4392a7d5b459 Author: Oleg Nesterov Date: Wed Apr 30 00:54:29 2008 -0700 pids: sys_getpgid: fix unsafe *pid usage, s/tasklist/rcu/ 1. sys_getpgid() needs rcu_read_lock() to derive the pgrp _nr, even if the task is current, otherwise we can race with another thread which does sys_setpgid(). 2. Use rcu_read_lock() instead of tasklist_lock when pid != 0, make sure that we don't use the NULL pid if the task exits right after successful find_task_by_vpid(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1dd768c0815334d2319d6377f0750ace075b6142 Author: Oleg Nesterov Date: Wed Apr 30 00:54:28 2008 -0700 pids: sys_getsid: fix unsafe *pid usage, fix possible 0 instead of -ESRCH 1. sys_getsid() needs rcu_read_lock() to derive the session _nr, even if the task is current, otherwise we can race with another thread which does sys_setsid(). 2. The task can exit between find_task_by_vpid() and task_session_vnr(), in that unlikely case sys_getsid() returns 0 instead of -ESRCH. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8da0962eaee30b4a380ded177349bfbdd6ac46 Author: Oleg Nesterov Date: Wed Apr 30 00:54:27 2008 -0700 pids: __set_special_pids: use change_pid() helper Use change_pid() instead of detach_pid() + attach_pid() in __set_special_pids(). This way task_session() is not NULL in between. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83beaf3c6c75b36b7c9be7f555c8cf7797842cc5 Author: Oleg Nesterov Date: Wed Apr 30 00:54:27 2008 -0700 pids: sys_setpgid: use change_pid() helper Use change_pid() instead of detach_pid() + attach_pid() in sys_setpgid(). This way task_pgrp() is not NULL in between. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24336eaeecea860b2a82530e07c80bc7e0558b73 Author: Oleg Nesterov Date: Wed Apr 30 00:54:26 2008 -0700 pids: introduce change_pid() helper Based on Eric W. Biederman's idea. Without tasklist_lock held task_session()/task_pgrp() can return NULL if the caller races with setprgp()/setsid() which does detach_pid() + attach_pid(). This can happen even if task == current. Intoduce the new helper, change_pid(), which should be used instead. This way the caller always sees the special pid != NULL, either old or new. Also change the prototype of attach_pid(), it always returns 0 and nobody check the returned value. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65450cebc6a2efde80ed45514f727e6e4dc1eafd Author: Oleg Nesterov Date: Wed Apr 30 00:54:25 2008 -0700 pids: de_thread: don't clear session/pgrp pids for the old leader Based on Eric W. Biederman's idea. Unless task == current, without tasklist_lock held task_session()/task_pgrp() can return NULL if the caller races with de_thread() which switches the group leader. Change transfer_pid() to not clear old->pids[type].pid for the old leader. This means that its .pid can point to "nowhere", but this is already true for sub-threads, and the old leader is not group_leader() any longer. IOW, with or without this change we can't trust task's special pids unless it is the group leader. With this change the following code rcu_read_lock(); task = find_task_by_xxx(); do_something(task_pgrp(task), task_session(task)); rcu_read_unlock(); can't race with exec and hit the NULL pid. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd204550b1a006f2b0c986b0e0f53220ebfd391 Author: Pavel Emelyanov Date: Wed Apr 30 00:54:24 2008 -0700 Deprecate find_task_by_pid() There are some places that are known to operate on tasks' global pids only: * the rest_init() call (called on boot) * the kgdb's getthread * the create_kthread() (since the kthread is run in init ns) So use the find_task_by_pid_ns(..., &init_pid_ns) there and schedule the find_task_by_pid for removal. [sukadev@us.ibm.com: Fix warning in kernel/pid.c] Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb41d6d068716b2b3666925da34d3d7e658bf4f3 Author: Pavel Emelyanov Date: Wed Apr 30 00:54:23 2008 -0700 Use find_task_by_vpid in taskstats The pid to lookup a task by is passed inside taskstats code via genetlink message. Since netlink packets are now processed in the context of the sending task, this is correct to lookup the task with find_task_by_vpid() here. Besides, I fix the call to fill_pid() from taskstats_exit(), since the tsk->pid is not required in fill_pid() in this case, and the pid field on task_struct is going to be deprecated as well. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: Jay Lan Cc: Jonathan Lim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7127aa4547d8cc8a5b569631e2b6ef613af1bb7 Author: Oleg Nesterov Date: Wed Apr 30 00:54:22 2008 -0700 free_pidmap: turn it into free_pidmap(struct upid *) The callers of free_pidmap() pass 2 members of "struct upid", we can just pass "struct upid *" instead. Shaves off 10 bytes from pid.o. Also, simplify the alloc_pid's "out_free:" error path a little bit. This way it looks more clear which subset of pid->numbers[] we are freeing. Signed-off-by: Oleg Nesterov Cc: Pavel Emelyanov Cc: "Eric W. Biederman" Cc :Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 718a916338e821a10961e6a7a17430c18e5e58d9 Author: Sukadev Bhattiprolu Date: Wed Apr 30 00:54:21 2008 -0700 devpts: factor out PTY index allocation Factor out the code used to allocate/free a pts index into new interfaces, devpts_new_index() and devpts_kill_index(). This localizes the external data structures used in managing the pts indices. [akpm@linux-foundation.org: undo accidental mutex2sem conversion] Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Serge Hallyn Signed-off-by: Matt Helsley Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f8f9d66cdac4845409f7520e4f287a1907a6bf9 Author: Sukadev Bhattiprolu Date: Wed Apr 30 00:54:20 2008 -0700 devpts: propagate error code from devpts_pty_new Have ptmx_open() propagate any error code returned by devpts_pty_new() (which returns either 0 or -ENOMEM anyway). Signed-off-by: Sukadev Bhattiprolu Acked-by: Serge Hallyn Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86a96538178f923aa1aa43c1e7cfec5951df7f8a Author: Hiroshi Shimamoto Date: Wed Apr 30 00:54:20 2008 -0700 tty: fix routine name in ptmx_open() At ptmx_open(), the 2nd parameter for check_tty_count() should be "ptmx_open". Signed-off-by: Hiroshi Shimamoto Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24cb233520f01971d6d873cb52c64bbbb0665ac0 Author: Alan Cox Date: Wed Apr 30 00:54:19 2008 -0700 char serial: switch drivers to ioremap_nocache Simple search/replace except for synclink.c where I noticed a real bug and fixed it too. It was doing NULL + offset, then checking for NULL if the remap failed. Signed-off-by: Alan Cox Cc: Paul Fulghum Acked-by: Jiri Slaby Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6fc819ebe2d70c92e43e14adbb93a5bd8ea5aa3 Author: Alan Cox Date: Wed Apr 30 00:54:18 2008 -0700 ip2: switch remaining direct call of ops->flush_buffer Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39c2e60f8c584c1b29b5c4375dd49df7995386bb Author: Alan Cox Date: Wed Apr 30 00:54:18 2008 -0700 tty: add throttle/unthrottle helpers Something Arjan suggested which allows us to clean up the code nicely Signed-off-by: Alan Cox Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd64518a3d166a21f5c69ac7860b3add0369dd0 Author: Alan Cox Date: Wed Apr 30 00:54:17 2008 -0700 isicom: fix buffer allocation Fix the rather strange buffer management on open that turned up while auditing for BKL dependencies. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb100b6ea7bf8a95e52b90cc0dc0ea5744a0a40a Author: Alan Cox Date: Wed Apr 30 00:54:16 2008 -0700 esp: clean up to modern coding style Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 191260a01257793ad76cc35b7f9e1508d27bdd4b Author: Alan Cox Date: Wed Apr 30 00:54:16 2008 -0700 epca: coding style Clean up the epca driver Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9492e13516f00340d7d01d81551eea8deb0b8d0e Author: Alan Cox Date: Wed Apr 30 00:54:15 2008 -0700 riscom8: coding style Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e8bcf16c2b2f949dfafa3e8e94a51fd37bfc3ef Author: Alan Cox Date: Wed Apr 30 00:54:14 2008 -0700 strip: Fix up strip for the new order - Use the tty baud functions - Call driver termios methods directly holding the right locking - Check for a write method Signed-off-by: Alan Cox Cc: David S. Miller Cc: Jeff Garzik Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34d7a5b7010b82fe97da95496b9971435530062 Author: Alan Cox Date: Wed Apr 30 00:54:13 2008 -0700 tty: The big operations rework - Operations are now a shared const function block as with most other Linux objects - Introduce wrappers for some optional functions to get consistent behaviour - Wrap put_char which used to be patched by the tty layer - Document which functions are needed/optional - Make put_char report success/fail - Cache the driver->ops pointer in the tty as tty->ops - Remove various surplus lock calls we no longer need - Remove proc_write method as noted by Alexey Dobriyan - Introduce some missing sanity checks where certain driver/ldisc combinations would oops as they didn't check needed methods were present [akpm@linux-foundation.org: fix fs/compat_ioctl.c build] [akpm@linux-foundation.org: fix isicom] [akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build] [akpm@linux-foundation.org: fix kgdb] Signed-off-by: Alan Cox Acked-by: Greg Kroah-Hartman Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 251b8dd7eee30fda089a1dc088abf4fc9a0dee9c Author: Alan Cox Date: Wed Apr 30 00:54:12 2008 -0700 isicom: bring into coding style [akpm@linux-foundation.org: fix arm, cleanups] Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d22cea85ba9114a59a32ca8dfb1e2aef52a278 Author: Alan Cox Date: Wed Apr 30 00:54:11 2008 -0700 serial: switch the serial core to int put_char methods Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56dbbb9a5704f665068778d4d2c1bdf757756e60 Author: Alan Cox Date: Wed Apr 30 00:54:10 2008 -0700 pc300: Update to tty_set_operations This driver somehow escaped the tty operations changes way back when. Update it so that we can switch to tty->ops shortly. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e8e88ca053150efdbecb45d8f481cf560ec808d Author: Alan Cox Date: Wed Apr 30 00:54:10 2008 -0700 pty: prepare for tty->ops changes We are about to change the tty layer to avoid keeping private copies of all the methods in each tty. We have to update the pty layer first as it currently patches the ioctl method according to the tty type. Use multiple tty operations sets instead. Signed-off-by: Alan Cox Acked-by: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2545a75632d18d62aa287b9e5d207255cc8bffc Author: Alan Cox Date: Wed Apr 30 00:54:09 2008 -0700 isdn: switch to int put_char method Signed-off-by: Alan Cox Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d19f546e7b6f0976f957780f2687c55668f4495 Author: Alan Cox Date: Wed Apr 30 00:54:08 2008 -0700 consoles: switch to int put_char method Signed-off-by: Alan Cox Cc: Antonino Daplas Cc: Stephen Rothwell Cc: Kelly Daly Cc: Paul Mackerras Cc: Jiri Slaby Cc: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55da77899c1472d83452c914fa179d00ea96df65 Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 synclink series: switch to int put_char method Signed-off-by: Alan Cox Cc: Paul Fulghum Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ae045767b2adae4e8fc054b980326a971ac4c8e Author: Alan Cox Date: Wed Apr 30 00:54:07 2008 -0700 specialix: Switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b08c66194fba02a865b397579b7204688bcb1e Author: Alan Cox Date: Wed Apr 30 00:54:05 2008 -0700 serial167: switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Cc: Jeff Dike Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbbbb96f5ea84971545ecae5a9ec50387cd9c6a3 Author: Alan Cox Date: Wed Apr 30 00:54:05 2008 -0700 riscom/rocket: switch to int put_char method Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7e752e2757fba49178f4b1af4778ca64d305cbb Author: Alan Cox Date: Wed Apr 30 00:54:04 2008 -0700 pcmcia: serial to int put_char method Signed-off-by: Alan Cox Cc: Dominik Brodowski Cc: Paul Fulghum Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0be2eadee7baff96d2c7339be4bc2a0f5c96e4f5 Author: Alan Cox Date: Wed Apr 30 00:54:03 2008 -0700 mxser: switch to put_char being int Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76b25a5509bbafdbfc7d7d6b41a3c64947d59360 Author: Alan Cox Date: Wed Apr 30 00:54:03 2008 -0700 char: switch gs, cyclades and esp to return int for put_char Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 257afa3cb6beaad60849655cb272d4b9de74cf63 Author: Alan Cox Date: Wed Apr 30 00:54:02 2008 -0700 amiserial: Switch put char to return success/fail Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd55ab1f991e4d4f3551a711f0f87441a57cd1b Author: Alan Cox Date: Wed Apr 30 00:54:01 2008 -0700 usb gadget: switch to put_char returning int Signed-off-by: Alan Cox Acked-by: Greg Kroah-Hartman Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a6ffa84c8e893d9656296b322dc8145e09e186 Author: Alan Cox Date: Wed Apr 30 00:54:01 2008 -0700 serial m68k: put_char returns Signed-off-by: Alan Cox Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e7c9a19c1df8a7450c56c41b9c7405eca7eda07 Author: Alan Cox Date: Wed Apr 30 00:54:00 2008 -0700 s390 tty: Prepare for put_char to return success/fail Put the changes into the drivers first. This will still compile/work but produce a warning if bisected so can still be debugged Signed-off-by: Alan Cox Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Christian Borntraeger Cc: Peter Oberparleiter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 978e595f88a1fba5869aa42a4af4fba36f33ecac Author: Alan Cox Date: Wed Apr 30 00:53:59 2008 -0700 tty/serial: lay the foundations for the next set of reworks - Stop drivers calling their own flush method indirectly, it obfuscates code and it will change soon anyway - A few more lock_kernel paths temporarily needed in some driver internal waiting code - Remove private put_char method that does a write call for one char - we have that anyway - Most but not yet all of the termios copy under lock fixing (some has other dependencies to follow) - Note a few locking bugs in drivers found in the process - Kill remaining [ab]users of TIOCG/SSOFTCAR in the driver, these must go to fix the termios locking Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac0e4b7d319bf284bb64bc7e1c051417386b34a4 Author: Julia Lawall Date: Wed Apr 30 00:53:58 2008 -0700 drivers/char/ds1286.c: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f6341a6475eb7f9c2b948a7d0fd56fd16ad675 Author: Jiri Slaby Date: Wed Apr 30 00:53:57 2008 -0700 Char: rio, fix cirrus defines Rename defines to be in RIO* namespace to not to collide with other defines in tree. This broke (as akpm correctly pointed out) some allmodconfig builds, e.g. on ppc: In file included from drivers/char/rio/rio_linux.c:81: drivers/char/rio/cirrus.h:202:1: warning: "COMPLETE" redefined In file included from include/net/netns/ipv4.h:8, from include/net/net_namespace.h:13, from include/linux/seq_file.h:7, from include/asm/machdep.h:12, from include/asm/pci.h:17, from include/linux/pci.h:951, from drivers/char/rio/rio_linux.c:50: include/net/inet_frag.h:28:1: warning: this is the location of the previous definition Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd989b3a8c30148c872c7677c7a0415584f1658c Author: Alan Cox Date: Wed Apr 30 00:53:56 2008 -0700 cyclades: use ioremap_nocache for clarity as proposed Signed-off-by: Alan Cox Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15ed6cc0ba6b7beaf31c6756b0c838188800051b Author: Alan Cox Date: Wed Apr 30 00:53:55 2008 -0700 cyclades: coding style & review Signed-off-by: Alan Cox Cc: Arnaldo Carvalho de Melo Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5b393e4f1178faaf3d7c22ef63e70c79633bd66 Author: Alan Cox Date: Wed Apr 30 00:53:54 2008 -0700 istallion: TIOCG/SSOFTCAR handling removal This is handled (and correctly) by the core code so does not belong incorrectly in the driver. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf1c63c3e68679dcac1cc6a37e619d9106ebc0ca Author: Jiri Slaby Date: Wed Apr 30 00:53:54 2008 -0700 Char: ip2, macros cleanup - remove i2os.h -- there was only macro to macro renaming or useless stuff - remove another uselless stuf (NULLFUNC, NULLPTR, YES, NO) - use outb/inb directly - use locking functions directly - don't define another ROUNDUP, use roundup(x, 2) instead - some comments and whitespace cleanup - remove some commented crap - prepend the rest by I2 prefix to not collide with rest of the world like in following output (pointed out by akpm) In file included from drivers/char/ip2/ip2main.c:128: drivers/char/ip2/i2ellis.h:608:1: warning: "COMPLETE" redefined In file included from include/net/netns/ipv4.h:8, from include/net/net_namespace.h:13, from include/linux/seq_file.h:7, from include/asm/machdep.h:12, from include/asm/pci.h:17, from include/linux/pci.h:951, from drivers/char/ip2/ip2main.c:95: include/net/inet_frag.h:28:1: warning: this is the location of the previous definition Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83e422b7649267067975cbb17a878b5f9dfd2de3 Author: Jon Schindler Date: Wed Apr 30 00:53:53 2008 -0700 drivers/char/ip2/ip2main.c: replace init_module&cleanup_module with module_init&module_exit Replace init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11fb09bfabd699a94555b69d6e6c4fa6c3febde8 Author: Harvey Harrison Date: Wed Apr 30 00:53:52 2008 -0700 epca.c: static functions and integer as NULL pointer fixes drivers/char/epca.c:926:28: warning: Using plain integer as NULL pointer drivers/char/epca.c:1841:2: warning: Using plain integer as NULL pointer Forward declarations were already marked static, mark the definitions too. drivers/char/epca.c:2493:6: warning: symbol 'digi_send_break' was not declared. Should it be static? drivers/char/epca.c:2881:12: warning: symbol 'init_PCI' was not declared. Should it be static? [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a4e2351e7fcf2d10bb5524b0ace7797ffad4d98 Author: Harvey Harrison Date: Wed Apr 30 00:53:52 2008 -0700 cyclades.c: fix sparse shadowed variable warnings Nested min() macros. drivers/char/cyclades.c:2750:7: warning: symbol '_x' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here drivers/char/cyclades.c:2750:7: warning: symbol '_x' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here drivers/char/cyclades.c:2750:7: warning: symbol '_y' shadows an earlier one drivers/char/cyclades.c:2750:7: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 709107fcd3c4ad82ff7c8137c27aa951d671706f Author: Harvey Harrison Date: Wed Apr 30 00:53:51 2008 -0700 char: rocket.c: fix sparse variable shadowing and int as NULL pointer Nested min() macros shadow _x, separate into two lines. drivers/char/rocket.c:451:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:451:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:451:7: warning: symbol '_y' shadows an earlier one drivers/char/rocket.c:451:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_x' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1754:7: warning: symbol '_y' shadows an earlier one drivers/char/rocket.c:1754:7: originally declared here drivers/char/rocket.c:1751:20: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ceb6562bfbe8f27fa32d1e24eea0e2d4de0347 Author: Harvey Harrison Date: Wed Apr 30 00:53:50 2008 -0700 char: esp.c: fix possible double-unlock Hitting either of the break statements in the while loop would cause a double-unlock of info->lock. [Jiri Slaby suggested simply returning is safe here, rather than a goto] Noticed by sparse: drivers/char/esp.c:2042:2: warning: context imbalance in 'rs_wait_until_sent' - unexpected unlock Signed-off-by: Harvey Harrison Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5592268a5aa5e02f36f396de47c94a1506e3678 Author: Harvey Harrison Date: Wed Apr 30 00:53:50 2008 -0700 char: fix sparse shadowed variable warnings in esp.c flags only use was in spin_lock_irqsave/spin_lock_irgrestore pairs, no need to redeclare for each one. drivers/char/esp.c:1599:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here drivers/char/esp.c:1615:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here drivers/char/esp.c:1631:17: warning: symbol 'flags' shadows an earlier one drivers/char/esp.c:1517:16: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec09cd562135158dcb8a6c08e5a9efa36febedb1 Author: Jiri Slaby Date: Wed Apr 30 00:53:49 2008 -0700 Char: moxa, add firmware loading fix Be more verbose on fw load fail as noted by Oyvind. Signed-off-by: Jiri Slaby Cc: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9705b603d1d29471aa2977e6310f4f9a4e85925 Author: Jiri Slaby Date: Wed Apr 30 00:53:48 2008 -0700 Char: moxa, update credits - update version - update maintainers - copyright the stuff Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb9f910a1153101a2f92620f1e7d0fda786c9812 Author: Jiri Slaby Date: Wed Apr 30 00:53:48 2008 -0700 Char: moxa, notify about board readiness Drop a message to dmesg about card being ready. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d01c792568ba07d2bcf5202dbc8484dbff6747 Author: Jiri Slaby Date: Wed Apr 30 00:53:47 2008 -0700 Char: moxa, introduce MOXA_IS_320 macro It allows to simplify the code, especially MoxaPortSetBaud. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92d30a9372040a6411e6ed1234fea6153e750874 Author: Jiri Slaby Date: Wed Apr 30 00:53:47 2008 -0700 Char: moxa, remove useless tty functions - moxa_flush_chars -- no code; ldics handle this well - moxa_put_char -- only wrapper to moxa_write (same code), tty does this the same way if tty->driver->put_char is NULL Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa95a8da6366c34d3a61e93109e5f8f8a4e72a0 Author: Jiri Slaby Date: Wed Apr 30 00:53:46 2008 -0700 Char: moxa, little cleanup Cleanup of - whitespace - macros - useless casts - return (sth); -> return sth; - types - superfluous parenthesis and braces - init tmp directly in moxa_get_serial_info - commented defunct code - commented prototypes - MOXA/moxa printk case Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f5cda067e2eeefe49fe386caf0f61fc5c825e0 Author: Jiri Slaby Date: Wed Apr 30 00:53:45 2008 -0700 Char: moxa, rework open/close - add locking to open/close/hangup and ioctl (tiocm) - add pci hot-un-plug support (hangup on board remove, wait for openers) - cleanup block_till_ready - move close code common to close/hangup into separate function to be able to call it from open when hangup occurs while block_till_ready - let ldisc flush on tty layer, it will do it after we return Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a5413416b6b2fd8a5a38601a4fe3b56a52cfb86 Author: Jiri Slaby Date: Wed Apr 30 00:53:45 2008 -0700 Char: moxa, serialise timer - del timer after we are sure it won't be fired again - make timer scheduling atomic - don't reschedule timer when all cards have gone Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2108eba5c531c12f5ae2ed2ef4cee7bf4246897b Author: Jiri Slaby Date: Wed Apr 30 00:53:44 2008 -0700 Char: moxa, cleanup rx/tx - cleanup types - use tty_prepare_flip_string and io memcpys Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcf97d1dd88135b58c7adb7c3bfebab55b21a20 Author: Jiri Slaby Date: Wed Apr 30 00:53:43 2008 -0700 Char: moxa, merge 2 poll functions - merge 2 timers into one -- one can handle the emptywait as good as the other - merge 2 separated poll functions into one, this allows handle the actions directly and simplifies the code Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74d7d97b9e2a090a4b1812b5074ac6c539234ebb Author: Jiri Slaby Date: Wed Apr 30 00:53:43 2008 -0700 Char: moxa, ioctl cleanup - allow stats only for sys_admin - move TCSBRK* processing to .break_ctl tty op - let TIOCGSOFTCAR and TIOCSSOFTCAR be processed by ldisc - remove MOXA_GET_MAJOR, MOXA_GET_CUMAJOR - fix jiffies subtraction by time_after - move moxa ioctl numbers into the header; still not exported to userspace, needs _IOC and 32/64 compat cleanup anyways Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bcc4caadc8f5396b52950ee03c67b76875602df Author: Jiri Slaby Date: Wed Apr 30 00:53:42 2008 -0700 Char: moxa, timer cleanup - schedule timer even after some card is installed, not after insmod - cleanup timer functions Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 810ab09b2f3a4e9a6f553e3d1e84a27f4074de9c Author: Jiri Slaby Date: Wed Apr 30 00:53:41 2008 -0700 Char: moxa, centralize board readiness The only relevant sign of port being ready is its board->ready since now. Remove all other flags for this purpose which are set almost on the same place. Move ports inside the board to be sure that nobody will grab reference to the port without being sure that it exists. [jirislaby@gmail.com: fix unused var warning] Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97506056bdf0f230854142ffa986c616a0a5536e Author: Jiri Slaby Date: Wed Apr 30 00:53:41 2008 -0700 Char: moxa, remove unused port entries Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4173f45758a5b5185acb302c507289e661d9419 Author: Jiri Slaby Date: Wed Apr 30 00:53:40 2008 -0700 Char: moxa, remove port->port We don't need to hold a reference to port index. In most cases we need port structure anyway and index is available in port->tty->index. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5292bcd38e4bcd147905941b5e37b5b0da1a5577 Author: Jiri Slaby Date: Wed Apr 30 00:53:39 2008 -0700 Char: moxa, merge c2xx and c320 firmware loading Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037182346f0991683cc7320a257c3f6089432cee Author: Jiri Slaby Date: Wed Apr 30 00:53:39 2008 -0700 Char: moxa, add firmware loading Substitute ioctl load firmware interface by kernel firmware api. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e9fc313ffa3cb92f7f81a8e076566bc9d582351 Author: Jiri Slaby Date: Wed Apr 30 00:53:38 2008 -0700 Char: moxa, fix TIOC(G/S)SOFTCAR param according to ioctl_list, both have int * as a param, not ulong *. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46a5e3ff06b70690d567bdc81faf6c1c32e742f Author: Jiri Slaby Date: Wed Apr 30 00:53:37 2008 -0700 Char: moxa, pci io space fixup - request region before remapping pci io space - use ioremap, iounmap istead of iomap interface, because we use readX/writeX for accessing this space because of isa support Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d353eca4e0480fddcb088c4692e1edba0a82eac9 Author: Jiri Slaby Date: Wed Apr 30 00:53:37 2008 -0700 Char: moxa, cleanup module-param passed isa init Make the code more readable, remap the base address directly. Describe module parameters. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37794952a685538f20ac9792e98f1c9b161dbdfe Author: Jiri Slaby Date: Wed Apr 30 00:53:36 2008 -0700 Char: moxa, remove static isa support Static ISA field is empty and probably will never be filled in, remove it. The driver still supports ISA cards passed through module parameter. This actually fixes one bug inside the initialization of module-param passed cards initialization. Signed-off-by: Jiri Slaby Tested-by: Oyvind Aabling Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbacdd9572285c86848dd323dc764abb3681ddbc Author: Dimitri Sivanich Date: Wed Apr 30 00:53:35 2008 -0700 SGI Altix mmtimer: allow larger number of timers per node The purpose of this patch to the SGI Altix specific mmtimer (posix timer) driver is to allow a virtually infinite number of timers to be set per node. Timers will now be kept on a sorted per-node list and a single node-based hardware comparator is used to trigger the next timer. [akpm@linux-foundation.org: mark things static] [akpm@linux-foundation.org: fix warning] Signed-off-by: Dimitri Sivanich Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d17468c73e138e1108b279acf892dd35937d43ed Author: Alan Cox Date: Wed Apr 30 00:53:34 2008 -0700 tty: drop the BKL for driver/ldisc ioctl methods Now we have pushed the lock down we can stop wrapping the call with a lock in the tty layer. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c2630ccf922b7ea2c54c184243d4fb2bd2cf3c6 Author: Alan Cox Date: Wed Apr 30 00:53:34 2008 -0700 tty_ioctl: soft carrier handling First cut at moving the soft carrier handling knowledge entirely into the core code. One or two drivers still needed to snoop these functions to track CLOCAL internally. Instead make TIOCSSOFTCAR generate the same driver calls as other termios ioctls changing the clocal flag. This allows us to remove any driver knowledge and special casing. Also while we are at it we can fix the error handling. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ee9cbb3c705903db9c258047d9ce87096e6a1a1 Author: Alan Cox Date: Wed Apr 30 00:53:32 2008 -0700 tty_ioctl: locking for tty_wait_until_sent This function still depends on the big kernel lock in some cases. Push locking into the function ready for removal of the BKL from ioctl call paths. Signed-off-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0fdf1e01899805b6c2c0b789a707dcb731b1ea Author: Alan Cox Date: Wed Apr 30 00:53:31 2008 -0700 tty_io: fix remaining pid struct locking This fixes the last couple of pid struct locking failures I know about. [oleg@tv-sign.ru: clean up do_task_stat()] Signed-off-by: Alan Cox Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575537b3248ee9b7578a3bb3df33fcdda2bfc4d5 Author: Joe Peterson Date: Wed Apr 30 00:53:30 2008 -0700 Resume TTY on SUSP and fix CRNL order in N_TTY line discipline Refine these behaviors in the N_TTY line discipline: 1) Handle the signal characters consistently when received in a stopped TTY so that SUSP (typically ctrl-Z) behaves like INTR and QUIT in resuming a stopped TTY. 2) Adjust the order in which the IGNCR/ICRNL/INLCR processing is applied to be more logical and consistent with the behavior of other Unix systems. Signed-off-by: Joe Peterson Cc: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47f86834bbd4193139d61d659bebf9ab9d691e37 Author: Alan Cox Date: Wed Apr 30 00:53:30 2008 -0700 redo locking of tty->pgrp Historically tty->pgrp and friends were pid_t and the code "knew" they were safe. The change to pid structs opened up a few races and the removal of the BKL in places made them quite hittable. We put tty->pgrp under the ctrl_lock for the tty. Signed-off-by: Alan Cox Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04f378b198da233ca0aca341b113dc6579d46123 Author: Alan Cox Date: Wed Apr 30 00:53:29 2008 -0700 tty: BKL pushdown - Push the BKL down into the line disciplines - Switch the tty layer to unlocked_ioctl - Introduce a new ctrl_lock spin lock for the control bits - Eliminate much of the lock_kernel use in n_tty - Prepare to (but don't yet) call the drivers with the lock dropped on the paths that historically held the lock BKL now primarily protects open/close/ldisc change in the tty layer [jirislaby@gmail.com: a couple of fixes] Signed-off-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e52384426064bca0669a954736206adca7595d48 Author: Alan Cox Date: Wed Apr 30 00:53:28 2008 -0700 serial_core: Prepare for BKL push down Instead of checking for the BKL in these methods, take it ourselves. That avoids propogating it into the serial drivers and we can then fix them later on. Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0754c99a6bcfcba7e1d68b75e3f25cb367af0fa Author: Alan Cox Date: Wed Apr 30 00:53:27 2008 -0700 68360serial: Note that there isn't any info->mcr locking Noticed while auditing the code for the BKL elimination project Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e4d376c664ded7cb9cc1c7d0cae67c9672e46b1 Author: Alan Cox Date: Wed Apr 30 00:53:27 2008 -0700 isdn_tty: Prepare for BKL push down Three things here - Remove softcar handler - Correct termios change detection logic - Wrap break/ioctl in lock_kernel ready to drop it in the caller Signed-off-by: Alan Cox Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cc3c22bf017f33612748aeb466fdc3695fb1e1d Author: Alan Cox Date: Wed Apr 30 00:53:26 2008 -0700 vt_ioctl: Prepare for BKL push down This one could do with some eyeballs on it. In theory it simply wraps the ioctl handler in lock/unlock_kernel ready for the lock/unlocks to be pushed into specific switch values. To do that means changing the code to return via a common exit path not all over the place as it does now, hence the big diff Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd9a451aad4fd7d5f46d2300c0e4fb70d8914453 Author: Alan Cox Date: Wed Apr 30 00:53:25 2008 -0700 viocons: BKL locking For some weird reason I can't ascertain (translation "I think its broken") the viocons driver calls directly into the n_tty ldisc code even if another ldisc is in use. It'll probably break if you do that but I'm just fixing the locking and adding a comment that its horked. Signed-off-by: Alan Cox Cc: Paul Mackerras Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f8cabb7055b98300aa0798ee0f6513dfc130cc2 Author: Alan Cox Date: Wed Apr 30 00:53:24 2008 -0700 synclink series: Prepare for BKL pushdown As these are quite complex I've simply pushed the BKL down into the ioctl handler not tried to do anything neater. Signed-off-by: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341339e7aff33e3aa73d6c49dbd5a79be0bbec04 Author: Alan Cox Date: Wed Apr 30 00:53:24 2008 -0700 sx: prepare for BKL pushdown Wrap the ioctl handler, and in this case the break handler also in the BKL. Remove bogus softcar handlers. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f433c65b8acb5346e6fefff4e4b97711c987ccf9 Author: Alan Cox Date: Wed Apr 30 00:53:23 2008 -0700 stallion: Prepare for BKL push down Remove broken softcar functions, wrap ioctl handler in BKL Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b190e178f63e8dad7755054e02dc18a24ea6f0ac Author: Alan Cox Date: Wed Apr 30 00:53:22 2008 -0700 specialix: Prepare for BKL pushdown Lock the ioctl handlers and remove bogus softcar handling. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 638157bc1461f6718eeca06bedd9a09cf1f35c36 Author: Alan Cox Date: Wed Apr 30 00:53:22 2008 -0700 serial167: prepare to push BKL down into drivers Kill the softcar handlers again, wrap the ioctl handler in the BKL Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdf183aa47dcb46782e22ebd4d1061e47ad74b14 Author: Alan Cox Date: Wed Apr 30 00:53:21 2008 -0700 rocket: Prepare for BKL pushdown Wrap the ioctl code in lock_kernel calls Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb1745529622f204733139bde2201eb4ee994c03 Author: Alan Cox Date: Wed Apr 30 00:53:21 2008 -0700 riscom8: Prepare for BKL pushdown Push the locking down into a couple of functions that need it and remove bogus TIOCG/SSOFTCAR handling Signed-off-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d6d162d495d7abf2bfcdffc73c0892f1179579a Author: Alan Cox Date: Wed Apr 30 00:53:20 2008 -0700 mxser: prepare for BKL pushdown Push the BKL down into various internal routines in the driver ready to remove it from the break, ioctl and other call points. Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3736113654165b5f4b8658b6a34d74631e0b7d81 Author: Alan Cox Date: Wed Apr 30 00:53:19 2008 -0700 isicom: istallion prepare for lock_kernel pushdown This is an ancient driver so just wrap it in lock_kernel internally and be done. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eac494738a0447ef0c423ee2066f85a44ab59f5 Author: Alan Cox Date: Wed Apr 30 00:53:19 2008 -0700 isicom: prepare for lock_kernel push down Again lock the bits we can't trivially prove are safe without the BKL and remove the broken TIOCS/GSOFTCAR handler. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32 Author: Alan Cox Date: Wed Apr 30 00:53:18 2008 -0700 esp: lock_kernel push down Push the BKL down into a few internal bits of code in this driver. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37925e050379ef4db9f4ed251786b6d43da6ec71 Author: Alan Cox Date: Wed Apr 30 00:53:17 2008 -0700 epca: lock_kernel push down Prepare epca for removing the lock from above. Most of epca is internally locked so we can trivially push it down to a few bits of code. Drop the TIOCG/SSOFTCAR handling as that is done *properly* with locks by the mid layer. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b130c0efd7acbdc3cf9b2e7cc9a26e923feec93 Author: Alan Cox Date: Wed Apr 30 00:53:16 2008 -0700 cyclades: Prepare for relaxed locking in callers Basically wrap it in lock_kernel where it is hard to prove the locking is ok. Signed-off-by: Alan Cox Cc: "John Stoffel" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18ce49b5b8f957fb99d66990ff49d527f823210 Author: Alan Cox Date: Wed Apr 30 00:53:16 2008 -0700 amiserial: prepare for locking relaxation in caller Just wrap this one in a lock_kernel. As I understand it there is no M68K SMP anyway. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00cd5c37afd5f431ac186dd131705048c0a11fdb Author: Oleg Nesterov Date: Wed Apr 30 00:53:15 2008 -0700 ptrace: permit ptracing of /sbin/init Afaics, currently there are no kernel problems with ptracing init, it can't lose SIGNAL_UNKILLABLE flag and be killed/stopped by accident. The ability to strace/debug init can be very useful if you try to figure out why it does not work as expected. However, admin should know what he does, "gdb /sbin/init 1" stops init, it can't reap orphaned zombies or take care of /etc/inittab until continued. It is even possible to crash init (and thus the whole system) if you wish, ptracer has full control. See also the long discussion: http://marc.info/?t=120628018600001 Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e9fc7d01269737cd5a3b6de1db9d0e796ab708 Author: Oleg Nesterov Date: Wed Apr 30 00:53:14 2008 -0700 ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific() Nobody can block/ignore SIGSTOP, no need to use force_sig_specific() in ptrace_attach. Use the "regular" send_sig_info(). With this patch stracing of /sbin/init doesn't clear its SIGNAL_UNKILLABLE, but not that this makes ptracing of init safe. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68cb94786630b34196713794a2880ade17fca887 Author: Oleg Nesterov Date: Wed Apr 30 00:53:14 2008 -0700 ptrace: __ptrace_unlink: use the ptrace_reparented() helper Currently __ptrace_unlink() checks list_empty(->ptrace_list) to figure out whether the child was reparented. Change the code to use ptrace_reparented() to make this check more explicit and consistent. No functional changes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc Author: Oleg Nesterov Date: Wed Apr 30 00:53:13 2008 -0700 ptrace: introduce ptrace_reparented() helper Add another trivial helper for the sake of grep. It also auto-documents the fact that ->parent != real_parent implies ->ptrace. No functional changes. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2800d8d19e51414403df8144eaa214bb03400b87 Author: Oleg Nesterov Date: Wed Apr 30 00:53:12 2008 -0700 document de_thread() with exit_notify() connection Add a couple of small comments, it is not easy to see what this code does. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 376e1d2531860358c8a79fecf5f4f42994d03c4d Author: Oleg Nesterov Date: Wed Apr 30 00:53:12 2008 -0700 reparent_thread: use same_thread_group() Trivial, use same_thread_group() in reparent_thread(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6 Author: Oleg Nesterov Date: Wed Apr 30 00:53:11 2008 -0700 ptrace: introduce task_detached() helper exit.c has numerous "->exit_signal == -1" comparisons, this check is subtle and deserves a helper. Imho makes the code more parseable for humans. At least it's surely more greppable. Also, a couple of whitespace cleanups. No functional changes. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a8da0ea82db6fa9737041381079fd16f25dcce2 Author: Roland McGrath Date: Wed Apr 30 00:53:10 2008 -0700 signals: x86 TS_RESTORE_SIGMASK Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3de272b821accbc8387211977c2de4f38468d05 Author: Roland McGrath Date: Wed Apr 30 00:53:09 2008 -0700 signals: use HAVE_SET_RESTORE_SIGMASK Change all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to #ifdef HAVE_SET_RESTORE_SIGMASK. If arch code defines it first, the generic set_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49eaeb4bc4c901c327ee259c7768be20fd020a30 Author: akpm@linux-foundation.org Date: Wed Apr 30 00:53:09 2008 -0700 signals: ia64 renumber TIF_RESTORE_SIGMASK TIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks. Those low bits are scarce. Renumber TIF_RESTORE_SIGMASK to free one up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a029b325854a98e76f0a79ab38bec13e66bd38 Author: Roland McGrath Date: Wed Apr 30 00:53:08 2008 -0700 signals: s390: renumber TIF_RESTORE_SIGMASK TIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks. Those low bits are scarce, and are all used up now. Renumber TIF_RESTORE_SIGMASK to free one up. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7648d961fcb454d38e864d2d850bc30e078bf7e6 Author: Roland McGrath Date: Wed Apr 30 00:53:07 2008 -0700 signals: set_restore_sigmask TIF_SIGPENDING Set TIF_SIGPENDING in set_restore_sigmask. This lets arch code take TIF_RESTORE_SIGMASK out of the set of bits that will be noticed on return to user mode. On some machines those bits are scarce, and we can free this unneeded one up for other uses. It is probably the case that TIF_SIGPENDING is always set anyway everywhere set_restore_sigmask() is used. But this is some cheap paranoia in case there is an arcane case where it might not be. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e4c22c71144c1b2e22c257ec6cf08ccb5be1165 Author: Roland McGrath Date: Wed Apr 30 00:53:06 2008 -0700 signals: add set_restore_sigmask This adds the set_restore_sigmask() inline in and replaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it. No change, but abstracts the details of the flag protocol from all the calls. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80fe728d593e3a048a56610de932919f7d6d968a Author: Oleg Nesterov Date: Wed Apr 30 00:53:05 2008 -0700 signals: allow the kernel to actually kill /sbin/init Currently the buggy /sbin/init hangs if SIGSEGV/etc happens. The kernel sends the signal, init dequeues it and ignores, returns from the exception, repeats the faulting instruction, and so on forever. Imho, such a behaviour is not good. I think that the explicit loud death of the buggy /sbin/init is better than the silent hang. Change force_sig_info() to clear SIGNAL_UNKILLABLE when the task should be really killed. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a5e873f096e04e6d8719e4ecb7b70d2decca503 Author: Oleg Nesterov Date: Wed Apr 30 00:53:04 2008 -0700 signals: de_thread: simplify the ->child_reaper switching Now that we rely on SIGNAL_UNKILLABLE flag, de_thread() doesn't need the nasty hack to kill the old ->child_reaper during the mt-exec. This also means we can avoid taking tasklist_lock around zap_other_threads(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fae5fa44f1fd079ffbed8e0add929dd7bbd1347f Author: Oleg Nesterov Date: Wed Apr 30 00:53:03 2008 -0700 signals: fix /sbin/init protection from unwanted signals The global init has a lot of long standing problems with the unhandled fatal signals. - The "is_global_init(current)" check in get_signal_to_deliver() protects only the main thread. Sub-thread can dequee the fatal signal and shutdown the whole thread group except the main thread. If it dequeues SIGSTOP /sbin/init will be stopped, this is not right too. Note that we can't use is_global_init(->group_leader), this breaks exec and this can't solve other problems we have. - Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT on delivery. This breaks exec, has other bad implications, and this is just wrong. Introduce the new SIGNAL_UNKILLABLE flag to fix these problems. It also helps to solve some other problems addressed by the subsequent patches. Currently we use this flag for the global init only, but it could also be used by kthreads and (perhaps) by the sub-namespace inits. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 193191035ad6268db9f561e81e3474b8be89a5ba Author: Oleg Nesterov Date: Wed Apr 30 00:53:02 2008 -0700 signals: check_kill_permission: remove tasklist_lock Now that task_session() can't return a false NULL, check_kill_permission() doesn't need tasklist_lock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e2ba22ea4fd4bb85f0fa37c521066db6775cbef Author: Oleg Nesterov Date: Wed Apr 30 00:53:01 2008 -0700 signals: check_kill_permission: check session under tasklist_lock This wasn't documented, but as Atsushi Tsuji pointed out check_kill_permission() needs tasklist_lock for task_session_nr(). I missed this fact when removed tasklist from the callers. Change check_kill_permission() to take tasklist_lock for the SIGCONT case. Re-order security checks so that we take tasklist_lock only if/when it is actually needed. This is a minimal fix for now, tasklist will be removed later. Also change the code to use task_session() instead of task_session_nr(). Also, remove the SIGCONT check from cap_task_kill(), it is bogus (and the whole function is bogus. Serge, Eric, why it is still alive?). Signed-off-by: Oleg Nesterov Acked-by: Atsushi Tsuji Cc: Roland McGrath Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c30337f2c61aff6eecf2a446e839641172f9bd Author: Oleg Nesterov Date: Wed Apr 30 00:53:00 2008 -0700 signals: send_signal: be paranoid about signalfd_notify() send_signal() shouldn't call signalfd_notify() if it then fails with -EAGAIN. Harmless, just a paranoid cleanup. Also remove the comment. It is obsolete, signalfd_notify() was simplified and does a simple wakeup. Signed-off-by: Oleg Nesterov Acked-by: Davide Libenzi Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021e1ae3d85a76ce962a300c96813f04ae50c87c Author: Oleg Nesterov Date: Wed Apr 30 00:53:00 2008 -0700 signals: document CLD_CONTINUED notification mechanics A couple of small comments about how CLD_CONTINUED notification works. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e695a5ef5c1c768d7feb75cc61e42f13d763623 Author: Oleg Nesterov Date: Wed Apr 30 00:52:59 2008 -0700 signals: fold sig_ignored() into handle_stop_signal() Rename handle_stop_signal() to prepare_signal(), make it return a boolean, and move the callsites of sig_ignored() into it. No functional changes for now. But it would be nice to factor out the "should we drop this signal" checks as much as possible, before we try to fix the bugs with the sub-namespace init's signals (actually the global /sbin/init has some problems with signals too). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dce81bff28dceb2153c901883a56f278d91db65 Author: Oleg Nesterov Date: Wed Apr 30 00:52:58 2008 -0700 signals: cleanup the usage of print_fatal_signal() Move the callsite of print_fatal_signal() down, under "if (sig_kernel_coredump(signr))", so we don't need to check signr != SIGKILL. We are only interested in the sig_kernel_coredump() signals anyway, and due to the previous changes we almost never can see other fatal signals here except SIGKILL. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c8f07b9ac499a807918eda377193a55f64f8df Author: Oleg Nesterov Date: Wed Apr 30 00:52:58 2008 -0700 signals: handle_stop_signal: don't worry about SIGKILL handle_stop_signal() clears SIGNAL_STOP_DEQUEUED when sig == SIGKILL. Remove this nasty special case. It was needed to prevent the race with group stop and exit caused by thread-specific SIGKILL. Now that we use complete_signal() for private signals too this is not needed, complete_signal() will notice SIGKILL and abort the soon-to-begin group stop. Except: the target thread is dead (has PF_EXITING). But in that case we should not just clear SIGNAL_STOP_DEQUEUED and nothing more. We should either kill the whole thread group, or silently ignore the signal. I suspect we are not right wrt zombie leaders, but this is another issue which and should be fixed separately. Note that this check can't abort the group stop if it was already started/finished, this check only adds a subtle side effect if we race with the thread which has already dequeued sig_kernel_stop() signal and temporary released ->siglock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac5c215383f43a106ba4ef298126bf78c126f5e9 Author: Oleg Nesterov Date: Wed Apr 30 00:52:57 2008 -0700 signals: join send_sigqueue() with send_group_sigqueue() We export send_sigqueue() and send_group_sigqueue() for the only user, posix_timer_event(). This is a bit silly, because both are just trivial helpers on top of do_send_sigqueue() and because the we pass the unused .si_signo parameter. Kill them both, rename do_send_sigqueue() to send_sigqueue(), and export it. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e62e6650e99a3dffcd0bf0d063cd818fbc13fa95 Author: Oleg Nesterov Date: Wed Apr 30 00:52:56 2008 -0700 signals: unify send_sigqueue/send_group_sigqueue completely Suggested by Pavel Emelyanov. send_sigqueue/send_group_sigqueue are only differ in how they lock ->siglock. Unify them. send_group_sigqueue() uses spin_lock() because it knows the task can't exit, but in that case lock_task_sighand() can't fail and doesn't hurt. Note that the "sig" argument is ignored, it is always equal to ->si_signo. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cd4b6d4e0372075f846feb85aea016cbdbfec4c Author: Pavel Emelyanov Date: Wed Apr 30 00:52:55 2008 -0700 signals: fold complete_signal() into send_signal/do_send_sigqueue Factor out complete_signal() callsites. This change completely unifies the helpers sending the specific/group signals. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fcd835bf8c2cde06404559b1904e2f1dfcb4567 Author: Oleg Nesterov Date: Wed Apr 30 00:52:55 2008 -0700 signals: use __group_complete_signal() for the specific signals too Based on Pavel Emelyanov's suggestion. Rename __group_complete_signal() to complete_signal() and use it to process the specific signals too. To do this we simply add the "int group" argument. This allows us to greatly simply the signal-sending code and adds a useful behaviour change. We can avoid the unneeded wakeups for the private signals because wants_signal() is more clever than sigismember(blocked), but more importantly we now take into account the fatal specific signals too. The latter allows us to kill some subtle checks in handle_stop_signal() and makes the specific/group signal's behaviour more consistent. For example, currently sigtimedwait(FATAL_SIGNAL) behaves differently depending on was the signal sent by kill() or tkill() if the signal was not blocked. And. This allows us to tweak/fix the behaviour when the specific signal is sent to the dying/dead ->group_leader. Signed-off-by: Pavel Emelyanov Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ca3515aa57224edf0151e05a8c9f21a76bf5957 Author: Oleg Nesterov Date: Wed Apr 30 00:52:54 2008 -0700 signals: change send_signal/do_send_sigqueue to take "boolean group" parameter send_signal() is used either with ->pending or with ->signal->shared_pending. Change it to take "int group" instead, this argument will be re-used later. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71f11dc025055cb2ef9226424f26b3287efadd26 Author: Oleg Nesterov Date: Wed Apr 30 00:52:53 2008 -0700 signals: move the definition of __group_complete_signal() up Move the unchanged definition of __group_complete_signal() so that send_signal can see it. To simplify the reading of the next patches. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db51aeccd7097ce19a522a4c5ff91c320f870e2b Author: Oleg Nesterov Date: Wed Apr 30 00:52:52 2008 -0700 signals: microoptimize the usage of ->curr_target Suggested by Roland McGrath. Initialize signal->curr_target in copy_signal(). This way ->curr_target is never == NULL, we can kill the check in __group_complete_signal's hot path. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d2c30ce98d274137f12b0a9b9c74137455922c Author: Oleg Nesterov Date: Wed Apr 30 00:52:51 2008 -0700 signals: send_sig_info: don't take tasklist_lock The comment in send_sig_info() is wrong, tasklist_lock can't help. The caller must ensure the task can't go away, otherwise ->sighand can be NULL even before we take the lock. p->sighand could be changed by exec(), but I can't imagine how it is possible to prevent exit(), but not exec(). Since the things seem to work, I assume all callers are correct. However, drm_vbl_send_signals() looks broken. block_all_signals() which is solely used by drm is definitely broken. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3547ff3aefbe092ca35506c60c02e2d17a4f2199 Author: Oleg Nesterov Date: Wed Apr 30 00:52:51 2008 -0700 signals: do_tkill: don't use tasklist_lock Convert do_tkill() to use rcu_read_lock() + lock_task_sighand() to avoid taking tasklist lock. Note that we don't return an error if lock_task_sighand() fails, we pretend the task dies after receiving the signal. Otherwise, we should fight with the nasty races with mt-exec without having any advantage. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e65acba7ca8169e38ab55d62d52f29a75fb141f Author: Oleg Nesterov Date: Wed Apr 30 00:52:50 2008 -0700 signals: move handle_stop_signal() into send_signal() Move handle_stop_signal() into send_signal(). This factors out a couple of callsites and allows us to do further unifications. Also, with this change specific_send_sig_info() does handle_stop_signal(). Not that this is really important, we never send STOP/CONT via send_sig() and friends, but still this looks more consistent. The only (afaics) special case is get_signal_to_deliver(). If the traced task dequeues SIGCONT, it can re-send it to itself after ptrace_stop() if the signal was blocked by debugger. In that case handle_stop_signal() is unnecessary, but hopefully not a problem. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c99fcf28b87d8cab592db7571e3164f5cb54c5b3 Author: Oleg Nesterov Date: Wed Apr 30 00:52:49 2008 -0700 signals: send_group_sigqueue: don't take tasklist_lock handle_stop_signal() was changed, now send_group_sigqueue() doesn't need tasklist_lock. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c Author: Oleg Nesterov Date: Wed Apr 30 00:52:49 2008 -0700 signals: __group_complete_signal: cache the value of p->signal Cosmetic, cache p->signal to make the code a bit more readable. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fc894bb4fb1de8373d1d5fb6db19204a16859e8 Author: Oleg Nesterov Date: Wed Apr 30 00:52:48 2008 -0700 signals: send_sigqueue: don't forget about handle_stop_signal() send_group_sigqueue() calls handle_stop_signal(), send_sigqueue() doesn't. This is not consistent and in fact I'd say this is (minor) bug. Move handle_stop_signal() from send_group_sigqueue() to do_send_sigqueue(), the latter is called by send_sigqueue() too. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f Author: Oleg Nesterov Date: Wed Apr 30 00:52:48 2008 -0700 signals: send_sigqueue: don't take rcu lock lock_task_sighand() was changed, send_sigqueue() doesn't need rcu_read_lock() any longer. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b76d4fb0039e077824be85ed4ac94e96beef86 Author: Oleg Nesterov Date: Wed Apr 30 00:52:47 2008 -0700 get_signal_to_deliver: use the cached ->signal/sighand values Cache the values of current->signal/sighand. Shrinks .text a bit and makes the code more readable. Also, remove "sigset_t *mask", it is pointless because in fact we save the constant offset. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad16a4606939ce1bedb79c87e412467be803e990 Author: Oleg Nesterov Date: Wed Apr 30 00:52:46 2008 -0700 handle_stop_signal: use the cached p->signal value Cache the value of p->signal, and change the code to use while_each_thread() helper. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc321d2e60d6f4eee17206612d0b50519f526daf Author: Oleg Nesterov Date: Wed Apr 30 00:52:46 2008 -0700 handle_stop_signal: unify partial/full stop handling Now that handle_stop_signal() doesn't drop ->siglock, we can't see both ->group_stop_count && SIGNAL_STOP_STOPPED. Merge two "if" branches. As Roland pointed out, we never actually needed 2 do_notify_parent_cldstop() calls. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ca25b551309eb1b1b41f83414a92f7472e0b23d Author: Oleg Nesterov Date: Wed Apr 30 00:52:45 2008 -0700 kill_pid_info: don't take now unneeded tasklist_lock Previously handle_stop_signal(SIGCONT) could drop ->siglock. That is why kill_pid_info(SIGCONT) takes tasklist_lock to make sure the target task can't go away after unlock. Not needed now. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e442055193e4584218006e616c9bdce0c5e9ae5c Author: Oleg Nesterov Date: Wed Apr 30 00:52:44 2008 -0700 signals: re-assign CLD_CONTINUED notification from the sender to reciever Based on discussion with Jiri and Roland. In short: currently handle_stop_signal(SIGCONT, p) sends the notification to p->parent, with this patch p itself notifies its parent when it becomes running. handle_stop_signal(SIGCONT) has to drop ->siglock temporary in order to notify the parent with do_notify_parent_cldstop(). This leads to multiple problems: - as Jiri Kosina pointed out, the stopped task can resume without actually seeing SIGCONT which may have a handler. - we race with another sig_kernel_stop() signal which may come in that window. - we race with sig_fatal() signals which may set SIGNAL_GROUP_EXIT in that window. - we can't avoid taking tasklist_lock() while sending SIGCONT. With this patch handle_stop_signal() just sets the new SIGNAL_CLD_CONTINUED flag in p->signal->flags and returns. The notification is sent by the first task which returns from finish_stop() (there should be at least one) or any other signalled thread from get_signal_to_deliver(). This is a user-visible change. Say, currently kill(SIGCONT, stopped_child) can't return without seeing SIGCHLD, with this patch SIGCHLD can be delayed unpredictably. Another difference is that if the child is ptraced by another process, CLD_CONTINUED may be delivered to ->real_parent after ptrace_detach() while currently it always goes to the tracer which doesn't actually need this notification. Hopefully not a problem. The patch asks for the futher obvious cleanups, I'll send them separately. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46 Author: Oleg Nesterov Date: Wed Apr 30 00:52:42 2008 -0700 signals: cleanup security_task_kill() usage/implementation Every implementation of ->task_kill() does nothing when the signal comes from the kernel. This is correct, but means that check_kill_permission() should call security_task_kill() only for SI_FROMUSER() case, and we can remove the same check from ->task_kill() implementations. (sadly, check_kill_permission() is the last user of signal->session/__session but we can't s/task_session_nr/task_session/ here). NOTE: Eric W. Biederman pointed out cap_task_kill() should die, and I think he is very right. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Serge Hallyn Cc: Roland McGrath Cc: Casey Schaufler Cc: David Quigley Cc: Eric Paris Cc: Harald Welte Cc: Pavel Emelyanov Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e3bd6c3fb2334be171e69b432039cd18bce4458 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:41 2008 -0700 signals: consolidate send_sigqueue and send_group_sigqueue Both functions do the same thing after proper locking, but with different sigpending structs, so move the common code into a helper. After this we have 4 places that look very similar: send_sigqueue: calls do_send_sigqueue and signal_wakeup send_group_sigqueue: calls do_send_sigqueue and __group_complete_signal __group_send_sig_info: calls send_signal and __group_complete_signal specific_send_sig_info: calls send_signal and signal_wakeup Besides, send_signal performs actions similar to do_send_sigqueue's and __group_complete_signal - to signal_wakeup. It looks like they can be consolidated gracefully. Oleg said: Personally, I think this change is very good. But send_sigqueue() and send_group_sigqueue() have a very subtle difference which I was never able to understand. Let's suppose that sigqueue is already queued, and the signal is ignored (the latter means we should re-schedule cpu timer or handle overrruns). In that case send_sigqueue() returns 0, but send_group_sigqueue() returns 1. I think this is not the problem (in fact, I think this patch makes the behaviour more correct), but I hope Thomas can take a look and confirm. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5363d03637885310f1101b95cbbd26d067b4c8d Author: Pavel Emelyanov Date: Wed Apr 30 00:52:40 2008 -0700 signals: clean dequeue_signal from excess checks and assignments The signr variable may be declared without initialization - it is set ro the return value from __dequeue_signal() right at the function beginning. Besides, after recalc_sigpending() two checks for signr to be not 0 may be merged into one. Both if-s become easier to read. Thanks to Oleg for pointing out mistakes in the first version of this patch. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93585eeaf3d42d608cd7232e7420c93fb676bba1 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:39 2008 -0700 signals: consolidate checks for whether or not to ignore a signal Both sig_ignored() and do_sigaction() check for signr to be explicitly or implicitly ignored. Introduce a helper for them. This patch is aimed to help handling signals by pid namespace's init, and was derived from one of Oleg's patches https://lists.linux-foundation.org/pipermail/containers/2007-December/009308.html so, if he doesn't mind, he should be considered as an author. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Roland McGrath Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06fffb1267c9d986687b69d74a46ee332a50575e Author: Oleg Nesterov Date: Wed Apr 30 00:52:38 2008 -0700 do_task_stat: don't take rcu_read_lock() lock_task_sighand() was changed, and do_task_stat() doesn't need rcu_read_lock any longer. sighand->siglock protects all "interesting" fields. Except: it doesn't protect ->tty->pgrp, but neither does rcu_read_lock(), this should be fixed. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Cc: Alan Cox Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac Author: Oleg Nesterov Date: Wed Apr 30 00:52:38 2008 -0700 k_getrusage: don't take rcu_read_lock() Just a trivial example, more to come. k_getrusage() holds rcu_read_lock() because it was previously required by lock_task_sighand(). Unneeded now. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1406f2d321bae5ac5ff729dcb773336d9c05ec74 Author: Oleg Nesterov Date: Wed Apr 30 00:52:37 2008 -0700 lock_task_sighand: add rcu lock/unlock Most of the callers of lock_task_sighand() doesn't actually need rcu_lock(). lock_task_sighand() needs it only to safely play with tsk->sighand, it can take the lock itself. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: "Paul E. McKenney" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc4b0890af566940de6e7aeb4b5faf46d3c3513 Author: Oleg Nesterov Date: Wed Apr 30 00:52:36 2008 -0700 signals: do_group_exit(): use signal_group_exit() more consistently do_group_exit() checks SIGNAL_GROUP_EXIT to avoid taking sighand->siglock. Since ed5d2cac114202fe2978a9cbcab8f5032796d538 exec() doesn't set this flag, we should use signal_group_exit(). This is not needed for correctness, but can speedup the multithreaded exec and makes the code more consistent. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 573cf9ad72c13750e86c91de43477e9dfb440523 Author: Oleg Nesterov Date: Wed Apr 30 00:52:36 2008 -0700 signals: do_signal_stop(): use signal_group_exit() do_signal_stop() needs signal_group_exit() but checks sig->group_exit_task. This (optimization) is correct, SIGNAL_STOP_DEQUEUED and SIGNAL_GROUP_EXIT are mutually exclusive, but looks confusing. Use signal_group_exit(), this is not fastpath, the code clarity is more important. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2acb024d5524eda305523c1d6061fe5ef1949165 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:35 2008 -0700 signals: consolidate checking for ignored/legacy signals Two callers for send_signal() - the specific_send_sig_info and the __group_send_sig_info - both check for sig to be ignored or already queued. Move these checks into send_signal() and make it return 1 to indicate that the signal is dropped, but there's no error in this. Besides, merge comments and spell-check them. [oleg@tv-sign.ru: simplifications] Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af7fff9c13d56657dc328c75590f401c99bcecd9 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:34 2008 -0700 signals: turn LEGACY_QUEUE macro into static inline function This makes the code more readable, due to less brackets and small letters in name. I also move it above the send_signal() as a preparation for the 3rd patch. Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1401c6bbb289d154eb0d0c292cc9f8259e4af73 Author: Pavel Emelyanov Date: Wed Apr 30 00:52:34 2008 -0700 signals: remove unused variable from send_signal() This function doesn't change the ret's value and thus always returns 0, with a single exception of returning -EAGAIN explicitly. Signed-off-by: Pavel Emelyanov Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2deb1acc653cbd5384b107d050d2deba089db2bd Author: Jan Kara Date: Wed Apr 30 00:52:33 2008 -0700 isofs: fix access to unallocated memory when reading corrupted filesystem When a directory on isofs is corrupted, we did not check whether length of the name in a directory entry and the length of the directory entry itself are consistent. This could lead to possible access beyond the end of buffer when the length of the name was too big. Add this sanity check to directory reading code. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bfe0b499082fd3950429017cd8ebf2a6c458aa5 Author: Dan Williams Date: Wed Apr 30 00:52:32 2008 -0700 md: support blocking writes to an array on device failure Allows a userspace metadata handler to take action upon detecting a device failure. Based on an original patch by Neil Brown. Changes: -added blocked_wait waitqueue to rdev -don't qualify Blocked with Faulty always let userspace block writes -added md_wait_for_blocked_rdev to wait for the block device to be clear, if userspace misses the notification another one is sent every 5 seconds -set MD_RECOVERY_NEEDED after clearing "blocked" -kill DoBlock flag, just test mddev->external Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11e2ede0228ee0f81ccacd15894908c3bf241f73 Author: Dan Williams Date: Wed Apr 30 00:52:32 2008 -0700 md: prevent duplicates in bind_rdev_to_array Found when trying to reassemble an active externally managed array. Without this check we hit the more noisy "sysfs duplicate" warning in the later call to kobject_add. Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 242b363e2207d14125f52a6701cfda7376a2a2fc Author: Dan Williams Date: Wed Apr 30 00:52:31 2008 -0700 md: remove a stray command from a copy and paste error in resync_start_store Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 648b629ed406233b0a607a3cf29d8a169876131f Author: NeilBrown Date: Wed Apr 30 00:52:30 2008 -0700 md: fix up switching md arrays between read-only and read-write When setting an array to 'readonly' or to 'active' via sysfs, we must make the appropriate set_disk_ro call too. Also when switching to "read_auto" (which is like readonly, but blocks on the first write so that metadata can be marked 'dirty') we need to be more careful about what state we are changing from. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a59e3425d32743738e043c1df1668e0f22bbab Author: NeilBrown Date: Wed Apr 30 00:52:30 2008 -0700 md: fix 'safemode' handling for external metadata. 'safemode' relates to marking an array as 'clean' if there has been no write traffic for a while (a couple of seconds), to reduce the chance of the array being found dirty on reboot. ->safemode is set to '1' when there have been no write for a while, and it gets set to '0' when the superblock is updates with the 'clean' flag set. This requires a few fixes for 'external' metadata: - When an array is set to 'clean' via sysfs, 'safemode' must be cleared. - when we write to an array that has 'safemode' set (there must have been some delay in updating the metadata), we need to clear safemode. - Don't try to update external metadata in md_check_recovery for safemode transitions - it won't work. Also, don't try to support "immediate safe mode" (safemode==2) for external metadata, it cannot really work (the safemode timeout can be set very low if this is really needed). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d897dbf91490f26dccef3d7056ffd09eb83a15a5 Author: NeilBrown Date: Wed Apr 30 00:52:29 2008 -0700 md: reinitialise more mddev fields in do_md_stop. I keep finding problems where an mddev gets reused and some fields has a value from a previous usage that confuses the new usage. So clear all fields that could possible need clearing when calling do_md_stop. Also initialise the 'level' of a new array to LEVEL_NONE (which isn't 0). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8377bc808029251c2c0f52116cf87d80291b25bf Author: NeilBrown Date: Wed Apr 30 00:52:28 2008 -0700 md: skip all metadata update processing when using external metadata. All the metadata update processing for external metadata is on in user-space or through the sysfs interfaces, so make "md_update_sb" a no-op in that case. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a51830e14529063cb2685921e1177d9af50e49a Author: Dan Williams Date: Wed Apr 30 00:52:28 2008 -0700 md: fix use after free when removing rdev via sysfs rdev->mddev is no longer valid upon return from entry->store() when the 'remove' command is given. Cc: Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f1133cbf20bc308d73ba49f971180924e12119b Author: Eric Miao Date: Wed Apr 30 00:52:27 2008 -0700 pxafb: preliminary smart panel interface support (update) FB_PXA_SMARTPANEL defaults to "n" and removed the cast to void *. Signed-off-by: Daniel Mack Acked-by: Eric Miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c42a449107bf76c59b8e0b6a30d070e9696e49c Author: Eric Miao Date: Wed Apr 30 00:52:26 2008 -0700 pxafb: preliminary smart panel interface support Signed-off-by: Daniel Mack Signed-off-by: Eric Miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90eabbf0ec0c626cf5d186214cf8fc79150a7a29 Author: Eric Miao Date: Wed Apr 30 00:52:25 2008 -0700 pxafb: move parallel LCD timing setup into dedicate function the new_regs stuff has been removed, and all the setup (modification to those fbi->reg_*) is protected with IRQ disabled * disable IRQ is too heavy here, provided that no IRQ context will touch the fbi->reg_* and the only possible contending place is in the CPUFREQ_POSTCHANGE (task context), a mutex will be better, leave this for future improvement Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ba162b9335c6e3ba90c77637372fc9f078aae67 Author: Eric Miao Date: Wed Apr 30 00:52:24 2008 -0700 pxafb: use completion for LCD disable wait code Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7535ba730e13db037bd22c79c3805690d0945a2 Author: Eric Miao Date: Wed Apr 30 00:52:24 2008 -0700 pxafb: introduce lcd_{read,write}l() to wrap the __raw_{read,write}l() using __raw_{read,write}l() everywhere looks messy, introduce lcd_{read,write}l() to get this cleaned up a bit Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0454bd09de7380aac464c09018e6a533f7247b0d Author: eric miao Date: Wed Apr 30 00:52:23 2008 -0700 pxafb: make lubbock/mainstone/zylonite/littleton to use new LCD connection type Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84f43c308b73a6a12128288721a1007ba4f1a8da Author: eric miao Date: Wed Apr 30 00:52:22 2008 -0700 pxafb: introduce register independent LCD connection type for pxafb Reasons: 1. straight forward: the name "LCD_COLOR_DSTN_16BPP" is much better than "LCCR0_Pas | LCCR0_Color | LCCR0_Dual" 2. by defining LCD connection types as constants, it allows only valid possibilities 3. by removing the dependency of register bits definitions, those can be later moved into the body of pxafb.c, instead of having a regs-lcd.h around Currently, only lubbock, mainstone, zylonite and littleton have been modified to support these types (see coming patches after this). Other platforms are encouraged to change their way describing the LCD controller connections. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c42dd8ebdd92ad59d9a68f88f0e20ad9f45270a Author: eric miao Date: Wed Apr 30 00:52:21 2008 -0700 pxafb: introduce "struct pxafb_dma_buff" for palette and dma descriptors Use structure and array for palette buffer and dma descriptors to: 1. better organize code for future expansion like overlays 2. separate palette and dma descriptors from frame buffer Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce4fb7b892a6d6c6a0f87366b26fd834d2923dd7 Author: eric miao Date: Wed Apr 30 00:52:21 2008 -0700 pxafb: convert fb driver to use ioremap() and __raw_{readl, writel} This is part of the effort moving peripheral registers outside of pxa-regs.h, and using ioremap() make it possible the same IP can be re-used on different processors with different registers space As a result, the fixed mapping in pxa_map_io() is removed. The regs-lcd.h can actually moved to where closer to pxafb.c but some of its bit definitions are directly used by various platform code, though this is not a good style. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92ac73c1e4b4e039162f5d3980c2da8192b28060 Author: eric miao Date: Wed Apr 30 00:52:20 2008 -0700 pxafb: sanitize the usage of #ifdef .. processing pxafb parameters So to get a better coding style and centralize the pxafb parameters handling code. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ded245b67f0a412b75052a285a0b0d1798650a63 Author: eric miao Date: Wed Apr 30 00:52:19 2008 -0700 pxafb: purge unnecessary pr_debug and comments from pxafb Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0086efba5ad4905090b1e2e62a7e84d9473287f Author: eric miao Date: Wed Apr 30 00:52:19 2008 -0700 pxafb: fix various coding style issues for pxafb Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 817daf14a5fa77d4e2c3b63c9be12fbf6eada37d Author: eric miao Date: Wed Apr 30 00:52:18 2008 -0700 pxafb: un-nest pxafb_parse_options() to cleanup the coding style issue pxafb_parse_options() has very long lines exceeding far beyond 80 characters, which makes the function looks bad. Un-nest it into smaller functions and use a temporary string for only what has been overridden instead of the whole dev_info() message to reduce the line a bit more. Signed-off-by: eric miao Cc: "Antonino A. Daplas" Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592e7bf80566bf5ac3ed073d4e198dd5b0824c04 Author: Haavard Skinnemoen Date: Wed Apr 30 00:52:17 2008 -0700 atmel_spi: clean up baud rate divisor calculation Make the baud rate divisor calculation code a bit more readable and add a few comments. Also fix wrong debug information being displayed when !new_1 and max_speed_hz == 0. [david-b@pacbell.net: fix it] Signed-off-by: Haavard Skinnemoen Cc: "Janesh Ramakrishnan" Acked-by David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6495aaabfaa8256c292c54b48ab081f4d86ad79 Author: Bryan Wu Date: Wed Apr 30 00:52:16 2008 -0700 kallsyms: nuke all ChangeLog, this should be logged by git Pointed out by Paulo: "When I wrote this initially, it was a mistake to add a Changelog in the first place, but I didn't know better at the time. If you're going to make changes to this file, please remove all the Changelog, instead of adding more entries to it. The 'Changelog' should be kept by the version control system, and not the source code itself." Cc: Paulo Marques Signed-off-by: Bryan Wu Acked-by: Paulo Marques Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41b25a3784c137ad52c71619c73b925860b1b3a2 Author: KOSAKI Motohiro Date: Wed Apr 30 00:52:13 2008 -0700 /proc/pagetypeinfo: fix output for memoryless nodes on memoryless node, /proc/pagetypeinfo is displayed slightly funny output. this patch fix it. output example (header is outputed, but no data is outputed) -------------------------------------------------------------- Page block order: 14 Pages per block: 16384 Free pages count per migrate type at order 0 1 2 3 4 5 \ 6 7 8 9 10 11 12 13 14 15 16 Number of blocks type Unmovable Reclaimable Movable Reserve Isolate Page block order: 14 Pages per block: 16384 Free pages count per migrate type at order 0 1 2 3 4 5 \ 6 7 8 9 10 11 12 13 14 15 16 Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f3517418dc0684a32318f2c5b53257416448b1e Author: Bryan Wu Date: Wed Apr 30 00:52:12 2008 -0700 Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART Signed-off-by: Bryan Wu Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e68852dca7a16271d09269f643a8e0eb8bb500d Author: Alan Cox Date: Wed Apr 30 00:52:11 2008 -0700 MAINTAINERS: sort ordering Seems we have various confused entries around S and T. Sort them all out and also add myself as tty maintainer (which is how I noticed it). Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64275ea4f33636de198da5c78d0dbe31522555b0 Author: David Chinner Date: Wed Apr 30 17:11:16 2008 +1000 [XFS] Include linux/random.h in all builds, not just debug. Noted-by: Stephen Rothwell Signed-off-by: Dave Chinner Signed-off-by: Linus Torvalds commit 1175cdc670f2d4197b033f823b32435031a6daa8 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:50 2008 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 941af343e2e25ff7afce43a3c7e2922643b8cd48 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:49 2008 +0200 [S390] use generic sys_ptrace After the PT_IEEE_IP hack has been removed s390 can now use the common code sys_ptrace function. Signed-off-by: Martin Schwidefsky commit 613e1def6b52c399a8b72a5e11bc2e57d2546fb8 Author: Martin Schwidefsky Date: Wed Apr 30 13:38:48 2008 +0200 [S390] Remove self ptrace IEEE_IP hack. The self referential PT_IEEE_IP ptrace peek & poke calls have been broken for that last 6 years. For peek the code always returns 0 instead of the last ieee fault and for poke the code does nothing. Since nobody noticed the code seems to be superfluous. So lets remove it. Cc: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit 17f345808563d2f425b2b15d60c4a5b00112e9eb Author: Heiko Carstens Date: Wed Apr 30 13:38:47 2008 +0200 [S390] Convert to SPARSEMEM & SPARSEMEM_VMEMMAP Convert s390 to SPARSEMEM and SPARSEMEM_VMEMMAP. We do a select of SPARSEMEM_VMEMMAP since it is configurable. This is because SPARSEMEM without SPARSEMEM_VMEMMAP gives us a hell of broken include dependencies that I don't want to fix. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53492b1de46a7576170e865062ffcfc93bb5650b Author: Gerald Schaefer Date: Wed Apr 30 13:38:46 2008 +0200 [S390] System z large page support. This adds hugetlbfs support on System z, using both hardware large page support if available and software large page emulation on older hardware. Shared (large) page tables are implemented in software emulation mode, by using page->index of the first tail page from a compound large page to store page table information. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 2e5061e40af88070984e3769eafb5a06022375fd Author: Heiko Carstens Date: Wed Apr 30 13:38:45 2008 +0200 [S390] Convert machine feature detection code to C. From: Heiko Carstens From: Carsten Otte This lets us use defines for the magic bits in machine flags instead of using plain numbers all over the place. In addition on newer machines features/facilities are indicated by the result of the stfl instruction. So we use these bits instead of trying to execute new instructions and check wether we get an exception or not. Also the mvpg instruction is always available when in zArch mode, whereas the idte instruction is only available in zArch mode. This results in some minor optimizations. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 8fc63658681f32e6e29f6d1138de933d7272e0ec Author: Heiko Carstens Date: Wed Apr 30 13:38:44 2008 +0200 [S390] vmemmap: use clear_table to initialise page tables. Always use clear_table to initialise page tables. The overlapping memcpy is just a leftover of a previous version that wasn't fully converted to clear_table. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 484875b11f355b1b54d508a3f4671888f07e643c Author: Heiko Carstens Date: Wed Apr 30 13:38:43 2008 +0200 [S390] Move stfl to system.h and delete duplicated version. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ccf183e469be89e065ed389da9d3f50bd2faa215 Author: Heiko Carstens Date: Wed Apr 30 13:38:42 2008 +0200 [S390] uaccess_mvcos: #ifdef config dependent code. arch/s390/lib/uaccess_mvcos.c:166: warning: 'strnlen_user_mvcos' defined but not used arch/s390/lib/uaccess_mvcos.c:186: warning: 'strncpy_from_user_mvcos' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit fd781fa25c9e9c6fd1599df060b05e7c4ad724e5 Author: Heiko Carstens Date: Wed Apr 30 13:38:41 2008 +0200 [S390] cpu topology: Fix possible deadlock. When we get a notification that cpu topology changed, we schedule a work struct which just calls arch_reinit_sched_domains. This function in turn calls get_online_cpus() which results int the lockdep warning below. After all it turnded out that it's not legal to call get_online_cpus() from the context of a multi-threaded work queue. It could deadlock this way: process 0 (events/cpu-x): -> run_workqueue -> removes my work_struct from the work queue -> calls work_struct->fn -> get_online_cpus() -> locks on cpu_hotplug.lock since process 1 below is doing cpu hotplug process 1: -> cpu_down (for cpu-x) -> cpu_hotplug_begin (holds cpu_hotplug.lock now) -> cpu-x dead -> notifier_call_chain with CPU_DEAD -> cleanup_workqueue_thread -> flush_cpu_workqueue (succeeds) -> kthread_stop for events/cpu-x -> now kthread_stop waits for my work_struct to complete from within process 0. -> dead. A single threaded workqueue wouldn't have such problems, however there is no such common queue available and it's not worth to create one for the very rare calls to arch_reinit_sched_domains. So we just create a kernel thread from our work struct which calls arch_reinit_sched_domains and are done with it. Thanks to Oleg Nesterov and Peter Zijlstra for helping me figuring out that this isn't a false positive lockdep warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.25-03562-g3dc5063-dirty #12 ------------------------------------------------------- events/3/14 is trying to acquire lock: (&cpu_hotplug.lock){--..}, at: [<0000000000076094>] get_online_cpus+0x50/0x78 but task is already holding lock: (topology_work){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (topology_work){--..}: [<000000000006fc74>] __lock_acquire+0x1010/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<0000000000059d48>] run_workqueue+0x170/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc -> #1 (events){--..}: [<000000000006fc74>] __lock_acquire+0x1010/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<000000000005a23c>] cleanup_workqueue_thread+0x60/0xa8 [<00000000003b2ab8>] workqueue_cpu_callback+0xbc/0x170 [<00000000003bba80>] notifier_call_chain+0x5c/0xa4 [<00000000000655a2>] __raw_notifier_call_chain+0x26/0x38 [<00000000000655e2>] raw_notifier_call_chain+0x2e/0x40 [<0000000000075e00>] cpu_down+0x228/0x31c [<00000000003b1dd8>] store_online+0x64/0xb8 [<00000000001e7128>] sysdev_store+0x48/0x58 [<0000000000121cd2>] sysfs_write_file+0x126/0x1c0 [<00000000000c1944>] vfs_write+0xb0/0x15c [<00000000000c20e6>] sys_write+0x56/0x88 [<0000000000027a68>] sys32_write+0x34/0x4c [<0000000000023f70>] sysc_noemu+0x10/0x16 [<0000000077f3f186>] 0x77f3f186 -> #0 (&cpu_hotplug.lock){--..}: [<000000000006fa84>] __lock_acquire+0xe20/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<00000000003b701c>] mutex_lock_nested+0xd0/0x364 [<0000000000076094>] get_online_cpus+0x50/0x78 [<000000000003a03e>] arch_reinit_sched_domains+0x26/0x58 [<000000000002700e>] topology_work_fn+0x26/0x34 [<0000000000059d4e>] run_workqueue+0x176/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc other info that might help us debug this: 2 locks held by events/3/14: #0: (events){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 #1: (topology_work){--..}, at: [<0000000000059cde>] run_workqueue+0x106/0x278 stack backtrace: CPU: 3 Not tainted 2.6.25-03562-g3dc5063-dirty #12 Process events/3 (pid: 14, task: 000000002fb04038, ksp: 000000002fb0bd70) 0400000000000000 000000002fb0ba40 0000000000000002 0000000000000000 000000002fb0bae0 000000002fb0ba58 000000002fb0ba58 0000000000016488 0000000000000000 000000002fb0bd70 0000000000000000 0000000000000000 000000002fb0ba40 000000000000000c 000000002fb0ba40 000000002fb0bab0 00000000003c99e0 0000000000016488 000000002fb0ba40 000000002fb0ba90 Call Trace: ([<00000000000163fc>] show_trace+0x138/0x158) [<00000000000164e2>] show_stack+0xc6/0xf8 [<0000000000016624>] dump_stack+0xb0/0xc0 [<000000000006cd36>] print_circular_bug_tail+0xa2/0xb4 [<000000000006fa84>] __lock_acquire+0xe20/0x111c [<000000000006fe40>] lock_acquire+0xc0/0xf8 [<00000000003b701c>] mutex_lock_nested+0xd0/0x364 [<0000000000076094>] get_online_cpus+0x50/0x78 [<000000000003a03e>] arch_reinit_sched_domains+0x26/0x58 [<000000000002700e>] topology_work_fn+0x26/0x34 [<0000000000059d4e>] run_workqueue+0x176/0x278 [<0000000000059edc>] worker_thread+0x8c/0xf0 [<000000000005f5bc>] kthread+0x68/0xa0 [<000000000001a33e>] kernel_thread_starter+0x6/0xc [<000000000001a338>] kernel_thread_starter+0x0/0xc INFO: lockdep is turned off. Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d00aa4e7d0129983fc4389c85e15a066eb4e69a9 Author: Heiko Carstens Date: Wed Apr 30 13:38:40 2008 +0200 [S390] Add topology_core_siblings to topology.h This exposes the core siblings to user space via sysfs. Signed-off-by: Heiko Carstens commit edf2209692769d3e461c0351553098bc017c2caf Author: Cornelia Huck Date: Wed Apr 30 13:38:39 2008 +0200 [S390] cio: Make isc handling more robust. Introduce an ->isc field in the subchannel to store the desired interruption subclass, since sch->schib.pmcw.isc may be overwritten by the hardware on stsch() after machine checks. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 47494f6a84cdae2740b62e1d86a1860df85d9bbb Author: Mathieu Desnoyers Date: Wed Apr 30 13:38:38 2008 +0200 [S390] remove -traditional Signed-off-by: Mathieu Desnoyers CC: Sam Ravnborg Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1e489518da2a49604df2c3281034097274324be9 Author: Heiko Carstens Date: Wed Apr 30 13:38:37 2008 +0200 [S390] Automatically detect added cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0b18d318b80a7f350648ca8f7cc00a2f688104cb Author: Heiko Carstens Date: Wed Apr 30 13:38:36 2008 +0200 [S390] smp: Fix locking order. On some smp sysfs store attributes get_online_cpus() may block on cpu_hotplug.lock, but we hold already smp_cpu_state_mutex. Since the locking order on cpu hotplug via arch_update_cpu_topology is inverse this might lead to deadlocks. So make sure locking order is always the same. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f291e17227cf30432ca7c402220f62e6924dd97d Author: Heiko Carstens Date: Wed Apr 30 13:38:35 2008 +0200 [S390] Add missing ifndef/define to include/asm-s390/sysinfo.h. In order to protect against compile breakage in case the header file gets included twice. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4e83be7b24ba4fe40acf0b967bd6ae8c9ac79bde Author: Heiko Carstens Date: Wed Apr 30 13:38:34 2008 +0200 [S390] Move show_regs to traps.c. This is where it should be and we can get rid of some externs and a static inline function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2f972202315cf71fd60e890ebbed7d5bcf620ba4 Author: Cornelia Huck Date: Wed Apr 30 13:38:33 2008 +0200 [S390] cio: Use strict_strtoul() for attributes. Make parsing of attribute writes handle incorrect input better. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit aecb2b6eac6ee596f34a54fb164138756895c78a Author: Jason Jin Date: Sat Apr 19 15:07:56 2008 +0800 [POWERPC] 86xx: Fix the wrong serial1 interrupt for 8610 board Signed-off-by: Jason Jin Signed-off-by: Kumar Gala commit eabd90944b3a00766e84da3d117ea0f3e0a3b1a3 Author: Michael Ellerman Date: Wed Apr 30 14:47:12 2008 +1000 [POWERPC] Fix crashkernel= handling when no crashkernel= specified Commit edd8ce67436851a62f99f1d9707b40ea6a8e5323 (Use extended crashkernel command line on ppc64), changed the logic in reserve_crashkernel() which deals with the crashkernel= command line option. This introduced a bug in the case when there is no crashkernel= option, or it is incorrect. We would fall through and calculate the crash_size based on the existing values in crashk_res. If both start and end are 0, the default, we calculate the crash_size as 1 byte - which is wrong. Rework the logic so that we use crashk_res, regardless of whether it's set by the command line or via the device tree (see prom.c). Then check if we have an empty range (end == start), and if so make sure to set both end and start to zero (this is checked in machine_kexec_64.c). Then we calculate the crash_size once we know we have a non-zero range. Finally we always want to warn the user if they specify a base != 32MB, so remove the special case for that in the command line parsing case. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 3243d87441bf7f97c5c9f7dd46b35f5783ec6740 Author: Michael Ellerman Date: Wed Apr 30 13:21:45 2008 +1000 [POWERPC] Make emergency stack safe for current_thread_info() use The current_thread_info() macro, used by preempt_count(), assumes the base address and size of the stack are THREAD_SIZE aligned. The emergency stack currently isn't either of these things, which could potentially cause problems anytime we're running on the emergency stack. That includes when we detect a bad kernel stack pointer, and also during early_setup_secondary(). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit a94477da38e0b261a7ecea71f4c95a3bcd5be69c Author: David Chinner Date: Wed Apr 30 18:15:34 2008 +1000 [XFS] Include linux/random.h in all builds, not just debug builds. SGI-PV: 979416 SGI-Modid: xfs-linux-melb:xfs-kern:31008a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 159131149c2f56c1da5ae5e23ab9d5acef4916d1 Author: Lachlan Andrew Date: Wed Apr 30 01:04:03 2008 -0700 tcp: Overflow bug in Vegas From: Lachlan Andrew There is an overflow bug in net/ipv4/tcp_vegas.c for large BDPs (e.g. 400Mbit/s, 400ms). The multiplication (old_wnd * vegas->baseRTT) << V_PARAM_SHIFT overflows a u32. [ Fix tcp_veno.c too, it has similar calculations. -DaveM ] Signed-off-by: David S. Miller commit 595f403c1af37b1339e64b89040528b8cd48c5a3 Merge: 8222525... d0eb801... Author: Paul Mackerras Date: Wed Apr 30 16:53:17 2008 +1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs commit d0eb801c60c20c2fbfc70e677415122798c472d2 Author: Kumar Gala Date: Fri Apr 25 11:03:03 2008 +1000 [POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.h Signed-off-by: Kumar Gala Signed-off-by: Jeremy Kerr commit be9164e769d57aa10b2bbe15d103edc041b9e7de Author: Kostya B Date: Tue Apr 29 22:36:30 2008 -0700 [IPv4] UFO: prevent generation of chained skb destined to UFO device Problem: ip_append_data() could wrongly generate a chained skb for devices which support UFO. When sk_write_queue is not empty (e.g. MSG_MORE), __instead__ of appending data into the next nr_frag of the queued skb, a new chained skb is created. I would normally assume UFO device should get data in nr_frags and not in frag_list. Later the udp4_hwcsum_outgoing() resets csum to NONE and skb_gso_segment() has oops. Proposal: 1. Even length is less than mtu, employ ip_ufo_append_data() and append data to the __existed__ skb in the sk_write_queue. 2. ip_ufo_append_data() is fixed due to a wrong manipulation of peek-ing and later enqueue-ing of the same skb. Now, enqueuing is always performed, because on error the further ip_flush_pending_frames() would release the queued skb. Signed-off-by: Kostya B Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 3a8209d19dd791aaac3668be2fa51a9b42113efd Author: Adrian Bunk Date: Tue Apr 29 22:29:59 2008 -0700 iwlwifi: move the selects to the tristate drivers This patch moves the following select's: - RFKILL : IWLWIFI_RFKILL -> IWLCORE - RFKILL_INPUT : IWLWIFI_RFKILL -> IWLCORE - MAC80211_LEDS : IWL4965_LEDS -> IWLCORE - LEDS_CLASS : IWL4965_LEDS -> IWLCORE - MAC80211_LEDS : IWL3945_LEDS -> IWL3945 - LEDS_CLASS : IWL3945_LEDS -> IWL3945 The effects are: - with IWLCORE=m and/or IWL3945=m RFKILL/RFKILL_INPUT/MAC80211_LEDS/LEDS_CLASS are no longer wrongly forced to y - fixes a build error with IWLCORE=y, IWL4965=m might be a bug in kconfig causing it, but doing this change that is anyway the right thing fixes it Reported-by: Carlos R. Mafra Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 3734dfc68b64d8ca202c799280daf28c2424659d Author: Julio M. Merino Vidal Date: Wed Apr 30 15:21:17 2008 +1000 [POWERPC] spufs: trace spu_acquire_saved events The sputrace module contained a trace entry for spu_acquire_saved, but this marker was not placed anywhere. Fix this by adding a marker to the routine. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 8a476d49555cb7e8d4222782f695048b46692731 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:16:14 2008 +1000 [POWERPC] spufs: fix marker name for find_victim Fix a typo in the marker for the find_victim function, which prevented it from being traced. It previously read find_vitim. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 534578816f028b0dc675fdcc3314016d98588327 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:12:30 2008 +1000 [POWERPC] spufs: add marker for destroy_spu_context The sputrace module contained a reference to a marker for destroy_spu_context, but this marker did not appear in the code. Fix this by adding a marker in the function. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit d6508aaf27ccef0d7e986aaa220ad4d098bca260 Author: Julio M. Merino Vidal Date: Wed Apr 30 15:06:39 2008 +1000 [POWERPC] spufs: add sputrace marker parameter names The markers facility defines the marker parameters to be of the form 'name %format'. Add parameter names to sputrace, to specify the context and %spu paramerters, instead of just specifying the '%format' part. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr commit 5158e9b5218bd3799c9fa8c401ad24d7f0c0a0a1 Author: Christoph Hellwig Date: Tue Apr 29 17:08:38 2008 +1000 [POWERPC] spufs: add context switch notification log There are userspace instrumentation tools that need to monitor spu context switches. This patch adds a new file called 'switch_log' to each spufs context directory that can be used to monitor the context switches. Context switch in/out and exit from spu_run are monitored after the file was first opened and can be read from it. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr commit 45e741b89000519bedd4da4e7075a35acf5c655b Author: Sam Ravnborg Date: Tue Apr 29 20:58:15 2008 -0700 ipv4: annotate a few functions __init in ipconfig.c A few functions are only used from __init context. So annotate these with __init for consistency and silence the following warnings: WARNING: net/ipv4/built-in.o(.text+0x2a876): Section mismatch in reference from the function ic_bootp_init() to the variable .init.data:bootp_packet_type WARNING: net/ipv4/built-in.o(.text+0x2a907): Section mismatch in reference from the function ic_bootp_cleanup() to the variable .init.data:bootp_packet_type Note: The warnings only appear with CONFIG_DEBUG_SECTION_MISMATCH=y Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 957d33fc1a3793e9ca8c24c6400271b924e46e19 Author: Randy Dunlap Date: Tue Apr 29 20:10:55 2008 -0700 docbook: fix fatal rapidio yet again (and more to come) Don't refer to file that no longer exists: docproc: linux-2.6.25-git14/arch/powerpc/kernel/rio.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 0ff5ce7f30b45cc2014cec465c0e96c16877116e Merge: c4755d1... ba7cc36... Author: Linus Torvalds Date: Tue Apr 29 20:37:59 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners V4L/DVB (7794): cx88: Fix a warning V4L/DVB (7792): ivtv: correct misspelled "HIMEM4G" to "HIGHMEM4G" in error message V4L/DVB (7791): ivtv: POLLHUP must be returned on eof V4L/DVB (7789b): Fix merge conflicts commit c4755d16fce9a4cdbb316c17657444856821bd4b Merge: c15a243... f1fa334... Author: Linus Torvalds Date: Tue Apr 29 20:34:49 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (48 commits) ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta ext4: fix test ext_generic_write_end() copied return value ext3: fix test ext_generic_write_end() copied return value ext4: Move mballoc headers/structures to a seperate header file mballoc.h ext4: cleanup for compiling mballoc with verification and debugging #defines ext4: don't use ext4_error in ext4_check_descriptors ext4: mark inode dirty after initializing the extent tree ext4: update ctime and mtime for truncate with extents. ext4: Don't do GFP_NOFS allocations after taking ext4_lock_group ext4: move headers out of include/linux ext4: fix wrong gfp type under transaction ext4: Fix hang on umount with quotas when journal is aborted ext4: Fix update of mtime and ctime on rename jdb2: replace remaining __FUNCTION__ occurrences ext4: replace remaining __FUNCTION__ occurrences jbd2: only create debugfs and stats entries if init is successful jbd2: fix kernel-doc notation jbd2: replace potentially false assertion with if block jbd2: eliminate duplicated code in revocation table init/destroy functions jbd2: tidy up revoke cache initialisation and destruction ... commit c15a2434ed4868cad99278ac4d4ae4de9de62e02 Merge: a94a630... adaa693... Author: Linus Torvalds Date: Tue Apr 29 20:34:17 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (24 commits) [XFS] Fix build failure after enabling CONFIG_XFS_DEBUG [XFS] remove dmapi cruft in xfs_file.c [XFS] remove sendfile leftovers [XFS] allow enabling CONFIG_XFS_DEBUG [XFS] Don't initialise new inode generation numbers to zero [XFS] Fix check for block zero access in xfs_write_iomap_allocate() [XFS] Don't double count reserved block changes on UP. [XFS] remove xfs_log_ticket_zone on rmmod [XFS] fix non-smp xfs build [XFS] Fix broken HAVE_SPLICE removal commit. [XFS] kill XFS_ICSB_SB_LOCKED [XFS] split xfs_icsb_balance_counter [XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held [XFS] Cleanup xfs_attr a bit with xfs_name and remove cred [XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir [XFS] kill parent == child checks in xfs_remove and xfs_rmdir [XFS] kill usesless IHOLD calls in xfs_rename [XFS] remove manual lookup from xfs_rename and simplify locking [XFS] shrink mrlock_t [XFS] simplify xfs_lookup ... commit ba7cc365f50cee0758e89217875e56ca3d972ed3 Author: Mauro Carvalho Chehab Date: Wed Apr 30 03:19:33 2008 -0300 V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners Signed-off-by: Mauro Carvalho Chehab commit c17bf5db76f19211eaed4d01614414f179a06554 Author: Mauro Carvalho Chehab Date: Wed Apr 30 02:17:14 2008 -0300 V4L/DVB (7794): cx88: Fix a warning drivers/media/video/cx88/cx88-i2c.c: In function 'attach_inform': drivers/media/video/cx88/cx88-i2c.c:102: warning: unused variable 'tun_setup' Signed-off-by: Mauro Carvalho Chehab commit dab2ea48dcd3f75fda7ea25479666693321636be Author: Robert P. J. Day Date: Mon Apr 28 20:16:20 2008 -0300 V4L/DVB (7792): ivtv: correct misspelled "HIMEM4G" to "HIGHMEM4G" in error message Signed-off-by: Robert P. J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 16928be301b0881f7b7afcf95e0ee7dc3214de8d Author: Hans Verkuil Date: Mon Apr 28 12:18:00 2008 -0300 V4L/DVB (7791): ivtv: POLLHUP must be returned on eof Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a94a630a4c69430bb4562ab8252104449bba9a67 Author: Stephen Rothwell Date: Wed Apr 30 11:16:16 2008 +1000 pasemi_edac needs to include linux/edac.h Commit c3c52bce6993c6d37af2c2de9b482a7013d646a7 ("edac: fix module initialization on several modules 2nd time") added a call to opstate_init but did not include linux/edac.h that declares it. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Linus Torvalds commit ff138171ec6f84f311fe8c0395ad7f9e6d04feec Author: Mauro Carvalho Chehab Date: Tue Apr 29 23:02:33 2008 -0300 V4L/DVB (7789b): Fix merge conflicts Some Kconfig names were changed. This patch reapplies the rename script, fixing for those drivers merged after the patch that renamed those items. Signed-off-by: Mauro Carvalho Chehab commit f1fa3342e271029f93d323ca664809b94594fe04 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:15 2008 -0400 ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta In ext4_mb_init_backend() 'i' is of type ext4_group_t. Since unsigned, i >= 0 is always true, so fix hot spins after err_freebuddy: and -meta: and prevent decrements when zero. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f8a87d89304c1eea8e4a8dc02d134f57590913c6 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:18 2008 -0400 ext4: fix test ext_generic_write_end() copied return value 'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7c2f3d6f89aab04c5c66a0a757888d3a77a5e899 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 22:01:27 2008 -0400 ext3: fix test ext_generic_write_end() copied return value 'copied' is unsigned, whereas 'ret2' is not. The test (copied < 0) fails Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: "Theodore Ts'o" commit 8f6e39a7ade8a5329c5651a2bc07010b3011da6a Author: Mingming Cao Date: Tue Apr 29 22:01:31 2008 -0400 ext4: Move mballoc headers/structures to a seperate header file mballoc.h Move function and structure definiations out of mballoc.c and put it under a new header file mballoc.h Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 60bd63d1928c65abd71d8b9b45672cf6e3101845 Author: Solofo Ramangalahy Date: Tue Apr 29 21:59:59 2008 -0400 ext4: cleanup for compiling mballoc with verification and debugging #defines This patch allows compiling mballoc with: #define AGGRESSIVE_CHECK #define DOUBLE_CHECK #define MB_DEBUG It fixes: Compilation errors: fs/ext4/mballoc.c: In function '__mb_check_buddy': fs/ext4/mballoc.c:605: error: 'struct ext4_prealloc_space' has no member named 'group_list' fs/ext4/mballoc.c:606: error: 'struct ext4_prealloc_space' has no member named 'pstart' fs/ext4/mballoc.c:608: error: 'struct ext4_prealloc_space' has no member named 'len' Compilation warnings: fs/ext4/mballoc.c: In function 'ext4_mb_normalize_group_request': fs/ext4/mballoc.c:2863: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int' fs/ext4/mballoc.c: In function 'ext4_mb_use_inode_pa': fs/ext4/mballoc.c:3103: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int' Sparse check: fs/ext4/mballoc.c:3818:2: warning: context imbalance in 'ext4_mb_show_ac' - different lock contexts for basic block Signed-off-by: Solofo Ramangalahy Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b Author: Josef Bacik Date: Tue Apr 29 22:00:28 2008 -0400 ext4: don't use ext4_error in ext4_check_descriptors Because ext4_check_descriptors is called at mount time you can't use ext4_error as it calls ext4_commit_sb, which since the sb isn't all the way initialized causes bad things to happen (ie a panic). This patch changes the ext4_error's to printk's to keep this problem from happening. Thanks much, Signed-off-by: Josef Bacik Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8753e88f1b4345677620ec68f847222a6301e2fd Author: Aneesh Kumar K.V Date: Tue Apr 29 22:00:36 2008 -0400 ext4: mark inode dirty after initializing the extent tree We should mark the inode dirty only after initializing the extent tree. Also if we fail during extent initialization we need to call DQUOT_FREE_INODE. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit ef7377289a1510d638004158e43878643bc75dc5 Author: Solofo Ramangalahy Date: Tue Apr 29 22:00:41 2008 -0400 ext4: update ctime and mtime for truncate with extents. The recently announced "Linux POSIX file system test suite" caught a truncate issue when using extents: mtime and ctime are not updated when truncate is successful. This is the single issue caught with "default" ext4 (mkfs and mount with minimal options). The testsuite does not report failure with -o noextents. With the following patch, all tests of the testsuite pass. Signed-off-by: Solofo Ramangalahy Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c83617db76353ff30e825874be2c15c185b95759 Author: Aneesh Kumar K.V Date: Tue Apr 29 22:00:47 2008 -0400 ext4: Don't do GFP_NOFS allocations after taking ext4_lock_group We can't do GFP_NOFS allocation after taking ext4_lock_group BUG: sleeping function called from invalid context at mm/slab.c:3054 in_atomic():1, irqs_disabled():0 1 lock held by vi/2426: #0: (&ei->i_data_sem){----}, at: [] ext4_release_file+0x23/0x66 Pid: 2426, comm: vi Not tainted 2.6.25-rc7 #24 [] __might_sleep+0xbe/0xc5 [] kmem_cache_alloc+0x22/0xa6 [] ext4_mb_release_inode_pa+0x73/0x1b3 [] ext4_mb_discard_inode_preallocations+0x22d/0x2d4 [] ? param_set_ushort+0x32/0x39 [] ext4_discard_reservation+0x27/0x6a [] ext4_release_file+0x2a/0x66 [] __fput+0xae/0x155 [] fput+0x17/0x19 [] filp_close+0x50/0x5a [] sys_close+0x71/0xad [] sysenter_past_esp+0x5f/0xa5 Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 127ce971adeb4514bc4edc5bf45f79beb0c94aa5 Author: bo yang Date: Tue Apr 29 03:55:33 2008 -0400 [SCSI] megaraid_sas; Update the Version and Changelog Update the Version and Changelog for megaraid_sas Driver Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit c3a3b55ae80a0d595445064159c69f8e80911e85 Author: Brian King Date: Fri Apr 25 16:58:29 2008 -0500 [SCSI] ibmvscsi: Handle non SCSI error status Adds support to the ibmvscsi driver to handle non SCSI error status. This is needed to support some new VIOS enhancements. Signed-off-by: Brian King Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit 61d7416a286e840d905c18b1e6b0977c036c8656 Author: Alan D. Brunelle Date: Tue Apr 29 16:12:51 2008 -0400 [SCSI] bug fix for free list handling commit: commit 542bd1377a963070bc4a03ff7d2690ddf3920596 Author: James Bottomley Date: Mon Apr 21 10:57:20 2008 -0500 [SCSI] fix SLUB WARN_ON Fixed another problem in free list handling by moving list allocation from scsi_host_alloc() to scsi_add_host(). Unfortunately it introduced a new failure mode in that hosts can pass straight from alloc to put without going through add, leaving the free list uninitialised. Fix by checking shost->cmd_pool on the release path to see if it got initialised. Signed-off-by: Alan D. Brunelle Signed-off-by: James Bottomley commit 49dd09613cf8ae3b697c341c501b7526b462cfeb Author: Brian King Date: Mon Apr 28 17:36:20 2008 -0500 [SCSI] ipr: Rename ipr's state scsi host attribute to prevent collisions Due to recent device model changes it now no longer tolerates name collisions. This causes a problem for ipr whose "state" attribute collides with an identically named one in the SCSI mid-layer. Rename the ipr driver attribute to be more specific. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 69cd39e94669e2994277a29249b6ef93b088ddbb Author: Hannes Reinecke Date: Fri Apr 18 13:57:20 2008 -0700 [SCSI] megaraid_mbox: fix Dell CERC firmware problem Newer Dell CERC firmware (>= 6.62) implement a random deletion handling compatible with the legacy megaraid driver. The legacy handling shifted the target ID by 0x80 only for I/O commands (READ/WRITE/etc), whereas megaraid_mbox shifts the target ID always if random deletion is supported. The resulted in megaraid_mbox sending an INQUIRY to the wrong channel, and not finding any devices, obviously. So we disable the random deletion support if the offending firmware is found. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6695 Signed-off-by: Hannes Reinecke Signed-off-by: Andrew Morton Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit 33ae0cdd3eaba219e7c2f0647b6db4be540e2130 Merge: f5ba0cf... fe086a7... Author: Linus Torvalds Date: Tue Apr 29 16:50:49 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO [IA64] allocate multiple contiguous pages via uncached allocator [IA64] bugfix: nptcg breaks cpu-hotadd commit f5ba0cf3cb145f9a8cc125fb0cc013c5656d6259 Merge: c65a350... d20bdda... Author: Linus Torvalds Date: Tue Apr 29 15:58:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: Smack: Integrate Smack with Audit Security: Typecast CAP_*_SET macros Security: Make secctx_to_secid() take const secdata commit d20bdda6d45a4035e48ca7ae467a0d955c1ffc60 Author: Ahmed S. Darwish Date: Wed Apr 30 08:34:10 2008 +1000 Smack: Integrate Smack with Audit Setup the new Audit hooks for Smack. SELinux Audit rule fields are recycled to avoid `auditd' userspace modifications. Currently only equality testing is supported on labels acting as a subject (AUDIT_SUBJ_USER) or as an object (AUDIT_OBJ_USER). Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler commit 70b9f7dc1435412ca2b89b13a8353bd9915a7189 Author: Yinghai Lu Date: Mon Apr 28 16:27:23 2008 -0700 x86/pci: remove flag in pci_cfg_space_size_ext so let pci_cfg_space_size call it directly without flag. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 780db6c104de48104501f5943361f2371564b85d Author: David Howells Date: Tue Apr 29 20:54:28 2008 +0100 Security: Typecast CAP_*_SET macros Cast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler warnings. Signed-off-by: David Howells Signed-off-by: James Morris commit e52c1764f18a62776a0f2bc6752fb76b6e345827 Author: David Howells Date: Tue Apr 29 20:52:51 2008 +0100 Security: Make secctx_to_secid() take const secdata Make secctx_to_secid() take constant secdata. Signed-off-by: David Howells Acked-by: Casey Schaufler Signed-off-by: James Morris commit c65a3500b2947d344862da8cce626b7cc7ec5758 Merge: d973664... f7e9893... Author: Linus Torvalds Date: Tue Apr 29 15:19:09 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] linux/libata.h: reorganize ata_device struct members a bit ahci: SB600 ahci can't do MSI, blacklist that capability libata: More TSSTcorp pain, keep in sync with legacy IDE pata_via: Fix 6410 misdetect [libata] pata_atiixp: fix PIO timing data misprogramming commit d973664992d814d93db161b28c0cc9a4c7e68f42 Merge: 2d5e3e8... 9d87dd9... Author: Linus Torvalds Date: Tue Apr 29 15:18:06 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (26 commits) [ARM] pxa: fix 1c104e0e4f6ab396960c058e95e18bdedcac945b [ARM] serial: s3c2410: platform_get_irq() may return signed unnoticed [ARM] am79c961a: platform_get_irq() may return signed unnoticed [ARM] Feroceon: Feroceon-specific WA-cache compatible {copy,clear}_user_page() [ARM] Feroceon: fix function alignment in proc-feroceon.S [ARM] Orion: catch a couple more alternative spellings of PCIe [ARM] Orion: fix orion-ehci platform resource end addresses [ARM] Orion: fix ->map_irq() PCIe bus number check [ARM] Orion: fix ioremap() optimization [ARM] feroceon: remove CONFIG_CPU_CACHE_ROUND_ROBIN check [ARM] feroceon: remove CONFIG_CPU_DCACHE_WRITETHROUGH check kprobes/arm: fix decoding of arithmetic immediate instructions kprobes/arm: fix cache flush address for instruction stub [ARM] 5022/1: Race in ARM MMCI PL18x driver, V2 [ARM] 5021/1: at91: buildfix for sam9263 + PM [ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation [ARM] 5016/1: AT91: typo in mci configuration for at91cap at91sam9263 [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake() [ARM] 5020/1: magician: remove __devinit marker from pasic3_leds_info [ARM] 5014/1: Cleanup reset state before entering suspend or resetting. ... commit 3dcf54515aa4981a647ad74859199032965193a5 Author: Christoph Hellwig Date: Tue Apr 29 18:13:32 2008 -0400 ext4: move headers out of include/linux Move ext4 headers out of include/linux. This is just the trivial move, there's some more thing that could be done later. Signed-off-by: Christoph Hellwig Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 216553c4b7f3e3e2beb4981cddca9b2027523928 Author: Josef Bacik Date: Tue Apr 29 22:02:02 2008 -0400 ext4: fix wrong gfp type under transaction This fixes the allocations with GFP_KERNEL while under a transaction problems in ext4. This patch is the same as its ext3 counterpart, just switches these to GFP_NOFS. Signed-off-by: Josef Bacik Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2887df139c40512cdc147d1a84d95d4f3d261bd1 Author: Jan Kara Date: Tue Apr 29 22:02:07 2008 -0400 ext4: Fix hang on umount with quotas when journal is aborted Call dquot_drop() from ext4_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Thanks to Payphone LIOU for spotting the problem. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao CC: Payphone LIOU Signed-off-by: "Theodore Ts'o" commit 53b7e9f6807c1274eee19201396b4c2b5f721553 Author: Jan Kara Date: Tue Apr 29 22:02:11 2008 -0400 ext4: Fix update of mtime and ctime on rename The patch below makes ext4 update mtime and ctime of the directory into which we move file even if the directory entry already exists. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit fe086a7bea7ab714930bd48addba961ceeef7634 Author: Alex Chiang Date: Tue Apr 29 15:05:29 2008 -0700 [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id Legacy HP ia64 platforms currently cannot provide /proc/cpuinfo/physical_id due to legacy SAL/PAL implementations. However, that physical topology information can be obtained via ACPI. Provide an interface that gives ACPI one last chance to provide physical_id for these legacy platforms. This logic only comes into play iff: - ACPI actually provides slot information for the CPU - we lack a valid socket_id Otherwise, we don't do anything. Since x86 uses the ACPI processor driver as well, we provide a nop stub function for arch_fix_phys_package_id() in asm-x86/topology.h Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit 2d5e3e8d28a7820de1eb7b18a7c15d645bb26992 Merge: b57ab76... aed6abd... Author: Linus Torvalds Date: Tue Apr 29 14:53:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (28 commits) V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix V4L/DVB (7782): pvrusb2: Driver is no longer experimental V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2 V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug Rename common tuner Kconfig names to use the same Fix V4L/DVB core help messages V4L/DVB (7769): Move other terrestrial tuners to common/tuners V4L/DVB (7768): reorganize some DVB-S Kconfig items V4L/DVB(7767): Move tuners to common/tuners V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6 V4L/DVB (7765): Add support for Beholder BeholdTV H6 V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116 V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms V4L/DVB (7759): ivtv: increase version number to 1.2.1 ... commit b57ab7632b8fc1eef139bbbb7a89002be61f99e1 Merge: f12c037... 3760f73... Author: Linus Torvalds Date: Tue Apr 29 14:48:31 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Convert most new-style drivers to use module aliasing i2c: Add support for device alias names i2c-amd756-s4882: Fix an error path i2c: Drop unused RTC driver IDs i2c/tps65010: Add missing intialization of client data i2c-sis5595: Minor cleanups in sis5595_access i2c-piix4: Minor cleanups i2c: Spelling fix (successful) i2c-stub: No newline in parameter description commit f7e989301b6c232dec5489e94ee7741c85cb11ba Author: Jeff Garzik Date: Tue Apr 29 17:47:34 2008 -0400 [libata] linux/libata.h: reorganize ata_device struct members a bit Put the big stuff at the end, to prepare for upcoming changes (and also hopefully achieve nicer packing of remaining members). Signed-off-by: Jeff Garzik commit 22b5e7a74280deae560c20ee1a9b502b35181327 Author: Tejun Heo Date: Tue Apr 29 16:09:22 2008 +0900 ahci: SB600 ahci can't do MSI, blacklist that capability This fixes bz#10507. Signed-off-by: Tejun Heo Cc: Shane Huang Signed-off-by: Jeff Garzik commit aed6abd662c2903733bea7fcd3856c306e650680 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:51 2008 -0300 V4L-DVB(7789a): cx18: fix symbol conflict with ivtv driver LD drivers/media/video/built-in.o drivers/media/video/cx18/built-in.o: In function `get_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:118: multiple definition of `get_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:119: first defined here drivers/media/video/cx18/built-in.o: In function `expand_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:92: multiple definition of `expand_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:92: first defined here drivers/media/video/cx18/built-in.o: In function `service2vbi': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:44: multiple definition of `service2vbi' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:42: first defined here make[2]: ** [drivers/media/video/built-in.o] Erro 1 make[1]: ** [drivers/media/video] Erro 2 make: ** [drivers/media/] Erro 2 Signed-off-by: Mauro Carvalho Chehab commit a07c8779fd212dcbad886a2824ef5f8b42cd5a06 Author: Michael Krufky Date: Tue Apr 29 03:54:19 2008 -0300 V4L/DVB (7789): tuner: remove static dependencies on analog tuner sub-modules Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4407a463dd6afc892aedfbdc4237c42136d9f848 Author: Adrian Bunk Date: Mon Apr 28 17:13:51 2008 -0300 V4L/DVB (7785): [2.6 patch] make mt9{m001,v022}_controls[] static This patch makes the needlessly global mt9{m001,v022}_controls[] static. Signed-off-by: Adrian Bunk Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c1e45d17b663d4749af456ab7c2fc1f36405ef8 Author: Hans Verkuil Date: Mon Apr 28 20:24:33 2008 -0300 V4L/DVB (7786): cx18: new driver for the Conexant CX23418 MPEG encoder chip Many thanks to Steve Toth from Hauppauge and Nattu Dakshinamurthy from Conexant for their support. I am in particular thankful to Hauppauge since without their help this driver would not exist. It should also be noted that Steve did the work to get the DVB part up and running. Thank you! Signed-off-by: Hans Verkuil Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: G. Andrew Walls Signed-off-by: Mauro Carvalho Chehab commit d74bee8b4776b5051c650a90f49a2022d46d8588 Author: Andrew Morton Date: Mon Apr 28 08:54:56 2008 -0300 V4L/DVB (7783): drivers/media/dvb/frontends/s5h1420.c: printk fix drivers/media/dvb/frontends/s5h1420.c: In function `s5h1420_setsymbolrate': drivers/media/dvb/frontends/s5h1420.c:484: warning: long long unsigned int format, u64 arg (arg 2) We do not know what type the architecture uses for u64. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit f4d2782411d502c39f2c21376377c745c0f09061 Author: Mike Isely Date: Sun Apr 27 21:37:33 2008 -0300 V4L/DVB (7782): pvrusb2: Driver is no longer experimental This driver has been in-kernel and reasonably stable for well over a year. It is in a stable form and is known to work well. Remove its experimental status. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8ed3c844040e492239609c9559de04d5397a6b2b Author: Michael Krufky Date: Sun Apr 27 19:22:45 2008 -0300 V4L/DVB (7781): pvrusb2-dvb: include dvb support by default and update Kconfig help text Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 749b6a77b0cb43b12b51f62735f948e9ccc34ba6 Author: Michael Krufky Date: Sun Apr 27 19:12:29 2008 -0300 V4L/DVB (7780): pvrusb2: always enable support for OnAir Creator / HDTV USB2 This was a build option in the past, to avoid conflicts with the cxusb module for digital televsion support. Now that dtv mode support has been merged into pvrusb2, the OnAir devices are fully supported by this single module. This no longer should be a build option. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 485fcaed25ed42d064445f9a65faa79a1faa6b0c Author: Michael Krufky Date: Sat Apr 26 19:44:59 2008 -0300 V4L/DVB (7779): pvrusb2-dvb: quiet down noise in kernel log for feed debug Get rid of the noise in dmesg during dvb feed changes, unless the appropriate debug trace flag is enabled. Signed-off-by: Michael Krufky Reviewed-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 149ef72deeba57078216c9fa678baff392295853 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:46 2008 -0300 Rename common tuner Kconfig names to use the same namespace for all of them. commit f1784354f774e1fa4863fc6382296ef6ede26dc5 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:45 2008 -0300 Fix V4L/DVB core help messages Signed-off-by: Mauro Carvalho Chehab commit b094516f9589245617eb5d0452769826063f72ac Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:45 2008 -0300 V4L/DVB (7769): Move other terrestrial tuners to common/tuners Those tuners are currently used only under media/dvb. However, they can support also analog TV. Better to move them to the same place as the other hybrid tuners. This would make easier to use those tuners also by analog drivers. Signed-off-by: Mauro Carvalho Chehab commit df7aaaf3a74016cbc72382b6388c7c62f3df49b2 Author: Mauro Carvalho Chehab Date: Sat Apr 26 16:19:58 2008 -0300 V4L/DVB (7768): reorganize some DVB-S Kconfig items There are some DVB-S tuners together with DVB-S tags, while others together with tuners. Better to have all of them together. Signed-off-by: Mauro Carvalho Chehab commit 7c91f0624a9a2b8b9b122cf94fef34bc7f7347a6 Author: Mauro Carvalho Chehab Date: Tue Apr 29 21:38:44 2008 -0300 V4L/DVB(7767): Move tuners to common/tuners There were several issues in the past, caused by the hybrid tuner design, since now, the same tuner can be used by drivers/media/dvb and drivers/media/video. Kconfig items were rearranged, to split V4L/DVB core from their drivers. Signed-off-by: Mauro Carvalho Chehab commit 5fe95e0b865060839449e1a61c1d5c67a4faab9a Author: Igor Kuznetsov Date: Sat Apr 26 14:59:08 2008 -0300 V4L/DVB (7766): saa7134: add another PCI ID for Beholder M6 Signed-off-by: Igor Kuznetsov Signed-off-by: Mauro Carvalho Chehab commit 025052716d124ab6e5f23d6a535e843a31fb8b35 Author: Igor Kuznetsov Date: Sat Apr 26 14:53:48 2008 -0300 V4L/DVB (7765): Add support for Beholder BeholdTV H6 Signed-off-by: Igor Kuznetsov Signed-off-by: Mauro Carvalho Chehab commit 136531dac435828c4aa9ca694a7693b63a573be1 Author: Hans Verkuil Date: Sat Apr 26 14:16:18 2008 -0300 V4L/DVB (7763): ivtv: add tuner support for the AverMedia M116 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a0bdd273a2fdb2a0debc90d5f8826073e2ddea4d Author: Hans Verkuil Date: Sat Apr 26 12:10:58 2008 -0300 V4L/DVB (7762): ivtv: fix tuner detection for PAL-N/Nc Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2968e31361a2687cebeda6f558f82a3ec9354ca6 Author: Hans Verkuil Date: Sat Apr 26 11:22:11 2008 -0300 V4L/DVB (7761): ivtv: increase the DMA timeout from 100 to 300 ms When there is a lot of DMA traffic this timeout might sometimes be too low. Increase it to be on the safe side. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fcbbf6fb07aa020088d5a35c289c80449a8e684b Author: Hans Verkuil Date: Sat Apr 26 09:43:22 2008 -0300 V4L/DVB (7759): ivtv: increase version number to 1.2.1 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 94dee760823606ff6e191efc60e5bb98b81f1676 Author: Hans Verkuil Date: Sat Apr 26 09:26:13 2008 -0300 V4L/DVB (7758): ivtv: fix oops when itv->speed == 0 and VIDEO_CMD_PLAY is called Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 22f23fcc13e34a1efde8e7c37d157516fc1aa24f Author: Hans Verkuil Date: Sat Apr 26 09:19:44 2008 -0300 V4L/DVB (7757): ivtv: add autodetect for the AVermedia M104 card Note that this card is only detected and not yet working. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cebfadff4a5c877c524ae6014613edab9f50a2a9 Author: Hans Verkuil Date: Sat Apr 26 08:51:51 2008 -0300 V4L/DVB (7756): ivtv: use strlcpy instead of strcpy Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ecfcc83b8d6ff8ac65b072b309a1774ca52d955e Author: Hans Verkuil Date: Sat Apr 26 08:48:26 2008 -0300 V4L/DVB (7755): ivtv: add support for card comments and detected but unsupported cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d86e2ee98eeef61bdab8ca1bf4837c5709173790 Author: Hans Verkuil Date: Sat Apr 26 08:43:50 2008 -0300 V4L/DVB (7754): ivtv: change initialization order to fix an oops when device registration failed Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c117d05cd4c09342f97ba1c6ef63f0bae3239a39 Author: Mauro Carvalho Chehab Date: Sat Apr 26 14:05:58 2008 -0300 V4L/DVB (7753): saa7134: fix tuner setup Tuner setup were happening during i2c attach callback. This means that it would happen on two conditions: 1) if tuner module weren't load, it will happen at request_module("tuner"); 2) if tuner is not compiled as a module, or it is already loaded (for example, on setups with more than one tuner), it will happen when saa7134 registers I2C bus. Due to that, if tuner were loaded, tuner setup will happen _before_ reading the proper values at tuner eeprom. Since set_addr refuses to change for a tuner that were previously defined (except if the tuner_addr is set), this were making eeprom tuner detection useless. This patch removes tuner type setup from saa7134-i2c, moving it to the proper place, after taking eeprom into account. Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 397be5c4d66e6583ce3d38b0f99a56eb9818492b Author: Mauro Carvalho Chehab Date: Sat Apr 26 14:04:10 2008 -0300 V4L/DVB (7752): tuner-core: add a missing \n after a debug printk Signed-off-by: Mauro Carvalho Chehab commit 4bf1226a7018bf79d05e0ce59244d702819529d1 Author: Mauro Carvalho Chehab Date: Sat Apr 26 11:55:09 2008 -0300 V4L/DVB (7749): cx88: fix tuner setup Tuner setup were happening during i2c attach callback. This means that it would happen on two conditions: 1) if tuner module weren't load, it will happen at request_module("tuner"); 2) if tuner is not compiled as a module, or it is already loaded (for example, on setups with more than one tuner), it will happen when cx88 registers I2C bus. Due to that, if tuner were loaded, tuner setup will happen _before_ reading the proper values at tuner eeprom. Since set_addr refuses to change for a tuner that were previously defined (except if the tuner_addr is set), this were making eeprom tuner detection useless. This patch removes tuner type setup from cx88-i2c, moving it to the proper place, after taking eeprom into account. Reviewed-by: Gert Vervoort Reviewed-by: Ian Pickworth Signed-off-by: Mauro Carvalho Chehab commit a79067e513c71733223e13a52aacc8dbd71e9f46 Author: Alan Cox Date: Tue Apr 29 14:08:36 2008 +0100 libata: More TSSTcorp pain, keep in sync with legacy IDE Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 11f6400e92aa3fc0aa936f20f7cc363674a4e3c4 Author: Alan Cox Date: Tue Apr 29 14:10:57 2008 +0100 pata_via: Fix 6410 misdetect The discrete VIA ATA chips don't have 0x40 enable bits. We check that properly in one location but not another. This causes some users 6410 RAID cards to be incorrectly skipped. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d7b5a23fc6e85456ed00a997ff2d925fb3f0dc52 Author: Jeff Garzik Date: Tue Apr 29 17:39:45 2008 -0400 [libata] pata_atiixp: fix PIO timing data misprogramming Use correct variable, achieve desired result... Spotted by LKML/linux-ide poster whose name I lost (apologies!) Signed-off-by: Jeff Garzik commit 3760f736716f74bdc62a4ba5406934338da93eb2 Author: Jean Delvare Date: Tue Apr 29 23:11:40 2008 +0200 i2c: Convert most new-style drivers to use module aliasing Based on earlier work by Jon Smirl and Jochen Friedrich. Update most new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. I've left the video drivers apart (except for SoC camera drivers) as they're a bit more diffcult to deal with, they'll have their own patch later. Signed-off-by: Jean Delvare Cc: Jon Smirl Cc: Jochen Friedrich commit d2653e92732bd3911feff6bee5e23dbf959381db Author: Jean Delvare Date: Tue Apr 29 23:11:39 2008 +0200 i2c: Add support for device alias names Based on earlier work by Jon Smirl and Jochen Friedrich. This patch allows new-style i2c chip drivers to have alias names using the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this point, the old i2c driver binding scheme (driver_name/type) is still supported. Signed-off-by: Jean Delvare Cc: Jochen Friedrich Cc: Jon Smirl Cc: Kay Sievers commit ee56d977423a58b53fd0fc1ef0aca0c9cb564c53 Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c-amd756-s4882: Fix an error path If initialization fails, we want to restore the physical bus, not delete it again. Signed-off-by: Jean Delvare commit 306f39f8f2ecf896ae761748843b148b90d3494d Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c: Drop unused RTC driver IDs The x1208, pcf8563 and isl1208 RTC drivers have been converted to new-style i2c drivers, so they no longer use I2C driver IDs. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 6d072d78f87e8fe0fe30d096991b83af07f8bdfe Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c/tps65010: Add missing intialization of client data tps65010_remove() calls i2c_get_clientdata(client) but the client data is never set during initialization, so it gets a NULL pointer at best. I guess it was never spotted because the tps65010 driver is typically not built modular so this function is discarded. Signed-off-by: Jean Delvare Cc: David Brownell commit 1842cc2eeb345c4eef069ffd46e95359fb37b4b5 Author: Jean Delvare Date: Tue Apr 29 23:11:38 2008 +0200 i2c-sis5595: Minor cleanups in sis5595_access * Remove commented-out code. * Use dev_warn instead of printk. * Remove a legacy comment. Signed-off-by: Jean Delvare commit 3578a0759ed2f0ea1f2409144e628dad4d748059 Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c-piix4: Minor cleanups * Remove a needless include. * Remove a legacy comment in piix4_access. * Minor optimization in piix4_access. Signed-off-by: Jean Delvare commit c5d21b7fb747042cb2155698649cffccfd77d1f3 Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c: Spelling fix (successful) Signed-off-by: Jean Delvare commit 85d6931cde5bbb80254dcd2a9f0851bd3eb8960b Author: Jean Delvare Date: Tue Apr 29 23:11:37 2008 +0200 i2c-stub: No newline in parameter description Signed-off-by: Jean Delvare commit f12c03722045882a50c270f6332cf2c7b16a83d2 Merge: eeb85d0... 7495ab6... Author: Linus Torvalds Date: Tue Apr 29 14:02:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Formatting cleanup RDMA/nes: Add support for SFP+ PHY RDMA/nes: Use LRO IPoIB: Copy child MTU from parent IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute IB/mthca: Avoid recycling old FMR R_Keys too soon mlx4_core: Avoid recycling old FMR R_Keys too soon IB/ehca: Allocate event queue size depending on max number of CQs and QPs IPoIB: Use separate CQ for UD send completions IB/iser: Count FMR alignment violations per session IB/iser: Move high-volume debug output to higher debug level IB/ehca: handle negative return value from ibmebus_request_irq() properly RDMA/cxgb3: Support peer-2-peer connection setup RDMA/cxgb3: Set the max_mr_size device attribute correctly RDMA/cxgb3: Correctly serialize peer abort path mlx4_core: Add a way to set the "collapsed" CQ flag commit eeb85d0b0e312ab9a6c3476f18308409913ab369 Merge: 355a469... 6d1cee4... Author: Linus Torvalds Date: Tue Apr 29 14:01:25 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: alim15x3: disable init_hwif_ali15x3 for PowerPC ide: fix crash at boot with siimage driver commit 6d1cee44361b8d06ccd1812e80448d86ae60dfe3 Author: Anton Vorontsov Date: Tue Apr 29 22:57:38 2008 +0200 alim15x3: disable init_hwif_ali15x3 for PowerPC We don't need init_hwif_ali15x3() on the PowerPC systems either. Before: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0: Disabled unable to get IRQ 14. ide0: failed to initialize IDE interface ide1: Disabled unable to get IRQ 15. ide1: failed to initialize IDE interface After: ALI15X3: IDE controller (0x10b9:0x5229 rev 0xc8) at PCI slot 0001:03:1f.0 ALI15X3: 100% native mode on irq 19 ide0: BM-DMA at 0x1120-0x1127 ide1: BM-DMA at 0x1128-0x112f hda: SONY DVD RW AW-Q170A, ATAPI CD/DVD-ROM drive hda: UDMA/66 mode selected ide0 at 0x1100-0x1107,0x110a on irq 19 ide1 at 0x1110-0x1117,0x111a on irq 19 hda: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache ide0 works well, though I can't test ide1, it isn't traced out on the board. Signed-off-by: Anton Vorontsov Signed-off-by: Bartlomiej Zolnierkiewicz commit b26b0c590066f65ff3b1ff438502f3c40ea39520 Author: Benjamin Herrenschmidt Date: Tue Apr 29 22:57:37 2008 +0200 ide: fix crash at boot with siimage driver Some change to the IDE layer are causing the siimage driver to crash at boot with a NULL dereference. This is due to the sil_dma_ops not containing all the necessary pointers. I suppose it used to just "override" the defaults while now, it needs to contain everything. [bart: while at it: sil_dma_ops should be const now (pointed out by Sergei)] Signed-off-by: Benjamin Herrenschmidt Cc: Sergei Shtylyov , Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ff0bc94eee96fe45e5caa338c8b03cb99431fa9 Author: Alex Chiang Date: Thu Apr 24 12:57:08 2008 -0600 [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO Commit 113134fcbca83619be4c68d0ca66db6093777b5d changed the flow of control when calling PAL_LOGICAL_TO_PHYSICAL and SAL_PHYSICAL_ID_INFO. With the change, if a platform did not implement the latter, a useless printk would appear in the boot log: ia64_sal_pltid failed with -1 So let's check the return code and only printk on a true error, and do not print anything in the unimplemented case. While we're in there, clean up some stylistic issues too. Signed-off-by: Alex Chiang Signed-off-by: Tony Luck commit e4a064dfa2b242519a9f06f9a1e58c27bf0c371b Author: Dean Nelson Date: Fri Apr 25 15:22:19 2008 -0500 [IA64] allocate multiple contiguous pages via uncached allocator Enable the uncached allocator to allocate multiple pages of contiguous uncached memory. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit e617fce64e5faea149fcf3bffc1b42e4ba29e7e5 Author: Hidetoshi Seto Date: Fri Apr 25 23:13:09 2008 +0900 [IA64] bugfix: nptcg breaks cpu-hotadd If "max_purges" from PAL is 0, it actually means 1. However it was not handled later when a hot-added cpu pass the max_purges from PAL. This makes systems easy to go BUG_ON(). Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 7495ab6837ea4660f5e14ad49e5bfc558d6862e7 Author: Glenn Streiff Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Formatting cleanup Various cleanups: - Change // to /* .. */ - Place whitespace around binary operators. - Trim down a few long lines. - Some minor alignment formatting for better readability. - Remove some silly tabs. Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 0e1de5d62e751ca9c589d8dfabfc1e5074e62724 Author: Eric Schneider Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Add support for SFP+ PHY This patch enables the iw_nes module for NetEffect RNICs to support additional PHYs including SFP+ (referred to as ARGUS in the code). Signed-off-by: Eric Schneider Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 37dab4112d7b53c3574426ef7bdd92a78d32ac3e Author: Faisal Latif Date: Tue Apr 29 13:46:54 2008 -0700 RDMA/nes: Use LRO Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit b4132efa1a47858d741ecb05b8735e6fcb603bc8 Author: Eli Cohen Date: Tue Apr 29 13:46:53 2008 -0700 IPoIB: Copy child MTU from parent When creating a child interface, copy the MTU information from the parent. Otherwise when the child's multicast join completes, the MTU will not be updated since the code does dev->mtu = min(priv->mcast_mtu, priv->admin_mtu); and priv->admin_mtu will be set to 0. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit baaad380c0aa955f7d62e846467316c94067f1a5 Author: Roland Dreier Date: Tue Apr 29 13:46:53 2008 -0700 IB/mthca: Avoid changing userspace ABI to handle DMA write barrier attribute Commit cb9fbc5c ("IB: expand ib_umem_get() prototype") changed the mthca userspace ABI to provide a way for userspace to indicate which memory regions need the DMA write barrier attribute. However, it is possible to handle this without breaking existing userspace, by having the mthca kernel driver recognize whether it is talking to old or new userspace, depending on the size of the register MR structure passed in. The only potential drawback of this is that is allows old userspace (which has a bug with DMA ordering on large SGI Altix systems) to continue to run on new kernels, but the advantage of allowing old userspace to continue to work on unaffected systems seems to outweigh this, and we can print a warning to push people to upgrade their userspace. Signed-off-by: Roland Dreier commit 0bfe151cc4049f3f304adf28b37ea5437d02ad96 Author: Olaf Kirch Date: Tue Apr 29 13:46:53 2008 -0700 IB/mthca: Avoid recycling old FMR R_Keys too soon When a FMR is unmapped, mthca resets the map count to 0, and clears the upper part of the R_Key which is used as the sequence counter. This poses a problem for RDS, which uses ib_fmr_unmap as a fence operation. RDS assumes that after issuing an unmap, the old R_Keys will be invalid for a "reasonable" period of time. For instance, Oracle processes uses shared memory buffers allocated from a pool of buffers. When a process dies, we want to reclaim these buffers -- but we must make sure there are no pending RDMA operations to/from those buffers. The only way to achieve that is by using unmap and sync the TPT. However, when the sequence count is reset on unmap, there is a high likelihood that a new mapping will be given the same R_Key that was issued a few milliseconds ago. To prevent this, don't reset the sequence count when unmapping a FMR. Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit bbdc2821db041fb07ffa52e4a0e1ebb5410790e9 Author: Olaf Kirch Date: Tue Apr 29 13:46:53 2008 -0700 mlx4_core: Avoid recycling old FMR R_Keys too soon When a FMR is unmapped, mlx4 resets the map count to 0, and clears the upper part of the R_Key which is used as the sequence counter. This poses a problem for RDS, which uses ib_fmr_unmap as a fence operation. RDS assumes that after issuing an unmap, the old R_Keys will be invalid for a "reasonable" period of time. For instance, Oracle processes uses shared memory buffers allocated from a pool of buffers. When a process dies, we want to reclaim these buffers -- but we must make sure there are no pending RDMA operations to/from those buffers. The only way to achieve that is by using unmap and sync the TPT. However, when the sequence count is reset on unmap, there is a high likelihood that a new mapping will be given the same R_Key that was issued a few milliseconds ago. To prevent this, don't reset the sequence count when unmapping a FMR. Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit d227fa7288adebe5ba37fa8e4a589c977d4e4a34 Author: Stefan Roscher Date: Tue Apr 29 13:46:53 2008 -0700 IB/ehca: Allocate event queue size depending on max number of CQs and QPs If a lot of QPs fall into Error state at once and the EQ of the respective HCA is too small, it might overrun, causing the eHCA driver to stop processing completion events and calling the application's completion handlers, effectively causing traffic to stop. Fix this by limiting available QPs and CQs to a customizable max count, and determining EQ size based on these counts and a worst-case assumption. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit f56bcd8013566d4ad4759ae5fc85a6660e4655c7 Author: Eli Cohen Date: Tue Apr 29 13:46:53 2008 -0700 IPoIB: Use separate CQ for UD send completions Use a dedicated CQ for UD send completions. Also, do not arm the UD send CQ, which reduces the number of interrupts generated. This patch farther reduces overhead by not calling poll CQ for every posted send WR -- it does polls only when there 16 or more outstanding work requests. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 87528227dfa8776d12779d073c217f0835fd6d20 Author: Eli Dorfman Date: Tue Apr 29 13:46:52 2008 -0700 IB/iser: Count FMR alignment violations per session Count FMR alignment violations per session as part of the iscsi statistics. Signed-off-by: Eli Dorfman Signed-off-by: Roland Dreier commit 6f735e36bad6fa4949271b3c3d0f331aad812313 Author: Eli Dorfman Date: Tue Apr 29 13:46:52 2008 -0700 IB/iser: Move high-volume debug output to higher debug level Add another level for debug. Signed-off-by: Eli Dorfman Signed-off-by: Roland Dreier commit 7df109d917e85d3da2e25bd495c4997e87ed2a4e Author: Hoang-Nam Nguyen Date: Tue Apr 29 13:46:52 2008 -0700 IB/ehca: handle negative return value from ibmebus_request_irq() properly ehca_create_eq() was assigning a signed return value to an unsiged local variable and then checking if the variable was < 0, which meant that errors were always ignored. Fix this by using one variable for signed integer return values and another for u64 hcall return values. Bug originally found by Roel Kluin <12o3l@tiscali.nl>. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit f8b0dfd15277974b5c9f3ff17f9e3ab6fdbe45ee Author: Steve Wise Date: Tue Apr 29 13:46:52 2008 -0700 RDMA/cxgb3: Support peer-2-peer connection setup Open MPI, Intel MPI and other applications don't respect the iWARP requirement that the client (active) side of the connection send the first RDMA message. This class of application connection setup is called peer-to-peer. Typically once the connection is setup, _both_ sides want to send data. This patch enables supporting peer-to-peer over the chelsio RNIC by enforcing this iWARP requirement in the driver itself as part of RDMA connection setup. Connection setup is extended, when the peer2peer module option is 1, such that the MPA initiator will send a 0B Read (the RTR) just after connection setup. The MPA responder will suspend SQ processing until the RTR message is received and reply-to. In the longer term, this will be handled in a standardized way by enhancing the MPA negotiation so peers can indicate whether they want/need the RTR and what type of RTR (0B read, 0B write, or 0B send) should be sent. This will be done by standardizing a few bits of the private data in order to negotiate all this. However this patch enables peer-to-peer applications now and allows most of the required firmware and driver changes to be done and tested now. Design: - Add a module option, peer2peer, to enable this mode. - New firmware support for peer-to-peer mode: - a new bit in the rdma_init WR to tell it to do peer-2-peer and what form of RTR message to send or expect. - process _all_ preposted recvs before moving the connection into rdma mode. - passive side: defer completing the rdma_init WR until all pre-posted recvs are processed. Suspend SQ processing until the RTR is received. - active side: expect and process the 0B read WR on offload TX queue. Defer completing the rdma_init WR until all pre-posted recvs are processed. Suspend SQ processing until the 0B read WR is processed from the offload TX queue. - If peer2peer is set, driver posts 0B read request on offload TX queue just after posting the rdma_init WR to the offload TX queue. - Add CQ poll logic to ignore unsolicitied read responses. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ccaf10d0ad17bf755750160ebe594de7261a893e Author: Steve Wise Date: Tue Apr 29 13:46:52 2008 -0700 RDMA/cxgb3: Set the max_mr_size device attribute correctly cxgb3 only supports 4GB memory regions. The lustre RDMA code uses this attribute and currently has to code around our bad setting. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 989a1780698c65dfe093a6aa89ceeff84c31f528 Author: Steve Wise Date: Tue Apr 29 13:46:51 2008 -0700 RDMA/cxgb3: Correctly serialize peer abort path Open MPI and other stress testing exposed a few bad bugs in handling aborts in the middle of a normal close. Fix these by: - serializing abort reply and peer abort processing with disconnect processing - warning (and ignoring) if ep timer is stopped when it wasn't running - cleaning up disconnect path to correctly deal with aborting and dead endpoints - in iwch_modify_qp(), taking a ref on the ep before releasing the qp lock if iwch_ep_disconnect() will be called. The ref is dropped after calling disconnect. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e463c7b197dbe64b8a99b0612c65f286937e5bf1 Author: Yevgeny Petrilin Date: Tue Apr 29 13:46:50 2008 -0700 mlx4_core: Add a way to set the "collapsed" CQ flag Extend the mlx4_cq_resize() API with a way to set the "collapsed" flag for the CQ being created. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 98db6f193c93e9b4729215af2c9101210e11d26c Author: Sam Ravnborg Date: Tue Apr 29 22:38:48 2008 +0200 x86: fix section mismatch in pci_scan_bus Fix following section mismatch warning: WARNING: vmlinux.o(.text+0x275616): Section mismatch in reference from the function pci_scan_bus() to the function .devinit.text:pci_scan_bus_parented() The warning was seen with a CONFIG_DEBUG_SECTION_MISMATCH=y build. The inline function pci_scan_bus refer to functions annotated __devinit - so annotate it __devinit too. This revealed a few x86 specific functions that were only used from __init or __devinit context. So annotate these __devinit and the warning was killed. The added include in pci.h was not strictly required but added to avoid being dependent on indirect includes. Signed-off-by: Sam Ravnborg Signed-off-by: Jesse Barnes commit 9d87dd97ffcd3b5eb2bbaf0d5d93f4bfcaed3f04 Merge: 92794a5... 0ed1507... Author: Russell King Date: Tue Apr 29 21:31:13 2008 +0100 Merge branch 'orion-fixes2' commit 92794a5d6359f9e8ed0d43fe0f3c653f748dcc90 Merge: 681587c... 7883938... b46926b... Author: Russell King Date: Tue Apr 29 21:31:06 2008 +0100 Merge branches 'pxa' and 'orion-fixes1' commit 7883938b0d5ee8dd6381e1e2a9f71254252fd504 Author: Russell King Date: Tue Apr 29 21:28:03 2008 +0100 [ARM] pxa: fix 1c104e0e4f6ab396960c058e95e18bdedcac945b The referenced commit changed the order such that the CPU code was initialised before MFP, resulting in unregistered MFP sysfs objects being referenced. Reverse the link order of these so MFP is initialised before the CPU code. Signed-off-by: Russell King commit 355a46961b58012de239cafccbfce4c9321d4395 Author: Dave Jones Date: Tue Apr 29 16:01:22 2008 -0400 trivial: fix user-visible typo in hfsplus Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit 25f2ea9fc8c7ec34d351cef7dade2e8046e49ed1 Author: David Howells Date: Tue Apr 29 20:54:28 2008 +0100 Security: Typecast CAP_*_SET macros Cast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler warnings. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7bf570dc8dcf76df2a9f583bef2da96d4289ed0d Author: David Howells Date: Tue Apr 29 20:52:51 2008 +0100 Security: Make secctx_to_secid() take const secdata Make secctx_to_secid() take constant secdata. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 9b1ec9eceabe0c90d12116871f692263b69d476d Author: Steve French Date: Tue Apr 29 20:15:43 2008 +0000 [CIFS] Remove duplicate call to mode_to_acl The current logic in cifs_setattr calls mode_to_acl twice on mode changes if cifsacl is enabled. Remove the duplicate call. Signed-off-by: Jeff Layton CC: Shirish Pargaonkar Signed-off-by: Steve French commit 7663c1e2792a9662b23dec6e19bfcd3d55360b8f Author: Jens Axboe Date: Tue Apr 29 21:31:27 2008 +0200 Improve queue_is_locked() spin_is_locked() doesn't work on UP without spinlock debugging. Make it safer and just return 1 on UP, so we don't get false positives. The plan is to kill this debug function during the -rc cycle. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 6203554207728f43cfb9fd48585cd6500da73d42 Author: Linus Torvalds Date: Tue Apr 29 11:45:16 2008 -0700 drivers/net/tehuti: use proper capability check for raw IO access Yeah, in practice they both mean "root", but Alan correctly points out that anybody who gets to do raw IO space accesses should really be using CAP_SYS_RAWIO rather than CAP_NET_ADMIN. Pointed-out-by: Alan Cox Signed-off-by: Linus Torvalds commit 9781db7b345b5dfe93787aaaf310c861db7c1ede Merge: 97094dc... 8b67dca... Author: Linus Torvalds Date: Tue Apr 29 11:41:22 2008 -0700 Merge branch 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b50' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] new predicate - AUDIT_FILETYPE [patch 2/2] Use find_task_by_vpid in audit code [patch 1/2] audit: let userspace fully control TTY input auditing [PATCH 2/2] audit: fix sparse shadowed variable warnings [PATCH 1/2] audit: move extern declarations to audit.h Audit: MAINTAINERS update Audit: increase the maximum length of the key field Audit: standardize string audit interfaces Audit: stop deadlock from signals under load Audit: save audit_backlog_limit audit messages in case auditd comes back Audit: collect sessionid in netlink messages Audit: end printk with newline commit 97094dcf5cefc8ccfdf93839f54dac2c4d316165 Author: akpm@linux-foundation.org Date: Tue Apr 29 10:47:54 2008 -0700 drivers/pcmcia/pcmcia_ioctl.c: fix build argh. A hunk got lost from "proc: remove proc_bus" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9a3f6d6f541915bd7451fc7e9cb23a8b33a3ab8 Author: Jens Axboe Date: Tue Apr 29 19:12:35 2008 +0200 dm: use unlocked variants of queue flag check/set dm.c already provides mutual exclusion through ->map_lock. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit a217656cb26c5b7ebe9900354b2e808c1f74b470 Merge: 8f45c1a... a53edac... Author: Linus Torvalds Date: Tue Apr 29 10:17:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits) pciehp: fix error message about getting hotplug control pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 pci/irq: restore mask_bits in msi shutdown -v3 doc: replace yet another dev with pdev for consistency in DMA-mapping.txt PCI: don't expose struct pci_vpd to userspace doc: fix an incorrect suggestion to pass NULL for PCI like buses Consistently use pdev as the variable of type struct pci_dev *. pciehp: Fix command write shpchp: fix slot name make pciehp_acpi_get_hp_hw_control_from_firmware() pciehp: Clean up pcie_init() pciehp: Mask hotplug interrupt at controller release pciehp: Remove useless hotplug interrupt enabling pciehp: Fix wrong slot capability check pciehp: Fix wrong slot control register access pciehp: Add missing memory barrier pciehp: Fix interrupt event handlig pciehp: fix slot name Update MAINTAINERS with location of PCI tree PCI: Add Intel SCH PCI IDs ... commit 8f45c1a58a25c3a1a2f42521445e1e786c4c0b92 Author: Linus Torvalds Date: Tue Apr 29 10:16:38 2008 -0700 block: fix queue locking verification The new queue_flag_set/clear() functions verify that the queue is locked, but in doing so they will actually instead oops if the queue lock hasn't been initialized at all. So fix the lock debug test to consider the "no lock" case to be unlocked. This way you get a nice WARN_ON_ONCE() instead of a fatal oops. Bug introduced by commit 75ad23bc0fcb4f992a5d06982bf0857ab1738e9e ("block: make queue flags non-atomic"). Cc: Jens Axboe Cc: Nick Piggin Signed-off-by: Linus Torvalds commit 25a025863e024f6b86b48137b10b4960c50351b0 Merge: 1f43c53... 7e48bf6... Author: Linus Torvalds Date: Tue Apr 29 09:38:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: [ALSA] soc - wm9712 - checkpatch fixes [ALSA] pcsp - Fix more dependency [ALSA] hda - Add support of Medion RIM 2150 [ALSA] ASoC: Add drivers for the Texas Instruments OMAP processors [ALSA] ice1724 - Enable watermarks [ALSA] Add MPU401_INFO_NO_ACK bitflag commit 7e48bf653c37eb32c2ba4c13f15aa154aa807e61 Author: Mark Brown Date: Mon Apr 28 14:15:28 2008 +0100 [ALSA] soc - wm9712 - checkpatch fixes Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit bad7785d4a787dd32245772e7daecf80d3618de9 Author: Takashi Iwai Date: Mon Apr 28 12:35:41 2008 +0200 [ALSA] pcsp - Fix more dependency Added the missing dependency and select for snd-pcsp driver. Signed-off-by: Takashi Iwai commit df99cd334e5356b002a9480048c06265e558e180 Author: Takashi Iwai Date: Fri Apr 25 15:25:04 2008 +0200 [ALSA] hda - Add support of Medion RIM 2150 Added the support of Medion RIM 2150 laptop with ALC880 codec. ALSA bug#3708: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3708 Signed-off-by: Takashi Iwai commit 2e74796a45ee05bd901968ef1eb6cb884d1dca5e Author: Jarkko Nikula Date: Fri Apr 25 13:55:19 2008 +0200 [ALSA] ASoC: Add drivers for the Texas Instruments OMAP processors Add common OMAP ASoC drivers and machine driver for Nokia N810. Currently supported features are: - Covers OMAPs from 1510 to 2420 - Common DMA driver - DAI link driver using McBSP port in I2S mode - Basic machine driver for Nokia N810 Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7f70f046af855e027f7b53ec7d214c2d0c790b6d Author: Takashi Iwai Date: Fri Apr 25 09:15:12 2008 +0200 [ALSA] ice1724 - Enable watermarks Enable watermarks settings (previously commented out) for MPU RX/TX. Otherwise irqs aren't issued properly. Tested-by: Pavel Hofman Signed-off-by: Takashi Iwai commit df7e3fdf83699328d1fdf7000ce0dc852fbb0ad9 Author: Takashi Iwai Date: Fri Apr 25 09:13:45 2008 +0200 [ALSA] Add MPU401_INFO_NO_ACK bitflag Added MPU401_INFO_NO_ACK bitflag to ignore the ACK check for UART commands. VT172x doesn't handle ACK commands, for example. Tested-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 7aa0f1a8b1f7072990c9dc37f238c96dc6d78911 Author: Len Brown Date: Tue Apr 29 12:24:24 2008 -0400 intel_menlo: fix build warning drivers/misc/intel_menlow.c:191: warning: label ‘unregister’ defined but not used Signed-off-by: Len Brown commit a53edac131cadee317e7e36a5908bb4c71d874cd Author: Kenji Kaneshige Date: Tue Apr 29 09:15:04 2008 -0700 pciehp: fix error message about getting hotplug control People are confused by the following error message that actually is not for indicating a error. Cannot get control of hotplug hardware for pci %s This patch changes this message to debug message. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit d52877c7b1afb8c37ebe17e2005040b79cb618b0 Author: Yinghai Lu Date: Wed Apr 23 14:58:09 2008 -0700 pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 [PATCH 2/2] pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 this change | commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51 | Author: Prakash, Sathya | Date: Fri Mar 7 15:53:21 2008 +0530 | | [SCSI] mpt fusion: Enable MSI by default for SAS controllers | | This patch modifies the driver to enable MSI by default for all SAS chips. | | Signed-off-by: Sathya Prakash | Signed-off-by: James Bottomley | Causes the kexec of a RHEL 5.1 kernel to fail. root casue: the rhel 5.1 kernel still uses INTx emulation. and mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec path So call pci_msi_shutdown in the shutdown path to do the same thing to msix Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 8e149e09f91098fd72bf9ac5b4a77a693abf721e Author: Yinghai Lu Date: Wed Apr 23 14:56:30 2008 -0700 pci/irq: restore mask_bits in msi shutdown -v3 [PATCH 1/2] pci/irq: restore mask_bits in msi shutdown -v3 Yinghai found that kexec'ing a RHEL 5.1 kernel with 2.6.25-rc3+ kernels prevents his NIC from working. He bisected to | commit 89d694b9dbe769ca1004e01db0ca43964806a611 | Author: Thomas Gleixner | Date: Mon Feb 18 18:25:17 2008 +0100 | | genirq: do not leave interupts enabled on free_irq | | The default_disable() function was changed in commit: | | 76d2160147f43f982dfe881404cfde9fd0a9da21 | genirq: do not mask interrupts by default | For MSI, default_shutdown will call mask_bit for msi device. All mask bits will left disabled after free_irq. Then in the kexec case, the next kernel can only use msi_enable bit, so all device's MSI can not be used. So lets to restore the mask bit to its pci reset defined value (enabled) when we disable the kernels use of msi to be a little friendlier to kexec'd kernels. Extend msi_set_mask_bit to msi_set_mask_bits to take mask, so we can fully restore that to 0x00 instead of 0xfe. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 1f43c5393033de90bac4410352b1d2a69dcbe7ef Merge: c135b65... e90955c... Author: Linus Torvalds Date: Tue Apr 29 09:03:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86: fix PCI MSI breaks when booting with nosmp x86: vget_cycles() __always_inline x86: add more boot protocol documentation bootprotocol: cleanup x86: fix warning in "x86: clean up vSMP detection" x86: !x & y typo in mtrr code commit 2768f92c06a59c3ebf17a6b86002c3f33ab61a28 Author: Matti Linnanvuori Date: Tue Apr 29 10:54:09 2008 +0300 doc: replace yet another dev with pdev for consistency in DMA-mapping.txt Replace "dev" with "pdev" for consistency in DMA-mapping.txt. Signed-off-by: Matti Linnanvuori Signed-off-by: Jesse Barnes commit c135b6592bd63925397e60425e0301f33f06c7a6 Merge: 5f78e4d... 65c0d4e... Author: Linus Torvalds Date: Tue Apr 29 08:52:05 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: Fix bug - Implement bfin ata interrupt handler to avoid "irq 68 nobody cared" (v2) sata_mv: Improve naming of main_irq cause/mask identifiers libata-scsi: improve rbuf handling for simulated commands libata-scsi: clean up inquiry / mode sense related functions [MIPS] ATA: Rename routerboard 500 to 532 commit 5f78e4d33945b291d12765cdd7e4304f437b9361 Merge: 867a89e... 5f0b297... Author: Linus Torvalds Date: Tue Apr 29 08:26:51 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-pci: x86: add pci=check_enable_amd_mmconf and dmi check x86: work around io allocation overlap of HT links acpi: get boot_cpu_id as early for k8_scan_nodes x86_64: don't need set default res if only have one root bus x86: double check the multi root bus with fam10h mmconf x86: multi pci root bus with different io resource range, on 64-bit x86: use bus conf in NB conf fun1 to get bus range on, on 64-bit x86: get mp_bus_to_node early x86 pci: remove checking type for mmconfig probe x86: remove unneeded check in mmconf reject driver core: try parent numa_node at first before using default x86: seperate mmconf for fam10h out from setup_64.c x86: if acpi=off, force setting the mmconf for fam10h x86_64: check MSR to get MMCONFIG for AMD Family 10h x86_64: check and enable MMCONFIG for AMD Family 10h x86_64: set cfg_size for AMD Family 10h in case MMCONFIG x86: mmconf enable mcfg early x86: clear pci_mmcfg_virt when mmcfg get rejected x86: validate against acpi motherboard resources Fixed up fairly trivial conflicts in arch/x86/pci/{init.c,pci.h} due to OLPC support manually. commit 867a89e0b73af48838c7987e80899a1ff26dd6ff Merge: 44473d9... 6c39103... Author: Linus Torvalds Date: Tue Apr 29 08:19:14 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit [RAPIDIO] Add RapidIO connection info print out and re-training for broken connections [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641 [RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table [RAPIDIO] Add RapidIO node into MPC8641HPCN dts file [RAPIDIO] Auto-probe the RapidIO system size [RAPIDIO] Add OF-tree support to RapidIO controller driver [RAPIDIO] Add RapidIO multi mport support [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc [RAPIDIO] Add RapidIO option to kernel configuration [RAPIDIO] Change RIO function mpc85xx_ to fsl_ [POWERPC] Provide walk_memory_resource() for powerpc [POWERPC] Update lmb data structures for hotplug memory add/remove [POWERPC] Hotplug memory remove notifications for powerpc [POWERPC] windfarm: Add PowerMac 12,1 support [POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m [POWERPC] Add IRQSTACKS support on ppc32 [POWERPC] Use __always_inline for xchg* and cmpxchg* [POWERPC] Add fast little-endian switch system call commit 44473d991332053eb3fea1e08f8a6ee2c6fb409c Merge: bd5d435... 6501faf... Author: Linus Torvalds Date: Tue Apr 29 08:18:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] state info wrong after resume [CPUFREQ] allow use of the powersave governor as the default one [CPUFREQ] document the currently undocumented parts of the sysfs interface [CPUFREQ] expose cpufreq coordination requirements regardless of coordination mechanism commit bd5d435a96837c3495e62eef37cbe4cb728b79ae Merge: fee4b19... ac9fafa... Author: Linus Torvalds Date: Tue Apr 29 08:18:03 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: Skip I/O merges when disabled block: add large command support block: replace sizeof(rq->cmd) with BLK_MAX_CDB ide: use blk_rq_init() to initialize the request block: use blk_rq_init() to initialize the request block: rename and export rq_init() block: no need to initialize rq->cmd with blk_get_request block: no need to initialize rq->cmd in prepare_flush_fn hook block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline block/elevator.c:elv_rq_merge_ok() mustn't be inline block: make queue flags non-atomic block: add dma alignment and padding support to blk_rq_map_kern unexport blk_max_pfn ps3disk: Remove superfluous cast block: make rq_init() do a full memset() relay: fix splice problem commit fee4b19fb3f28d17c0b9f9ea0668db5275697178 Author: Thomas Gleixner Date: Tue Apr 29 12:01:02 2008 +0200 bitops: remove "optimizations" The mapsize optimizations which were moved from x86 to the generic code in commit 64970b68d2b3ed32b964b0b30b1b98518fde388e increased the binary size on non x86 architectures. Looking into the real effects of the "optimizations" it turned out that they are not used in find_next_bit() and find_next_zero_bit(). The ones in find_first_bit() and find_first_zero_bit() are used in a couple of places but none of them is a real hot path. Remove the "optimizations" all together and call the library functions unconditionally. Boot-tested on x86 and compile tested on every cross compiler I have. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit 8972331292753c89dbdd10b175e999ce78dc3be7 Author: Christoph Lameter Date: Tue Apr 29 01:04:12 2008 -0700 v850: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc1c3a003edb8a6778e64e10ef671a38c76c969e Author: Christoph Lameter Date: Tue Apr 29 01:04:12 2008 -0700 sh: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ca4d7bf7a650817c441073cb8d1c2c8dfbb9959 Author: Christoph Lameter Date: Tue Apr 29 01:04:10 2008 -0700 s390: use kbuild.h instead of defining macros in asm-offsets.c New version that does not preserve the marker. Arch maintainers indicate that the marker functionality is is not needed anymore. Note you may simplify the s390 asm-offsets.c code further if you use the OFFSET() macro instead of the DEFINE. See kbuild.h Signed-off-by: Christoph Lameter Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a88d7a8f467e4ab1d3393ed5bce3d68cdf9be2e Author: Christoph Lameter Date: Tue Apr 29 01:04:09 2008 -0700 s390: use kbuild.h instead of defining macros in asm-offsets.c s390 has a strange marker in DEFINE. Undefine the DEFINE from kbuild.h and define it the way s390 wants it to preserve things as they were. May be good if the arch maintainer could go over this and check if this workaround is really necessary. Signed-off-by: Christoph Lameter Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4d298feeaebb43e0a74e5e2333f1b566c34a37c Author: Christoph Lameter Date: Tue Apr 29 01:04:08 2008 -0700 ppc/powerpc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 943de37dbf313d33d1b4ee15a57fadeeeedc2556 Author: Christoph Lameter Date: Tue Apr 29 01:04:08 2008 -0700 parisc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59957fc31fb78806fc95c99466caa9a0fff735aa Author: Christoph Lameter Date: Tue Apr 29 01:04:07 2008 -0700 mn10300: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8045b4af69c905a2b44ffffb4a1c13ba85e0867 Author: Christoph Lameter Date: Tue Apr 29 01:04:05 2008 -0700 m68k/m68kmmu: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 501cd36f9de960f640f15ed37428631167108006 Author: Christoph Lameter Date: Tue Apr 29 01:04:04 2008 -0700 h8300: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de400bd278464fe811186b4b0d3a5cfac0d747fb Author: Christoph Lameter Date: Tue Apr 29 01:04:04 2008 -0700 frv: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5544b9ed81bf1677ad6c3e5b58c05837249805b7 Author: Christoph Lameter Date: Tue Apr 29 01:04:03 2008 -0700 blackfin: use kbuild.h instead of defining macros in asm-macros.c Signed-off-by: Christoph Lameter Cc: Bryan Wu Cc: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40765200b688939a012f5facc87d8ee07c40288b Author: Christoph Lameter Date: Tue Apr 29 01:04:02 2008 -0700 avr32: use kbuild.h macros instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32b07679b479eee9195870b337b05046f5efedfb Author: Christoph Lameter Date: Tue Apr 29 01:04:01 2008 -0700 sparc: use kbuild.h instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fcfbb1d317593d3d713a850bfdb310cc1585ae2 Author: Christoph Lameter Date: Tue Apr 29 01:04:00 2008 -0700 xtensa: use kbuild.h macros instead of defining them in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02cbe4749a79f880b29ce42bbb5441b8d57222e4 Author: Christoph Lameter Date: Tue Apr 29 01:03:59 2008 -0700 arm: use kbuild.h instead of macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad2bc7b480230fb298919c54fea37b7879f2251d Author: Christoph Lameter Date: Tue Apr 29 01:03:58 2008 -0700 ia64: use kbuild.h macros instead of defining macros in asm-offsets.c Signed-off-by: Christoph Lameter Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26946f4e9b3385f475df094371a016c9d217206a Author: Christoph Lameter Date: Tue Apr 29 01:03:58 2008 -0700 alpha: use kbuild.h instead of macros in asm-offsets.c Use the macros in kbuild.h Signed-off-by: Christoph Lameter Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd04d2067508d4a2b8cdb51d9ede1c0d96f13602 Author: Christoph Lameter Date: Tue Apr 29 01:03:55 2008 -0700 mips: use kbuild.h instead of macros in asm-offsets.c Use the macros provided in kbuild.h Signed-off-by: Christoph Lameter Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66916cd2670e2033a468c492a0192a643ff0965e Author: Christoph Lameter Date: Tue Apr 29 01:03:54 2008 -0700 x86: use kbuild.h Drop the macro definitions in asm-offsets_*.c and use kbuild.h Signed-off-by: Christoph Lameter Cc: Sam Ravnborg Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37487a56523d402e25650da16c337acf4cecd13d Author: Christoph Lameter Date: Tue Apr 29 01:03:49 2008 -0700 Add kbuild.h that contains common definitions for kbuild users The same definitions are used for the bounds logic and the asm-offsets.h generation by kbuild. Put them into include/linux/kbuild.h file. Also add a new feature COMMENT("text") which can be used to insert lines of ocmments into asm-offsets.h and bounds.h. Cc: Sam Ravnborg Signed-off-by: Christoph Lameter Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Ralf Baechle Cc: Jay Estabrook Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: "Luck, Tony" Cc: Russell King Cc: Chris Zankel Cc: David S. Miller Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Mike Frysinger Cc: Yoshinori Sato Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Greg Ungerer Cc: David Howells Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Mundt Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39fa00311f21318cc498b139c2cc2830dcad98ff Author: Jeff Moyer Date: Tue Apr 29 01:03:48 2008 -0700 aio: fix misleading comments The FIXME comments are inaccurate. The locking comment over lookup_ioctx() is wrong. Signed-off-by: Jeff Moyer Signed-off-by: Zach Brown Signed-off-by: Shen Feng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68ab3d883a2df13f4b93a923bae3a287cbee29d3 Author: Masami Hiramatsu Date: Tue Apr 29 01:03:46 2008 -0700 relayfs: support larger relay buffer Use vmalloc() and memset() instead of kcalloc() to allocate a page* array when the array size is bigger than one page. This enables relayfs to support bigger relay buffers than 64MB on 4k-page system, 512MB on 16k-page system. [akpm@linux-foundation.org: cleanup] Signed-off-by: Masami Hiramatsu Cc: David Wilder Reviewed-by: Tom Zanussi Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97a4feb4a78ae5cd130be7d546471a0779f1aa14 Author: Harvey Harrison Date: Tue Apr 29 01:03:45 2008 -0700 ncpfs: use get/put_unaligned_* helpers [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58d485d481013b47f50b7cd2cf9eab7795a0fcbd Author: Harvey Harrison Date: Tue Apr 29 01:03:44 2008 -0700 isofs: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3789e5d552b8ba4841926066ef0ccd664e209c Author: Harvey Harrison Date: Tue Apr 29 01:03:44 2008 -0700 hfsplus: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Roman Zippel Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 803f445f17aa1b71235ad6febae734dd7ad23ddd Author: Harvey Harrison Date: Tue Apr 29 01:03:43 2008 -0700 fat: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: OGAWA Hirofumi Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d15c0a4dc44f9d47d3dad03d17175aa1e6428093 Author: Harvey Harrison Date: Tue Apr 29 01:03:41 2008 -0700 video: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Petr Vandrovec Cc: Antonino Daplas Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5abdeafedf722b0f3f357f4a23089a686b1b80d Author: Harvey Harrison Date: Tue Apr 29 01:03:40 2008 -0700 usb: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Greg Kroah-Hartman Cc: Alan Stern Cc: David Brownell Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1e6f637469647f435f8f8ab00fbafa3c129712 Author: Harvey Harrison Date: Tue Apr 29 01:03:39 2008 -0700 pcmcia: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Dominik Brodowski Cc: Daniel Ritz Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 533dd1b0be103b0ff11da71152877e1ba530f1c2 Author: Harvey Harrison Date: Tue Apr 29 01:03:36 2008 -0700 wireless: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: John W. Linville Cc: Michael Buesch Cc: Daniel Drake Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6caf52a453d5fe0bc584a2895bfd39a3d9054829 Author: Harvey Harrison Date: Tue Apr 29 01:03:36 2008 -0700 net: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Jeff Garzik Cc: Auke Kok Cc: John Ronciak Cc: Jesse Brandeburg Cc: Grant Grundler Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48b2cf9e2921581c3f72295397da07673cdde072 Author: Harvey Harrison Date: Tue Apr 29 01:03:34 2008 -0700 mmc: use get/put_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: David Brownell Cc: Tony Jones Cc: Pierre Ossman Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 858ad08cf4c32a51d26552d3cb5fa8d5e2f0e579 Author: Harvey Harrison Date: Tue Apr 29 01:03:34 2008 -0700 input: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Dmitry Torokhov Cc: Jiri Kosina Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 973ea70c7c9be50d5ac34ff82a1c48fbe8fb2efb Author: Harvey Harrison Date: Tue Apr 29 01:03:32 2008 -0700 char: use get_unaligned_* helpers Remove unnecessary temp variable from_buf in snsc_event.c Signed-off-by: Harvey Harrison Cc: Jiri Slaby Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c105068f2b35343eecf2bf16ee29a362b6121fa3 Author: Harvey Harrison Date: Tue Apr 29 01:03:31 2008 -0700 hid-core: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Acked-by: Jiri Kosina Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f885f8d127665e784a8071755243bd4e18f594d5 Author: Harvey Harrison Date: Tue Apr 29 01:03:30 2008 -0700 drivers/block: use get_unaligned_* helpers Signed-off-by: Harvey Harrison Cc: Ed L. Cashin Cc: Jens Axboe Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6510d41954dc6a9c8b1dbca7eaca0f23195ca727 Author: Harvey Harrison Date: Tue Apr 29 01:03:30 2008 -0700 kernel: Move arches to use common unaligned access Unaligned access is ok for the following arches: cris, m68k, mn10300, powerpc, s390, x86 Arches that use the memmove implementation for native endian, and the byteshifting for the opposite endianness. h8300, m32r, xtensa Packed struct for native endian, byteshifting for other endian: alpha, blackfin, ia64, parisc, sparc, sparc64, mips, sh m86knommu is generic_be for Coldfire, otherwise unaligned access is ok. frv, arm chooses endianness based on compiler settings, uses the byteshifting versions. Remove the unaligned trap handler from frv as it is now unused. v850 is le, uses the byteshifting versions for both be and le. Remove the now unused asm-generic implementation. Signed-off-by: Harvey Harrison Acked-by: David S. Miller Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064106a91be5e76cb42c1ddf5d3871e3a1bd2a23 Author: Harvey Harrison Date: Tue Apr 29 01:03:27 2008 -0700 kernel: add common infrastructure for unaligned access Create a linux/unaligned directory similar in spirit to the linux/byteorder folder to hold generic implementations collected from various arches. Currently there are five implementations: 1) packed_struct.h: C-struct based, from asm-generic/unaligned.h 2) le_byteshift.h: Open coded byte-swapping, heavily based on asm-arm 3) be_byteshift.h: Open coded byte-swapping, heavily based on asm-arm 4) memmove.h: taken from multiple implementations in tree 5) access_ok.h: taken from x86 and others, unaligned access is ok. All of the new implementations checks for sizes not equal to 1,2,4,8 and will fail to link. API additions: get_unaligned_{le16|le32|le64|be16|be32|be64}(p) which is meant to replace code of the form: le16_to_cpu(get_unaligned((__le16 *)p)); put_unaligned_{le16|le32|le64|be16|be32|be64}(val, pointer) which is meant to replace code of the form: put_unaligned(cpu_to_le16(val), (__le16 *)p); The headers that arches should include from their asm/unaligned.h: access_ok.h : Wrappers of the byteswapping functions in asm/byteorder Choose a particular implementation for little-endian access: le_byteshift.h le_memmove.h (arch must be LE) le_struct.h (arch must be LE) Choose a particular implementation for big-endian access: be_byteshift.h be_memmove.h (arch must be BE) be_struct.h (arch must be BE) After including as needed from the above, include unaligned/generic.h and define your arch's get/put_unaligned as (for LE): Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dddfbaf8f86894415abb8256b55da68dab966ebe Author: Robert P. J. Day Date: Tue Apr 29 01:03:26 2008 -0700 sysv fs: remove superfluous check for __GNUC__ compiler Since isn't exported to userspace, there is little point checking that this is a GNU-compatible compiler. Signed-off-by: Robert P. J. Day Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cedb27de0450fef73bc7dc28431d1108af54134c Author: Bjorn Helgaas Date: Tue Apr 29 01:03:25 2008 -0700 tpm: change Kconfig dependencies from PNPACPI to PNP There is no "PNPACPI" driver interface as such. PNPACPI is an internal backend of PNP, and drivers just use the generic PNP interface. The drivers should depend on CONFIG_PNP, not CONFIG_PNPACPI. tpm_nsc.c doesn't use PNP at all, so we can just remove the dependency completely. It probably *should* use PNP to discover the device, but until it does, there's no point in depending on PNP. Signed-off-by: Bjorn Helgaas Cc: Kylene Jo Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4821cd111d1dbe4bf230a3ecd7f8d3e803f1eec3 Author: Sam Ravnborg Date: Tue Apr 29 01:03:23 2008 -0700 tpm: fix section mismatch warning Fix following warning: WARNING: vmlinux.o(.init.text+0x32804): Section mismatch in reference from the function init_nsc() to the function .devexit.text:tpm_nsc_remove() The function tpm_nsc_remove() are used outside __exit, so remove the __exit annotation to make sure the function is always avilable. Note: Trying to compare this module with other users of platform_device gve me the impression that this driver needs some work to match other users. Signed-off-by: Sam Ravnborg Cc: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2b9a3962c69754e8eeb3d578bb33fdb1cf97cca Author: Bjorn Helgaas Date: Tue Apr 29 01:03:22 2008 -0700 parport_pc: wrap PNP probe code in #ifdef CONFIG_PNP Wrap PNP probe code in #ifdef CONFIG_PNP. We already do the same for CONFIG_PCI. Without this change, we'll have unresolved references to pnp_get_resource() function when CONFIG_PNP=n. (This is a new interface that's not in mainline yet.) Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9396d496d74587d46a74b93a8b6b41659d2daf2e Author: David Howells Date: Tue Apr 29 01:03:22 2008 -0700 afs: support the CB.ProbeUuid RPC op Add support for the CB.ProbeUuid cache manager RPC op. This allows a modern OpenAFS server to quickly ask if the client has been rebooted. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c80bcce34a355c0920f8cab250d766d7827341d Author: David Howells Date: Tue Apr 29 01:03:21 2008 -0700 afs: the AFS RPC op CBGetCapabilities is actually CBTellMeAboutYourself The AFS RxRPC op CBGetCapabilities is actually CBTellMeAboutYourself. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ae52d6fbaf7ffe4d00876d25ea000e94f85819c Author: Robert P. J. Day Date: Tue Apr 29 01:03:20 2008 -0700 afs: use the shorter LIST_HEAD for brevity Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3c52bce6993c6d37af2c2de9b482a7013d646a7 Author: Hitoshi Mitake Date: Tue Apr 29 01:03:18 2008 -0700 edac: fix module initialization on several modules 2nd time I implemented opstate_init() as a inline function in linux/edac.h. added calling opstate_init() to: i82443bxgx_edac.c i82860_edac.c i82875p_edac.c i82975x_edac.c I wrote a fixed patch of edac-fix-module-initialization-on-several-modules.patch, and tested building 2.6.25-rc7 with applying this. It was succeed. I think the patch is now correct. Cc: Alan Cox Signed-off-by: Hitoshi Mitake Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a45027d1afd7e85254b5ef8535e93ce3d588cf4 Author: Adrian Bunk Date: Tue Apr 29 01:03:18 2008 -0700 edac: remove unneeded functions and add static accessor Collection of patches, merged into one, from Adrian that do the following: 1) This patch makes the following needlessly global functions static: - edac_pci_get_log_pe() - edac_pci_get_log_npe() - edac_pci_get_panic_on_pe() - edac_pci_unregister_sysfs_instance_kobj() - edac_pci_main_kobj_setup() 2) Remove unneeded function edac_device_find() 3) Added #if 0 around function edac_pci_find() 4) make the needlessly global edac_pci_generic_check() static 5) Removed function edac_check_mc_devices() Doug Thompson modified Adrian's patches, to bettern represent the direction of EDAC, and make them one patch. Cc: Alan Cox Signed-off-by: Adrian Bunk Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff6ac2a616c85d1215899ffda815e29b699cbd3a Author: Robert P. J. Day Date: Tue Apr 29 01:03:17 2008 -0700 edac: use the shorter LIST_HEAD for brevity Signed-off-by: Robert P. J. Day Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94ee1cf5a88e12f5cbf8c0c78a6c18d3e043241e Author: Peter Tyser Date: Tue Apr 29 01:03:15 2008 -0700 edac: add e752x parameter for sysbus_parity selection Add a module parameter "sysbus_parity" to allow forcing system bus parity error checking on or off. Also add support to automatically disable system bus parity errors for processors which do not support it. If the sysbus_parity parameter is specified, sysbus parity detection will be forced on or off. If it is not specified, the driver will attempt to look at the CPU identifier string and determine if the CPU supports system bus parity. A blacklist was used instead of a whitelist so that system bus parity would be enabled by default and to minimize the chances of breaking things for those people already using the driver which for some reason have a processor that does not have a valid CPU identifier string. [akpm@linux-foundation.org: coding-style fixes] Cc: Alan Cox Signed-off-by: Peter Tyser Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5135b797c8466eac39dc7fb4ae1fac6e7276377a Author: Andrei Konovalov Date: Tue Apr 29 01:03:13 2008 -0700 edac: new support for Intel 3100 chipset Add Intel 3100 chipset support to e752x EDAC driver. Cc: Alan Cox Signed-off-by: Andrei Konovalov Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 199f0ca514f9c17668eec4f935c4ba24cd789f85 Author: Akinobu Mita Date: Tue Apr 29 01:03:13 2008 -0700 idr: create idr_layer_cache at boot time Avoid a possible kmem_cache_create() failure by creating idr_layer_cache unconditionary at boot time rather than creating it on-demand when idr_init() is called the first time. This change also enables us to eliminate the check every time idr_init() is called. [akpm@linux-foundation.org: rename init_id_cache() to idr_init_cache()] [akpm@linux-foundation.org: fix alpha build] Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 801678c5a3b4c79236970bcca27c733f5559e0d1 Author: Hirofumi Nakagawa Date: Tue Apr 29 01:03:09 2008 -0700 Remove duplicated unlikely() in IS_ERR() Some drivers have duplicated unlikely() macros. IS_ERR() already has unlikely() in itself. This patch cleans up such pointless code. Signed-off-by: Hirofumi Nakagawa Acked-by: David S. Miller Acked-by: Jeff Garzik Cc: Paul Clements Cc: Richard Purdie Cc: Alessandro Zummo Cc: David Brownell Cc: James Bottomley Cc: Michael Halcrow Cc: Anton Altaparmakov Cc: Al Viro Cc: Carsten Otte Cc: Patrick McHardy Cc: Paul Mundt Cc: Jaroslav Kysela Cc: Takashi Iwai Acked-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a6f70bbed4e8b72dd340812d7c606bfd5e00b47 Author: Jeff Dike Date: Tue Apr 29 01:03:08 2008 -0700 random: add async notification support to /dev/random Add async notification support to /dev/random. A little test case is below. Without this patch, you get: $ ./async-random Drained the pool Found more randomness With it, you get: $ ./async-random Drained the pool SIGIO Found more randomness #include #include #include #include #include static void handler(int sig) { printf("SIGIO\n"); } int main(int argc, char **argv) { int fd, n, err, flags; if(signal(SIGIO, handler) < 0){ perror("setting SIGIO handler"); exit(1); } fd = open("/dev/random", O_RDONLY); if(fd < 0){ perror("open"); exit(1); } flags = fcntl(fd, F_GETFL); if (flags < 0){ perror("getting flags"); exit(1); } flags |= O_NONBLOCK; if (fcntl(fd, F_SETFL, flags) < 0){ perror("setting flags"); exit(1); } while((err = read(fd, &n, sizeof(n))) > 0) ; if(err == 0){ printf("random returned 0\n"); exit(1); } else if(errno != EAGAIN){ perror("read"); exit(1); } flags |= O_ASYNC; if (fcntl(fd, F_SETFL, flags) < 0){ perror("setting flags"); exit(1); } if (fcntl(fd, F_SETOWN, getpid()) < 0) { perror("Setting SIGIO"); exit(1); } printf("Drained the pool\n"); read(fd, &n, sizeof(n)); printf("Found more randomness\n"); return(0); } Signed-off-by: Jeff Dike Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adc782dae6c4c0f6fb679a48a544cfbcd79ae3dc Author: Matt Mackall Date: Tue Apr 29 01:03:07 2008 -0700 random: simplify and rename credit_entropy_store - emphasize bits in the name - make zero bits lock-free - simplify logic Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e68e5b664ecb9bccf68102557107a6b6d739a97c Author: Matt Mackall Date: Tue Apr 29 01:03:05 2008 -0700 random: make mixing interface byte-oriented Switch add_entropy_words to a byte-oriented interface, eliminating numerous casts and byte/word size rounding issues. This also reduces the overall bit/byte/word confusion in this code. We now mix a byte at a time into the word-based pool. This takes four times as many iterations, but should be negligible compared to hashing overhead. This also increases our pool churn, which adds some depth against some theoretical failure modes. The function name is changed to emphasize pool mixing and deemphasize entropy (the samples mixed in may not contain any). extract is added to the core function to make it clear that it extracts from the pool. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 993ba2114c554c1561a018e5c63a771ec8e1c469 Author: Matt Mackall Date: Tue Apr 29 01:03:04 2008 -0700 random: simplify add_ptr logic The add_ptr variable wasn't used in a sensible way, use only i instead. i got reused later for a different purpose, use j instead. While we're here, put tap0 first in the tap list and add a comment. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d38b827400d7c02bce391f90d044e4c57d5bc1e Author: Matt Mackall Date: Tue Apr 29 01:03:03 2008 -0700 random: remove some prefetch logic The urandom output pool (ie the fast path) fits in one cacheline, so this is pretty unnecessary. Further, the output path has already fetched the entire pool to hash it before calling in here. (This was the only user of prefetch_range in the kernel, and it passed in words rather than bytes!) Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feee76972bcc54b2b1d1dc28bc6c16a8daa9aff8 Author: Matt Mackall Date: Tue Apr 29 01:03:02 2008 -0700 random: eliminate redundant new_rotate variable - eliminate new_rotate - move input_rotate masking - simplify input_rotate update - move input_rotate update to end of inner loop for readability Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 433582093a9dc5454ba03b4a7ea201d85e6aa4de Author: Matt Mackall Date: Tue Apr 29 01:03:01 2008 -0700 random: remove cacheline alignment for locks Earlier changes greatly reduce the number of times we grab the lock per output byte, so we shouldn't need this particular hack any more. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0ad3d492adf670e47bf0a3d65c6ba5cdee0114 Author: Matt Mackall Date: Tue Apr 29 01:03:00 2008 -0700 random: make backtracking attacks harder At each extraction, we change (poolbits / 16) + 32 bits in the pool, or 96 bits in the case of the secondary pools. Thus, a brute-force backtracking attack on the pool state is less difficult than breaking the hash. In certain cases, this difficulty may be is reduced to 2^64 iterations. Instead, hash the entire pool in one go, then feedback the whole hash (160 bits) in one go. This will make backtracking at least as hard as inverting the hash. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd8d3fa5813430fe3926fe950fde23630f6b1a0 Author: Matt Mackall Date: Tue Apr 29 01:02:59 2008 -0700 random: improve variable naming, clear extract buffer - split the SHA variables apart into hash and workspace - rename data to extract - wipe extract and workspace after hashing Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53c3f63e824764da23676e5c718755ff4aac9b63 Author: Matt Mackall Date: Tue Apr 29 01:02:58 2008 -0700 random: reuse rand_initialize Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43ae4860ff4a358c29b9d364e45c2d09ad9fa067 Author: Matt Mackall Date: Tue Apr 29 01:02:58 2008 -0700 random: use unlocked_ioctl No locking actually needed. Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88c730da8c8b20fa732221725347bd9460842bac Author: Matt Mackall Date: Tue Apr 29 01:02:56 2008 -0700 random: consolidate wakeup logic Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b75ee54666fe615ebcacfc8d8540b80afdedd5 Author: Matt Mackall Date: Tue Apr 29 01:02:55 2008 -0700 random: clean up checkpatch complaints Signed-off-by: Matt Mackall Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0302190411c2ba79819303503999cc839d600704 Author: Adrian Bunk Date: Tue Apr 29 01:02:54 2008 -0700 remove aoedev_isbusy() Remove the no longer used aoedev_isbusy(). Signed-off-by: Adrian Bunk Cc: "Ed L. Cashin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10521bd9f74be94b83cfcf639601ece1c8e4faad Author: Robert P. J. Day Date: Tue Apr 29 01:02:54 2008 -0700 generalize asm-generic/ioctl.h to allow overriding values In the spirit of a number of other asm-generic header files, generalize asm-generic/ioctl.h to allow arch-specific ioctl.h headers to simply override _IOC_SIZEBITS and/or _IOC_DIRBITS before including this header file, allowing a number of ioctl.h header files to be shortened considerably. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098ef1c0ea7b1b3ff9d89364af5ebc5b672cf932 Author: Robert P. J. Day Date: Tue Apr 29 01:02:52 2008 -0700 nbd: delete superfluous test for __GNUC__ Since already tests for __GNUC__, there's no point in nbd.h repeating that test. Signed-off-by: Robert P. J. Day Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d71a6d7332e5881a65249f4fb97b0db3c61dd5ec Author: Laurent Vivier Date: Tue Apr 29 01:02:51 2008 -0700 NBD: add partition support Permit the use of partitions with network block devices (NBD). A new parameter is introduced to define how many partition we want to be able to manage per network block device. This parameter is "max_part". For instance, to manage 63 partitions / loop device, we will do: [on the server side] # nbd-server 1234 /dev/sdb [on the client side] # modprobe nbd max_part=63 # ls -l /dev/nbd* brw-rw---- 1 root disk 43, 0 2008-03-25 11:14 /dev/nbd0 brw-rw---- 1 root disk 43, 64 2008-03-25 11:11 /dev/nbd1 brw-rw---- 1 root disk 43, 640 2008-03-25 11:11 /dev/nbd10 brw-rw---- 1 root disk 43, 704 2008-03-25 11:11 /dev/nbd11 brw-rw---- 1 root disk 43, 768 2008-03-25 11:11 /dev/nbd12 brw-rw---- 1 root disk 43, 832 2008-03-25 11:11 /dev/nbd13 brw-rw---- 1 root disk 43, 896 2008-03-25 11:11 /dev/nbd14 brw-rw---- 1 root disk 43, 960 2008-03-25 11:11 /dev/nbd15 brw-rw---- 1 root disk 43, 128 2008-03-25 11:11 /dev/nbd2 brw-rw---- 1 root disk 43, 192 2008-03-25 11:11 /dev/nbd3 brw-rw---- 1 root disk 43, 256 2008-03-25 11:11 /dev/nbd4 brw-rw---- 1 root disk 43, 320 2008-03-25 11:11 /dev/nbd5 brw-rw---- 1 root disk 43, 384 2008-03-25 11:11 /dev/nbd6 brw-rw---- 1 root disk 43, 448 2008-03-25 11:11 /dev/nbd7 brw-rw---- 1 root disk 43, 512 2008-03-25 11:11 /dev/nbd8 brw-rw---- 1 root disk 43, 576 2008-03-25 11:11 /dev/nbd9 # nbd-client localhost 1234 /dev/nbd0 Negotiation: ..size = 80418240KB bs=1024, sz=80418240 -------NOTE, RFC: partition table is not automatically read. The driver sets bdev->bd_invalidated to 1 to force the read of the partition table of the device, but this is done only on an open of the device. So we have to do a "touch /dev/nbdX" or something like that. It can't be done from the nbd-client or nbd driver because at this level we can't ask to read the partition table and to serve the request at the same time (-> deadlock) If someone has a better idea, I'm open to any suggestion. -------NOTE, RFC # fdisk -l /dev/nbd0 Disk /dev/nbd0: 82.3 GB, 82348277760 bytes 255 heads, 63 sectors/track, 10011 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/nbd0p1 * 1 9965 80043831 83 Linux /dev/nbd0p2 9966 10011 369495 5 Extended /dev/nbd0p5 9966 10011 369463+ 82 Linux swap / Solaris # ls -l /dev/nbd0* brw-rw---- 1 root disk 43, 0 2008-03-25 11:16 /dev/nbd0 brw-rw---- 1 root disk 43, 1 2008-03-25 11:16 /dev/nbd0p1 brw-rw---- 1 root disk 43, 2 2008-03-25 11:16 /dev/nbd0p2 brw-rw---- 1 root disk 43, 5 2008-03-25 11:16 /dev/nbd0p5 # mount /dev/nbd0p1 /mnt # ls /mnt bin dev initrd lost+found opt sbin sys var boot etc initrd.img media proc selinux tmp vmlinuz cdrom home lib mnt root srv usr # umount /mnt # nbd-client -d /dev/nbd0 # ls -l /dev/nbd0* brw-rw---- 1 root disk 43, 0 2008-03-25 11:16 /dev/nbd0 -------NOTE On "nbd-client -d", we can do an iocl(BLKRRPART) to update partition table: as the size of the device is 0, we don't have to serve the partition manager request (-> no deadlock). -------NOTE Signed-off-by: Paul Clements Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48cf6061b30205b29b306bf9bc22dd6f0b091461 Author: Laurent Vivier Date: Tue Apr 29 01:02:46 2008 -0700 NBD: allow nbd to be used locally This patch allows Network Block Device to be mounted locally (nbd-client to nbd-server over 127.0.0.1). It creates a kthread to avoid the deadlock described in NBD tools documentation. So, if nbd-client hangs waiting for pages, the kblockd thread can continue its work and free pages. I have tested the patch to verify that it avoids the hang that always occurs when writing to a localhost nbd connection. I have also tested to verify that no performance degradation results from the additional thread and queue. Patch originally from Laurent Vivier. Signed-off-by: Paul Clements Signed-off-by: Laurent Vivier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c4dd6068221cd1d0d90490ace80eb4344914a8c Author: Tim Gardner Date: Tue Apr 29 01:02:45 2008 -0700 edd: add default mode CONFIG_EDD_OFF=n, override with edd={on,off} Add a kernel parameter option to 'edd' to enable/disable BIOS Enhanced Disk Drive Services. CONFIG_EDD_OFF disables EDD while still compiling EDD into the kernel. Default behavior can be forced using 'edd=on' or 'edd=off' as a kernel parameter. [akpm@linux-foundation.org: fix kernel-parameters.txt] Signed-off-by: Tim Gardner Signed-off-by: Matt Domsch Cc: "H. Peter Anvin" Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7321cd62470b70d2717dae5a963e7a8fabff4d5 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:44 2008 -0700 sysctl: add the ->permissions callback on the ctl_table_root When reading from/writing to some table, a root, which this table came from, may affect this table's permissions, depending on who is working with the table. The core hunk is at the bottom of this patch. All the rest is just pushing the ctl_table_root argument up to the sysctl_perm() function. This will be mostly (only?) used in the net sysctls. Signed-off-by: Pavel Emelyanov Acked-by: David S. Miller Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c4c7155f25192da3511a6c911db4d08102d36c4 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:41 2008 -0700 sysctl: clean from unneeded extern and forward declarations The do_sysctl_strategy isn't used outside kernel/sysctl.c, so this can be static and without a prototype in header. Besides, move this one and parse_table() above their callers and drop the forward declarations of the latter call. One more "besides" - fix two checkpatch warnings: space before a ( and an extra space at the end of a line. Signed-off-by: Pavel Emelyanov Acked-by: David S. Miller Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7708bfb1c855f2a076ef71cc21647deea022ebe7 Author: Pavel Emelyanov Date: Tue Apr 29 01:02:40 2008 -0700 sysctl: merge equal proc_sys_read and proc_sys_write Many (most of) sysctls do not have a per-container sense. E.g. kernel.print_fatal_signals, vm.panic_on_oom, net.core.netdev_budget and so on and so forth. Besides, tuning then from inside a container is not even secure. On the other hand, hiding them completely from the container's tasks sometimes causes user-space to stop working. When developing net sysctl, the common practice was to duplicate a table and drop the write bits in table->mode, but this approach was not very elegant, lead to excessive memory consumption and was not suitable in general. Here's the alternative solution. To facilitate the per-container sysctls ctl_table_root-s were introduced. Each root contains a list of ctl_table_header-s that are visible to different namespaces. The idea of this set is to add the permissions() callback on the ctl_table_root to allow ctl root limit permissions to the same ctl_table-s. The main user of this functionality is the net-namespaces code, but later this will (should) be used by more and more namespaces, containers and control groups. Actually, this idea's core is in a single hunk in the third patch. First two patches are cleanups for sysctl code, while the third one mostly extends the arguments set of some sysctl functions. This patch: These ->read and ->write callbacks act in a very similar way, so merge these paths to reduce the number of places to patch later and shrink the .text size (a bit). Signed-off-by: Pavel Emelyanov Acked-by: "David S. Miller" Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Cc: Denis V. Lunev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a46674b996bf9a15f0333178f5829ca2d7c32e2 Author: Adrian Bunk Date: Tue Apr 29 01:02:38 2008 -0700 include/linux/sysctl.h: remove empty #else Remove an empty #else. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f458e4b91348b2e892c72977b5f665d7f374da Author: Holger Schurig Date: Tue Apr 29 01:02:36 2008 -0700 sysctl: allow embedded targets to disable sysctl_check.c Disable sysctl_check.c for embedded targets. This saves about about 11 kB in .text and another 11 kB in .data on a PXA255 embedded platform. Signed-off-by: Holger Schurig Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7705f3449c7edd5c1744871097f93977227afc4 Author: Denis V. Lunev Date: Tue Apr 29 01:02:35 2008 -0700 drivers: use non-racy method for proc entries creation (2) Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Peter Osterlund Cc: Bartlomiej Zolnierkiewicz Cc: Dmitry Torokhov Cc: Neil Brown Cc: Mauro Carvalho Chehab Cc: Bjorn Helgaas Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b50221738108c438d5f25c7a043fb89e9e27044 Author: Denis V. Lunev Date: Tue Apr 29 01:02:34 2008 -0700 drivers: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Acked-by: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fd689468231cb5eee9cc5d6331081b77c7a7a76 Author: Denis V. Lunev Date: Tue Apr 29 01:02:32 2008 -0700 parisc: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c33fff0afbef4f0467c99e3f47ee7e98ae78c77e Author: Denis V. Lunev Date: Tue Apr 29 01:02:31 2008 -0700 kernel: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac41cfd19bf77424519b962f8205ede51fceaac6 Author: Denis V. Lunev Date: Tue Apr 29 01:02:30 2008 -0700 isdn: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Acked-by: Karsten Keil Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a95609cb0283a23e519e607ff9fc2a4aa77e2532 Author: Denis V. Lunev Date: Tue Apr 29 01:02:29 2008 -0700 netdev: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Jeff Garzik Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf7acfab032ff262f42954328cdfd20a5d9aaaac Author: Denis V. Lunev Date: Tue Apr 29 01:02:27 2008 -0700 acpi: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Len Brown Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 667471386d4068e75a6a55b615701ced61eb6333 Author: Denis V. Lunev Date: Tue Apr 29 01:02:26 2008 -0700 powerpc: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f1c86ec315711d21666751b0bdae69ce2c6d589 Author: Denis V. Lunev Date: Tue Apr 29 01:02:25 2008 -0700 parisc: use non-racy method for /proc/pcxl_dma creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e23637681bef5b69a68c8ac399732b941f1af023 Author: Denis V. Lunev Date: Tue Apr 29 01:02:25 2008 -0700 ia64: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Tony Luck Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c293819a3caa77d96b801a7795f81a5913ec21d7 Author: Denis V. Lunev Date: Tue Apr 29 01:02:23 2008 -0700 cris: use non-racy method for /proc/system_profile creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d9f10f4eb65797cf2d238836f7439045a37722e Author: Denis V. Lunev Date: Tue Apr 29 01:02:22 2008 -0700 avr32: proc: use non-racy method for /proc/tlb creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Haavard Skinnemoen Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40ad35d34fa62097b4664c7c1690cbe404d73744 Author: Denis V. Lunev Date: Tue Apr 29 01:02:21 2008 -0700 arm: use non-racy method for /proc/davinci_clocks creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Russell King Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b594007c381b01464358bc4b89bfb85ec7f076a Author: Denis V. Lunev Date: Tue Apr 29 01:02:20 2008 -0700 s390: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdefa185dda6b2b267f088a7477e96d845bdc6c1 Author: Denis V. Lunev Date: Tue Apr 29 01:02:19 2008 -0700 usb: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a973909fc32be90884280b7a8cd2f2e093c97890 Author: Denis V. Lunev Date: Tue Apr 29 01:02:17 2008 -0700 scsi: use non-racy method for proc entries creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Greg Kroah-Hartman Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16e70f64a9358133a14872eb72cf39b6f38b6212 Author: Denis V. Lunev Date: Tue Apr 29 01:02:16 2008 -0700 samples: use non-racy method for /proc/marker-example creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Mathieu Desnoyers Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 659f865ea65a60564ce00a0c571099d1fa55e8e3 Author: Denis V. Lunev Date: Tue Apr 29 01:02:16 2008 -0700 zorro: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Add correct ->owner to proc_fops to fix reading/module unloading race. Signed-off-by: Denis V. Lunev Cc: Geert Uytterhoeven Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf4e6d3e948e38893c718fa9c5bd0dfbfa49670 Author: Denis V. Lunev Date: Tue Apr 29 01:02:13 2008 -0700 sound: use non-racy method for /proc/driver/snd-page-alloc creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d71f86f4dfccd749e4421f10301f3f3b31da88a Author: Denis V. Lunev Date: Tue Apr 29 01:02:13 2008 -0700 mm: use non-racy method for /proc/swaps creation Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a6375db13703b42dd51b28576d444bb73c541b9 Author: Denis V. Lunev Date: Tue Apr 29 01:02:12 2008 -0700 sysvipc: use non-racy method for proc entries creation Use proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Nadia Derbey Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79da3664f61640057041bf172b1457e2d1969330 Author: Denis V. Lunev Date: Tue Apr 29 01:02:11 2008 -0700 jbd2: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19b4fc52d63b77adf700a215bfbabd680a8f1718 Author: Denis V. Lunev Date: Tue Apr 29 01:02:09 2008 -0700 reiserfs: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. /proc entry owner is also added. Signed-off-by: Denis V. Lunev Cc: Jeff Mahoney Cc: Chris Mason Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fe74f2aed615c8c88164f4346b79c30cfd7c3d Author: Denis V. Lunev Date: Tue Apr 29 01:02:08 2008 -0700 ext4: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21ac295b42b8bdc3d677aba6bd7308a38de28a9b Author: Denis V. Lunev Date: Tue Apr 29 01:02:07 2008 -0700 afs: use non-racy method for proc entries creation Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Acked-by: David Howells Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b37235c60fd23e4075da475c7bb22e6c7a466e Author: Denis V. Lunev Date: Tue Apr 29 01:02:07 2008 -0700 nfs: use proc_create to setup de->proc_fops Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: "J. Bruce Fields" Cc: Trond Myklebust Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ef2db2630652d68dfd336088648adae7ef0bcd4 Author: Denis V. Lunev Date: Tue Apr 29 01:02:04 2008 -0700 nfsd: use proc_create to setup de->proc_fops Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59b7435149eab2dd06dd678742faff6049cb655f Author: Denis V. Lunev Date: Tue Apr 29 01:02:00 2008 -0700 proc: introduce proc_create_data to setup de->data This set of patches fixes an proc ->open'less usage due to ->proc_fops flip in the most part of the kernel code. The original OOPS is described in the commit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc: Typical PDE creation code looks like: pde = create_proc_entry("foo", 0, NULL); if (pde) pde->proc_fops = &foo_proc_fops; Notice that PDE is first created, only then ->proc_fops is set up to final value. This is a problem because right after creation a) PDE is fully visible in /proc , and b) ->proc_fops are proc_file_operations which do not have ->open callback. So, it's possible to ->read without ->open (see one class of oopses below). The fix is new API called proc_create() which makes sure ->proc_fops are set up before gluing PDE to main tree. Typical new code looks like: pde = proc_create("foo", 0, NULL, &foo_proc_fops); if (!pde) return -ENOMEM; Fix most networking users for a start. In the long run, create_proc_entry() for regular files will go. In addition to this, proc_create_data is introduced to fix reading from proc without PDE->data. The race is basically the same as above. create_proc_entries is replaced in the entire kernel code as new method is also simply better. This patch: The problem is the same as for de->proc_fops. Right now PDE becomes visible without data set. So, the entry could be looked up without data. This, in most cases, will simply OOPS. proc_create_data call is created to address this issue. proc_create now becomes a wrapper around it. Signed-off-by: Denis V. Lunev Cc: "Eric W. Biederman" Cc: "J. Bruce Fields" Cc: Alessandro Zummo Cc: Alexey Dobriyan Cc: Bartlomiej Zolnierkiewicz Cc: Benjamin Herrenschmidt Cc: Bjorn Helgaas Cc: Chris Mason Acked-by: David Howells Cc: Dmitry Torokhov Cc: Geert Uytterhoeven Cc: Grant Grundler Cc: Greg Kroah-Hartman Cc: Haavard Skinnemoen Cc: Heiko Carstens Cc: Ingo Molnar Cc: James Bottomley Cc: Jaroslav Kysela Cc: Jeff Garzik Cc: Jeff Mahoney Cc: Jesper Nilsson Cc: Karsten Keil Cc: Kyle McMartin Cc: Len Brown Cc: Martin Schwidefsky Cc: Mathieu Desnoyers Cc: Matthew Wilcox Cc: Mauro Carvalho Chehab Cc: Mikael Starvik Cc: Nadia Derbey Cc: Neil Brown Cc: Paul Mackerras Cc: Peter Osterlund Cc: Pierre Peiffer Cc: Russell King Cc: Takashi Iwai Cc: Tony Luck Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b640a89ddd742782bd2d83873da30d4776d1b9c6 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:58 2008 -0700 proc: convert /proc/tty/ldiscs to seq_file interface Note: THIS_MODULE and header addition aren't technically needed because this code is not modular, but let's keep it anyway because people can copy this code into modular code. Signed-off-by: Alexey Dobriyan Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8731f14d37825b54ad0c4c309cba2bc8fdf13a86 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:58 2008 -0700 proc: remove ->get_info infrastructure Now that last dozen or so users of ->get_info were removed, ditch it too. Everyone sane shouldd have switched to seq_file interface long ago. P.S.: Co-existing 3 interfaces (->get_info/->read_proc/->proc_fops) for proc is long-standing crap, BTW, thus a) put ->read_proc/->write_proc/read_proc_entry() users on death row, b) new such users should be rejected, c) everyone is encouraged to convert his favourite ->read_proc user or I'll do it, lazy bastards. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352ced8e594091d74b92da9bcf07aea81d37ac55 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:55 2008 -0700 proc: switch /proc/scsi/device_info to seq_file interface Note 1: 0644 should be used, but root bypasses permissions, so writing to /proc/scsi/device_info still works. Note 2: looks like scsi_dev_info_list is unprotected Note 3: probably make proc whine about "unwriteable but with ->write hook" entries. Probably. Signed-off-by: Alexey Dobriyan Cc: James Bottomley Cc: Mike Christie Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a5cdb5b8f10998603e1e44adec1e56c234babfe Author: Alexey Dobriyan Date: Tue Apr 29 01:01:55 2008 -0700 proc: switch /proc/ip2mem to seq_file interface /******************************************/ /* Remove useless comment, while I am it. */ /******************************************/ Signed-off-by: Alexey Dobriyan Cc: Greg Kroah-Hartman Cc: Jeff Garzik Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076ec04b8ac84a04df67840f15f36218d7519510 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:54 2008 -0700 proc: convert /proc/bus/nubus to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ae02d6bc1c1b3784fec9e9e016e7e3dcc2f8727 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:52 2008 -0700 proc: switch /proc/irda/irnet to seq_file interface Probably interface misuse, because of the way iterating over hashbin is done. However! Printing of socket number ("IrNET socket %d - ", i++") made conversion to proper ->start/->next difficult enough to do blindly without hardware. Said that, please apply. Remove useless comment while I am it. Signed-off-by: Alexey Dobriyan Cc: Samuel Ortiz Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bd61f76a5353df272d5c7232bf0928f6e4a9531 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:50 2008 -0700 proc: switch /proc/excite/unit_id to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Ralf Baechle Cc: Thomas Koeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b0012126ae191c90c88df4b535b0f2ade70ecb6 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:49 2008 -0700 proc: switch /proc/bus/ecard/devices to seq_file interface Signed-off-by: Alexey Dobriyan Acked-by: Russell King Cc: Yani Ioannou Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51251549140f99cc5fbfed8ac542f22cbf067870 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:47 2008 -0700 proc: remove /proc/mac_iop Entry creation was commented for a long time and right now it stands on the way of ->get_info removal, so unless nobody objects... Signed-off-by: Alexey Dobriyan Cc: Simon Arlott Cc: Roman Zippel Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647634df400ed26e2707ef65a8bf0df3f3bb8663 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:46 2008 -0700 proc: switch /proc/apm to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Rafael J. Wysocki Cc: Ralf Baechle Cc: Len Brown Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8331438b38b07b97dbbb9049aa90a0d6ce5da03b Author: Alexey Dobriyan Date: Tue Apr 29 01:01:45 2008 -0700 proc: switch /proc/bus/zorro/devices to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Josef Sipek Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c74c120a21d87b0b6925ada5830d8cac21e852d9 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:44 2008 -0700 proc: remove proc_root from drivers Remove proc_root export. Creation and removal works well if parent PDE is supplied as NULL -- it worked always that way. So, one useless export removed and consistency added, some drivers created PDEs with &proc_root as parent but removed them as NULL and so on. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 928b4d8c8963e75bdb133f562b03b07f9aa4844a Author: Alexey Dobriyan Date: Tue Apr 29 01:01:44 2008 -0700 proc: remove proc_root_driver Use creation by full path: "driver/foo". Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36a5aeb8787fbf92510ed20d806e229c55726f93 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:42 2008 -0700 proc: remove proc_root_fs Use creation by full path instead: "fs/foo". Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c37066d888bf6e1b96ad12304971b3ddeabbad0 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:41 2008 -0700 proc: remove proc_bus Remove proc_bus export and variable itself. Using pathnames works fine and is slightly more understandable and greppable. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e971dce0b2f6896e02372512df0d1fb0bfe2d55 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:41 2008 -0700 proc: drop several "PDE valid/invalid" checks proc-misc code is noticeably full of "if (de)" checks when PDE passed is always valid. Remove them. Addition of such check in proc_lookup_de() is for failed lookup case. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cee4e00e0f8aa7290266382ea903a5a1b92c9a1 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:40 2008 -0700 proc: less special case in xlate code If valid "parent" is passed to proc_create/remove_proc_entry(), then name of PDE should consist of only one path component, otherwise creation or or removal will fail. However, if NULL is passed as parent then create/remove accept full path as a argument. This is arbitrary restriction -- all infrastructure is in place. So, patch allows the following to succeed: create_proc_entry("foo/bar", 0, pde_baz); remove_proc_entry("baz/foo/bar", &proc_root); Also makes the following to behave identically: create_proc_entry("foo/bar", 0, NULL); create_proc_entry("foo/bar", 0, &proc_root); Discrepancy noticed by Den Lunev (IIRC). Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f649d6d32605c7573884613289fb3b9fbd4f99a1 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:39 2008 -0700 proc: simplify locking in remove_proc_entry() proc_subdir_lock protects only modifying and walking through PDE lists, so after we've found PDE to remove and actually removed it from lists, there is no need to hold proc_subdir_lock for the rest of operation. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 638fa202cdb207083a12d6f73e313605a8fc1037 Author: Roland McGrath Date: Tue Apr 29 01:01:38 2008 -0700 procfs: mem permission cleanup This cleans up the permission checks done for /proc/PID/mem i/o calls. It puts all the logic in a new function, check_mem_permission(). The old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task)) magical expression multiple times. The new function does all that work in one place, with clear comments. The old code called security_ptrace() twice on successful checks, once in MAY_PTRACE() and once in __ptrace_may_attach(). Now it's only called once, and only if all other checks have succeeded. Signed-off-by: Roland McGrath Cc: Alexey Dobriyan Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:37 2008 -0700 proc: switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 925d1c401fa6cfd0df5d2e37da8981494ccdec07 Author: Matt Helsley Date: Tue Apr 29 01:01:36 2008 -0700 procfs task exe symlink The kernel implements readlink of /proc/pid/exe by getting the file from the first executable VMA. Then the path to the file is reconstructed and reported as the result. Because of the VMA walk the code is slightly different on nommu systems. This patch avoids separate /proc/pid/exe code on nommu systems. Instead of walking the VMAs to find the first executable file-backed VMA we store a reference to the exec'd file in the mm_struct. That reference would prevent the filesystem holding the executable file from being unmounted even after unmapping the VMAs. So we track the number of VM_EXECUTABLE VMAs and drop the new reference when the last one is unmapped. This avoids pinning the mounted filesystem. [akpm@linux-foundation.org: improve comments] [yamamoto@valinux.co.jp: fix dup_mmap] Signed-off-by: Matt Helsley Cc: Oleg Nesterov Cc: David Howells Cc:"Eric W. Biederman" Cc: Christoph Hellwig Cc: Al Viro Cc: Hugh Dickins Signed-off-by: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e Author: Alexey Dobriyan Date: Tue Apr 29 01:01:35 2008 -0700 proc: print more information when removing non-empty directories This usually saves one recompile to insert similar printk like below. :) Sample nastygram: remove_proc_entry: removing non-empty directory '/proc/foo', leaking at least 'bar' ------------[ cut here ]------------ WARNING: at fs/proc/generic.c:776 remove_proc_entry+0x18a/0x200() Modules linked in: foo(-) container fan battery dock sbs ac sbshc backlight ipv6 loop af_packet amd_rng sr_mod i2c_amd8111 i2c_amd756 cdrom i2c_core button thermal processor Pid: 3034, comm: rmmod Tainted: G M 2.6.25-rc1 #5 Call Trace: [] warn_on_slowpath+0x64/0x90 [] printk+0x4e/0x60 [] remove_proc_entry+0x18a/0x200 [] mutex_lock_nested+0x1c8/0x2d0 [] __try_stop_module+0x0/0x40 [] sys_delete_module+0x14d/0x200 [] lockdep_sys_exit_thunk+0x35/0x67 [] __up_read+0x27/0xa0 [] trace_hardirqs_on_thunk+0x35/0x3a [] system_call_after_swapgs+0x7b/0x80 ---[ end trace 10ef850597e89c54 ]--- Signed-off-by: Alexey Dobriyan Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7249db2c281ac688977ecc6862cdee9969d310e2 Author: David Howells Date: Tue Apr 29 01:01:34 2008 -0700 keys: make key_serial() a function if CONFIG_KEYS=y Make key_serial() an inline function rather than a macro if CONFIG_KEYS=y. This prevents double evaluation of the key pointer and also provides better type checking. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdb89bce6c9ccb17dae13ec43a25d2fdd405233f Author: Robert P. J. Day Date: Tue Apr 29 01:01:32 2008 -0700 keys: explicitly include required slab.h header file. Since these two source files invoke kmalloc(), they should explicitly include . Signed-off-by: Robert P. J. Day Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b77f5bfb45c13e1e5142374f9d6ca75292252a4 Author: David Howells Date: Tue Apr 29 01:01:32 2008 -0700 keys: make the keyring quotas controllable through /proc/sys Make the keyring quotas controllable through /proc/sys files: (*) /proc/sys/kernel/keys/root_maxkeys /proc/sys/kernel/keys/root_maxbytes Maximum number of keys that root may have and the maximum total number of bytes of data that root may have stored in those keys. (*) /proc/sys/kernel/keys/maxkeys /proc/sys/kernel/keys/maxbytes Maximum number of keys that each non-root user may have and the maximum total number of bytes of data that each of those users may have stored in their keys. Also increase the quotas as a number of people have been complaining that it's not big enough. I'm not sure that it's big enough now either, but on the other hand, it can now be set in /etc/sysctl.conf. Signed-off-by: David Howells Cc: Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69664cf16af4f31cd54d77948a4baf9c7e0ca7b9 Author: David Howells Date: Tue Apr 29 01:01:31 2008 -0700 keys: don't generate user and user session keyrings unless they're accessed Don't generate the per-UID user and user session keyrings unless they're explicitly accessed. This solves a problem during a login process whereby set*uid() is called before the SELinux PAM module, resulting in the per-UID keyrings having the wrong security labels. This also cures the problem of multiple per-UID keyrings sometimes appearing due to PAM modules (including pam_keyinit) setuiding and causing user_structs to come into and go out of existence whilst the session keyring pins the user keyring. This is achieved by first searching for extant per-UID keyrings before inventing new ones. The serial bound argument is also dropped from find_keyring_by_name() as it's not currently made use of (setting it to 0 disables the feature). Signed-off-by: David Howells Cc: Cc: Cc: Cc: Stephen Smalley Cc: James Morris Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b79ccb5144f9ffb4d4596c23e7570238dd12abc Author: Arun Raghavan Date: Tue Apr 29 01:01:28 2008 -0700 keys: allow clients to set key perms in key_create_or_update() The key_create_or_update() function provided by the keyring code has a default set of permissions that are always applied to the key when created. This might not be desirable to all clients. Here's a patch that adds a "perm" parameter to the function to address this, which can be set to KEY_PERM_UNDEF to revert to the current behaviour. Signed-off-by: Arun Raghavan Signed-off-by: David Howells Cc: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da91d2ef9fe4fd84cc0a8a729201d38e40ac9f2e Author: Alexey Dobriyan Date: Tue Apr 29 01:01:27 2008 -0700 keys: switch to proc_create() Signed-off-by: Alexey Dobriyan Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70a5bb72b55e82fbfbf1e22cae6975fac58a1e2d Author: David Howells Date: Tue Apr 29 01:01:26 2008 -0700 keys: add keyctl function to get a security label Add a keyctl() function to get the security label of a key. The following is added to Documentation/keys.txt: (*) Get the LSM security context attached to a key. long keyctl(KEYCTL_GET_SECURITY, key_serial_t key, char *buffer, size_t buflen) This function returns a string that represents the LSM security context attached to a key in the buffer provided. Unless there's an error, it always returns the amount of data it could produce, even if that's too big for the buffer, but it won't copy more than requested to userspace. If the buffer pointer is NULL then no copy will take place. A NUL character is included at the end of the string if the buffer is sufficiently big. This is included in the returned count. If no LSM is in force then an empty string will be returned. A process must have view permission on the key for this function to be successful. [akpm@linux-foundation.org: declare keyctl_get_security()] Signed-off-by: David Howells Acked-by: Stephen Smalley Cc: Paul Moore Cc: Chris Wright Cc: James Morris Cc: Kevin Coffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a38e122e2cc6294779021ff4ccc784a3997059e Author: David Howells Date: Tue Apr 29 01:01:24 2008 -0700 keys: allow the callout data to be passed as a blob rather than a string Allow the callout data to be passed as a blob rather than a string for internal kernel services that call any request_key_*() interface other than request_key(). request_key() itself still takes a NUL-terminated string. The functions that change are: request_key_with_auxdata() request_key_async() request_key_async_with_auxdata() Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dceba9944181b1fd5993417b5c8fa0e3dda38f8d Author: Kevin Coffman Date: Tue Apr 29 01:01:22 2008 -0700 keys: check starting keyring as part of search Check the starting keyring as part of the search to (a) see if that is what we're searching for, and (b) to check it is still valid for searching. The scenario: User in process A does things that cause things to be created in its process session keyring. The user then does an su to another user and starts a new process, B. The two processes now share the same process session keyring. Process B does an NFS access which results in an upcall to gssd. When gssd attempts to instantiate the context key (to be linked into the process session keyring), it is denied access even though it has an authorization key. The order of calls is: keyctl_instantiate_key() lookup_user_key() (the default: case) search_process_keyrings(current) search_process_keyrings(rka->context) (recursive call) keyring_search_aux() keyring_search_aux() verifies the keys and keyrings underneath the top-level keyring it is given, but that top-level keyring is neither fully validated nor checked to see if it is the thing being searched for. This patch changes keyring_search_aux() to: 1) do more validation on the top keyring it is given and 2) check whether that top-level keyring is the thing being searched for Signed-off-by: Kevin Coffman Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38bbca6b6f164e08a4a9cdfd719fff679af98375 Author: David Howells Date: Tue Apr 29 01:01:19 2008 -0700 keys: increase the payload size when instantiating a key Increase the size of a payload that can be used to instantiate a key in add_key() and keyctl_instantiate_key(). This permits huge CIFS SPNEGO blobs to be passed around. The limit is raised to 1MB. If kmalloc() can't allocate a buffer of sufficient size, vmalloc() will be tried instead. Signed-off-by: David Howells Cc: Paul Moore Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Kevin Coffman Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4220b7fe89f8c0623e09168ab81dd0da2fdadd72 Author: WANG Cong Date: Tue Apr 29 01:01:18 2008 -0700 elf: fix shadowed variables in fs/binfmt_elf.c Fix these sparse warings: fs/binfmt_elf.c:1749:29: warning: symbol 'tmp' shadows an earlier one fs/binfmt_elf.c:1734:28: originally declared here fs/binfmt_elf.c:2009:26: warning: symbol 'vma' shadows an earlier one fs/binfmt_elf.c:1892:24: originally declared here [akpm@linux-foundation.org: chose better variable name] Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6970c8eff85dd450e7eff69dad710dcf594b1bb8 Author: Cyrill Gorcunov Date: Tue Apr 29 01:01:18 2008 -0700 BINFMT: fill_elf_header cleanup - use straight memset first This patch does simplify fill_elf_header function by setting to zero the whole elf header first. So we fillup the fields we really need only. before: text data bss dec hex filename 11735 80 0 11815 2e27 fs/binfmt_elf.o after: text data bss dec hex filename 11710 80 0 11790 2e0e fs/binfmt_elf.o viola, 25 bytes of text is freed Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb6900fbfa43cb50391b80b38608e25280705693 Author: Cyrill Gorcunov Date: Tue Apr 29 01:01:17 2008 -0700 ELF: Use EI_NIDENT instead of numeric value Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf535eeaca9e3963698df7bc5b4634d6d07f809 Author: Adrian Bunk Date: Tue Apr 29 01:01:17 2008 -0700 ipmi: fix return from atca_oem_poweroff_hook A void returning function returned the return value of another void returning function... Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74006309c7f09c893c18cbb6f0e19137edd04239 Author: Adrian Bunk Date: Tue Apr 29 01:01:14 2008 -0700 ipmi: make alloc_recv_msg static Make the needlessly global ipmi_alloc_recv_msg() static. Signed-off-by: Adrian Bunk Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ec2d778657b1a58ad26d0bc3b39b92bca69b53 Author: Robert P. J. Day Date: Tue Apr 29 01:01:14 2008 -0700 ipmi: make comment match actual preprocessor check Signed-off-by: Robert P. J. Day Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa68be0def375c78f723a7d49221f8f6c8194f29 Author: Alexey Dobriyan Date: Tue Apr 29 01:01:13 2008 -0700 ipmi: remove ->write_proc code IPMI code theoretically allows ->write_proc users, but nobody uses this thus far. Signed-off-by: Alexey Dobriyan Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95c0ba892470a8f95b3dd3938a722ff64229aed1 Author: Denis Cheng Date: Tue Apr 29 01:01:13 2008 -0700 ipmi: remove unused target and action in Makefile Kbuild system handles this automatically. Signed-off-by: Denis Cheng Cc: Corey Minyard Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36c7dc44409ecc4631de25a66f13d67873cfd563 Author: Corey Minyard Date: Tue Apr 29 01:01:12 2008 -0700 IPMI: Style fixes in the misc code Lots of style fixes for the miscellaneous IPMI files. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c305e3d38e5f54a48a4618496cdc1ada970ebf68 Author: Corey Minyard Date: Tue Apr 29 01:01:10 2008 -0700 IPMI: Style fixes in the system interface code Lots of style fixes for the IPMI system interface driver. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Corey Minyard Cc: Rocky Craig Cc: Hannes Schulz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c70d749986f6f1d4e2bb008bfc0c5fc22ec3fc64 Author: Corey Minyard Date: Tue Apr 29 01:01:09 2008 -0700 ipmi: style fixes in the base code Lots of style fixes for the base IPMI driver. No functional changes. Basically fixes everything reported by checkpatch and fixes the comment style. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba8ff1c61eb119e687b06ca35f7f4ab041bf0422 Author: Corey Minyard Date: Tue Apr 29 01:01:08 2008 -0700 IPMI: Convert system interface defines to an enum Convert the #defines for statistics into an enum in the IPMI system interface and remove the unused timeout_restart statistic. And comment what these statistics mean. Signed-off-by: Corey Minyard Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64959e2d47dead81c6e3ce4864d629d6375e07e2 Author: Corey Minyard Date: Tue Apr 29 01:01:07 2008 -0700 ipmi: convert locked counters to atomics in the system interface Atomics are faster and neater than locked counters. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73f2bdb975751eb11de0df1970710e6c40badc26 Author: Corey Minyard Date: Tue Apr 29 01:01:06 2008 -0700 IPMI: convert message handler defines to an enum Convert the #defines for statistics into an enum in the IPMI message handler. Signed-off-by: Corey Minyard Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2655f2615e92e92ca3d55132b32776f1fe1a05c Author: Konstantin Baydarov Date: Tue Apr 29 01:01:05 2008 -0700 ipmi: convert locked counters to atomics Atomics are a lot more efficient and neat than using a lock. Signed-off-by: Konstantin Baydarov Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7caa1b51fa526586c9d9a4582b5f8af440909d7 Author: Corey Minyard Date: Tue Apr 29 01:01:04 2008 -0700 ipmi: update driver version Enough bug fixes and changes that we need a new driver version. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87ebd06f2f362acc3fd866f28a917b53c0ff560a Author: Corey Minyard Date: Tue Apr 29 01:01:04 2008 -0700 ipmi: don't print event queue full on every event Don't print out that the event queue is full on every event, only print something out when it becomes full or becomes not full. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5956dce1485efe3816febc24aa52490dcb2be837 Author: Konstantin Baydarov Date: Tue Apr 29 01:01:03 2008 -0700 ipmi: don't grab locks in run-to-completion mode This patch prevents deadlocks in IPMI panic handler caused by msg_lock in smi_info structure and waiting_msgs_lock in ipmi_smi structure. [cminyard@mvista.com: remove unnecessary memory barriers] Signed-off-by: Konstantin Baydarov Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bda4c30aa6f7dc1483f39ea1dfe37bcab8a96207 Author: Corey Minyard Date: Tue Apr 29 01:01:02 2008 -0700 ipmi: run to completion fixes The "run_to_completion" mode was somewhat broken. Locks need to be avoided in run_to_completion mode, and it shouldn't be used by normal users, just internally for panic situations. This patch removes locks in run_to_completion mode and removes the user call for setting the mode. The only user was the poweroff code, but it was easily converted to use the polling interface. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ea18425436e7c72716b7f8d314775f399821195 Author: Corey Minyard Date: Tue Apr 29 01:01:01 2008 -0700 ipmi: hold ATTN until upper layer ready Hold handling of ATTN until the upper layer has reported that it is ready. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02fdb36ae7f55db7757b623acd27a62d5000d755 Author: Serge E. Hallyn Date: Tue Apr 29 01:01:00 2008 -0700 ipc: sysvsem: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC) CLONE_NEWIPC|CLONE_SYSVSEM interaction isn't handled properly. This can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 3: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC). With unshare, specifying CLONE_SYSVSEM means unshare the sysvsem. So it seems reasonable that CLONE_NEWIPC without CLONE_SYSVSEM would just imply CLONE_SYSVSEM. However with clone, specifying CLONE_SYSVSEM means *share* the sysvsem. So calling clone(CLONE_SYSVSEM|CLONE_NEWIPC) is explicitly asking for something we can't allow. So return -EINVAL in that case. [akpm@linux-foundation.org: cleanups] Signed-off-by: Serge E. Hallyn Cc: Manfred Spraul Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1 Author: Manfred Spraul Date: Tue Apr 29 01:00:59 2008 -0700 ipc: sysvsem: force unshare(CLONE_SYSVSEM) when CLONE_NEWIPC sys_unshare(CLONE_NEWIPC) doesn't handle the undo lists properly, this can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 2: perform an implicit CLONE_SYSVSEM in CLONE_NEWIPC. CLONE_NEWIPC creates a new IPC namespace, the task cannot access the existing semaphore arrays after the unshare syscall. Thus the task can/must detach from the existing undo list entries, too. This fixes the kernel corruption, because it makes it impossible that undo records from two different namespaces are in sysvsem.undo_list. Signed-off-by: Manfred Spraul Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7 Author: Manfred Spraul Date: Tue Apr 29 01:00:57 2008 -0700 ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM) sys_unshare(CLONE_NEWIPC) doesn't handle the undo lists properly, this can cause a kernel memory corruption. CLONE_NEWIPC must detach from the existing undo lists. Fix, part 1: add support for sys_unshare(CLONE_SYSVSEM) The original reason to not support it was the potential (inevitable?) confusion due to the fact that sys_unshare(CLONE_SYSVSEM) has the inverse meaning of clone(CLONE_SYSVSEM). Our two most reasonable options then appear to be (1) fully support CLONE_SYSVSEM, or (2) continue to refuse explicit CLONE_SYSVSEM, but always do it anyway on unshare(CLONE_SYSVSEM). This patch does (1). Changelog: Apr 16: SEH: switch to Manfred's alternative patch which removes the unshare_semundo() function which always refused CLONE_SYSVSEM. Signed-off-by: Manfred Spraul Signed-off-by: Serge E. Hallyn Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Cc: Michael Kerrisk Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44f564a4bf6ac70f2a84806203045cf515bc9367 Author: Zhang, Yanmin Date: Tue Apr 29 01:00:55 2008 -0700 ipc: add definitions of USHORT_MAX and others Add definitions of USHORT_MAX and others into kernel. ipc uses it and slub implementation might also use it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Zhang Yanmin Reviewed-by: Christoph Lameter Cc: Nadia Derbey Cc: "Pierre Peiffer" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5f75e7f256f75759ec3d6dbef0ba932f1b397d2 Author: Pierre Peiffer Date: Tue Apr 29 01:00:54 2008 -0700 IPC: consolidate all xxxctl_down() functions semctl_down(), msgctl_down() and shmctl_down() are used to handle the same set of commands for each kind of IPC. They all start to do the same job (they retrieve the ipc and do some permission checks) before handling the commands on their own. This patch proposes to consolidate this by moving these same pieces of code into one common function called ipcctl_pre_down(). It simplifies a little these xxxctl_down() functions and increases a little the maintainability. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321 Author: Pierre Peiffer Date: Tue Apr 29 01:00:51 2008 -0700 IPC: introduce ipc_update_perm() The IPC_SET command performs the same permission setting for all IPCs. This patch introduces a common ipc_update_perm() function to update these permissions and makes use of it for all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 016d7132f246a05e6e34ccba157fa278a96c45ae Author: Pierre Peiffer Date: Tue Apr 29 01:00:50 2008 -0700 IPC: get rid of the use *_setbuf structure. All IPCs make use of an intermetiate *_setbuf structure to handle the IPC_SET command. This is not really needed and, moreover, it complicates a little bit the code. This patch gets rid of the use of it and uses directly the semid64_ds/ msgid64_ds/shmid64_ds structure. In addition of removing one struture declaration, it also simplifies and improves a little bit the common 64-bits path. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21a4826a7c49bddebbe8d83d232f6416f1697ff0 Author: Pierre Peiffer Date: Tue Apr 29 01:00:49 2008 -0700 IPC/semaphores: remove one unused parameter from semctl_down() semctl_down() takes one unused parameter: semnum. This patch proposes to get rid of it. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522bb2a2b420a0c1d0fcd037aa4e1bb9e2bca447 Author: Pierre Peiffer Date: Tue Apr 29 01:00:49 2008 -0700 IPC/semaphores: move the rwmutex handling inside semctl_down semctl_down is called with the rwmutex (the one which protects the list of ipcs) taken in write mode. This patch moves this rwmutex taken in write-mode inside semctl_down. This has the advantages of reducing a little bit the window during which this rwmutex is taken, clarifying sys_semctl, and finally of having a coherent behaviour with [shm|msg]ctl_down Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0d092fc2df845a43cc4847836818f49331d0a5c Author: Pierre Peiffer Date: Tue Apr 29 01:00:48 2008 -0700 IPC/message queues: introduce msgctl_down Currently, sys_msgctl is not easy to read. This patch tries to improve that by introducing the msgctl_down function to handle all commands requiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for now). It is the equivalent function of semctl_down for message queues. This greatly changes the readability of sys_msgctl and also harmonizes the way these commands are handled among all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4cc8b5c5e5bac526618ee704f3cfdcad954e0c Author: Pierre Peiffer Date: Tue Apr 29 01:00:47 2008 -0700 IPC/shared memory: introduce shmctl_down Currently, the way the different commands are handled in sys_shmctl introduces some duplicated code. This patch introduces the shmctl_down function to handle all the commands requiring the rwmutex to be taken in write mode (ie IPC_SET and IPC_RMID for now). It is the equivalent function of semctl_down for shared memory. This removes some duplicated code for handling these both commands and harmonizes the way they are handled among all IPCs. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff3797218ef41c248c83184101ce1aedc227333 Author: Pierre Peiffer Date: Tue Apr 29 01:00:46 2008 -0700 IPC/semaphores: code factorisation Trivial patch which adds some small locking functions and makes use of them to factorize some part of the code and to make it cleaner. Signed-off-by: Pierre Peiffer Acked-by: Serge Hallyn Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6546bc4279241e8fa432de1bb63a4f6f791fd669 Author: Nadia Derbey Date: Tue Apr 29 01:00:45 2008 -0700 ipc: re-enable msgmni automatic recomputing msgmni if set to negative The enhancement as asked for by Yasunori: if msgmni is set to a negative value, register it back into the ipcns notifier chain. A new interface has been added to the notification mechanism: notifier_chain_cond_register() registers a notifier block only if not already registered. With that new interface we avoid taking care of the states changes in procfs. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91cfb2b4b57816de0c96de417b3238249f0b125f Author: Nadia Derbey Date: Tue Apr 29 01:00:44 2008 -0700 ipc: do not recompute msgmni anymore if explicitly set by user Make msgmni not recomputed anymore upon ipc namespace creation / removal or memory add/remove, as soon as it has been set from userland. As soon as msgmni is explicitly set via procfs or sysctl(), the associated callback routine is unregistered from the ipc namespace notifier chain. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2c284d8a87f95df9b47c6a13168a844ca7c03e9 Author: Nadia Derbey Date: Tue Apr 29 01:00:44 2008 -0700 ipc: recompute msgmni on ipc namespace creation/removal Introduce a notification mechanism that aims at recomputing msgmni each time an ipc namespace is created or removed. The ipc namespace notifier chain already defined for memory hotplug management is used for that purpose too. Each time a new ipc namespace is allocated or an existing ipc namespace is removed, the ipcns notifier chain is notified. The callback routine for each registered ipc namespace is then activated in order to recompute msgmni for that namespace. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 424450c1dbe72b6e2637e91108417d7d9580c4c3 Author: Nadia Derbey Date: Tue Apr 29 01:00:43 2008 -0700 ipc: invoke the ipcns notifier chain as a work item Make the memory hotplug chain's mutex held for a shorter time: when memory is offlined or onlined a work item is added to the global workqueue. When the work item is run, it notifies the ipcns notifier chain with the IPCNS_MEMCHANGED event. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6b337ad1c1d6fe11b09b35d75464b84b3e11f07 Author: Nadia Derbey Date: Tue Apr 29 01:00:42 2008 -0700 ipc: recompute msgmni on memory add / remove Introduce the registration of a callback routine that recomputes msg_ctlmni upon memory add / remove. A single notifier block is registered in the hotplug memory chain for all the ipc namespaces. Since the ipc namespaces are not linked together, they have their own notification chain: one notifier_block is defined per ipc namespace. Each time an ipc namespace is created (removed) it registers (unregisters) its notifier block in (from) the ipcns chain. The callback routine registered in the memory chain invokes the ipcns notifier chain with the IPCNS_LOWMEM event. Each callback routine registered in the ipcns namespace, in turn, recomputes msgmni for the owning namespace. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c40ba4fd64f98e7a5cba8ffaedbd68642a85700 Author: Nadia Derbey Date: Tue Apr 29 01:00:41 2008 -0700 ipc: define the slab_memory_callback priority as a constant This is a trivial patch that defines the priority of slab_memory_callback in the callback chain as a constant. This is to prepare for next patch in the series. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d89dc6ab2711258bfd12c72d753f3ad56b244e2 Author: Nadia Derbey Date: Tue Apr 29 01:00:40 2008 -0700 ipc: scale msgmni to the number of ipc namespaces Since all the namespaces see the same amount of memory (the total one) this patch introduces a new variable that counts the ipc namespaces and divides msg_ctlmni by this counter. Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7bf3df8be72d98afa84f5ff183e14c1ba1e560d Author: Nadia Derbey Date: Tue Apr 29 01:00:39 2008 -0700 ipc: scale msgmni to the amount of lowmem On large systems we'd like to allow a larger number of message queues. In some cases up to 32K. However simply setting MSGMNI to a larger value may cause problems for smaller systems. The first patch of this series introduces a default maximum number of message queue ids that scales with the amount of lowmem. Since msgmni is per namespace and there is no amount of memory dedicated to each namespace so far, the second patch of this series scales msgmni to the number of ipc namespaces too. Since msgmni depends on the amount of memory, it becomes necessary to recompute it upon memory add/remove. In the 4th patch, memory hotplug management is added: a notifier block is registered into the memory hotplug notifier chain for the ipc subsystem. Since the ipc namespaces are not linked together, they have their own notification chain: one notifier_block is defined per ipc namespace. Each time an ipc namespace is created (removed) it registers (unregisters) its notifier block in (from) the ipcns chain. The callback routine registered in the memory chain invokes the ipcns notifier chain with the IPCNS_MEMCHANGE event. Each callback routine registered in the ipcns namespace, in turn, recomputes msgmni for the owning namespace. The 5th patch makes it possible to keep the memory hotplug notifier chain's lock for a lesser amount of time: instead of directly notifying the ipcns notifier chain upon memory add/remove, a work item is added to the global workqueue. When activated, this work item is the one who notifies the ipcns notifier chain. Since msgmni depends on the number of ipc namespaces, it becomes necessary to recompute it upon ipc namespace creation / removal. The 6th patch uses the ipc namespace notifier chain for that purpose: that chain is notified each time an ipc namespace is created or removed. This makes it possible to recompute msgmni for all the namespaces each time one of them is created or removed. When msgmni is explicitely set from userspace, we should avoid recomputing it upon memory add/remove or ipcns creation/removal. This is what the 7th patch does: it simply unregisters the ipcns callback routine as soon as msgmni has been changed from procfs or sysctl(). Even if msgmni is set by hand, it should be possible to make it back automatically recomputed upon memory add/remove or ipcns creation/removal. This what is achieved in patch 8: if set to a negative value, msgmni is added back to the ipcns notifier chain, making it automatically recomputed again. This patch: Compute msg_ctlmni to make it scale with the amount of lowmem. msg_ctlmni is now set to make the message queues occupy 1/32 of the available lowmem. Some cleaning has also been done for the MSGPOOL constant: the msgctl man page says it's not used, but it also defines it as a size in bytes (the code expresses it in Kbytes). Signed-off-by: Nadia Derbey Cc: Yasunori Goto Cc: Matt Helsley Cc: Mingming Cao Cc: Pierre Peiffer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48dea404ed01869313f1908cca8a15774dcd8ee5 Author: Pierre Peiffer Date: Tue Apr 29 01:00:35 2008 -0700 IPC: use ipc_buildid() directly from ipc_addid() By continuing to consolidate a little the IPC code, each id can be built directly in ipc_addid() instead of having it built from each callers of ipc_addid() And I also remove shm_addid() in order to have, as much as possible, the same code for shm/sem/msg. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d15c43225afb2ebb6d700144285175a1c4abd9 Author: Randy Dunlap Date: Tue Apr 29 01:00:35 2008 -0700 doc: fix DMA-API function parameters Fix kernel bugzilla #10388. DMA-API.txt has wrong argument type for some functions. It uses struct device but should use struct pci_dev. Signed-off-by: Randy Dunlap Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb9fbc5c37b69ac584e61d449cfd590f5ae1f90d Author: Arthur Kepner Date: Tue Apr 29 01:00:34 2008 -0700 IB: expand ib_umem_get() prototype Add a new parameter, dmasync, to the ib_umem_get() prototype. Use dmasync = 1 when mapping user-allocated CQs with ib_umem_get(). Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 309df0c503c35fbb5a09537fcbb1f4967b9ca489 Author: Arthur Kepner Date: Tue Apr 29 01:00:32 2008 -0700 dma/ia64: update ia64 machvecs, swiotlb.c Change all ia64 machvecs to use the new dma_*map*_attrs() interfaces. Implement the old dma_*map_*() interfaces in terms of the corresponding new interfaces. For ia64/sn, make use of one dma attribute, DMA_ATTR_WRITE_BARRIER. Introduce swiotlb_*map*_attrs() functions. Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a75b0a2f68d3937f96ed39525e4750601483e3b4 Author: Arthur Kepner Date: Tue Apr 29 01:00:31 2008 -0700 dma: document dma_*map*_attrs() interfaces Document the new dma_*map*_attrs() functions. [markn@au1.ibm.com: fix up for dma-add-dma_map_attrs-interfaces and update docs] Signed-off-by: Arthur Kepner Acked-by: David S. Miller Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Mark Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bc7ceebfa1c84ddd3a843ebfb56df013bf7ef5 Author: Arthur Kepner Date: Tue Apr 29 01:00:30 2008 -0700 dma: add dma_*map*_attrs() interfaces Introduce new interfaces, dma_*map*_attrs(), for passing architecture-specific attributes when memory is mapped and unmapped for DMA. Give the interfaces default implementations which ignore attributes. Also introduce the dma_{set|get}_attr() interfaces for setting and retrieving individual attributes. Define one attribute, DMA_ATTR_WRITE_BARRIER, in anticipation of its use by ia64/sn. Select whether architectures implement arch-specific versions of the dma_*map*_attrs() interfaces via HAVE_DMA_ATTRS in Kconfig. [markn@au1.ibm.com: dma_{set,get}_attr() have to be static inline] Signed-off-by: Arthur Kepner Cc: Tony Luck Cc: Jesse Barnes Cc: Jes Sorensen Cc: Randy Dunlap Cc: Roland Dreier Cc: James Bottomley Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Grant Grundler Cc: Michael Ellerman Signed-off-by: Mark Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2ba7e2ae206e9ab24e8937d99d0d5513bfd08e5 Author: Oleg Nesterov Date: Tue Apr 29 01:00:29 2008 -0700 simplify cpu_hotplug_begin()/put_online_cpus() cpu_hotplug_begin() must be always called under cpu_add_remove_lock, this means that only one process can be cpu_hotplug.active_writer. So we don't need the cpu_hotplug.writer_queue, we can wake up the ->active_writer directly. Also, fix the comment. Signed-off-by: Oleg Nesterov Cc: Dipankar Sarma Acked-by: Gautham R Shenoy Cc: Ingo Molnar Cc: Srivatsa Vaddagiri Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e35eaa2d86419470f3f3aed9acd85b8addff25c Author: Oleg Nesterov Date: Tue Apr 29 01:00:28 2008 -0700 cleanup_workqueue_thread: remove the unneeded "cpu" parameter cleanup_workqueue_thread() doesn't need the second argument, remove it. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00dfcaf748f46de89efe41baa298b5cf9adda67e Author: Oleg Nesterov Date: Tue Apr 29 01:00:27 2008 -0700 workqueues: shrink cpu_populated_map when CPU dies When cpu_populated_map was introduced, it was supposed that cwq->thread can survive after CPU_DEAD, that is why we never shrink cpu_populated_map. This is not very nice, we can safely remove the already dead CPU from the map. The only required change is that destroy_workqueue() must hold the hotplug lock until it destroys all cwq->thread's, to protect the cpu_populated_map. We could make the local copy of cpu mask and drop the lock, but sizeof(cpumask_t) may be very large. Also, fix the comment near queue_work(). Unless _cpu_down() happens we do guarantee the cpu-affinity of the work_struct, and we have users which rely on this. [akpm@linux-foundation.org: repair comment] Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786083667e0ced85ce17c4c0b6c57a9f47c5b9f2 Author: Paul Menage Date: Tue Apr 29 01:00:26 2008 -0700 Cpuset hardwall flag: add a mem_hardwall flag to cpusets This flag provides the hardwalling properties of mem_exclusive, without enforcing the exclusivity. Either mem_hardwall or mem_exclusive is sufficient to prevent GFP_KERNEL allocations from passing outside the cpuset's assigned nodes. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit addf2c739d9015d3e9c0500b58a3af051cd58ea7 Author: Paul Menage Date: Tue Apr 29 01:00:26 2008 -0700 Cpuset hardwall flag: switch cpusets to use the bulk cgroup_add_files() API Currently the cpusets mem_exclusive flag is overloaded to mean both "no-overlapping" and "no GFP_KERNEL allocations outside this cpuset". These patches add a new mem_hardwall flag with just the allocation restriction part of the mem_exclusive semantics, without breaking backwards-compatibility for those who continue to use just mem_exclusive. Additionally, the cgroup control file registration for cpusets is cleaned up to reduce boilerplate. This patch: This change tidies up the cpusets control file definitions, and reduces the amount of boilerplate required to add/change control files in the future. Signed-off-by: Paul Menage Reviewed-by: Li Zefan Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e0c914cabc6d75d2eafdff00671a2ad683a5e3c Author: Adrian Bunk Date: Tue Apr 29 01:00:25 2008 -0700 kernel/cpuset.c: make 3 functions static Make the following needlessly global functions static: - cpuset_test_cpumask() - cpuset_change_cpumask() - cpuset_do_move_task() Signed-off-by: Adrian Bunk Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1faf8e40a8ab12ae1f7f474965e6fb031e43f8d6 Author: Li Zefan Date: Tue Apr 29 01:00:24 2008 -0700 memcg: remove redundant initialization in mem_cgroup_create() *mem has been zeroed, that means mem->info has already been filled with 0. Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33327948782bcef89c78eb47af86b6a2df9fd4a5 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 01:00:24 2008 -0700 memcgroup: use vmalloc for mem_cgroup allocation On ia64, this kmalloc() requires order-4 pages. But this is not necessary to be physically contiguous. For big mem_cgroup, vmalloc is better. For small ones, kmalloc is used. [akpm@linux-foundation.org: simplification] Signed-off-by: KAMEZAWA Hiroyuki Cc: Pavel Emelyanov Cc: Li Zefan Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a56d02e34baedbea5eb1fd558f2b856b8c7db1e Author: Balbir Singh Date: Tue Apr 29 01:00:23 2008 -0700 memcgroup: make the memory controller more desktop responsive This patch makes the memory controller more responsive on my desktop. 1. Set all cached pages as inactive. We were by default marking all pages as active, thus forcing us to go through two passes for reclaiming pages 2. Remove congestion_wait(), since we already have that logic in do_try_to_free_pages() Signed-off-by: Balbir Singh Reviewed-by: KOSAKI Motohiro Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: Pavel Emelianov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eae90c3cdd4e762d0f4f5e939c98780fccded57 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 01:00:22 2008 -0700 memcg: remove redundant function calls remove_list/add_list uses page_cgroup_zoneinfo() in it. So, it's called twice before and after lock. mz = page_cgroup_zoneinfo(); lock(); mz = page_cgroup_zoneinfo(); .... unlock(); And address of mz never changes. This is not good. This patch fixes this behavior. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29f2a4dac856e9433a502b05b40e8e90385d8e27 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:21 2008 -0700 memcgroup: implement failcounter reset This is a very common requirement from people using the resource accounting facilities (not only memcgroup but also OpenVZ beancounters). They want to put the cgroup in an initial state without re-creating it. For example after re-configuring a group people want to observe how this new configuration fits the group needs without saving the previous failcnt value. Merge two resets into one mem_cgroup_reset() function to demonstrate how multiplexing work. Besides, I have plans to move the files, that correspond to res_counter to the res_counter.c file and somehow "import" them into controller. I don't know how to make it gracefully yet, but merging resets of max_usage and failcnt in one function will be there for sure. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85cc59db12724e1248f5e4841e61339cf485d5c7 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:20 2008 -0700 memcgroup: use triggers in force_empty and max_usage files These two files are essentially event callbacks. They do not care about the contents of the string, but only about the fact of the write itself. Signed-off-by: Pavel Emelyanov Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6ac57d50a375aa2f267e1b2b56c46564a936d00 Author: Balbir Singh Date: Tue Apr 29 01:00:19 2008 -0700 memcgroup: move memory controller allocations to their own slabs Move the memory controller data structure page_cgroup to its own slab cache. It saves space on the system, allocations are not necessarily pushed to order of 2 and should provide performance benefits. Users who disable the memory controller can also double check that the memory controller is not allocating page_cgroup's. NOTE: Hugh Dickins brought up the issue of whether we want to mark page_cgroup as __GFP_MOVABLE or __GFP_RECLAIMABLE. I don't think there is an easy answer at the moment. page_cgroup's are associated with user pages, they can be reclaimed once the user page has been reclaimed, so it might make sense to mark them as __GFP_RECLAIMABLE. For now, I am leaving the marking to default values that the slab allocator uses. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faebe9fdf35058bb8421e4c09f6f70994eaf8db2 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:18 2008 -0700 memcgroups: add a document describing the resource counter abstraction The resource counter is supposed to facilitate the resource accounting of arbitrary resource (and it already does this for memory controller). However, it is about to be used in other resources controllers (swap, kernel memory, networking, etc), so provide a doc describing how to work with it. This will eliminate all the possible future duplications in the appropriate controllers' docs. Fixed errors pointed out by Randy. [akpm@linux-foundation.org: fix documentation tpyo] Signed-off-by: Pavel Emelyanov Cc: Randy Dunlap Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c84872e168d10926acd2dee975d19172eef79252 Author: Pavel Emelyanov Date: Tue Apr 29 01:00:17 2008 -0700 memcgroup: add the max_usage member on the res_counter This field is the maximal value of the usage one since the counter creation (or since the latest reset). To reset this to the usage value simply write anything to the appropriate cgroup file. Signed-off-by: Pavel Emelyanov Acked-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf475ad28ac35cc9ba612d67158f29b73b38b05d Author: Balbir Singh Date: Tue Apr 29 01:00:16 2008 -0700 cgroups: add an owner to the mm_struct Remove the mem_cgroup member from mm_struct and instead adds an owner. This approach was suggested by Paul Menage. The advantage of this approach is that, once the mm->owner is known, using the subsystem id, the cgroup can be determined. It also allows several control groups that are virtually grouped by mm_struct, to exist independent of the memory controller i.e., without adding mem_cgroup's for each controller, to mm_struct. A new config option CONFIG_MM_OWNER is added and the memory resource controller selects this config option. This patch also adds cgroup callbacks to notify subsystems when mm->owner changes. The mm_cgroup_changed callback is called with the task_lock() of the new task held and is called just prior to changing the mm->owner. I am indebted to Paul Menage for the several reviews of this patchset and helping me make it lighter and simpler. This patch was tested on a powerpc box, it was compiled with both the MM_OWNER config turned on and off. After the thread group leader exits, it's moved to init_css_state by cgroup_exit(), thus all future charges from runnings threads would be redirected to the init_css_set's subsystem. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: Hirokazu Takahashi Cc: David Rientjes , Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Acked-by: Pekka Enberg Reviewed-by: Paul Menage Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29486df325e1fe6e1764afcb19e3370804c2b002 Author: Serge E. Hallyn Date: Tue Apr 29 01:00:14 2008 -0700 cgroups: introduce cft->read_seq() Introduce a read_seq() helper in cftype, which uses seq_file to print out lists. Use it in the devices cgroup. Also split devices.allow into two files, so now devices.deny and devices.allow are the ones to use to manipulate the whitelist, while devices.list outputs the cgroup's current whitelist. Signed-off-by: Serge E. Hallyn Acked-by: Paul Menage Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28fd5dfc12bde391981dfdcf20755952b6e916af Author: Li Zefan Date: Tue Apr 29 01:00:13 2008 -0700 cgroups: remove the css_set linked-list Now we can run through the hash table instead of running through the linked-list. Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5 Author: Li Zefan Date: Tue Apr 29 01:00:13 2008 -0700 cgroups: simplify init_subsys() We are at system boot and there is only 1 cgroup group (i,e, init_css_set), so we don't need to run through the css_set linked list. Neither do we need to run through the task list, since no processes have been created yet. Also referring to a comment in cgroup.h: struct css_set { ... /* * Set of subsystem states, one for each subsystem. This array * is immutable after creation apart from the init_css_set * during subsystem registration (at boot time). */ struct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT]; } Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 472b1053f3c319cc60bfb2a0bb062fed77a93eb6 Author: Li Zefan Date: Tue Apr 29 01:00:11 2008 -0700 cgroups: use a hash table for css_set finding When we attach a process to a different cgroup, the css_set linked-list will be run through to find a suitable existing css_set to use. This patch implements a hash table for better performance. The following benchmarks have been tested: For N in 1, 5, 10, 50, 100, 500, 1000, create N cgroups with one sleeping task in each, and then move an additional task through each cgroup in turn. Here is a test result: N Loop orig - Time(s) hash - Time(s) ---------------------------------------------- 1 10000 1.201231728 1.196311177 5 2000 1.065743872 1.040566424 10 1000 0.991054735 0.986876440 50 200 0.976554203 0.969608733 100 100 0.998504680 0.969218270 500 20 1.157347764 0.962602963 1000 10 1.619521852 1.085140172 Signed-off-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08ce5f16ee466ffc5bf243800deeecd77d9eaf50 Author: Serge E. Hallyn Date: Tue Apr 29 01:00:10 2008 -0700 cgroups: implement device whitelist Implement a cgroup to track and enforce open and mknod restrictions on device files. A device cgroup associates a device access whitelist with each cgroup. A whitelist entry has 4 fields. 'type' is a (all), c (char), or b (block). 'all' means it applies to all types and all major and minor numbers. Major and minor are either an integer or * for all. Access is a composition of r (read), w (write), and m (mknod). The root device cgroup starts with rwm to 'all'. A child devcg gets a copy of the parent. Admins can then remove devices from the whitelist or add new entries. A child cgroup can never receive a device access which is denied its parent. However when a device access is removed from a parent it will not also be removed from the child(ren). An entry is added using devices.allow, and removed using devices.deny. For instance echo 'c 1:3 mr' > /cgroups/1/devices.allow allows cgroup 1 to read and mknod the device usually known as /dev/null. Doing echo a > /cgroups/1/devices.deny will remove the default 'a *:* mrw' entry. CAP_SYS_ADMIN is needed to change permissions or move another task to a new cgroup. A cgroup may not be granted more permissions than the cgroup's parent has. Any task can move itself between cgroups. This won't be sufficient, but we can decide the best way to adequately restrict movement later. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix may-be-used-uninitialized warning] Signed-off-by: Serge E. Hallyn Acked-by: James Morris Looks-good-to: Pavel Emelyanov Cc: Daniel Hokka Zakrisson Cc: Li Zefan Cc: Paul Menage Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d447ea2f30ec60370ddb99a668e5ac12995f043d Author: Pavel Emelyanov Date: Tue Apr 29 01:00:08 2008 -0700 cgroups: add the trigger callback to struct cftype Trigger callback can be used to receive a kick-up from the user space. The string written is ignored. The cftype->private is used for multiplexing events. Signed-off-by: Pavel Emelyanov Acked-by: Paul Menage Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46ae220bea40bd1cf4abec2d5cdfb4f9396c7115 Author: Li Zefan Date: Tue Apr 29 01:00:08 2008 -0700 cgroup: switch to proc_create() There is a race between create_proc_entry() and the assignment of file ops. proc_create() is invented to fix it. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06a119204d3e1e67d393e996ed987b0df7998381 Author: Li Zefan Date: Tue Apr 29 01:00:07 2008 -0700 cgroup: annotate cgroup_init_subsys with __init It is called by cgroup_init() and cgroup_init_early() only, which are annotated with __init. Signed-off-by: Li Zefan Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06ecb27cfbf53ac2c7e397aa1619a6f9a98c5896 Author: Paul Menage Date: Tue Apr 29 01:00:06 2008 -0700 CGroups _s64 files: use read_s64/write_s64 in CFS cgroup for rt_runtime file This removes some filesystem boilerplate from the CFS cgroup subsystem. Signed-off-by: Paul Menage Acked-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e73d2c61d1fcbd3621688ae457b49509c8d4c601 Author: Paul Menage Date: Tue Apr 29 01:00:06 2008 -0700 CGroups _s64 files: add cgroups read_s64/write_s64 file methods These patches add cgroups read_s64 and write_s64 control file methods (the signed equivalent of read_u64/write_u64) and use them to implement the cpu.rt_runtime_us control file in the CFS cgroup subsystem. This patch: These are the signed equivalents of the read_u64/write_u64 methods Signed-off-by: Paul Menage Acked-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 418d7d875ce7f33ef0d48d7cc3a95f31302dcf56 Author: Paul Menage Date: Tue Apr 29 01:00:05 2008 -0700 CGroup API files: make CGROUP_DEBUG default to off The cgroup debug subsystem isn't generally useful for users. It should default to "n". Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3116f0e3df0a67ad56f15dd4c5f6cefb04bb4a98 Author: Paul Menage Date: Tue Apr 29 01:00:04 2008 -0700 CGroup API files: move "releasable" to cgroup_debug subsystem The "releasable" control file provided by the cgroup framework exports the state of a per-cgroup flag that's related to the notify-on-release feature. This isn't really generally useful, unless you're trying to debug this particular feature of cgroups. This patch moves the "releasable" file to the cgroup_debug subsystem. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c27e8818a09bbdfe7c07c629cb2c27e1a742e156 Author: Paul Menage Date: Tue Apr 29 01:00:03 2008 -0700 CGroup API files: drop mem_cgroup_force_empty() This function isn't needed - a NULL pointer in the cftype read function will result in the same EINVAL response to userspace. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c64745cf0f34f2cb08fc28c93d844e583d0d591d Author: Paul Menage Date: Tue Apr 29 01:00:02 2008 -0700 CGroup API files: use cgroup map for memcontrol stats file Remove the seq_file boilerplate used to construct the memcontrol stats map, and instead use the new map representation for cgroup control files Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9179656961adcea3c25403365597e486d851ac5e Author: Paul Menage Date: Tue Apr 29 01:00:01 2008 -0700 CGroup API files: add cgroup map data type Adds a new type of supported control file representation, a map from strings to u64 values. Each map entry is printed as a line in a similar format to /proc/vmstat, i.e. "$key $value\n" Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 700fe1ab99240c1a9c4d155e2a0612a1b044bb69 Author: Paul Menage Date: Tue Apr 29 01:00:00 2008 -0700 CGroup API files: update cpusets to use cgroup structured file API Many of the cpusets control files are simple integer values, which don't require the overhead of memory allocations for reads and writes. Move the handlers for these control files into cpuset_read_u64() and cpuset_write_u64(). [akpm@linux-foundation.org: ad dmissing `break'] Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7269dfc826fbf554c9e6a9eaa4e6ff95fa08656 Author: Paul Menage Date: Tue Apr 29 00:59:59 2008 -0700 CGroup API files: strip all trailing whitespace in cgroup_write_u64 This removes the need for people to remember to pass the -n flag to echo when writing values to cgroup control files. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c3daa722b624eaf0c5ea60e4f180bd0684542e2 Author: Paul Menage Date: Tue Apr 29 00:59:58 2008 -0700 CGroup API files: use read_u64 in memory controller Update the memory controller to use read_u64 for its limit/usage/failcnt control files, calling the new res_counter_read_u64() function. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c7eabf37647dd459d555e76954b4de87be2321f Author: Paul Menage Date: Tue Apr 29 00:59:58 2008 -0700 CGroup API files: add res_counter_read_u64() Adds a function for returning the value of a resource counter member, in a form suitable for use in a cgroup read_u64 control file method. Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4c753b7eacc277e506066abdda351cbc1cf8e6a Author: Paul Menage Date: Tue Apr 29 00:59:56 2008 -0700 CGroup API files: rename read/write_uint methods to read_write_u64 Several people have justifiably complained that the "_uint" suffix is inappropriate for functions that handle u64 values, so this patch just renames all these functions and their users to have the suffic _u64. [peterz@infradead.org: build fix] Signed-off-by: Paul Menage Cc: "Li Zefan" Cc: Balbir Singh Cc: Paul Jackson Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: "YAMAMOTO Takashi" Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ff31d0cca38b3c20e88a022bf38c4f7c98492f0 Author: Adrian Bunk Date: Tue Apr 29 00:59:55 2008 -0700 cgroups: kernel/ns_cgroup.c should #include Every file should include the headers containing the externs its global functions (in this case for ns_cgroup_clone()). Signed-off-by: Adrian Bunk Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fe91d518e4958af7edebbeb112a3272b2be232d Author: Paul Jackson Date: Tue Apr 29 00:59:55 2008 -0700 cgroup: fix sparse warning of shadow symbol in cgroup.c Fix a code warning: symbol 'p' shadows an earlier one This is a reincarnation of Harvey Harrison's patch: cpuset: sparse warnings in cpuset.c Independently, Cliff Wickman moved the affected code, from kernel/cpuset.c to kernel/cgroup.c, in his patch: cpusets: update_cpumask revision Signed-off-by: Paul Jackson Cc: Harvey Harrison Cc: Cliff Wickman Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3df91fe30a1547af7e794c6e8cca76f4932c6ad7 Author: Adrian Bunk Date: Tue Apr 29 00:59:54 2008 -0700 make cgroup_enable_task_cg_lists() static Make the needlessly global cgroup_enable_task_cg_lists() static. Signed-off-by: Adrian Bunk Acked-by: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ef0e1f8cad0a851b3dbf91802b14af7dd780352 Author: Andres Salomon Date: Tue Apr 29 00:59:53 2008 -0700 x86: olpc: add One Laptop Per Child architecture support This adds support for OLPC XO hardware. Open Firmware on XOs don't contain the VSA, so it is necessary to emulate the PCI BARs in the kernel. This also adds functionality for running EC commands, and a CONFIG_OLPC. A number of OLPC drivers depend upon CONFIG_OLPC. olpc_ec_timeout is a hack to work around Embedded Controller bugs. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: geode_has_vsa build fix] [akpm@linux-foundation.org: olpc_register_battery_callback doesn't exist] Signed-off-by: Andres Salomon Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9b12a31fcb738ea8c9eb0d4ddf906c6f1d696c Author: Michael Halcrow Date: Tue Apr 29 00:59:52 2008 -0700 eCryptfs: protect crypt_stat->flags in ecryptfs_open() Make sure crypt_stat->flags is protected with a lock in ecryptfs_open(). Signed-off-by: Michael Halcrow Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a3fd92e73fffd9e583650c56ad9558afe51dc5c Author: Michael Halcrow Date: Tue Apr 29 00:59:52 2008 -0700 eCryptfs: make key module subsystem respect namespaces Make eCryptfs key module subsystem respect namespaces. Since I will be removing the netlink interface in a future patch, I just made changes to the netlink.c code so that it will not break the build. With my recent patches, the kernel module currently defaults to the device handle interface rather than the netlink interface. [akpm@linux-foundation.org: export free_user_ns()] Signed-off-by: Michael Halcrow Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f66e883eb6186bc43a79581b67aff7d1a69d0ff1 Author: Michael Halcrow Date: Tue Apr 29 00:59:51 2008 -0700 eCryptfs: integrate eCryptfs device handle into the module. Update the versioning information. Make the message types generic. Add an outgoing message queue to the daemon struct. Make the functions to parse and write the packet lengths available to the rest of the module. Add functions to create and destroy the daemon structs. Clean up some of the comments and make the code a little more consistent with itself. [akpm@linux-foundation.org: printk fixes] Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf2debd5f7bf12d122124e34fec14af5b1e8ecf Author: Michael Halcrow Date: Tue Apr 29 00:59:50 2008 -0700 eCryptfs: introduce device handle for userspace daemon communications A regular device file was my real preference from the get-go, but I went with netlink at the time because I thought it would be less complex for managing send queues (i.e., just do a unicast and move on). It turns out that we do not really get that much complexity reduction with netlink, and netlink is more heavyweight than a device handle. In addition, the netlink interface to eCryptfs has been broken since 2.6.24. I am assuming this is a bug in how eCryptfs uses netlink, since the other in-kernel users of netlink do not seem to be having any problems. I have had one report of a user successfully using eCryptfs with netlink on 2.6.24, but for my own systems, when starting the userspace daemon, the initial helo message sent to the eCryptfs kernel module results in an oops right off the bat. I spent some time looking at it, but I have not yet found the cause. The netlink interface breaking gave me the motivation to just finish my patch to migrate to a regular device handle. If I cannot find out soon why the netlink interface in eCryptfs broke, I am likely to just send a patch to disable it in 2.6.24 and 2.6.25. I would like the device handle to be the preferred means of communicating with the userspace daemon from 2.6.26 on forward. This patch: Functions to facilitate reading and writing to the eCryptfs miscellaneous device handle. This will replace the netlink interface as the preferred mechanism for communicating with the userspace eCryptfs daemon. Each user has his own daemon, which registers itself by opening the eCryptfs device handle. Only one daemon per euid may be registered at any given time. The eCryptfs module sends a message to a daemon by adding its message to the daemon's outgoing message queue. The daemon reads the device handle to get the oldest message off the queue. Incoming messages from the userspace daemon are immediately handled. If the message is a response, then the corresponding process that is blocked waiting for the response is awakened. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c3580aa52195699065bc2d7242b1c7e3e6903fa Author: Miklos Szeredi Date: Tue Apr 29 00:59:48 2008 -0700 ecryptfs: add missing lock around notify_change Callers of notify_change() need to hold i_mutex. Signed-off-by: Miklos Szeredi Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d1dbf1d401e8f9d74cf1cf799fdb19cff150c6 Author: Harvey Harrison Date: Tue Apr 29 00:59:48 2008 -0700 ecryptfs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05db67a4f2c14dab5bcaa46c7d4e9237bd11b37c Author: Adrian Bunk Date: Tue Apr 29 00:59:47 2008 -0700 remove ecryptfs_header_cache_0 Remove the no longer used ecryptfs_header_cache_0. Signed-off-by: Adrian Bunk Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afe42d7dea2983faa593d289ab241ffdd94d37b3 Author: Harvey Harrison Date: Tue Apr 29 00:59:47 2008 -0700 xen: make blkif_getgeo static Introduced between 2.6.25-rc2 and -rc3 drivers/block/xen-blkfront.c:139:5: warning: symbol 'blkif_getgeo' was not declared. Should it be static? Signed-off-by: Harvey Harrison Cc: Jeremy Fitzhardinge Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b Author: Jan Engelhardt Date: Tue Apr 29 00:59:46 2008 -0700 vt: fix background color on line feed A command that causes a line feed while a background color is active, such as perl -e 'print "x" x 60, "\e[44m", "x" x 40, "\e[0m\n"' and perl -e 'print "x" x 40, "\e[44m\n", "x" x 40, "\e[0m\n"' causes the line that was started as a result of the line feed to be completely filled with the currently active background color instead of the default color. When scrolling, part of the current screen is memcpy'd/memmove'd to the new region, and the new line(s) that will appear as a result are cleared using memset. However, the lines are cleared with vc->vc_video_erase_char, causing them to be colored with the currently active background color. This is different from X11 terminal emulators which always paint the new lines with the default background color (e.g. `xterm -bg black`). The clear operation (\e[1J and \e[2J) also use vc_video_erase_char, so a new vc->vc_scrl_erase_char is introduced with contains the erase character used for scrolling, which is built from vc->vc_def_color instead of vc->vc_color. Signed-off-by: Jan Engelhardt Cc: "Antonino A. Daplas" Cc: "H. Peter Anvin" Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3265e66b1825942c6e0fc457986cdf941a5f7d37 Author: Thomas Petazzoni Date: Tue Apr 29 00:59:43 2008 -0700 directly use kmalloc() and kfree() in init/initramfs.c Instead of using the malloc() and free() wrappers needed by the lib/inflate.c code for allocations, simply use kmalloc() and kfree() in the initramfs code. This is needed for a further lib/inflate.c-related cleanup patch that will remove the malloc() and free() functions. Take that opportunity to remove the useless kmalloc() return value cast. Based on work done by Matt Mackall. Signed-off-by: Thomas Petazzoni Signed-off-by: Matt Mackall Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05 Author: Dave Young Date: Tue Apr 29 00:59:43 2008 -0700 isolate ratelimit from printk.c for other use Due to the rcupreempt.h WARN_ON trigged, I got 2G syslog file. For some serious complaining of kernel, we need repeat the warnings, so here I isolate the ratelimit part of printk.c to a standalone file. Signed-off-by: Dave Young Acked-by: Paul E. McKenney Tested-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 762873c251b056c6c1b29e83a4dabafb064e5421 Author: OGAWA Hirofumi Date: Tue Apr 29 00:59:42 2008 -0700 vfs: fix unconditional write_super() call in file_fsync() We need to check ->s_dirt before calling write_super(). It became the cause of an unneeded write. This bug was noticed by Sudhanshu Saxena. Signed-off-by: OGAWA Hirofumi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f0cfa52a1d4ffacd8e7de906d19662f5da58d58 Author: David Howells Date: Tue Apr 29 00:59:41 2008 -0700 xattr: add missing consts to function arguments Add missing consts to xattr function arguments. Signed-off-by: David Howells Cc: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec02ef1596bb3c829a7e8b65ebf13b87faf1819 Author: Jan Blunck Date: Tue Apr 29 00:59:40 2008 -0700 vfs: remove lives_below_in_same_fs() Remove lives_below_in_same_fs() since is_subdir() from fs/dcache.c is providing the same functionality. Signed-off-by: Jan Blunck Acked-by: Miklos Szeredi Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c8be3ce59dc59baf20b33dae3f8eb70af7b1f1 Author: Matthias Kaehlcke Date: Tue Apr 29 00:59:40 2008 -0700 fs/inode.c: use hlist_for_each_entry() fs/inode.c: use hlist_for_each_entry() in find_inode() and find_inode_fast() [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af065b8a19041554196971d8b6ae1459798d3b14 Author: Jan Kara Date: Tue Apr 29 00:59:39 2008 -0700 vfs: skip inodes without pages to free in drop_pagecache_sb() Many inodes have no pagecache, so we can avoid lots of lock-takings. Signed-off-by: Jan Kara Cc: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb Author: Jan Kara Date: Tue Apr 29 00:59:37 2008 -0700 vfs: fix lock inversion in drop_pagecache_sb() Fix longstanding lock inversion in drop_pagecache_sb by dropping inode_lock before calling __invalidate_mapping_pages(). We just have to make sure inode won't go away from under us by keeping reference to it and putting the reference only after we have safely resumed the scan of the inode list. A bit tricky but not too bad... Signed-off-by: Jan Kara Cc: Fengguang Wu Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8522509200b460443a7ca59138dc63bec1b690a Author: FUJITA Tomonori Date: Tue Apr 29 00:59:36 2008 -0700 swiotlb: use iommu_is_span_boundary helper function iommu_is_span_boundary in lib/iommu-helper.c was exported for PARISC IOMMUs (commit 3715863aa142c4f4c5208f5f3e5e9bac06006d2f). SWIOTLB can use it instead of the homegrown function. Signed-off-by: FUJITA Tomonori Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7133a15587b8921af8b074e0d3fe1606cbe5597 Author: Andrew Morton Date: Tue Apr 29 00:59:36 2008 -0700 lib/swiotlb.c: cleanups There's a pointlessly braced block of code in there. Remove the braces and save a tabstop. Cc: Andi Kleen Cc: FUJITA Tomonori Cc: Jan Beulich Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a3be324e3d9da08219d81d6765f445a726cf962 Author: Ciaran McCreesh Date: Tue Apr 29 00:59:35 2008 -0700 firmware loader: printk when requesting firmware Before requesting firmware, printk a message saying what we're requesting. This makes it easier to see what's going on, and provides an explanation for the huge silent delay that one would otherwise get after accidentally building ipw2200 as a non-module. Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e106010db689fdbdbd7ae738b115dae5f521e4 Author: Robert P. J. Day Date: Tue Apr 29 00:59:34 2008 -0700 MAINTAINERS: clarify status of MN10300 mailing list as moderated Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1d2c8b69ad81ea103b1e87809eba51931e16874 Author: David Howells Date: Tue Apr 29 00:59:34 2008 -0700 fdpic: check that the size returned by kernel_read() is what we asked for Check that the size of the read returned by kernel_read() is what we asked for. If it isn't, then reject the binary as being a badly formatted. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76308da18910e556747f6d100147f42ccc78662c Author: Ilpo Järvinen Date: Tue Apr 29 00:59:33 2008 -0700 smb.h: uses struct timespec but didn't include linux/time.h Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c9ba34ee3dbc34e829f42e42a5e5273b1183500 Author: Andy Whitcroft Date: Tue Apr 29 00:59:33 2008 -0700 update checkpatch.pl to version 0.18 This version brings a few fixes for the extern checks, and a couple of new checks. Of note: - false is now recognised as a 0 assignment in static/external assignments, - printf format strings including %L are reported, - a number of fixes for the extern in .c file detector which had temporarily lost its ability to detect variables; undetected due to the loss of its test. Andy Whitcroft (8): Version: 0.18 false should trip 0 assignment checks tests: reinstate missing tests tests: allow specification of the file extension for a test fix extern checks for variables check for and report %Lu, %Ld, and %Li ensure we only start a statement on lines with some content extern spacing Signed-off-by: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 171ae1a491e216ef728436f9cc958e05cccf5a27 Author: Andy Whitcroft Date: Tue Apr 29 00:59:32 2008 -0700 update checkpatch.pl to version 0.17 This version brings improvements to external declaration detection, fixes to quote tracking, fixes to unary tracking, some clarification of wording, and the usual slew of fixes for false positives. Of note: - much better unary tracking across preprocessor directives - UTF8 checks highlight the character at fault - widening of mutex detection Andy Whitcroft (17): Version: 0.17 values: __attribute__ carries through the previous type quotes: should only follow "positive" lines clarify the indent tabs over spaces wording loosen NR_CPUS check for array range initialisers detect external function declarations without an extern prefix function declaration arguments should be with the identifier DEFINE_MUTEX should report in line with struct mutex NR_CPUS is valid in preprocessor statements comment detection should not start on the @@ line types: add support for #undef tighten mutex/completion reports to usage allow export of function pointers values: preprocessor #define is out of line maintain values values: #define does not always have parentheses unary '*' may be const utf8 checks should report location of the invalid character Wolfram Sang (1): make checkpatch.pl really skip Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee8900c9c7cc92db02b7edfa26ae3b2c9b2434f9 Author: Joe Perches Date: Tue Apr 29 00:59:31 2008 -0700 scripts/Lindent: support gnu indent v2.2.10 The new version of indent supports positioning labels in column 1 using "-il0" http://www.nabble.com/Release-2.2.10-of-GNU-Indent-td15990700.html Add "-il0" if indent version >= 2.2.10 Signed-off-by: Joe Perches Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a8ca95e9d62980fd3b41165ec05032c63ce21da Author: Julia Lawall Date: Tue Apr 29 00:59:30 2008 -0700 drivers/misc: elide a non-zero test on a result that is never 0 The function thermal_cooling_device_register always returns either a valid pointer or a value made with ERR_PTR, so a test for non-zero on the result will always succeed. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = thermal_cooling_device_register(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Cc: Thomas Sujith Cc: Len Brown Cc: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d8c365b2df2adb904963333a93b15414403ed1 Author: Robert P. J. Day Date: Tue Apr 29 00:59:29 2008 -0700 lists: add "const" qualifier to first arg of list_splice() operations Since neither the list_splice() nor __list_splice() routines modify their first argument, might as well declare them "const". [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86735118459b46422e20d3b73ee732b1f1f780b1 Author: Robert P. J. Day Date: Tue Apr 29 00:59:28 2008 -0700 kbuild: move files that don't check __KERNEL__ Move files that don't check __KERNEL__ from unifdef-y to header-y. Signed-off-by: Robert P. J. Day Cc: Sam Ravnborg Cc: David Woodhouse Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a6924f93d0d511da5b34189563c5e31ffe5df2e Author: Robert P. J. Day Date: Tue Apr 29 00:59:28 2008 -0700 kbuild: remove duplicate, conflicting entry for oom.h oom.h is already tagged for unifdef'ing, so its entry as a simple exportable header should be deleted. Signed-off-by: Robert P. J. Day Cc: Sam Ravnborg Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e50b6ccdaaf0d933bb9d8409cac4b2f088f5a2f Author: S.Caglar Onur Date: Tue Apr 29 00:59:26 2008 -0700 fs/binfmt_aout.c: use printk_ratelimit() Use printk_ratelimit() instead of jiffies based arithmetic, suggested by Geert Uytterhoeven Signed-off-by: S.Caglar Onur Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab3c3b01d1848a5e8a1ddec4e5656fc4de04982 Author: Robert P. J. Day Date: Tue Apr 29 00:59:25 2008 -0700 Remove superfluous include of string.h from percpu.h There's nothing in percpu.h that requires an explicit inclusion of string.h. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aeb272cf09f9e2cbc62163b9f37a9b4d1c7e81d Author: Robert P. J. Day Date: Tue Apr 29 00:59:25 2008 -0700 kernel: explicitly include required header files under kernel/ Following an experimental deletion of the unnecessary directive #include from the header file , these files under kernel/ were exposed as needing to include one of or , so explicit includes were added where necessary. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a2e7f47d71e1df86acc1dda6826890b6546a4e1 Author: Pavel Emelyanov Date: Tue Apr 29 00:59:24 2008 -0700 binfmt_misc.c: avoid potential kernel stack overflow This can be triggered with root help only, but... Register the ":text:E::txt::/root/cat.txt:' rule in binfmt_misc (by root) and try launching the cat.txt file (by anyone) :) The result is - the endless recursion in the load_misc_binary -> open_exec -> load_misc_binary chain and stack overflow. There's a similar problem with binfmt_script, and there's a sh_bang memner on linux_binprm structure to handle this, but simply raising this in binfmt_misc may break some setups when the interpreter of some misc binaries is a script. So the proposal is to turn sh_bang into a bit, add a new one (the misc_bang) and raise it in load_misc_binary. After this, even if we set up the misc -> script -> misc loop for binfmts one of them will step on its own bang and exit. Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbd9b67bd3883dff0ef4b8ec9229d315a9ba38f0 Author: Dmitry Adamushko Date: Tue Apr 29 00:59:23 2008 -0700 kthread: call wake_up_process() without the lock being held From the POV of synchronization, there should be no need to call wake_up_process() with the 'kthread_create_lock' being held. Signed-off-by: Dmitry Adamushko Cc: Nick Piggin Cc: Ingo Molnar Cc: Rusty Russell Cc: "Paul E. McKenney" Cc: Peter Zijlstra Cc: Andy Whitcroft Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2d416dcc92e576d0e339efd641bd3d8ee2bfb4d Author: Andrew Morton Date: Tue Apr 29 00:59:22 2008 -0700 codafs: fix build warning powerpc: fs/coda/coda_linux.c: In function 'coda_iattr_to_vattr': fs/coda/coda_linux.c:137: warning: large integer implicitly truncated to unsigned type Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7afea3bcb1f87f3ddf34b38f202ad0d03f29e120 Author: Jon Schindler Date: Tue Apr 29 00:59:21 2008 -0700 drivers/block/floppy.c: replace init_module&cleanup_module with module_init&module_exit Replace init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045bcae0fb466a1dbb6af0036e56901fd7aafb7 Author: Rik van Riel Date: Tue Apr 29 00:59:21 2008 -0700 sysrq: add show-backtrace-on-all-cpus function SysRQ-P is not always useful on SMP systems, since it usually ends up showing the backtrace of a CPU that is doing just fine, instead of the backtrace of the CPU that is having problems. This patch adds SysRQ show-all-cpus(L), which shows the backtrace of every active CPU in the system. It skips idle CPUs because some SMP systems are just too large and we already know what the backtrace of the idle task looks like. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Rik van Riel Randy Dunlap Cc: Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e574195b75543bc6a6240306313988b1952470c Author: Harvey Harrison Date: Tue Apr 29 00:59:20 2008 -0700 drivers/misc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eecd58536a97502153d4a2bd6f05038f657a1ab3 Author: Harvey Harrison Date: Tue Apr 29 00:59:19 2008 -0700 firmware: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Doug Warzecha Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d195a5409120277b800c42e846ee29cc667b777 Author: Adrian Bunk Date: Tue Apr 29 00:59:18 2008 -0700 proper extern for late_time_init Add a proper extern for late_time_init in include/linux/init.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 175a06ae300188af8a61db68a78e1af44dc7d44f Author: Tetsuo Handa Date: Tue Apr 29 00:59:17 2008 -0700 exec: remove argv_len from struct linux_binprm I noticed that 2.6.24.2 calculates bprm->argv_len at do_execve(). But it doesn't update bprm->argv_len after "remove_arg_zero() + copy_strings_kernel()" at load_script() etc. audit_bprm() is called from search_binary_handler() and search_binary_handler() is called from load_script() etc. Thus, I think the condition check if (bprm->argv_len > (audit_argv_kb << 10)) return -E2BIG; in audit_bprm() might return wrong result when strlen(removed_arg) != strlen(spliced_args). Why not update bprm->argv_len at load_script() etc. ? By the way, 2.6.25-rc3 seems to not doing the condition check. Is the field bprm->argv_len no longer needed? Signed-off-by: Tetsuo Handa Cc: Ollie Wild Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecd0fa9825a1270e31fb48bc9edcfb28918b6c51 Author: WANG Cong Date: Tue Apr 29 00:59:15 2008 -0700 Remove the macro get_personality Remove the macro get_personality, use ->personality instead. Cc: Christoph Hellwig Cc: David Howells Cc: Bryan Wu Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e5e8c5085190b30b6fa42a4b75a88c10846b5f2 Author: jan sonnek Date: Tue Apr 29 00:59:15 2008 -0700 Misc: phantom, consistent whitespace Make it consistent with the rest of the header. Signed-off-by: jan sonnek Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d4f9f094b0a01ba199f97cd4a5f5609391a04f9 Author: Jiri Slaby Date: Tue Apr 29 00:59:14 2008 -0700 Misc, phantom, fix poll Return ERR even if there are pending data, but hw is not running. Do not decrement count in poll, do it in ioctl, where data are actually read. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e4e8e689fe90dd94bd76f9706d6cce580941ed5 Author: Jiri Slaby Date: Tue Apr 29 00:59:13 2008 -0700 Misc: phantom, add compat ioctl Openhaptics uses pointers in _IOC() macros, implement compat for them. Also add _IOC alternatives which are not 32/64 bit dependent (structures passed through aren't yet) -- libphantom will use them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb0f1c442d7cf1f7cb746c26c6120bb42e69c49c Author: Adrian Bunk Date: Tue Apr 29 00:59:12 2008 -0700 proper __do_softirq() prototype Add a proper prototype for __do_softirq() in include/linux/interrupt.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4b69002e56e93f1cfe8bb863846ecde3990032 Author: Julia Lawall Date: Tue Apr 29 00:59:12 2008 -0700 fs/affs/file.c: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70d3a2c596fb52b02488ad4aef13fa0d602090c Author: Benjamin Herrenschmidt Date: Tue Apr 29 00:59:11 2008 -0700 iomap: fix 64 bits resources on 32 bits Almost all implementations of pci_iomap() in the kernel, including the generic lib/iomap.c one, copies the content of a struct resource into unsigned long's which will break on 32 bits platforms with 64 bits resources. This fixes all definitions of pci_iomap() to use resource_size_t. I also "fixed" the 64bits arch for consistency. Signed-off-by: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 626adeb6675fdf60e9d8c6212776b0b0acf0e376 Author: Bjorn Helgaas Date: Tue Apr 29 00:59:10 2008 -0700 Simplify initcall_debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Also, combine printing return value with elapsed time. Changes this: Calling initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() initcall 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50() returned 1. initcall 0xc05b7a70 ran for 0 msecs: pci_mmcfg_late_insert_resources+0x0/0x50() initcall at 0xc05b7a70: pci_mmcfg_late_insert_resources+0x0/0x50(): returned with error code 1 to this: calling pci_mmcfg_late_insert_resources+0x0/0x50() initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned 1 after 0 msecs initcall pci_mmcfg_late_insert_resources+0x0/0x50() returned with error code 1 Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22caa0417db3b1d3dfafc9b7c0bf31baf8d667e7 Author: Jim Meyering Date: Tue Apr 29 00:59:09 2008 -0700 lib/inflate.c: handle failed malloc() lib/inflate.c (inflate_dynamic): Don't deref NULL upon failed malloc. Signed-off-by: Jim Meyering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd6fda36089cf3b450821228c2f575a3b5d0e7a7 Author: Jim Meyering Date: Tue Apr 29 00:59:08 2008 -0700 hfsplus: handle match_strdup failure fs/hfsplus/options.c (hfsplus_parse_options): Handle match_strdup failure. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fbe5c31009d26c7b6b73d5c69fe930a5e9d2e26 Author: Jim Meyering Date: Tue Apr 29 00:59:07 2008 -0700 hfs: handle match_strdup failure fs/hfs/super.c (parse_options): Handle match_strdup failure, twice. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db27dd9d26fb270adaa4c265df65ccb49638bd0 Author: Jim Meyering Date: Tue Apr 29 00:59:06 2008 -0700 affs: handle match_strdup failure fs/affs/super.c (parse_options): Remove useless initialization. Handle match_strdup failure. Signed-off-by: Jim Meyering Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61d64576a21275114d6bffff3c1cac6c8e2f7cf2 Author: Jiri Olsa Date: Tue Apr 29 00:59:05 2008 -0700 fs: remove unused fops from struct char_device_struct struct char_device_struct::fops is no longer used: remove it. Signed-off-by: Jiri Olsa Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4aacd47bd88126109a7c295b79c93604bd4bfd5a Author: Jiri Kosina Date: Tue Apr 29 00:59:04 2008 -0700 ipwireless: remove dead code Remove unused leftovers of debugging functions. 2.6.25 material. Reported-by: Adrian Bunk Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f249fdd8c19ff65825c0be67212cdf22e556668e Author: Harvey Harrison Date: Tue Apr 29 00:59:03 2008 -0700 autofs4: fix sparse warning in root.c fs/autofs4/root.c:536:23: warning: symbol 'ino' shadows an earlier one fs/autofs4/root.c:510:22: originally declared here There is no need to redeclare, we are at the end of the loop and in the next iteration of the loop, ino will be reset. Signed-off-by: Harvey Harrison Acked-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58b250daff6a24518813975143c8433d9d5b684f Author: Adrian Bunk Date: Tue Apr 29 00:59:02 2008 -0700 remove mca_is_adapter_used() Remove the no longer used mca_is_adapter_used(). Signed-off-by: Adrian Bunk Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3202e1811fd312f3f32ddc8f526aa2691b64ec55 Author: Adrian Bunk Date: Tue Apr 29 00:59:02 2008 -0700 make BINFMT_FLAT a bool I have not yet seen anyone saying he has a reasonable use case for using BINFMT_FLAT modular on his embedded device. Considering that fs/binfmt_flat.c even lacks a MODULE_LICENSE() I really doubt there is any, and this patch therefore makes BINFMT_FLAT a bool. Signed-off-by: Adrian Bunk Acked-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1e3af72c10ba74fb15864c354515ec1bd8bf2a5 Author: Adrian Bunk Date: Tue Apr 29 00:59:01 2008 -0700 make fs/buffer.c:cont_expand_zero() static cont_expand_zero() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 946a57b526a16e5662235cb8f573337bc8ecdc48 Author: Adrian Bunk Date: Tue Apr 29 00:59:00 2008 -0700 remove generic_commit_write() Remove the obsolete and no longer used generic_commit_write(). Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45cc2b96f20fa27088a650587e5d9dc5fa5e32c0 Author: Adrian Bunk Date: Tue Apr 29 00:58:59 2008 -0700 fs/timerfd.c should #include Every file should include the headers containing the prototypes for its global functions (in this case for sys_timerfd_*()). Signed-off-by: Adrian Bunk Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17a32e97eaa924754bf4463aee588a3890c7ae0 Author: Adrian Bunk Date: Tue Apr 29 00:58:58 2008 -0700 let LOG_BUF_SHIFT default to 17 16 kB is often no longer enough for a normal boot of an UP system. And even less when people e.g. use suspend. 17 seems to be a more reasonable default for current kernels on current hardware (it's just the default, anyone who is memory limited can still lower it). Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5470b596abdd566339b2417e807b1198be64b97 Author: Adrian Bunk Date: Tue Apr 29 00:58:57 2008 -0700 fs/aio.c: make 3 functions static Make the following needlessly global functions static: - __put_ioctx() - lookup_ioctx() - io_submit_one() Signed-off-by: Adrian Bunk Cc: Zach Brown Cc: Benjamin LaHaise Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07d45da616f8514651360b502314fc9554223a03 Author: Adrian Bunk Date: Tue Apr 29 00:58:57 2008 -0700 fs/drop_caches.c: make 2 functions static Make the following needlessly global functions static: - drop_pagecache() - drop_slab() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f11b00f3bd89c91c684d56b2082d1b0241ff20ae Author: Adrian Bunk Date: Tue Apr 29 00:58:56 2008 -0700 fs/fs-writeback.c: make 2 functions static Make the following needlessly global functions static: - writeback_acquire() - writeback_release() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67cde595374dd0e4e4a537dbf9dff70fd3d7bd7b Author: Adrian Bunk Date: Tue Apr 29 00:58:55 2008 -0700 make vfs_ioctl() static Make the needlessly global vfs_ioctl() static. Signed-off-by: Adrian Bunk Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b09ae66922ca198e5830c0a4d74400a507a9170 Author: Adrian Bunk Date: Tue Apr 29 00:58:54 2008 -0700 make __put_super() static Make the needlessly global __put_super() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b1919a1e8b8968e0ac9030a4f14f0d2cd69e7cf Author: Adrian Bunk Date: Tue Apr 29 00:58:54 2008 -0700 fs/freevxfs/: proper externs Move the extern declarations of several structs to vxfs_extern.h Signed-off-by: Adrian Bunk Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b0a8da7a7bbe7f84c7bd16a5e965a129f461881 Author: Adrian Bunk Date: Tue Apr 29 00:58:52 2008 -0700 fs/hfsplus/: proper externs Add proper extern declarations for two structs in fs/hfsplus/hfsplus_fs.h Signed-off-by: Adrian Bunk Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4488c59c942bd6004fc97f0c2a7603a2f5dd80e0 Author: Adrian Bunk Date: Tue Apr 29 00:58:51 2008 -0700 fs/ramfs/ extern cleanup - internal.h shouldn't duplicate the extern declaration for ramfs_file_operations already in include/linux/ramfs.h - file-mmu.c needs two #include's for seeing the extern declarations of it's global struct's Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7b16c108fd044adc422ff21b5d6c16022462fd0 Author: Sam Ravnborg Date: Tue Apr 29 00:58:51 2008 -0700 cpu: fix section mismatch warning in reference to register_cpu_notifier Fix following warnings: WARNING: vmlinux.o(.text+0xc60): Section mismatch in reference from the function kvm_init() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0x33869a): Section mismatch in reference from the function xfs_icsb_init_counters() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0x5556a1): Section mismatch in reference from the function acpi_processor_install_hotplug_notify() to the function .cpuinit.text:register_cpu_notifier() WARNING: vmlinux.o(.text+0xfe6b28): Section mismatch in reference from the function cpufreq_register_driver() to the function .cpuinit.text:register_cpu_notifier() register_cpu_notifier() are only really defined when HOTPLUG_CPU is enabled. So references to the function are OK. Annotate it with __ref so we do not get warnings from callers and do not get warnings for the functions/data used by register_cpu_notifier(). Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 514a20a5da99aef8e667cc395841a5c4e5f9e8c1 Author: Sam Ravnborg Date: Tue Apr 29 00:58:50 2008 -0700 cpu: fix section mismatch warnings in *cpu_down Fix following warnings: WARNING: vmlinux.o(.text+0x75c8d): Section mismatch in reference from the function take_cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75d2a): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75d4d): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75de4): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain WARNING: vmlinux.o(.text+0x75e33): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain cpu_down is only used from code surrounded by HOTPLUG_CPU so any references to __cpuinit is OK. Add a few __ref to tech modpost to ignore the references. This is just papering over the fact that the cpu hotplug code is fragile with respect to use of HOTPLUG_CPU and in many cases rely on __cpuinit to get rid of code when HOTPLUG_CPU is not enabled. For now this is the least invasive change. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9647155ffbce9dffed8a9a4768c8994334b609db Author: Sam Ravnborg Date: Tue Apr 29 00:58:48 2008 -0700 cpu: fix section mismatch warning in unregister_cpu_notifier Fix following warning: WARNING: vmlinux.o(.text+0x75f4e): Section mismatch in reference from the function unregister_cpu_notifier() to the variable .cpuinit.data:cpu_chain We know that unregister_cpu_notifier is using HOTPLUG_CPU stuff - so ignore these references. Annotating unregister_cpu_notifier had been another option but this caused far more warnings since not all callers were annotated __cpuinit. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f718e31819857825315300ea3c2dbc3f26ff3b0e Author: Sam Ravnborg Date: Tue Apr 29 00:58:47 2008 -0700 cpu: fix section mismatch warnings in hotcpu_register Fix following warnings: WARNING: vmlinux.o(.data+0x5020): Section mismatch in reference from the variable cpu_vsyscall_notifier_nb.12876 to the function .cpuinit.text:cpu_vsyscall_notifier() WARNING: vmlinux.o(.data+0x9ce0): Section mismatch in reference from the variable profile_cpu_callback_nb.17654 to the function .devinit.text:profile_cpu_callback() WARNING: vmlinux.o(.data+0xd380): Section mismatch in reference from the variable workqueue_cpu_callback_nb.15004 to the function .devinit.text:workqueue_cpu_callback() WARNING: vmlinux.o(.data+0x11d00): Section mismatch in reference from the variable relay_hotcpu_callback_nb.19626 to the function .cpuinit.text:relay_hotcpu_callback() WARNING: vmlinux.o(.data+0x12970): Section mismatch in reference from the variable cpu_callback_nb.24694 to the function .devinit.text:cpu_callback() WARNING: vmlinux.o(.data+0x3fee0): Section mismatch in reference from the variable percpu_counter_hotcpu_callback_nb.10903 to the function .cpuinit.text:percpu_counter_hotcpu_callback() WARNING: vmlinux.o(.data+0x74ce0): Section mismatch in reference from the variable topology_cpu_callback_nb.12506 to the function .cpuinit.text:topology_cpu_callback() Functions used as argument are by definition only used in HOTPLUG_CPU situations so thay are annotated __cpuinit. Annotate the static variable used by hotcpu_register with __cpuinitdata to match this definition. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63e3453e547b20321381b212cb1ee11537dc843d Author: Harvey Harrison Date: Tue Apr 29 00:58:44 2008 -0700 befs: fix sparse warning in linuxvfs.c Use link as the variable name to avoid shadowing the arg. fs/befs/linuxvfs.c:492:8: warning: symbol 'p' shadows an earlier one fs/befs/linuxvfs.c:488:77: originally declared here Signed-off-by: Harvey Harrison Cc: "Sergey S. Kostyliov" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fe76c763f0e18582bcb670c386978e83a755d05 Author: Harvey Harrison Date: Tue Apr 29 00:58:44 2008 -0700 coda: add static to functions in dir.c coda_unlink, coda_rmdir, coda_readdir can all be static, the forward declarations already were. Signed-off-by: Harvey Harrison Cc: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 679c9cd4acc2cf2872171813752eab3320273339 Author: Sripathi Kodi Date: Tue Apr 29 00:58:42 2008 -0700 add RUSAGE_THREAD Add the RUSAGE_THREAD option for the getrusage system call. This is essentially Roland's patch from http://lkml.org/lkml/2008/1/18/589, but the line about RUSAGE_LWP line has been removed, as suggested by Ulrich and Christoph. Signed-off-by: Roland McGrath Signed-off-by: Sripathi Kodi Cc: Ingo Molnar Cc: Michael Kerrisk Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5949050f2610fa526b154e0d8379218e54f49d1 Author: Harvey Harrison Date: Tue Apr 29 00:58:41 2008 -0700 adfs: work around bogus sparse warning fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound statement Signed-off-by: Harvey Harrison Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b570c9cef3b12356454c7112571b7e406b4b51 Author: Nur Hussein Date: Tue Apr 29 00:58:39 2008 -0700 Taint kernel after WARN_ON(condition) The kernel is sent to tainted within the warn_on_slowpath() function, and whenever a warning occurs the new taint flag 'W' is set. This is useful to know if a warning occurred before a BUG by preserving the warning as a flag in the taint state. This does not work on architectures where WARN_ON has its own definition. These archs are: 1. s390 2. superh 3. avr32 4. parisc The maintainers of these architectures have been added in the Cc: list in this email to alert them to the situation. The documentation in oops-tracing.txt has been updated to include the new flag. Signed-off-by: Nur Hussein Cc: Arjan van de Ven Cc: "Randy.Dunlap" Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Kyle McMartin Cc: Martin Schwidefsky Cc: Haavard Skinnemoen Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd3feb13e15a4859f629c9a076554e260c1d1397 Author: Ilpo Järvinen Date: Tue Apr 29 00:58:37 2008 -0700 fs/coda: remove static inline forward declarations They're defined later on in the same file with bodies and nothing in between needs them. Signed-off-by: Ilpo Järvinen Reviewed-by: Pekka Enberg Acked-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ede9c697bc7513f210103fa77a9031e89726ae40 Author: Eric Dumazet Date: Tue Apr 29 00:58:35 2008 -0700 Avoid divides in BITS_TO_LONGS BITS_PER_LONG is a signed value (32 or 64) DIV_ROUND_UP(nr, BITS_PER_LONG) performs signed arithmetic if "nr" is signed too. Converting BITS_TO_LONGS(nr) to DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long)) makes sure compiler can perform a right shift, even if "nr" is a signed value, instead of an expensive integer divide. Applying this patch saves 141 bytes on x86 when CONFIG_CC_OPTIMIZE_FOR_SIZE=y and speedup bitmap operations. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdac75e6f2fec9abc21d0abb4e5d80720eeebb10 Author: Davide Libenzi Date: Tue Apr 29 00:58:34 2008 -0700 epoll: avoid kmemcheck warning Epoll calls rb_set_parent(n, n) to initialize the rb-tree node, but rb_set_parent() accesses node's pointer in its code. This creates a warning in kmemcheck (reported by Vegard Nossum) about an uninitialized memory access. The warning is harmless since the following rb-tree node insert is going to overwrite the node data. In any case I think it's better to not have that happening at all, and fix it by simplifying the code to get rid of a few lines that became superfluous after the previous epoll changes. Signed-off-by: Davide Libenzi Cc: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b781ecb6a379f155568ef7093e38c6c1d857fe53 Author: Arjan van de Ven Date: Tue Apr 29 00:58:34 2008 -0700 make /dev/kmem a config option Make /dev/kmem a config option; /dev/kmem is VERY rarely used, and when used, it's generally for no good (rootkits tend to be the most common users). With this config option, users have the choice to disable /dev/kmem, saving some size as well. A patch to disable /dev/kmem has been in the Fedora and RHEL kernels for 4+ years now without any known problems or legit users of /dev/kmem. [akpm@linux-foundation.org: make CONFIG_DEVKMEM default to y] Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cddc0a906ee3e47ce3e09107d385ff89f87cd6d Author: Harvey Harrison Date: Tue Apr 29 00:58:29 2008 -0700 power: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 551883ae8c9c31460e796e7b1b8aa9069de268b4 Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:26 2008 -0700 page allocator: explicitly retry hugepage allocations Add __GFP_REPEAT to hugepage allocations. Do so to not necessitate userspace putting pressure on the VM by repeated echo's into /proc/sys/vm/nr_hugepages to grow the pool. With the previous patch to allow for large-order __GFP_REPEAT attempts to loop for a bit (as opposed to indefinitely), this increases the likelihood of getting hugepages when the system experiences (or recently experienced) load. Mel tested the patchset on an x86_32 laptop. With the patches, it was easier to use the proc interface to grow the hugepage pool. The following is the output of a script that grows the pool as much as possible running on 2.6.25-rc9. Allocating hugepages test ------------------------- Disabling OOM Killer for current test process Starting page count: 0 Attempt 1: 57 pages Progress made with 57 pages Attempt 2: 73 pages Progress made with 16 pages Attempt 3: 74 pages Progress made with 1 pages Attempt 4: 75 pages Progress made with 1 pages Attempt 5: 77 pages Progress made with 2 pages 77 pages was the most it allocated but it took 5 attempts from userspace to get it. With the 3 patches in this series applied, Allocating hugepages test ------------------------- Disabling OOM Killer for current test process Starting page count: 0 Attempt 1: 75 pages Progress made with 75 pages Attempt 2: 76 pages Progress made with 1 pages Attempt 3: 79 pages Progress made with 3 pages And 79 pages was the most it got. Your patches were able to allocate the bulk of possible pages on the first attempt. Signed-off-by: Nishanth Aravamudan Cc: Andy Whitcroft Tested-by: Mel Gorman Cc: Dave Hansen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a41f24ea9fd6169b147c53c2392e2887cc1d9247 Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:25 2008 -0700 page allocator: smarter retry of costly-order allocations Because of page order checks in __alloc_pages(), hugepage (and similarly large order) allocations will not retry unless explicitly marked __GFP_REPEAT. However, the current retry logic is nearly an infinite loop (or until reclaim does no progress whatsoever). For these costly allocations, that seems like overkill and could potentially never terminate. Mel observed that allowing current __GFP_REPEAT semantics for hugepage allocations essentially killed the system. I believe this is because we may continue to reclaim small orders of pages all over, but never have enough to satisfy the hugepage allocation request. This is clearly only a problem for large order allocations, of which hugepages are the most obvious (to me). Modify try_to_free_pages() to indicate how many pages were reclaimed. Use that information in __alloc_pages() to eventually fail a large __GFP_REPEAT allocation when we've reclaimed an order of pages equal to or greater than the allocation's order. This relies on lumpy reclaim functioning as advertised. Due to fragmentation, lumpy reclaim may not be able to free up the order needed in one invocation, so multiple iterations may be requred. In other words, the more fragmented memory is, the more retry attempts __GFP_REPEAT will make (particularly for higher order allocations). This changes the semantics of __GFP_REPEAT subtly, but *only* for allocations > PAGE_ALLOC_COSTLY_ORDER. With this patch, for those size allocations, we will try up to some point (at least 1< Cc: Andy Whitcroft Tested-by: Mel Gorman Cc: Dave Hansen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab857d09386661145924c9403792234aeca4bdff Author: Nishanth Aravamudan Date: Tue Apr 29 00:58:23 2008 -0700 mm: fix misleading __GFP_REPEAT related comments The definition and use of __GFP_REPEAT, __GFP_NOFAIL and __GFP_NORETRY in the core VM have somewhat differing comments as to their actual semantics. Annoyingly, the flags definition has inline and header comments, which might be interpreted as not being equivalent. Just add references to the header comments in the inline ones so they don't go out of sync in the future. In their use in __alloc_pages() clarify that the current implementation treats low-order allocations and __GFP_REPEAT allocations as distinct cases. To clarify, the flags' semantics are: __GFP_NORETRY means try no harder than one run through __alloc_pages __GFP_REPEAT means __GFP_NOFAIL __GFP_NOFAIL means repeat forever order <= PAGE_ALLOC_COSTLY_ORDER means __GFP_NOFAIL Signed-off-by: Nishanth Aravamudan Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86051ca5eaf5e560113ec7673462804c54284456 Author: KAMEZAWA Hiroyuki Date: Tue Apr 29 00:58:21 2008 -0700 mm: fix usemap initialization usemap must be initialized only when pfn is within zone. If not, it corrupts memory. And this patch also reduces the number of calls to set_pageblock_migratetype() from (pfn & (pageblock_nr_pages -1) to !(pfn & (pageblock_nr_pages-1) it should be called once per pageblock. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Cc: Hugh Dickins Cc: Shi Weihua Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66fb9d120e91050093b8ce4c1daa2e440660152b Author: Thomas Renninger Date: Wed Apr 16 20:52:02 2008 +0200 ACPI: Cleanup: Remove unneeded, multiple local dummy variables Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit c46e5658a0b81891532705bd65592afe091a5967 Author: Dmitry Torokhov Date: Mon Nov 5 11:43:36 2007 -0500 ACPI: video - fix permissions on some proc entries POST and DOS are supposed to be writable but permissions did not allow it. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 251cb0bc795f5c0d8ca27df093319e5b39966174 Author: Dmitry Torokhov Date: Mon Nov 5 11:43:34 2007 -0500 ACPI: video - properly handle errors when registering proc elements Have acpi_video_device_add_fs() and acpi_video_bus_add_fs() properly unwind proc creation after error. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 78eed028f13b1a0b2612368dff3786e400e6cf8b Author: Dmitry Torokhov Date: Mon Nov 5 11:43:33 2007 -0500 ACPI: video - do not store invalid entries in attached_array list this is a cleanup, not a change to function. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit 2c6e33c366bff2f839df60d9235ff09143e28dd9 Author: Len Brown Date: Wed Apr 23 18:02:52 2008 -0400 ACPI: re-name acpi_pm_ops to acpi_suspend_ops ... as they are platform_suspend_ops after all. cosmetic re-name only, no functional change. Signed-off-by: Len Brown commit e7ae1e7ef9b4ef50444a49611dab92cb778eb97c Author: Ingo Molnar Date: Tue Apr 29 10:21:20 2008 +0200 ACER_WMI/ASUS_LAPTOP: fix build bug randconfig testing in x86.git found the following upstream build bug: drivers/built-in.o: In function `acer_led_exit': acer-wmi.c:(.text+0xdc76e): undefined reference to `led_classdev_unregister' drivers/built-in.o: In function `acer_platform_probe': acer-wmi.c:(.devinit.text+0x63e6): undefined reference to `led_classdev_register' which was due to acer-wmi.o only depending on CONFIG_LEDS_CLASS, while also using a symbol offered by CONFIG_NEW_LEDS. Also fix a similar bug in CONFIG_ASUS_LAPTOP. Signed-off-by: Ingo Molnar Signed-off-by: Len Brown commit 90fe17f4df2f830601ffd422b11d1f7f9a9d0355 Author: Cyrill Gorcunov Date: Fri Apr 18 13:27:29 2008 -0700 thinkpad_acpi: fix possible NULL pointer dereference if kstrdup failed Signed-off-by: Cyrill Gorcunov Acked-by: Henrique de Moraes Holschuh Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a815ab8b5891f3d2515316655729272f68269e3b Author: Li Zefan Date: Fri Apr 18 13:27:29 2008 -0700 ACPI: check a return value correctly in acpi_power_get_context() We should check *resource != NULL rather than resource != NULL, which will be always true. Signed-off-by: Li Zefan Acked-by: Zhao Yakui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 2a241d77cfdab08544a78057a4b24c9a98dc79d0 Author: Adrian Bunk Date: Mon Mar 31 02:05:40 2008 +0300 #if 0 acpi/bay.c:eject_removable_drive() This patch #if 0's the unused eject_removable_drive(). Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit e1faa9da284d14487ed4280b4e87cfde8e1539af Author: Corentin Chary Date: Thu Mar 13 12:57:18 2008 +0100 eeepc-laptop: add hwmon fan control Adds an hwmon interface to control the fan. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a5fa429b4b19cccd3f91a98af891c7ba2706cc1d Author: Corentin Chary Date: Thu Mar 13 12:56:37 2008 +0100 eeepc-laptop: add backlight Add backlight class support to the eeepc-laptop driver. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit e59f87966adef2cb03d419530e3ade5159487d6d Author: Eric Cooper Date: Thu Mar 13 12:55:46 2008 +0100 eeepc-laptop: add base driver This patch is based on Eric Cooper's work to clean the original asus_acpi given by Asus. It's a platform driver (/sys/devices/platform/eeepc/) wich support: - hotkeys - wlan on/off - camera on/off - cardr on/off Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 68f12ae5d778279e13e406d3913c74c592307770 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:30 2008 -0300 ACPI: thinkpad-acpi: bump up version to 0.20 Full LED sysfs support, and the rest of the assorted minor fixes and enhancements are a good reason to checkpoint a new version... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3f6cb5630a5994f58c3cf620d0f6d71ff626229d Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:29 2008 -0300 ACPI: thinkpad-acpi: fix selects in Kconfig Add missing select for BACKLIGHT_LCD_SUPPORT, as select doesn't select the dependencies of a symbol for us. Also, "select INPUT" in Kconfig. We are not an Input device, nor are we anywhere close to the input subsystem in the Kconfig tree, so using "depends on INPUT" is not user-friendly at all. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e0e3c0615abdb1c3e28356595f7be87627288d5b Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:28 2008 -0300 ACPI: thinkpad-acpi: use a private workqueue Switch all task workers to a private thinkpad-acpi workqueue. This way, we don't risk causing trouble for other tasks scheduled to the default work queue, as our workers end up needing to access the ACPI EC, run ACPI AML code, trigger SMI traps... and none of those are exactly known to be fast, simple operations. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 10cc92759bb5d6031d308bdde96775f74082bb44 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:27 2008 -0300 ACPI: thinkpad-acpi: fluff really minor fix Fix a minor (nano?) thing that bothered me at exactly at the wrong time. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 65807cc284dd291b024dd6e55de88feb16b4230a Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:26 2008 -0300 ACPI: thinkpad-acpi: use uppercase for "LED" on user documentation Change all occourences of the "led" word to full uppercase in user documentation. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Randy Dunlap Signed-off-by: Len Brown commit af116101924914a9655dfad108548d0db58c40f9 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:25 2008 -0300 ACPI: thinkpad-acpi: add sysfs led class support to thinkpad leds (v3.2) Add a sysfs led class interface to the led subdriver. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Purdie Signed-off-by: Len Brown commit e306501d1c4ff610feaba74ac35dd13e470480e6 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:24 2008 -0300 ACPI: thinkpad-acpi: add sysfs led class support for thinklight (v3.1) Add a sysfs led class interface to the thinklight (light subdriver). Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Purdie Signed-off-by: Len Brown commit 4fa6811b8ade1b7839342824939817a8fc751539 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:23 2008 -0300 ACPI: thinkpad-acpi: prepare light and LED for sysfs support Do some preparatory work to add sysfs support to the thinklight and thinkpad leds driver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 95e57ab2cbd8b016327b23d76da8a96cbd26ac0c Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:22 2008 -0300 ACPI: thinkpad-acpi: claim tpacpi as an official short handle (v1.1) Unfortunately, a lot of stuff in the kernel has size limitations, so "thinkpad-acpi" ends up eating up too much real estate. We were using "tpacpi" in symbols already, but this shorthand was not visible to userland. Document that the driver will use tpacpi as a short hand where necessary, and use it to name the kernel thread for NVRAM polling (now named "ktpacpi_nvramd"). Also, register a module alias with the shorthand. One can refer to the module using the shorthand name. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e11aecf1379e7c4a0293182096e38e5a336696b2 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:21 2008 -0300 ACPI: thinkpad-acpi: fix brightness dimming control bug ibm-acpi and thinkpad-acpi did not know about bit 5 of the EC backlight level control register (EC 0x31), so it was always forced to zero on any writes. This would disable the BIOS option to *not* use a dimmer backlight level scale while on battery, and who knows what else (there are two other control bits of unknown function). Bit 5 controls the "reduce backlight levels when on battery" optional functionality (active low). Bits 6 and 7 are better left alone as well, instead of being forced to zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 2d5e94d7ca315f859a0eee1366838e8ad34dd7b2 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:20 2008 -0300 ACPI: thinkpad-acpi: rate-limit CMOS/EC unsynced error messages If userspace applications mess with the CMOS NVRAM, or something causes both the ACPI firmware and thinkpad-acpi to try to change the brightness at the same time, it is possible to have the CMOS and EC registers for the current brightness go out of sync. Should that happen, thinkpad-acpi could be really obnoxious when using a brightness_mode of 3 (both EC and CMOS). Instead of complaining a massive number of times, make sure to complain only once until EC and CMOS are back in sync. Signed-off-by: Henrique de Moraes Holschuh Cc: Joerg Platte Signed-off-by: Len Brown commit 8c74adbc692a3cb040cc69d7ca3dfd86d75860a8 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:19 2008 -0300 ACPI: thinkpad-acpi: enhance box identification output (v2) During initialization, thinkpad-acpi outputs some messages to make sure releavant box identification information is easily available in-line with the rest of the driver messages. Enhance those messages to output the alfanumeric model number as well. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 92889022250d736e135ca92fbffd1ab0ea4780d1 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:18 2008 -0300 ACPI: thinkpad-acpi: warn once about weird hotkey masks thinkpad-acpi knows for a while now how to best program the hotkeys by default, and always enable them by default. Unfortunately, this information has not filtered down everywhere it needs to, yet. Notably, old ibm-acpi documentation and most "thinkpad setup guides" will have wrong information on this area. Warn the local admin once whenever any of the following patterns are met: 1. Attempts to set hotkey mask to 0xffff (artifact from docs and config for the old ibm-acpi driver and behaviour). This mask makes no real-world sense; 2. Attempts to set hotkey mask to 0xffffffff, which means the user is trying to just have "everything work" without even reading the documentation, or that we need to get a bug report, because there is a new thinkpad out there with new exciting hot keys :-) 3. Attempts to set hotkey mask to 0xffffff, which is almost never the correct way to set up volume and brightness event reporting (and with the current state-of-the-art, it is known to never be right way to do it). The driver will perform any and all requested operations, though, regardless of any warnings. I hope these warnings can be removed one or two years from now. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b59727965d7f286489206c292e2788d4835a8a23 Author: Henrique de Moraes Holschuh Date: Sat Apr 26 01:02:17 2008 -0300 ACPI: thinkpad-acpi: BIOS backlight mode helper (v2.1) Lenovo ThinkPads with generic ACPI backlight level control can be easily set to react to keyboard brightness key presses in a more predictable way than what they do when in "DOS / bootloader" mode after Linux brings up the ACPI interface. The switch to the ACPI backlight mode in the firmware is designed to be safe to use only as an one way trapdoor. One is not to force the firmware to switch back to "DOS/bootloader" mode except by rebooting. The mode switch itself is performed by calling any of the ACPI _BCL methods at least once. When in ACPI mode, the backlight firmware just issues (standard) events for the brightness up/down hot key presses along with the non-standard HKEY events which thinkpad-acpi traps, and doesn't touch the hardware. thinkpad-acpi will: 1. Place the ThinkPad firmware in ACPI backlight control mode if one is available 2. Suppress HKEY backlight change notifications by default to avoid double-reporting when ACPI video is loaded when the ThinkPad is in ACPI backlight control mode 3. Urge the user to load the ACPI video driver The user is free to use either the ACPI video driver to get the brightness key events, or to override the thinkpad-acpi default hotkey mask to get them from thinkpad-acpi as well (this will result in duplicate events if ACPI video is loaded, so let's hope distros won't screw this up). Provided userspace is sane, all should work (and *keep* working), which is more that can be said about the non-ACPI mode of the new Lenovo ThinkPad BIOSes when coupled to current userspace and X.org drivers. Full guidelines for backlight hot key reporting and use of the thinkpad-acpi backlight interface have been added to the documentation. Signed-off-by: Henrique de Moraes Holschuh Cc: Matthew Garrett Cc: Thomas Renninger Signed-off-by: Len Brown commit 822252521651ad74a6d41e712d790e2f10838a67 Author: Bartlomiej Sieka Date: Tue Apr 15 20:36:36 2008 +1000 [POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200 Board-specific defconfigs based on current mpc5200_defconfig, archival lite5200_defconfig, and [cm5200|motionpro|tqm5200]_defconfig from the linux-2.6-denx tree. Kernels build using these defconfigs were verified to boot with root filesystem mounted over NFS on Motion-PRO, TQM5200 and Lite5200B boards. CM5200 target was not tested due to hardware unavailability. Signed-off-by: Bartlomiej Sieka Signed-off-by: Grant Likely commit a2884f37b6fe0074df70ebeb3a6c54201267663c Author: Grant Likely Date: Tue Apr 29 07:19:07 2008 -0600 [POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 format Signed-off-by: Grant Likely commit 8f3ba2dc811228213bcbdc2c8b389a8d6fa66c09 Author: Sascha Hauer Date: Wed Apr 16 01:44:39 2008 +1000 [POWERPC] mpc5200: Fix FEC error handling on FIFO errors The error handling for the mpc5200 fec interrupt is broken. The intended behaviour is like this: * If one of FEC_IEVENT_RFIFO_ERROR and FEC_IEVENT_XFIFO_ERROR happens, the datasheet says (MPC5200B User's Guide R1.2, p. 14-13): "When this occurs, software must ensure both the FIFO Controller and BestComm are soft-reset". * On any other error (non-TFINT) interrupt, just issue a debug message. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit 106757b38fffbe1f015b10a6d4a4f92e8a3881b9 Author: s.hauer@pengutronix.de Date: Fri Apr 25 23:48:05 2008 +1000 [POWERPC] mpc5200: add Phytec pcm030 board support Add board support for the Phytec pcm030 mpc5200b based board. It does not need any platform specific fixups and as such is handled as a mpc5200 simple platform. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit 3cd2550c736688c7f2651134e08bd5b5db5bed70 Author: s.hauer@pengutronix.de Date: Fri Apr 25 20:56:04 2008 +1000 [POWERPC] mpc5200: add gpiolib support for mpc5200 This patch adds gpiolib support for mpc5200 SOCs. Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit f800ab44f5cd094743dc3df371bcf986375f5774 Author: Sascha Hauer Date: Wed Apr 16 01:29:54 2008 +1000 [POWERPC] mpc5200: add interrupt type function Add a set_type function for external (GPIO) interrupts. Signed-off-by: Juergen Beisert Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit bc775eac63c16dbcfabc4c6e949c0228edf3e11f Author: Grant Likely Date: Tue Apr 29 06:40:37 2008 -0600 [POWERPC] mpc5200: Fix unterminated of_device_id table If CONFIG_PPC_MPC5121 is not set, then the of_device_id table for the mpc5200 serial driver will not get terminated with a NULL entry. Signed-off-by: Grant Likely commit ac9fafa1243640349aa481adf473db283a695766 Author: Alan D. Brunelle Date: Tue Apr 29 14:44:19 2008 +0200 block: Skip I/O merges when disabled The block I/O + elevator + I/O scheduler code spend a lot of time trying to merge I/Os -- rightfully so under "normal" circumstances. However, if one were to know that the incoming I/O stream was /very/ random in nature, the cycles are wasted. This patch adds a per-request_queue tunable that (when set) disables merge attempts (beyond the simple one-hit cache check), thus freeing up a non-trivial amount of CPU cycles. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit d7e3c3249ef23b4617393c69fe464765b4ff1645 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:39 2008 +0200 block: add large command support This patch changes rq->cmd from the static array to a pointer to support large commands. We rarely handle large commands. So for optimization, a struct request still has a static array for a command. rq_init sets rq->cmd pointer to the static array. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit d34c87e4ba3d1857f80a65179e81a18705a31656 Author: FUJITA Tomonori Date: Tue Apr 29 14:37:52 2008 +0200 block: replace sizeof(rq->cmd) with BLK_MAX_CDB This is a preparation for changing rq->cmd from the static array to a pointer. Signed-off-by: FUJITA Tomonori Cc: Boaz Harrosh Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Jens Axboe commit e7b241a7715d2a0885f779f5baa63711d71b1d75 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:38 2008 +0200 ide: use blk_rq_init() to initialize the request This converts ide to use blk_rq_init to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 4f54eec8311c3325888c29ce8e4496daf4dbe624 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:37 2008 +0200 block: use blk_rq_init() to initialize the request Any path needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 2a4aa30c5f967eb6ae874c67fa6fceeee84815f9 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:36 2008 +0200 block: rename and export rq_init() This rename rq_init() blk_rq_init() and export it. Any path that hands the request to the block layer needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 992b5bceee447a32ef2d617730ae0d03c063eedd Author: FUJITA Tomonori Date: Tue Apr 29 09:54:36 2008 +0200 block: no need to initialize rq->cmd with blk_get_request blk_get_request initializes rq->cmd (rq_init does) so the users don't need to do that. The purpose of this patch is to remove sizeof(rq->cmd) and &rq->cmd, as a preparation for large command support, which changes rq->cmd from the static array to a pointer. sizeof(rq->cmd) will not make sense and &rq->cmd won't work. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Alasdair G Kergon Cc: Jens Axboe Signed-off-by: Jens Axboe commit 4917fa292558593d36b2880977ea206f7727dbe5 Author: FUJITA Tomonori Date: Tue Apr 29 09:54:35 2008 +0200 block: no need to initialize rq->cmd in prepare_flush_fn hook The block layer initializes rq->cmd (queue_flush calls rq_init) so prepare_flush_fn hooks don't need to do that. The purpose of this patch is to remove sizeof(rq->cmd), as a preparation for large command support, which changes rq->cmd from the static array to a pointer. sizeof(rq->cmd) will not make sense. Signed-off-by: FUJITA Tomonori Cc: Geert Uytterhoeven Cc: James Bottomley Cc: Jens Axboe Signed-off-by: Jens Axboe commit 6f6a036e6e061563efecb61505fc4cc3ca415f80 Author: Adrian Bunk Date: Tue Apr 29 09:49:06 2008 +0200 block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline This patch fixes the following build error with UML and gcc 4.3: <-- snip --> ... CC block/blk-barrier.o /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c: In function ‘blk_do_ordered’: /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:252: sorry, unimplemented: called from here /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:57: sorry, unimplemented: inlining failed in call to ‘blk_ordered_cur_seq’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/blk-barrier.c:253: sorry, unimplemented: called from here make[2]: *** [block/blk-barrier.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 72ed0bf60ade8d2cc1f58276cb16add0af2c3e25 Author: Adrian Bunk Date: Tue Apr 29 09:49:05 2008 +0200 block/elevator.c:elv_rq_merge_ok() mustn't be inline This patch fixes the following build error with UML and gcc 4.3: <-- snip --> ... CC block/elevator.o /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c: In function ‘elv_merge’: /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:103: sorry, unimplemented: called from here /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:73: sorry, unimplemented: inlining failed in call to ‘elv_rq_merge_ok’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/block/elevator.c:495: sorry, unimplemented: called from here make[2]: *** [block/elevator.o] Error 1 make[1]: *** [block] Error 2 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 75ad23bc0fcb4f992a5d06982bf0857ab1738e9e Author: Nick Piggin Date: Tue Apr 29 14:48:33 2008 +0200 block: make queue flags non-atomic We can save some atomic ops in the IO path, if we clearly define the rules of how to modify the queue flags. Signed-off-by: Jens Axboe commit e90955c26d8af318658c45caadb1d330ac6a506c Author: Jesse Barnes Date: Mon Apr 21 14:14:44 2008 -0700 x86: fix PCI MSI breaks when booting with nosmp set up sane APIC state even in the nosmp case. Signed-off-by: Ingo Molnar commit 9752082560b440e6a45624569d26802e20d1b8b4 Author: Hugh Dickins Date: Sun Apr 27 00:39:36 2008 +0100 x86: vget_cycles() __always_inline Mark vget_cycles() as __always_inline, so gcc is never tempted to make the vsyscall vread_tsc() dive into kernel text, with resulting SIGSEGV. This was a self-inflicted wound: I've not seen that happen with unhacked sources; but for debug reasons I'd changed my x86/Makefile to compile no-unit-at-a-time, and that in conjunction with OPTIMIZE_INLINING=y ended up with vget_cycles() in kernel text. Perhaps it can happen in other ways: safer to use __always_inline. Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit 4c0587e6e42c5b679234d3dffda8a888dc0ff9c1 Author: Ian Campbell Date: Sun Apr 27 12:21:11 2008 +0100 x86: add more boot protocol documentation Signed-off-by: Ian Campbell Cc: Rusty Russell Cc: Jeremy Fitzhardinge Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 781fe2ebc0f44b32418d203ac023a541afdd042f Author: Ingo Molnar Date: Sat Apr 26 23:14:36 2008 +0200 bootprotocol: cleanup Signed-off-by: Ingo Molnar commit 8008abbd87644c84f93a7a86fec88f1e14031901 Author: Alexander van Heukelum Date: Wed Apr 16 18:45:35 2008 +0200 x86: fix warning in "x86: clean up vSMP detection" The function detect_vsmp_box is a void function in the PCI case. Change the !PCI stub to void too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e686d34156ef0e56b2ebec505b809018bc0dc73b Author: Harvey Harrison Date: Sat Apr 26 21:00:17 2008 -0700 x86: !x & y typo in mtrr code As written, this can never be true. Spotted by the Sparse checker. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit eff0dee54674a449e7f160aad9f3e0d38e6983eb Author: Daniel Walker Date: Tue Apr 29 03:39:29 2008 -0700 atm: ambassador: vcc_sf semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: David S. Miller commit 220fc3fc60e9ebeb5ecfe727e4819d9504f2b0b0 Author: Pavel Emelyanov Date: Tue Apr 29 03:37:41 2008 -0700 MAINTAINERS: The socketcan-core list is subscribers-only. When I posted a copy_to_user fixes, the list daemon refused to accept the Cc: , because I was not a subscriber. I found, that other lists with such a feature are marked respectively in the MAINTAINERS file. Signed-off-by: Pavel Emelyanov Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 443a70d50bdc212e1292778e264ce3d0a85b896f Author: Philip Craig Date: Tue Apr 29 03:35:10 2008 -0700 netfilter: nf_conntrack: padding breaks conntrack hash on ARM commit 0794935e "[NETFILTER]: nf_conntrack: optimize hash_conntrack()" results in ARM platforms hashing uninitialised padding. This padding doesn't exist on other architectures. Fix this by replacing NF_CT_TUPLE_U_BLANK() with memset() to ensure everything is initialised. There were only 4 bytes that NF_CT_TUPLE_U_BLANK() wasn't clearing anyway (or 12 bytes on ARM). Signed-off-by: Philip Craig Signed-off-by: David S. Miller commit 0010e46577a27c1d915034637f6c2fa57a9a091c Author: Timo Teras Date: Tue Apr 29 03:32:25 2008 -0700 ipv4: Update MTU to all related cache entries in ip_rt_frag_needed() Add struct net_device parameter to ip_rt_frag_needed() and update MTU to cache entries where ifindex is specified. This is similar to what is already done in ip_rt_redirect(). Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 980c478ddbb720948967b028ddbb4179a025bc2c Author: Jarek Poplawski Date: Tue Apr 29 03:29:03 2008 -0700 sch_sfq: use del_timer_sync() in sfq_destroy() Let's delete timer reliably in sfq_destroy(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 42908c69f61f75dd70e424263ab89ee52040382b Author: David L Stevens Date: Tue Apr 29 03:23:22 2008 -0700 net: Add compat support for getsockopt (MCAST_MSFILTER) This patch adds support for getsockopt for MCAST_MSFILTER for both IPv4 and IPv6. It depends on the previous setsockopt patch, and uses the same method. Signed-off-by: David L Stevens Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit be666e0a1345ed80f29cb30c73da0ec2ea5c5863 Author: David L Stevens Date: Tue Apr 29 03:23:00 2008 -0700 net: Several cleanups for the setsockopt compat support. 1) added missing "__user" for kgsr and kgf pointers 2) verify read for only GROUP_FILTER_SIZE(0). The group_filter structure definition (via RFC) includes space for one source in the source list array, but that source need not be present. So, sizeof(group_filter) > GROUP_FILTER_SIZE(0). Fixed the user read-check for minimum length to use the smaller size. 3) remove unneeded "&" for gf_slist addresses Signed-off-by: David L Stevens Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 2ad17defd596ca7e8ba782d5fc6950ee0e99513c Author: Julian Anastasov Date: Tue Apr 29 03:21:23 2008 -0700 ipvs: fix oops in backup for fwmark conn templates Fixes bug http://bugzilla.kernel.org/show_bug.cgi?id=10556 where conn templates with protocol=IPPROTO_IP can oops backup box. Result from ip_vs_proto_get() should be checked because protocol value can be invalid or unsupported in backup. But for valid message we should not fail for templates which use IPPROTO_IP. Also, add checks to validate message limits and connection state. Show state NONE for templates using IPPROTO_IP. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit 8cd0ae3acc0154f3f9dfa1b4a2b7c02c271533f6 Author: Huang Weiyi Date: Tue Apr 29 03:19:38 2008 -0700 sparc64: remove duplicated include Remove dulicated include file in arch/sparc64/kernel/smp.c. Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit d69efb16891ddfa6c0b527f912a7193054d50281 Author: Bodo Stroesser Date: Tue Apr 29 03:18:13 2008 -0700 bridge: kernel panic when unloading bridge module There is a race condition when unloading bridge and netfilter. The problem happens if __fake_rtable is in use by a skb coming in, while someone starts to unload bridge.ko. br_netfilter_fini() is called at the beginning of unload in br_deinit() while skbs still are being forwarded and transferred to local ip stack. Thus there is a possibility of the __fake_rtable pointer not being removed in a skb that goes up to ip stack. This results in a kernel panic, as ip_rcv() calls the input-function of __fake_rtable, which is NULL. Moving the call of br_netfilter_fini() to the end of br_deinit() solves the problem. Signed-off-by: Bodo Stroesser Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 43af8532ecd74a61f9e7aeb27c026c1ee27915ca Author: Volodymyr G Lukiianyk Date: Tue Apr 29 03:17:42 2008 -0700 bridge: fix error handling in br_add_if() When device is added to bridge its refcnt is incremented (in new_nbp()), but if error occurs during further br_add_if() operations this counter is not decremented back. Fix it by adding dev_put() call in the error path. Signed-off-by: Volodymyr G Lukiianyk Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9a732ed6d0e126d4c8a818f42a13f3df11755bee Author: Arnaud Ebalard Date: Tue Apr 29 03:16:34 2008 -0700 netfilter: {nfnetlink,ip,ip6}_queue: fix skb_over_panic when enlarging packets While reinjecting *bigger* modified versions of IPv6 packets using libnetfilter_queue, things work fine on a 2.6.24 kernel (2.6.22 too) but I get the following on recents kernels (2.6.25, trace below is against today's net-2.6 git tree): skb_over_panic: text:c04fddb0 len:696 put:632 head:f7592c00 data:f7592c00 tail:0xf7592eb8 end:0xf7592e80 dev:eth0 ------------[ cut here ]------------ invalid opcode: 0000 [#1] PREEMPT Process sendd (pid: 3657, ti=f6014000 task=f77c31d0 task.ti=f6014000) Stack: c071e638 c04fddb0 000002b8 00000278 f7592c00 f7592c00 f7592eb8 f7592e80 f763c000 f6bc5200 f7592c40 f6015c34 c04cdbfc f6bc5200 00000278 f6015c60 c04fddb0 00000020 f72a10c0 f751b420 00000001 0000000a 000002b8 c065582c Call Trace: [] ? nfqnl_recv_verdict+0x1c0/0x2e0 [] ? skb_put+0x3c/0x40 [] ? nfqnl_recv_verdict+0x1c0/0x2e0 [] ? nfnetlink_rcv_msg+0xf5/0x160 [] ? nfnetlink_rcv_msg+0x1e/0x160 [] ? nfnetlink_rcv_msg+0x0/0x160 [] ? netlink_rcv_skb+0x77/0xa0 [] ? nfnetlink_rcv+0x1c/0x30 [] ? netlink_unicast+0x243/0x2b0 [] ? memcpy_fromiovec+0x4a/0x70 [] ? netlink_sendmsg+0x1c6/0x270 [] ? sock_sendmsg+0xc4/0xf0 [] ? set_next_entity+0x1d/0x50 [] ? autoremove_wake_function+0x0/0x40 [] ? __wake_up_common+0x3e/0x70 [] ? n_tty_receive_buf+0x34f/0x1280 [] ? __wake_up+0x68/0x70 [] ? copy_from_user+0x37/0x70 [] ? verify_iovec+0x2c/0x90 [] ? sys_sendmsg+0x10a/0x230 [] ? __dequeue_entity+0x2a/0xa0 [] ? set_next_entity+0x1d/0x50 [] ? pty_write+0x47/0x60 [] ? tty_default_put_char+0x1b/0x20 [] ? __wake_up+0x49/0x70 [] ? tty_ldisc_deref+0x39/0x90 [] ? tty_write+0x1a0/0x1b0 [] ? sys_socketcall+0x7f/0x260 [] ? sysenter_past_esp+0x6a/0x91 [] ? snd_intel8x0m_probe+0x270/0x6e0 ======================= Code: 00 00 89 5c 24 14 8b 98 9c 00 00 00 89 54 24 0c 89 5c 24 10 8b 40 50 89 4c 24 04 c7 04 24 38 e6 71 c0 89 44 24 08 e8 c4 46 c5 ff <0f> 0b eb fe 55 89 e5 56 89 d6 53 89 c3 83 ec 0c 8b 40 50 39 d0 EIP: [] skb_over_panic+0x5c/0x60 SS:ESP 0068:f6015bf8 Looking at the code, I ended up in nfq_mangle() function (called by nfqnl_recv_verdict()) which performs a call to skb_copy_expand() due to the increased size of data passed to the function. AFAICT, it should ask for 'diff' instead of 'diff - skb_tailroom(e->skb)'. Because the resulting sk_buff has not enough space to support the skb_put(skb, diff) call a few lines later, this results in the call to skb_over_panic(). The patch below asks for allocation of a copy with enough space for mangled packet and the same amount of headroom as old sk_buff. While looking at how the regression appeared (e2b58a67), I noticed the same pattern in ipq_mangle_ipv6() and ipq_mangle_ipv4(). The patch corrects those locations too. Tested with bigger reinjected IPv6 packets (nfqnl_mangle() path), things are ok (2.6.25 and today's net-2.6 git tree). Signed-off-by: Arnaud Ebalard Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0e93bb9459f56b50a2f71f2c230f4ad00ec40a73 Author: Pavel Emelyanov Date: Tue Apr 29 03:15:35 2008 -0700 netfilter: x_tables: fix net namespace leak when reading /proc/net/xxx_tables_names The seq_open_net() call should be accompanied with seq_release_net() one. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit be8d0d7903af85d396449b34366e7f5b0c9cc58b Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 29 03:15:10 2008 -0700 netfilter: xt_TCPOPTSTRIP: signed tcphoff for ipv6_skip_exthdr() retval if tcphoff remains unsigned, a negative ipv6_skip_exthdr() return value will go unnoticed, Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 246eb2af060fc32650f07203c02bdc0456ad76c7 Author: John Heffner Date: Tue Apr 29 03:13:52 2008 -0700 tcp: Limit cwnd growth when deferring for GSO This fixes inappropriately large cwnd growth on sender-limited flows when GSO is enabled, limiting cwnd growth to 64k. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit ce447eb91409225f8a488f6b7b2a1bdf7b2d884f Author: John Heffner Date: Tue Apr 29 03:13:02 2008 -0700 tcp: Allow send-limited cwnd to grow up to max_burst when gso disabled This changes the logic in tcp_is_cwnd_limited() so that cwnd may grow up to tcp_max_burst() even when sk_can_gso() is false, or when sysctl_tcp_tso_win_divisor != 0. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 6c39103ce5192bdb2195f3daab7323dfa44fb52e Author: Zhang Wei Date: Fri Apr 18 13:33:48 2008 -0700 [RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bit Change RapidIO doorbell source and target ID field to 16-bit for support large system size, which max rio devid is 65535. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 7f620df839661b37ee679402ced7e32da6aa5446 Author: Zhang Wei Date: Fri Apr 18 13:33:44 2008 -0700 [RAPIDIO] Add RapidIO connection info print out and re-training for broken connections Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 61b269179df582bb363f871e88f732fe8af62a5e Author: Zhang Wei Date: Fri Apr 18 13:33:44 2008 -0700 [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641 Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 182e143beeb3529208f805f1ac543606c1e2cc8c Author: Zhang Wei Date: Fri Apr 18 13:33:43 2008 -0700 [RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id table Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 56fde1ff69b7f202171391b2d040a93e1d78b636 Author: Zhang Wei Date: Fri Apr 18 13:33:42 2008 -0700 [RAPIDIO] Add RapidIO node into MPC8641HPCN dts file This adds properties describing the RapidIO controller to the device-tree source for the MPC8641HPCN board. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e042323607f5c14844b1c59aebbca8d1251c7d89 Author: Zhang Wei Date: Fri Apr 18 13:33:42 2008 -0700 [RAPIDIO] Auto-probe the RapidIO system size The RapidIO system size will auto probe in RIO setup. The route table and rionet_active in rionet.c are changed to be allocated dynamically according to the size of the system. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit cc2bb6968a2c842149d285d77cb35200d2d37b15 Author: Zhang Wei Date: Fri Apr 18 13:33:41 2008 -0700 [RAPIDIO] Add OF-tree support to RapidIO controller driver This initializes the RapidIO controller driver using addresses and interrupt numbers obtained from the firmware device tree, rather than using hardcoded constants. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit ad1e9380b17addf112f89ce5a57d4d0bee129b7a Author: Zhang Wei Date: Fri Apr 18 13:33:41 2008 -0700 [RAPIDIO] Add RapidIO multi mport support The original RapidIO driver suppose there is only one mpc85xx RIO controller in system. So, some data structures are defined as mpc85xx_rio global, such as 'regs_win', 'dbell_ring', 'msg_tx_ring'. Now, I changed them to mport's private members. And you can define multi RIO OF-nodes in dts file for multi RapidIO controller in one processor, such as PCI/PCI-Ex host controllers in Freescale's silicon. And the mport operation function declaration should be changed to know which RapidIO controller is target. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5a7b60ed8892756b137496b629f2e7c689fe6d8d Author: Zhang Wei Date: Fri Apr 18 13:33:40 2008 -0700 [RAPIDIO] Move include/asm-ppc/rio.h to asm-powerpc Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit f1f389d558d3884be565f152e9dd756e57b23d50 Author: Zhang Wei Date: Fri Apr 18 13:33:39 2008 -0700 [RAPIDIO] Add RapidIO option to kernel configuration Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d02443a6f89dbd7ff868db30ad18f90bb633f716 Author: Zhang Wei Date: Fri Apr 18 13:33:38 2008 -0700 [RAPIDIO] Change RIO function mpc85xx_ to fsl_ The driver is suitable for the Freescale MPC8641 processor as well as 85xx processors, so this changes the mpc85xx prefix to fsl. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e2fdd7fd99dd68b77caaf2a2272b75b5da890de7 Author: David S. Miller Date: Tue Apr 29 02:38:50 2008 -0700 sparc: Add kgdb support. Current limitations: 1) On SMP single stepping has some fundamental issues, shared with other sw single-step architectures such as mips and arm. 2) On 32-bit sparc we don't support SMP kgdb yet. That requires some reworking of the IPI mechanisms and infrastructure on that platform. Signed-off-by: David S. Miller commit 4d7ffa49909a830f5f926a3280731d01e29f31fb Author: David S. Miller Date: Tue Apr 29 01:36:14 2008 -0700 kgdbts: Sparc needs sstep emulation. Signed-off-by: David S. Miller commit 0a9e9b110c4ef05ab6c35440e2779ec4aa2c65e6 Author: David S. Miller Date: Tue Apr 29 01:14:10 2008 -0700 sparc32: Kill smp_message_pass() and related code. Completely unused, and it just makes the SMP message passing code on 32-bit sparc look more complex than it is. Signed-off-by: David S. Miller commit 68154e90c9d1492d570671ae181d9a8f8530da55 Author: FUJITA Tomonori Date: Fri Apr 25 12:47:50 2008 +0200 block: add dma alignment and padding support to blk_rq_map_kern This patch adds bio_copy_kern similar to bio_copy_user. blk_rq_map_kern uses bio_copy_kern instead of bio_map_kern if necessary. bio_copy_kern uses temporary pages and the bi_end_io callback frees these pages. bio_copy_kern saves the original kernel buffer at bio->bi_private it doesn't use something like struct bio_map_data to store the information about the caller. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Signed-off-by: Jens Axboe commit 657e93be356f51888f56a58d2b374caefbf2fe86 Author: Adrian Bunk Date: Fri Apr 25 12:46:58 2008 +0200 unexport blk_max_pfn blk_max_pfn can now be unexported. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 31e103c595c0fa0d23eea5a4168362fba4c5ba62 Author: Geert Uytterhoeven Date: Fri Apr 25 12:46:20 2008 +0200 ps3disk: Remove superfluous cast As ps3disk is a ppc64-only driver, sector_t equals to unsigned long, and the cast is not needed. Reuse in another (possibly 32-bit) driver is protected by the safety net called `compiler warning' (with the cast, it may silently truncate to 32-bit). If sector_t ever changes, we will get a compiler warning as well (with the cast, we won't). Signed-off-by: Geert Uytterhoeven Acked-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1afb20f30151dd4160877c827f5b7203f98627fb Author: FUJITA Tomonori Date: Fri Apr 25 12:26:28 2008 +0200 block: make rq_init() do a full memset() This requires moving rq_init() from get_request() to blk_alloc_request(). The upside is that we can now require an rq_init() from any path that wishes to hand the request to the block layer. rq_init() will be exported for the code that uses struct request without blk_get_request. This is a preparation for large command support, which needs to initialize struct request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit c3270e577c18b3d0e984c3371493205a4807db9d Author: Tom Zanussi Date: Thu Apr 24 12:52:20 2008 +0200 relay: fix splice problem Splice isn't always incrementing the ppos correctly, which broke relay splice. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 51ae796f7fa1d8034252628572053f477bc29913 Author: Damián Viano Date: Tue Apr 29 03:32:25 2008 -0400 ACPICA: always disable GPE when requested acpi_ev_disable_gpe() has an optimization where it doesn't disable a GPE that it "doesn't have to". Unfortunately, it can get tricked by AML that scribbles on register state behind its back. So when asked to disable a GPE, simply do it -- a redundant register write in the common case is a fair price to pay to be bomb-proof for the rare cases. http://bugzilla.kernel.org/show_bug.cgi?id=6217 Signed-off-by: Damián Viano Acked-by: Zhang Rui Signed-off-by: Len Brown commit dfd2e1b4e6eb46ff59c7e1c1111c967b8b5981c1 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:42 2008 -0600 PNPBIOS: remove include/linux/pnpbios.h The contents of include/linux/pnpbios.h are used only inside the PNPBIOS backend, so this file doesn't need to be visible outside PNP. This patch moves the contents into an existing PNPBIOS-specific file, drivers/pnp/pnpbios/pnpbios.h. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 261b20da4bd349f1b26e206f440809f1351be34b Author: Bjorn Helgaas Date: Mon Apr 28 16:34:41 2008 -0600 ISAPNP: remove unused pnp_dev->regs field The "regs" field in struct pnp_dev is set but never read, so remove it. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 62cfb298b95d713825deb8faf2044c45a1e17a0a Author: Bjorn Helgaas Date: Mon Apr 28 16:34:40 2008 -0600 PNP: make interfaces private to the PNP core The interfaces for registering protocols, devices, cards, and resource options should only be used inside the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit d152cf5d0c3325979e71ee53b425fdd51a1a285a Author: Bjorn Helgaas Date: Mon Apr 28 16:34:39 2008 -0600 PNPACPI: move _CRS/_PRS warnings closer to the action Move warnings about _CRS and _PRS problems to the place where we actually make the ACPI calls. Then we don't have to pass around acpi_status values any more than necessary. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 01115e7d41c4eaeffa064d818b4abbd3efa94f80 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:38 2008 -0600 ISAPNP: fold isapnp_read_resources() back into isapnp_get_resources() isapnp_get_resources() does very little besides call isapnp_read_resources(), so just fold them back together. Based on a patch by Rene Herman Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit d6180f36617953990bf90d4c1ff85b77e9995cd1 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:37 2008 -0600 PNP: make generic pnp_add_mem_resource() Add a pnp_add_mem_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit cc8c2e308194f0997c718c7c735550ff06754d20 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:36 2008 -0600 PNP: make generic pnp_add_io_resource() Add a pnp_add_io_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit dc16f5f2ede8cc2acf8ac22857a7fecf3a4296c2 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:35 2008 -0600 PNP: make generic pnp_add_dma_resource() Add a pnp_add_dma_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit dbddd0383c59d588f8db5e773b062756e39117ec Author: Bjorn Helgaas Date: Mon Apr 28 16:34:34 2008 -0600 PNP: make generic pnp_add_irq_resource() Add a pnp_add_irq_resource() that can be used by all the PNP backends. This consolidates a little more pnp_resource_table knowledge into one place. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit a50b6d7b8d7e1a8b13bd1be65a865b115e1190d9 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:33 2008 -0600 PNP: add pnp_new_resource() to find a new unset pnp_resource This encapsulates the code to locate a new pnp_resource of the desired type. Currently this uses the pnp_resource_table, but it will soon change to find a resource in a linked list. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 21855d69d1e3ace3efdb8159a4a7ab1ab98a6f19 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:32 2008 -0600 PNP: add pnp_resource index for ISAPNP Save the ISAPNP config register index in the struct pnp_resource. We need this because it is important to write ISAPNP configuration back to the same registers we read it from. For example, if we read valid regions from memory descriptors 0, 1, and 3, we'd better write them back to the same registers, without compressing them to descriptors 0, 1, and 2. This was previously guaranteed by using the index into the pnp_resource_table array as the ISAPNP config register index. However, I am removing those fixed-size arrays, so we need to save the ISAPNP register index elsewhere. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 0a977f15469457d9a19eed992caf71995c674064 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:31 2008 -0600 PNP: add pnp_get_pnp_resource() In some places, we need to get the struct pnp_resource, not just the struct resource, because ISAPNP needs to store the register index in the pnp_resource. I don't like pnp_get_pnp_resource() and hope that it is temporary, but we need it for a little while. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 784f01d5bdeae7d7005ede17305306b042ba2617 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:30 2008 -0600 PNP: add struct pnp_resource This patch adds a "struct pnp_resource". This currently contains only a struct resource, but we will soon need additional PNP-specific information. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 06cb58a6eb0b689f95a6c055cfc400fd30c500c6 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:29 2008 -0600 PNP: remove pnp_resource_table references from resource decoders This removes a few more references to the pnp_resource_table. No functional change. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 02d83b5da3efa3c278ce87db2637f3dd6837166d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:28 2008 -0600 PNP: make pnp_resource_table private to PNP core There are no remaining references to the PNP_MAX_* constants or the pnp_resource_table structure outside of the PNP core. Make them private to the PNP core. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 8766ad0ce8621aa6f0e4a91ef355509cc3364d5b Author: Bjorn Helgaas Date: Mon Apr 28 16:34:27 2008 -0600 rtc: dont reference pnp_resource_table directly pnp_resource_table is going away soon, so use the more generic public interfaces instead. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 95ab3669f7830682c7762e9c305a0c1dd44454cc Author: Bjorn Helgaas Date: Mon Apr 28 16:34:26 2008 -0600 PNP: remove PNP_MAX_* uses Remove some PNP_MAX_* uses. The pnp_resource_table isn't dynamic yet, but with pnp_get_resource(), we can start moving away from the table size constants. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit f6505fef18644557f732468c1f22f84560d8a819 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:25 2008 -0600 PNP: convert assign, interface to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table from the pnp_assign_resources() path and the /sys user interface path. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 7e2cf31f1c97ac14b6d9dc5f1ce9e1e01aef9c18 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:24 2008 -0600 PNP: convert encoders to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. This path is used when telling a device what resources it should use. This doesn't convert ISAPNP because ISA needs to know the config register index in addition to the resource itself. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit be81b4a4838ce329b9f3978c7fc007b047c23722 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:23 2008 -0600 PNP: convert resource checks to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f5d94ff014cb7e6212f40fc6644f3fd68507df33 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:22 2008 -0600 PNP: pass resources, not indexes, to pnp_check_port(), et al The caller already has the struct resource pointer, so no need for pnp_check_port(), pnp_check_mem(), etc., to look it up again. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit db9eaeab3e7ab72d773820820f1ba33960ad24c4 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:21 2008 -0600 PNP: check for conflicts with all resources, not just earlier ones This patch removes a use of "idx" in pnp_check_port() and similar functions, in preparation for replacing idx with a pointer to the resource itself. I split this out because it changes the behavior slightly: we used to check for conflicts only with earlier resources, e.g., we checked resource 2 against resources 0 and 1 but not against 3, 4, etc. Now we will check against all resources except 2. Since resources are assigned in ascending order, the old behavior was probably safe, but I don't like to depend on that ordering. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 470feb113a23de365b6051efde0d69de86d9d2f8 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:20 2008 -0600 PNP: reduce redundancy in pnp_set_current_resources() Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 30c016a0c8d2aae10be6a87bb98f0e85db8b09d5 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:19 2008 -0600 PNP: reduce redundancy in pnp_check_port() and others Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 28ccffcf028777e830cbdc30bc54ba8a37e2fc23 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:18 2008 -0600 PNP: reduce redundancy in pnp_assign_port() and others Use a temporary "res" pointer to replace repeated lookups in the pnp resource tables. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit ecfa935a2f7ef89543608f3ca05340c158c9a236 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:17 2008 -0600 PNP: use conventional "i" for loop indices Cosmetic only: just use "i" instead of "tmp". Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 13575e81bb38fc797a5513ad1bd8e6fda17439b8 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:16 2008 -0600 PNP: convert resource accessors to use pnp_get_resource(), not pnp_resource_table This removes more direct references to pnp_resource_table. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 53052feb6ddd05cb2b5c6e89fb489bf83bbb6803 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:15 2008 -0600 PNP: remove pnp_mem_flags() as an lvalue A future change will change pnp_mem_flags() from a "#define that simplifies to an lvalue" to "an inline function that returns the flags value." Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit b90eca0a61ebd010036242e29610bc6a909e3f19 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:14 2008 -0600 PNP: add pnp_get_resource() interface This adds a pnp_get_resource() that works the same way as platform_get_resource(). This will enable us to consolidate many pnp_resource_table references in one place, which will make it easier to make the table dynamic. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit d948a8daa059cf5b3e7f002e7b92acf00fc70c49 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:13 2008 -0600 PNP: factor pnp_init_resource_table() and pnp_clean_resource_table() Move the common part of pnp_init_resource_table() and pnp_clean_resource_table() into a new pnp_init_resource(). This reduces a little code duplication and will be useful later to initialize an individual resource. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit af11cb2d521f9d7e10c565bafe8f2358772baa65 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:12 2008 -0600 PNP: use dev_printk when possible Use dev_printk() when possible for more informative error messages. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 2cd1393098073426256cb4543c897f8c340d0b93 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:11 2008 -0600 PNP: remove unused interfaces using pnp_resource_table Rene Herman recently removed the only in-tree driver uses of: pnp_init_resource_table() pnp_manual_config_dev() pnp_resource_change() in this change: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=109c53f840e551d6e99ecfd8b0131a968332c89f These are no longer used in the PNP core either, so we can just remove them completely. It's possible that there are out-of-tree drivers that use these interfaces. They should be changed to either (1) use PNP quirks to work around broken hardware or firmware, or (2) use the sysfs interfaces to control resource usage from userspace. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 6969c7ed558cf5e9eff01734be0174a296938092 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:10 2008 -0600 PNP: remove pnp_resource_table from internal pnp_clean_resource_table interface This changes pnp_clean_resource_table() to take a pnp_dev pointer rather than a pnp_resource_table pointer. This reduces the visibility of pnp_resource_table and removes an opportunity for error in the caller. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f44900020926b2cb06b87f0f52643d6285514fc3 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:09 2008 -0600 PNP: add pnp_init_resources(struct pnp_dev *) interface Add pnp_init_resources(struct pnp_dev *) to replace pnp_init_resource_table(), which takes a pointer to the pnp_resource_table itself. Passing only the pnp_dev * reduces the possibility for error in the caller and removes the pnp_resource_table implementation detail from the interface. Even though pnp_init_resource_table() is exported, I did not export pnp_init_resources() because it is used only by the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 81b5c75f0ed22a93c3da00650d0898eec56e1d62 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:08 2008 -0600 PNP: add debug when assigning PNP resources This patch adds code to dump PNP resources before and after assigning resources and before writing them to the device. This is enabled by CONFIG_PNP_DEBUG=y. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 72dcc883d8e5b59105e75ee5265442e458740575 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:07 2008 -0600 PNP: add debug output to encoders Add debug output to encoders (enabled by CONFIG_PNP_DEBUG). This uses dev_printk, so I had to add pnp_dev arguments at the same time. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 4ab55d8d4f7b910c4c60e0f8ff70d0dfdd484f02 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:06 2008 -0600 PNP: remove more pnp_resource_table arguments Stop passing around struct pnp_resource_table pointers. In most cases, the caller doesn't need to know how the resources are stored inside the struct pnp_dev. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 59284cb4099411bc6f4915a5a4cb76414440c447 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:05 2008 -0600 PNP: remove pnp_resource_table from internal get/set interfaces When we call protocol->get() and protocol->set() methods, we currently supply pointers to both the pnp_dev and the pnp_resource_table even though the pnp_resource_table should always be the one associated with the pnp_dev. This removes the pnp_resource_table arguments to make it clear that these methods only operate on the specified pnp_dev. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit c1caf06ccfd3a4efd4b489f89bcdabd2362f31d0 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:04 2008 -0600 PNP: add debug output to option registration Add debug output to resource option registration functions (enabled by CONFIG_PNP_DEBUG). This uses dev_printk, so I had to add pnp_dev arguments at the same time. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit cdef6254e17e98f1071ce1bfc8f2a87997c855d0 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:03 2008 -0600 PNPACPI: pass pnp_dev instead of acpi_handle Pass the pnp_dev pointer when possible instead of the acpi_handle. This allows better error messages and reduces the chance of error in the caller. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit cd7ec927d9cd3d2001cbbdce872bd73f6e49c986 Author: Bjorn Helgaas Date: Mon Apr 28 16:34:02 2008 -0600 PNPACPI: extend irq_flags() to set IORESOURCE_IRQ_SHAREABLE when appropriate This simplifies IRQ resource parsing slightly by computing all the IORESOURCE_IRQ_* flags at the same time. This also keeps track of shareability information when parsing options from _PRS. Previously we ignored shareability in _PRS. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit bb84b41d1a1e3ad1ebe7f91a7c97d3b6ca242e9d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:01 2008 -0600 PNPACPI: hoist dma_flags() out of pnpacpi_parse_allocated_dmaresource() Hoist dma_flags() out of pnpacpi_parse_allocated_dmaresource() into its caller. This makes pnpacpi_parse_allocated_dmaresource() more similar to pnpbios_parse_allocated_dmaresource(). Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 9570a20e9da282721afc6885dbeaa1b9c1e7ff4d Author: Bjorn Helgaas Date: Mon Apr 28 16:34:00 2008 -0600 PNPACPI: use temporaries to reduce repetition No functional change, just fewer words and fewer chances for transcription errors. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit f7e8466a045c690002c1926e695ae312dd73bb4a Author: Bjorn Helgaas Date: Mon Apr 28 16:33:59 2008 -0600 PNPACPI: pnpacpi_encode_ext_irq() wrongly set "irq" instead of "extended_irq" pnpacpi_encode_ext_irq() should set resource->data.extended_irq, not resource->data.irq. This has been wrong since at least 2.6.12. I haven't seen any bug reports, but it's clearly incorrect. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 6bf2aab24a5dc26bf8274c4b9dbbed8ca99ae82c Author: Bjorn Helgaas Date: Mon Apr 28 16:33:58 2008 -0600 PNP: add pnp_alloc_card() Add pnp_alloc_card() to allocate a struct pnp_card and fill in the protocol, instance number, and initial PNP ID. Now it is always valid to use dev_printk() on any pnp_card pointer. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 068076d5517009654376ceda75ff44af0feb9b1d Author: Bjorn Helgaas Date: Mon Apr 28 16:33:57 2008 -0600 ISAPNP: pull pnp_add_card_id() out of isapnp_parse_card_id() Split the pnp_add_card_id() part from the PNPID conversion part so we can move the initial add_id() into the pnp_card allocation. This makes the PNPID conversion generic so we can use the same one for both devices and cards. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit e436675f2a09ea389c1844507658f304924a2eca Author: Bjorn Helgaas Date: Mon Apr 28 16:33:56 2008 -0600 PNP: change pnp_add_card_id() to allocate its own pnp_id structures This moves some of the pnp_id knowledge out of the backends and into the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 048825deea5f261335b5202cd1114c53a3a21ae7 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:55 2008 -0600 PNP: make pnp_add_card_id() internal to PNP core pnp_add_card_id() doesn't need to be exposed outside the PNP core, so move the declaration to an internal header file. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit bda1e4e5a3d976046378cd495a63e1ee0847deec Author: Bjorn Helgaas Date: Mon Apr 28 16:33:54 2008 -0600 PNP: add pnp_alloc_dev() Add pnp_alloc_dev() to allocate a struct pnp_dev and fill in the protocol, instance number, and initial PNP ID. Now it is always valid to use dev_printk() on any pnp_dev pointer. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 25eb846189d20db4114cebf14fee96d69bef4667 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:53 2008 -0600 PNP: add pnp_eisa_id_to_string() Converting the EISA ID to a string is messy and error-prone, and we might as well use the same code for ISAPNP and PNPBIOS. PNPACPI uses the conversion done by the ACPI core with acpi_ex_eisa_id_to_string(). Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 772defc6292bae8b6db298476d1dabd22a99492b Author: Bjorn Helgaas Date: Mon Apr 28 16:33:52 2008 -0600 PNP: change pnp_add_id() to allocate its own pnp_id structures This moves some of the pnp_id knowledge out of the backends and into the PNP core. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 1692b27bf37826f85f9c12f8468848885643532a Author: Bjorn Helgaas Date: Mon Apr 28 16:33:51 2008 -0600 PNP: make pnp_add_id() internal to PNP core pnp_add_id() doesn't need to be exposed outside the PNP core, so move the declaration to an internal header file. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 4a490498643ea37520c315769b293085b6018ddd Author: Bjorn Helgaas Date: Mon Apr 28 16:33:50 2008 -0600 PNPACPI: continue after _CRS and _PRS errors Keep going and register the device even if we have trouble parsing _CRS or _PRS. A parsing problem might mean we ignore some resources the device is using, or we might not be able to change its resources. But we should still take note of anything we *could* parse correctly. Also remove reference to dev_id because I plan to remove it soon. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit ca0e8b6fd29819891c874b86ff286987c5bfdc21 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:49 2008 -0600 ISAPNP: move config register addresses out of isapnp.h These are used only in drivers/pnp/isapnp/core.c, so no need to expose them to the world. Signed-off-by: Bjorn Helgaas Acked-By: Rene Herman Signed-off-by: Len Brown commit 1bd17e63a068db6f464925a79b1cc4b27a8b1af9 Author: Bjorn Helgaas Date: Mon Apr 28 16:33:48 2008 -0600 PNP: turn on -DDEBUG when CONFIG_PNP_DEBUG is set Turn on -DDEBUG in CFLAGS when CONFIG_PNP_DEBUG=y. This makes dev_dbg() do what you expect. Signed-off-by: Bjorn Helgaas Acked-by: Rene Herman Signed-off-by: Len Brown commit ff16cab69b6ed621686cf342306785175775152d Author: Len Brown Date: Tue Apr 29 03:12:17 2008 -0400 thermal: re-name thermal.c to thermal_sys.c thermal_sys was already the name of the resulting module, and it is built from this one source file. Signed-off-by: Len Brown commit 76ecb4f2d7ea5c3aac8970b9529775316507c6d2 Author: Zhang, Rui Date: Thu Apr 10 16:20:23 2008 +0800 ACPI: update thermal temperature Fix the problem that thermal_get_temp returns the cached value, which causes the temperature in generic thermal never updates. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 9030062f3d61f87c1e787b3aa134fa3a8e4b2d25 Author: Julia Lawall Date: Fri Apr 11 10:09:24 2008 +0800 ACPI: elide a non-zero test on a result that is never 0 thermal_cooling_device_register used to return NULL if THERMAL is "n". As the ACPI fan, processor and video drivers SELECT the generic thermal in PATCH 01, this is not a problem any more. Signed-off-by: Julia Lawall Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit e9ae71078b2c8657c0e8de808b76b76049806906 Author: Zhang Rui Date: Tue Apr 22 08:50:09 2008 +0800 thermal: update the documentation Update the documentation for the thermal driver hwmon sys I/F. Change the ACPI thermal zone type to be consistent with hwmon. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit e68b16abd91dca91e35ea47537ef8a1b7ad72841 Author: Zhang Rui Date: Mon Apr 21 16:07:52 2008 +0800 thermal: add hwmon sysfs I/F Add hwmon sys I/F for generic thermal driver. Note: we have one hwmon class device for EACH TYPE of the thermal zone device. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 9ec732ff80b7e8a9096666f78ae584d3b393bc84 Author: Zhang, Rui Date: Thu Apr 10 16:13:10 2008 +0800 thermal: add new get_crit_temp callback Add a new callback so that the generic thermal can get the critical trip point info of a thermal zone, which is needed for building the tempX_crit hwmon sysfs attribute. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 63c4ec905d63834a97ec7dbbf0a2ec89ef5872be Author: Zhang Rui Date: Mon Apr 21 16:07:13 2008 +0800 thermal: add the support for building the generic thermal as a module Build the generic thermal driver as module "thermal_sys". Make ACPI thermal, video, processor and fan SELECT the generic thermal driver, as these drivers rely on it to build the sysfs I/F. Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 2f67a0695dc389247c05041b05d2a2b06fc102a3 Author: Zhang Rui Date: Tue Apr 29 02:34:42 2008 -0400 flush kacpi_notify_wq before removing notify handler Flush kacpi_notify_wq before notify handler is removed, this can fix a bug which the deferred notify handler is executed after the notify_handler has already been removed. http://bugzilla.kernel.org/show_bug.cgi?id=9772 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 65c0d4e54ae4b81d8c8bb685169e48306656bb5c Author: Sonic Zhang Date: Fri Apr 25 17:19:25 2008 +0800 Fix bug - Implement bfin ata interrupt handler to avoid "irq 68 nobody cared" (v2) Return IRQ_HANDLED when bfin ata device is busy. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3513 v1-v2: - fold api breakage fixing patch together. - mark 'static', not 'inline'. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 7368f91926a2870a8c3f9546d86535ce71ae0757 Author: Mark Lord Date: Fri Apr 25 11:24:24 2008 -0400 sata_mv: Improve naming of main_irq cause/mask identifiers Tidy up naming of things associated with the PCI / SOC chip "main irq cause/mask" registers, as inspired by Jeff. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 87340e98345155631f7a1a4d8d66cf0ab286cb1b Author: Tejun Heo Date: Mon Apr 28 17:48:51 2008 +0900 libata-scsi: improve rbuf handling for simulated commands Buffer length handling in simulated commands is error-prone and full of bugs. There are a number of places where necessary length checks are missing and if the output buffer is passed in as sglist, nothing works. This patch adds a static buffer ata_scsi_rbuf which is sufficiently large to handle the larges output from simulated commands (4k currently), let all simulte functions write to the buffer and removes all length checks as we know that there always is enough buffer space. Copying in (for ATAPI inquiry fix up) and out are handled by sg_copy_to/from_buffer() behind ata_scsi_rbuf_get/put() interface which handles sglist properly. This patch is inspired from buffer length check fix patch from Petr Vandrovec. Updated to use sg_copy_to/from_buffer() as suggested by FUJITA Tomonori. Signed-off-by: Tejun Heo Cc: Petr Vandrovec Cc: FUJITA Tomonori Signed-off-by: Jeff Garzik commit f0761be344f9b1cc4284b1d945933cd983c233a4 Author: Tejun Heo Date: Mon Apr 28 17:16:52 2008 +0900 libata-scsi: clean up inquiry / mode sense related functions * make ata_scsiop_*() static * make ata_scsi_set_sense() static and move it above its users * make ata_scsi_rbuf_fill() static * kill unused ata_scsi_badcmd() Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3dd654bfdf8905d0acb6f6231b5e736d2b0d4bc6 Author: Ralf Baechle Date: Mon Apr 28 12:41:36 2008 +0100 [MIPS] ATA: Rename routerboard 500 to 532 The platform is actually named routerboard 532 so let's call it this. This patch only rename files, Kconfig and C symbols; no functional changes. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit adaa693b845373296631766176ebf0f73a342e10 Author: Stephen Rothwell Date: Tue Apr 22 15:26:13 2008 +1000 [XFS] Fix build failure after enabling CONFIG_XFS_DEBUG Signed-off-by: Stephen Rothwell Signed-off-by: Lachlan McIlroy commit c5acbaf43da139fe014d78d1f0ca7754fa856ddb Author: Christoph Hellwig Date: Mon Apr 21 18:11:13 2008 +1000 [XFS] remove dmapi cruft in xfs_file.c The dmapi cruft in xfs_file.c is totally out of date in mainline vs CVS, and at this point just removing this code which can't be used on mainline at all seems to be the best option to keep it maintainable. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3a738a5c73e0617d11b27ac46dd6a1a8f752017b Author: Christoph Hellwig Date: Mon Apr 21 17:25:35 2008 +1000 [XFS] remove sendfile leftovers Remove the last sendfile leftovers in mainline. This code is already gone in CVS. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7788fae6cce616fe2c624273fcfe54cf50f5c38b Author: Christoph Hellwig Date: Mon Apr 21 17:22:27 2008 +1000 [XFS] allow enabling CONFIG_XFS_DEBUG Back when I first submitted XFS for mainline inclusion we made the decision that the debug code is far to extensive to be accidentally enabled by users in mainline. But then again it's often quite useful to track problems down and hacking the makefile all the time is rather annoying. Given all the debug options with even more overhead like lockdep or DEBUG_PAGE_ALLOC users (or rather developers) should know by now what they're doing. Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 359346a9655c8800408ed3ca44517ac7ea95c197 Author: David Chinner Date: Tue Apr 29 12:53:32 2008 +1000 [XFS] Don't initialise new inode generation numbers to zero When we allocation new inode chunks, we initialise the generation numbers to zero. This works fine until we delete a chunk and then reallocate it, resulting in the same inode numbers but with a reset generation count. This can result in inode/generation pairs of different inodes occurring relatively close together. Given that the inode/gen pair makes up the "unique" portion of an NFS filehandle on XFS, this can result in file handles cached on clients being seen on the wire from the server but refer to a different file. This causes .... issues for NFS clients. Hence we need a unique generation number initialisation for each inode to prevent reuse of a small portion of the generation number space. Use a random number to initialise the generation number so we don't need to keep any new state on disk whilst making the new number difficult to guess from previous allocations. SGI-PV: 979416 SGI-Modid: xfs-linux-melb:xfs-kern:31001a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 86c4d62305649848164ae311a0959fc569b0d964 Author: David Chinner Date: Tue Apr 29 12:53:21 2008 +1000 [XFS] Fix check for block zero access in xfs_write_iomap_allocate() The check for block zero access should be done on non-realtime inodes. Fix the logic error in xfs_write_iomap_allocate(), and simplify the logic on all checks for block zero access in xfs_iomap.c SGI-PV: 980888 SGI-Modid: xfs-linux-melb:xfs-kern:30998a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit d349404ff14758dc9a2d3df032073ed795085860 Author: David Chinner Date: Tue Apr 29 12:53:15 2008 +1000 [XFS] Don't double count reserved block changes on UP. On uniprocessor machines, the incore superblock is used for all in memory accounting of free blocks. in this situation, changes to the reserved block count are accounted twice; once directly and once via xfs_mod_incore_sb(). Seeing as the modification on SMP is done via xfs_mod_incore_sb(), make this the only update mechanism that UP uses as well. SGI-PV: 980654 SGI-Modid: xfs-linux-melb:xfs-kern:30997a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit fe0754f0e5c0f070bf82b6e7e5e8fa5a188163fc Author: Alexey Dobriyan Date: Tue Apr 29 12:53:08 2008 +1000 [XFS] remove xfs_log_ticket_zone on rmmod Fix bug introduced in commit eb01c9cd87c7a9998c2edf209721ea069e3e3652 aka "[XFS] Remove the xlog_ticket allocator" SGI-PV: 980887 SGI-Modid: xfs-linux-melb:xfs-kern:30995a Signed-off-by: Alexey Dobriyan Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 7155054c9d8b5974f6e788b46939b419bd5fb020 Author: Eric Sandeen Date: Tue Apr 29 12:53:00 2008 +1000 [XFS] fix non-smp xfs build xfs_reserve_blocks() calls xfs_icsb_sync_counters_locked(), which is not defined if !CONFIG_SMP/!HAVE_PERCPU_SB SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30991a Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit d0313587547092af7f5ee8a576793e1e5d61be89 Author: Paul Gortmaker Date: Thu Apr 17 00:08:10 2008 -0400 [netdrvr] gianfar: Determine TBIPA value dynamically TBIPA needs to be set to a value (on connected MDIO buses) that doesn't conflict with PHYs on the bus. By hardcoding it to 0x1f, we were preventing boards with PHYs at 0x1f from working properly. Instead, scan the bus when it comes up, and find an address that doesn't have a PHY on it. The TBI PHY configuration code then trusts that the value in TBIPA is either safe, or doesn't matter (ie - it's not an active bus with other PHYs). Signed-off-by: Andy Fleming Signed-off-by: Paul Gortmaker Signed-off-by: Jeff Garzik commit 9d88a2eb6e05c07aa0d484b8fa1372722fa921d0 Author: Badari Pulavarty Date: Fri Apr 18 13:33:53 2008 -0700 [POWERPC] Provide walk_memory_resource() for powerpc Provide walk_memory_resource() for 64-bit powerpc. PowerPC maintains logical memory region mapping in the lmb.memory structure. Walk through these structures and do the callbacks for the contiguous chunks. Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 98d5c21c812e4e3b795f5bd912f407ed7c5e4e38 Author: Badari Pulavarty Date: Fri Apr 18 13:33:52 2008 -0700 [POWERPC] Update lmb data structures for hotplug memory add/remove The powerpc kernel maintains information about logical memory blocks in the lmb.memory structure, which is initialized and updated at boot time, but not when memory is added or removed while the kernel is running. This adds a hotplug memory notifier which updates lmb.memory when memory is added or removed. This information is useful for eHEA driver to find out the memory layout and holes. NOTE: No special locking is needed for lmb_add() and lmb_remove(). Calls to these are serialized by caller. (pSeries_reconfig_chain). Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 57b539269e9eef4dedc533d83c94877bc6b4d44d Author: Badari Pulavarty Date: Fri Apr 18 13:33:50 2008 -0700 [POWERPC] Hotplug memory remove notifications for powerpc Hotplug memory remove notifier for 64-bit powerpc. This gets invoked by writing to /proc/ppc64/ofdt the string "remove_node " followed by the firmware device tree pathname of the node that needs to be removed. In response, this adjusts the sections and removes sysfs entries by calling __remove_pages(). Then it calls arch-specific code to get rid of the hardware MMU mappings for the section of memory. Signed-off-by: Badari Pulavarty Reviewed-by: Michael Ellerman Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 18d18208daced52123de9ba0808447058d3442d8 Author: Donald Douwsma Date: Tue Apr 22 17:34:56 2008 +1000 [XFS] Fix broken HAVE_SPLICE removal commit. Commit e687330b5ed1ea899fdaf0dea50aba196b6e019a was meant to remove the unused HAVE_SPLICE macro, instead an unrelated change was checked enabling QUOTADEBUG when building DEBUG XFS. Restore the intended changes. SGI-PV: 971046 SGI-Modid: xfs-linux-melb:xfs-kern:30924a Signed-off-by: Donald Douwsma Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit ce46193bcaaf3c769718bcec6eae94719b8f53ed Author: Christoph Hellwig Date: Tue Apr 22 17:34:50 2008 +1000 [XFS] kill XFS_ICSB_SB_LOCKED With the last two patches XFS_ICSB_SB_LOCKED is never checked and only superflously passed to xfs_icsb_count, so kill it. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30920a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 80ff974dba8cc432ab81676fc09d3c357cb11276 Author: Étienne Bersac Date: Tue Apr 29 15:39:55 2008 +1000 [POWERPC] windfarm: Add PowerMac 12,1 support This implements a new driver named windfarm_pm121, which drives the fans on PowerMac 12,1 machines : iMac G5 iSight (rev C) 17" and 20". It's based on the windfarm_pm81 driver from Benjamin Herrenschmidt. This includes fixes from David Woodhouse correcting the names of some of the sensors. Signed-off-by: Étienne Bersac Signed-off-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 21e38dfee53a2159d14a24a3d2277ae757599efa Author: Tony Breeds Date: Tue Apr 29 11:42:32 2008 +1000 [POWERPC] Fix building of pmac32 when CONFIG_NVRAM=m Kamalesh Babulal (kamalesh@linux.vnet.ibm.com) reports that CONFIG_NVRAM=m is valid in terms of Kconfig but fails to build with: Building modules, stage 2. MODPOST 1401 modules ERROR: "pmac_newworld" [arch/powerpc/platforms/powermac/nvram.ko] undefined! ERROR: "__alloc_bootmem" [arch/powerpc/platforms/powermac/nvram.ko] undefined! make[1]: *** [__modpost] Error The arch/powerpc/platforms/powermac/nvram.c code really needs to be builtin, but as its compilation is dependent on a generic Kconfig symbol we force nvram.c to be builtin if CONFIG_NVRAM is 'y' or 'm'. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 85218827cc4ca900867807f19345418164ffc108 Author: Kumar Gala Date: Mon Apr 28 16:21:22 2008 +1000 [POWERPC] Add IRQSTACKS support on ppc32 This makes it possible to use separate stacks for hard and soft IRQs on 32-bit powerpc as well as on 64-bit. The code for 32-bit is just the 32-bit analog of the 64-bit code. * Added allocation and initialization of the irq stacks. We limit the stacks to be in lowmem for ppc32. * Implemented ppc32 versions of call_do_softirq() and call_handle_irq() to switch the stack pointers * Reworked how we do stack overflow detection. We now keep around the limit of the stack in the thread_struct and compare against the limit to see if we've overflowed. We can now use this on ppc64 if desired. [ paulus@samba.org: Fixed bug on 6xx where we need to reload r9 with the thread_info pointer. ] Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit dd18434ff0b7d9b9ad3d596985fc84b329d2f9a8 Author: Paul Mackerras Date: Mon Apr 28 14:44:08 2008 +1000 [POWERPC] Use __always_inline for xchg* and cmpxchg* This changes the definitions of the xchg and cmpxchg families of functions in include/asm-powerpc/system.h to be marked __always_inline rather than __inline__. The reason for doing this is that we rely on the compiler inlining them in order to eliminate the references to __xchg_called_with_bad_pointer and __cmpxchg_called_with_bad_pointer, which are deliberately left undefined. Thus this change will enable us to make the inline keyword be just a hint rather than a directive. Signed-off-by: Paul Mackerras commit 745a14cc264b1832c638e41812e0cb04328b2db1 Author: Paul Mackerras Date: Mon Apr 28 13:52:31 2008 +1000 [POWERPC] Add fast little-endian switch system call This adds a system call on 64-bit platforms for switching between little-endian and big-endian modes that is much faster than doing a prctl call. This system call is handled as a special case right at the start of the system call entry code, and because it is a special case, it uses a system call number which is out of the range of normal system calls, namely 0x1ebe. Measurements with lmbench on a 4.2GHz POWER6 showed no measurable change in the speed of normal system calls with this patch. Switching endianness with this new system call takes around 60ns on a 4.2GHz POWER6, compared with around 300ns to switch endian mode with a prctl. This can provide a significant performance advantage for emulators for little-endian architectures that want to switch between big-endian and little-endian mode frequently, e.g. because they are generating instructions sequences on the fly and they want to run those sequences in little-endian mode. The other thing about this system call is that it doesn't clobber as many registers as a normal system call. It only clobbers r12. Signed-off-by: Paul Mackerras commit 45af6c6de6453b385c80555c0ee40ab5fc4a033b Author: Christoph Hellwig Date: Tue Apr 22 17:34:44 2008 +1000 [XFS] split xfs_icsb_balance_counter Add an xfs_icsb_balance_counter_locked for the case where mp->m_sb_lock is already locked. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30918a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit d4d90b577ee5af5c1b29bd693aca026a77a1a2f1 Author: Christoph Hellwig Date: Tue Apr 22 17:34:37 2008 +1000 [XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held Add a new xfs_icsb_sync_counters_locked for the case where m_sb_lock is already taken and add a flags argument to xfs_icsb_sync_counters so that xfs_icsb_sync_counters_flags is not needed. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30917a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit dac2f83fce01f0c2900918a4a8abd4c652151804 Author: Krzysztof Halasa Date: Sun Apr 20 19:06:39 2008 +0200 Driver for IXP4xx built-in Ethernet ports Adds a driver for built-in IXP4xx Ethernet ports. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 770f867991155f9c9e36a845a142f770d55ee67c Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:44:03 2008 +0200 ARM: am79c961a: platform_get_irq() may return signed unnoticed dev->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Jeff Garzik commit 0a0a83107c01a8dba04fa40ddb29ff021d4f8112 Author: Cornelia Huck Date: Thu Apr 24 10:15:28 2008 +0200 netiucv: Fix missing driver attributes. Signed-off-by: Cornelia Huck Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit efe3df6f6cfb587e662aa6f0cf9a9fde93d8af0b Author: Frank Blaschka Date: Thu Apr 24 10:15:27 2008 +0200 qeth: layer 2 allow ethtool to set TSO Allow ethtool to turn on/off EDDP via ethtool TSO interface. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit a74b08c7fcfc49727cb9e4409ec0410674410c93 Author: Ursula Braun Date: Thu Apr 24 10:15:26 2008 +0200 qeth: read number of ports from card Read out number of ports from the hardware. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 8af7c5aebc9a7b46f6ea55ee5a216dce4005f538 Author: Frank Blaschka Date: Thu Apr 24 10:15:25 2008 +0200 qeth: layer 3 add missing dev_open/close to ccwgroup handler In case the ccwgroup device is set online/offline we have to run the corresponding dev_open/close for the netdevice. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit f90b744eb8ead0af7a7aa2f78ff861dff4863f2c Author: Frank Blaschka Date: Thu Apr 24 10:15:24 2008 +0200 qeth: rework fast path Remove unnecessary traces. Remove unnecessary wrappers for skb functions. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 3f9975aa4d5b3c614eef8785ec63da13fbd55b51 Author: Frank Blaschka Date: Thu Apr 24 10:15:23 2008 +0200 qeth: provide get ethtool settings Load balancing bonding queries the speed of the slave interfaces. To support a bond consisting of different slave speeds we have to report the speed by ethtool settings. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 213298f862d10ade909bdb7d833493d4bdad683d Author: Frank Blaschka Date: Thu Apr 24 10:15:22 2008 +0200 qeth: layer 3 support vlan IPv6 on hiper socket hiper socket require the QETH_HDR_EXT_VLAN_FRAME flag in the qdio header to handle vlan tagged frames. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit cd023216e64cc0359ec51312bef14ef2449535dd Author: Peter Tiedemann Date: Thu Apr 24 10:15:21 2008 +0200 qeth module size reduction. Replace complex macro for s390dbf calls by equivalent function. This reduces module size about 10% without visible performance impact. Signed-off-by: Peter Tiedemann Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 022b660ae5d075ed9eaddef6f6fb7abb48bdf63b Author: Ursula Braun Date: Thu Apr 24 10:15:20 2008 +0200 ccwgroup: Unify parsing for group attribute. Instead of having each driver for ccwgroup slave device parsing the input itself and calling ccwgroup_create(), introduce a new function ccwgroup_create_from_string() and handle parsing inside the ccwgroup core. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 8bbf84404b02f193c5422c252264d7b82ffe4443 Author: Ursula Braun Date: Thu Apr 24 10:15:19 2008 +0200 netiucv: get rid of in_atomic() use There is no urgent need to restart a netiucv connection automatically, if packets are sent while the netiucv device is not up and running. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 93ad37d94d0b42e493d95b8a79181112c76ab459 Author: Klaus D. Wacker Date: Thu Apr 24 10:15:18 2008 +0200 lcs: CCL-sequ. numbers required for protocol 802.2 only. Sequence numbers in skbs (Receive path) are assigned only to 802.2 packets. Signed-off-by: Klaus D. Wacker Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 679dce39e3cdfcc641b2888ce04f1cd5ff0b3b92 Author: Bryan Wu Date: Fri Apr 25 11:53:11 2008 +0800 Blackfin EMAC Driver: Initial version of ethtool support Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 7ef0a7ee2f9ac7ee8e2a597821adb2a78b882791 Author: Bryan Wu Date: Fri Apr 25 11:53:10 2008 +0800 Blackfin EMAC Driver: code cleanup - replace specific "bf537" function or data structure name to "bfin_mac" - cleanup bfin_mac_probe with error checking - punt set_pin_mux function, call peripheral request/free list functions directly Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 4e5b864e7cac67f06f18147b1980cb6b8fb213ec Author: Harvey Harrison Date: Sat Apr 26 23:44:03 2008 -0700 net: eepro autoport typo Found by sparse dubious !x & y warning...hidden in the GetBit macro why !Word doesn't make any sense. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 4d9b1a022a33c57ca8f31a1364cef682c8c817d6 Author: Steve Glendinning Date: Mon Apr 28 18:37:29 2008 +0100 Add support for SMSC LAN8187 and LAN8700 PHYs Add support for two additional SMSC PHY models with identical interrupt source and mask registers to the LAN83C185 Signed-off-by: Steve Glendinning Signed-off-by: Jeff Garzik commit 48c41b9941233a85ccdb88c579bd4e9b0ee609cf Author: Steve Glendinning Date: Mon Apr 28 18:36:46 2008 +0100 Rename SMSC phy functions to be more generic Several models of SMSC PHY have the same interrupt status and mask registers as the LAN83C185, so these functions can service multiple different PHY drivers. Signed-off-by: Steve Glendinning Signed-off-by: Jeff Garzik commit 5d12b132bc0bfb10d3f8d81f92606719b5032dcb Author: Randy Dunlap Date: Mon Apr 28 10:58:22 2008 -0700 drivers/net/phy: fix kernel-doc notation Fix kernel-doc warning: Warning(linux-2.6.25-git11//drivers/net/phy/phy_device.c:275): No description found for parameter 'bus_id' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 23d9b3871fa03af32d06f4946f8d56b1af55997b Author: Sreenivasa Honnur Date: Mon Apr 28 21:09:40 2008 -0400 S2io: Version update for multi ring patches - Updated version number. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 0425b46a4beef234c522f183d5c2934edbb0f625 Author: Sreenivasa Honnur Date: Mon Apr 28 21:08:45 2008 -0400 S2io: Enable multi ring support - Seperate ring specific data - Initialize all configured rings with equal priority. - Updated boundary check for number of Rings. - Updated per ring statistics of rx_bytes and rx_packets. - Moved lro struct from struct s2io_nic to struct ring_info. - Access respective rx ring directly in fill_rx_buffers. - Moved rx_bufs_left struct s2io_nic to struct ring_info. - Added per ring variables - rxd_mode, rxd_count, dev, pdev. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit dfd44151e8888b964b7f2400f26794154a58c86b Author: Paulius Zaleckas Date: Tue Apr 29 03:07:31 2008 +0300 3c515: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit 815f8802d201aba1ce343ba832daf639165f01a1 Author: Paulius Zaleckas Date: Tue Apr 29 02:45:43 2008 +0300 3c509: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit ba0f6caeb5d9cf6fbb99f84ff0f2731f04996595 Author: Paulius Zaleckas Date: Tue Apr 29 02:27:37 2008 +0300 3c505: use netstats in net_device structure Use net_device_stats from net_device structure instead of local. No need to memset it to 0, because it is allocated by kzalloc. Signed-off-by: Paulius Zaleckas Signed-off-by: Jeff Garzik commit e8b0ebaa115ac46b21622b103c29927f5805aeaa Author: Barry Naujok Date: Tue Apr 22 17:34:31 2008 +1000 [XFS] Cleanup xfs_attr a bit with xfs_name and remove cred SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30913a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 5df78e73d328e870a1cd8a9e0f39bf094e42ce9d Author: Christoph Hellwig Date: Tue Apr 22 17:34:24 2008 +1000 [XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir The VFS always has an inode reference when we call these functions. So we only need to grab a signle reference to each inode that's joined to a transaction - all the other bumping and dropping is as useless as the comments describing the IRIX semantics. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30912a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 82dab941a192d081dd0b7cde3ed32603372d5acc Author: Christoph Hellwig Date: Tue Apr 22 17:34:18 2008 +1000 [XFS] kill parent == child checks in xfs_remove and xfs_rmdir VFS guaranteed these can't happen. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30911a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit dd32f7effdd2f3f348ef91ca1649d78a0ab2b103 Merge: 090bf62... 21e197f... Author: Jeff Garzik Date: Tue Apr 29 01:54:31 2008 -0400 Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream commit 1ac74e01df959e3e91baded7c83399372af945a2 Author: Christoph Hellwig Date: Tue Apr 22 17:34:12 2008 +1000 [XFS] kill usesless IHOLD calls in xfs_rename Similar to to the previous patch for remove and rmdir only grab a reference to inodes when we join them to transaction to balance the decrement on transaction completion. Everything else it taken care of by the VFS. Note that the old case had leaks of inode count when src == target or src or target == one of the parent inodes, but these cases are fortunately already rejected by the VFS. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30904a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit cfa853e47df4fbee441ac0ac3fb592f076233145 Author: Christoph Hellwig Date: Tue Apr 22 17:34:06 2008 +1000 [XFS] remove manual lookup from xfs_rename and simplify locking ->rename already gets the target inode passed if it exits. Pass it down to xfs_rename so that we can avoid looking it up again. Also simplify locking as the first lock section in xfs_rename can go away now: the isdir is an invariant over the lifetime of the inode, and new_parent and the nlink check are namespace topology protected by i_mutex in the VFS. The projid check needs to move into the second lock section anyway to not be racy. Also kill the now unused xfs_dir_lookup_int and remove the now-unused first_locked argumet to xfs_lock_inodes. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30903a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 579aa9caf552c639fc78168db4cfe7ffcf00c3b3 Author: Christoph Hellwig Date: Tue Apr 22 17:34:00 2008 +1000 [XFS] shrink mrlock_t The writer field is not needed for non_DEBU builds so remove it. While we're at i also clean up the interface for is locked asserts to go through and xfs_iget.c helper with an interface like the xfs_ilock routines to isolated the XFS codebase from mrlock internals. That way we can kill mrlock_t entirely once rw_semaphores grow an islocked facility. Also remove unused flags to the ilock family of functions. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30902a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit eca450b7c23f804597b87085b2a05bfc5b3ccb8b Author: Christoph Hellwig Date: Tue Apr 22 17:33:52 2008 +1000 [XFS] simplify xfs_lookup Opencode xfs-kill-xfs_dir_lookup_int here, which gets rid of a lock roundtrip, and lots of stack space. Also kill the di_mode == 0 check that has been done in xfs_iget for a few years now. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30901a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d4377d84189349357e1812eaff6d0504766eea06 Author: Christoph Hellwig Date: Tue Apr 22 17:33:46 2008 +1000 [XFS] xfs_rename: pass resblks to xfs_dir_removename Similar to rmdir and remove - avoids a potential transaction reservation overrun. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30900a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6a7f422d47d4af461704ebb9d7a389d9e59766b2 Author: Christoph Hellwig Date: Tue Apr 22 17:33:40 2008 +1000 [XFS] kill di_mode checks after xfs_iget Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it encounters an inode with di_mode == 0. Remove the duplicated checks in the callers. (the log recovery case is not touched for now) SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30898a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4e5dbb3498e74514b9936d691413afc55fb84ea9 Author: Christoph Hellwig Date: Tue Apr 22 17:33:33 2008 +1000 [XFS] kill xfs_getattr It's currently used by the ACL code to read di_mode/di_uid, but these are simple 32bit scalar values we can just read directly without locking. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30897a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 42173f6860af7e016a950a9a19a66679cfc46d98 Author: Christoph Hellwig Date: Tue Apr 22 17:33:25 2008 +1000 [XFS] Remove VN_IS* macros and related cruft. We can just check i_mode / di_mode directly. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30896a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 62478fa4b7cd1bdf0ba8ff8a5e3a95c45c7b8ac8 Author: Cyrill Gorcunov Date: Fri Apr 18 13:42:54 2008 -0700 m32r: cleanup: drop .data.idt section in vmlinux.lds script The section .data.idt is not used at all - so drop it. Signed-off-by: Cyrill Gorcunov Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Hirokazu Takata commit 7622b46451543872e7c8e75ec98f411f59e051b1 Author: Adrian Bunk Date: Tue Apr 22 00:33:02 2008 +0300 m32r: use KBUILD_DEFCONFIG With using KBUILD_DEFCONFIG we don't have to ship a second copy of m32700ut.smp_defconfig Signed-off-by: Adrian Bunk Acked-by: Hirokazu Takata commit 090bf62199d6079cc47c0b78ced9508391b24fa1 Merge: 8ceee66... 697c269... Author: Jeff Garzik Date: Tue Apr 29 01:45:04 2008 -0400 Merge branch 'sis190' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream commit 8ceee660aacb29721e26f08e336c58dc4847d1bd Author: Ben Hutchings Date: Sun Apr 27 12:55:59 2008 +0100 New driver "sfc" for Solarstorm SFC4000 controller. The driver supports the 10Xpress PHY and XFP modules on our reference designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and SMC10GPCIe-10BT. Signed-off-by: Ben Hutchings Signed-off-by: Jeff Garzik commit ce4e2e4558903ef92edf1ab4e09b0b338a09fd61 Author: Lennert Buytenhek Date: Thu Apr 24 01:29:59 2008 +0200 mv643xx_eth: inter-mv643xx SMI port sharing There exist chips with up to four mv643xx_eth silicon blocks but only one external SMI (MII management) interface -- the SMI logic of the first block is shared by all the blocks. Handle this by allowing a per-port override of which mv643xx_eth_shared's SMI registers (and spinlock) to use. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Dale Farnsworth commit 240e4419e0cfcba737883b637ec2bdcc071ea03d Author: Lennert Buytenhek Date: Thu Apr 24 01:27:44 2008 +0200 mv643xx_eth: shorten shared platform driver name Change the MV643XX_ETH_SHARED_NAME platform driver name to something shorter than 19 characters, so that we can register multiple (otherwise we end up with sysfs conflicts since all instances will map to "mv643xx_eth_shared." as there is a 20-char sysfs file name limit.) Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Dale Farnsworth commit c416a41f99be190e1f558cb06f70ddd560ce8b4b Author: Lennert Buytenhek Date: Thu Apr 24 01:27:32 2008 +0200 mv643xx_eth: configurable t_clk Make t_clk configurable via platform device data (with the current hardcoded value, 133 MHz, being the default), as it varies across different chip families. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Dale Farnsworth commit f2ce825d2a89b30af14fa577298fecaab7bc9504 Author: Lennert Buytenhek Date: Thu Apr 24 01:27:17 2008 +0200 mv643xx_eth: mbus decode window support Make it possible to pass mbus_dram_target_info to the mv643xx_eth driver via the platform data, and make the mv643xx_eth driver program the window registers based on this data if it is passed in. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Dale Farnsworth commit fa3959f457109cc7d082b86ea6daae927982815b Author: Lennert Buytenhek Date: Thu Apr 24 01:27:02 2008 +0200 mv643xx_eth: get rid of static variables, allow multiple instances Move mv643xx_eth's static state (ethernet register block base address and MII management interface spinlock) into a struct hanging off the shared platform device. This is necessary to support chips that contain multiple mv643xx_eth silicon blocks. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Dale Farnsworth commit a01e035ebb552223c03f2d9138ffc73f2d4d3965 Author: Harvey Harrison Date: Mon Apr 28 16:50:04 2008 -0700 drivers: fix integer as NULL pointer warnings Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit a6a3a17b7fdaf824e6d73e8e4a94c9d149302f74 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 media: fix integer as NULL pointer warnings drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 172c122df5186e7cbd413d61757ff90267331002 Author: Harvey Harrison Date: Mon Apr 28 16:50:03 2008 -0700 scsi: fix integer as NULL pointer warnings drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 8ab68ab420d5fc084b8cdd76a72df72c5e1cdb5d Merge: f05c463... 7b25543... Author: Linus Torvalds Date: Mon Apr 28 17:30:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits) siimage: coding style cleanup (take 2) ide-cd: clean up cdrom_analyze_sense_data() ide-cd: fix test unsigned var < 0 ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[] piix: add Asus Eee 701 controller to short cable list ARM: always select HAVE_IDE remove the broken ETRAX_IDE driver ide: remove ->dma_prdtable field from ide_hwif_t ide: remove ->dma_vendor{1,3} fields from ide_hwif_t scc_pata: add ->dma_host_set and ->dma_start methods ide: skip "VLB sync" if host uses MMIO ide: add ide_pad_transfer() helper ide: remove ->INW and ->OUTW methods ide: use IDE I/O helpers directly in ide_tf_{load,read}() ns87415: add ->tf_read method scc_pata: add ->tf_{load,read} methods ide-h8300: add ->tf_{load,read} methods ide-cris: add ->tf_{load,read} methods ide: add ->tf_load and ->tf_read methods ide: move ide_tf_{load,read} to ide-iops.c ... commit f05c463be51898e745c4aa8245b05e25d73fa975 Merge: 8da5630... 5a1aa8a... Author: Linus Torvalds Date: Mon Apr 28 17:29:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kconfig: add named choice group kconfig: fix choice dependency check kconifg: 'select' considered less evil dontdiff: ignore timeconst.h dontdiff: add modules.order kbuild: fix unportability in gen_initramfs_list.sh kbuild: fix help output to show correct arch kbuild: show defconfig subdirs in make help kconfig: reversed borderlines in inputbox commit 8da56309f04d76a474791fd27b33ddd52062bcd6 Author: Harvey Harrison Date: Mon Apr 28 14:13:20 2008 -0700 drivers: atm, char fix integer as NULL pointer warnings drivers/atm/nicstar.c:418:25: warning: Using plain integer as NULL pointer drivers/char/drm/r128_cce.c:820:25: warning: Using plain integer as NULL pointer drivers/char/tty_io.c:1183:10: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 7b8ee84d8926e6c6ec584548d23a12f1410b4db7 Author: Harvey Harrison Date: Mon Apr 28 14:13:19 2008 -0700 mm: fix integer as NULL pointer warnings mm/hugetlb.c:207:11: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit b331d259b1147f82d692f3b866e036017cbde8fe Author: Harvey Harrison Date: Mon Apr 28 14:13:19 2008 -0700 kernel: fix integer as NULL pointer warnings kernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer kernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Reviewed-by: Paul Jackson Signed-off-by: Linus Torvalds commit d613c3e2d841889f32b1e74f251a6a6bcd9642cf Author: Harvey Harrison Date: Mon Apr 28 14:13:14 2008 -0700 init: fix integer as NULL pointer warnings init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 4b18f2a9c3964f7612b7403dddc1d1ba5443ae24 Author: Steve French Date: Tue Apr 29 00:06:05 2008 +0000 [CIFS] convert usage of implicit booleans to bool Signed-off-by: Joe Perches Signed-off-by: Steve French commit e9f20d6f03e8df393b001dab6dc5226c2a5daf57 Merge: bf62fd8... e31a94e... Author: Igor Mammedov Date: Mon Apr 28 23:08:21 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit bf62fd887cab230f5952b611bde25e8e15acb454 Author: Igor Mammedov Date: Mon Apr 28 23:05:58 2008 +0000 [CIFS] fixed compatibility issue with samba refferal request treeName part is canonicalized to '/' path separator Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 7b255436df0543856faaae4704034fe83bc20717 Author: Sergei Shtylyov Date: Mon Apr 28 23:44:44 2008 +0200 siimage: coding style cleanup (take 2) Fix 18 errors and several warnings given by checkpatch.pl: - use of C99 // comments; - trailing whitespace; - 'switch' and 'case' not at the same indentation level; - no space before the open parenthesis of the 'if' and 'switch' statements; - space between function name and open parenthesis (though I have introduced such warnins in some places since the code looks prettier with the spaces); - including instead of ; - line over 80 characters. In addition to these changes, also do the following: - make the arrays in sil_set_pio_mode() 'static', and make the arrays in sil_set_dma_mode() 'static const'; - change the string of the 'if' statements into the 'switch' statement in sil_pata_udma_filter(); - drop the needless '==' operators from the 'if' statements where a condition is a mere bit test; - remove needless initializer for the 'tmp' variable in init_chipset_siimage(); - beautify groups of the variable initializers and assignment operators; - add new line after variable definitions; - remove new line between the comment and the statements it refers to; - remove needless curly braces and parentheses; - fix typos, capitalize acronyms, etc. in the comments... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eee49298ddb17ff6646a82b843f151e6a7a10edd Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 23:44:43 2008 +0200 ide-cd: clean up cdrom_analyze_sense_data() [bart: fix handling of bio_sectors(failed_command->bio) == 0] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a83ead23449759b14aa1f194576ac442e84d3efb Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 23:44:43 2008 +0200 ide-cd: fix test unsigned var < 0 valid is unsigned and cannot be below 0. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ced5c49bd2d1f2c7f769e3a54385883de63a652 Author: Alexander Smal Date: Mon Apr 28 23:44:43 2008 +0200 ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[] Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fa5a40f27e832b7c31e93d6dc2952a41ed277f7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:43 2008 +0200 piix: add Asus Eee 701 controller to short cable list Based on ata_piix patch by Dan McGee. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2064c946eaca641d28281264d01d0c8b977f1f20 Author: Adrian Bunk Date: Mon Apr 28 23:44:43 2008 +0200 ARM: always select HAVE_IDE It's plain wrong for PCMCIA to select HAVE_IDE that implies e.g. the availability of an asm/ide.h It turns out this was done for ARM, and we can simply always select HAVE_IDE on ARM instead of manually tracking which platforms might possible have an IDE controller directly or indirectly. Signed-off-by: Adrian Bunk Cc: Russell King Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f31b874600bcee53bac6846f72fbee5c33c8805 Author: Adrian Bunk Date: Mon Apr 28 23:44:42 2008 +0200 remove the broken ETRAX_IDE driver ETRAX_IDE was marked as broken last year with the comment "it doesn't even compile currently". Remove it since it won't get fixed in the near future. On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote: > You can remove it for now and we will resubmit a new if/when we get around > to fix it. [bart: ported it over IDE tree] Signed-off-by: Adrian Bunk Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Bartlomiej Zolnierkiewicz commit 55224bc86a39409d55e47fd45573642ac709bb8f Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:42 2008 +0200 ide: remove ->dma_prdtable field from ide_hwif_t * Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in {ide,scc}_dma_setup(). * Remove no longer needed ->dma_prdtable field from ide_hwif_t. While at it: * Use ATA_DMA_TABLE_OFS define. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41051a141dcc67f4c5011a2ab2b547e80b9ac509 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:42 2008 +0200 ide: remove ->dma_vendor{1,3} fields from ide_hwif_t * Use 'hwif->dma_base + {1,3}' instead of hwif->dma_vendor{1,3} in pdc202xx_new host driver. * Remove no longer needed ->dma_vendor{1,3} fields from ide_hwif_t. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 669185e98c242fa4dcd68cf11899412da1a70dd7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 scc_pata: add ->dma_host_set and ->dma_start methods Add ->dma_host_set and ->dma_start methods (+ __scc_dma_end() helper) so scc_ide_{in,out}b() can be used directly. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 22cdd6cedc93653a95965191e65a30619234a640 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: skip "VLB sync" if host uses MMIO * Skip "VLB sync" in ata_{in,out}put_data() if host uses MMIO. * Use I/O ops directly in ata_vlb_sync() an drop no longer needed 'ide_drive_t *drive' argument. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f87abe892f899f19df8d472f937ee955cd6264b Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: add ide_pad_transfer() helper * Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods internally so the transfer is also padded to drive+host requirements) and use it instead of ide_atapi_{write_zeros,discard_data}(). * Remove no longer needed ide_atapi_{write_zeros,discard_data}(). Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c0daf2681f140dd9f39cd95966f471b5c904d8a Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: remove ->INW and ->OUTW methods * Remove no longer used ->INW and ->OUTW methods. While at it: * scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}() so inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit ca545c1e75cd017bfd9a9b6c4f81f9b82ba20947 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:41 2008 +0200 ide: use IDE I/O helpers directly in ide_tf_{load,read}() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ea23b8ba0068df281988bfba605f107edb01bf7f Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ns87415: add ->tf_read method Add ->tf_read method so out{b,w}(), in{b,w}() and superio_ide_inb() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit db2432c40f4afbf5869d4885adbd023c581dbd0b Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 scc_pata: add ->tf_{load,read} methods Add ->tf_{load,read} methods so scc_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 92fcaaa85ec2004abc148b70b667812a42ae8272 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide-h8300: add ->tf_{load,read} methods Add ->tf_{load,read} methods so outb()/inb() and mm_outw()/mm_inw() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dbceb8c8083634ed4f5006deac12f0a45e6a7bc Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide-cris: add ->tf_{load,read} methods Add ->tf_{load,read} methods so cris_ide_{outb,outw,inb,inw}() can be used directly. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 94cd5b62ff9bb07ef065333eb97438f115a75890 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:40 2008 +0200 ide: add ->tf_load and ->tf_read methods * Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default methods in default_hwif_transport(). * Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly. * Make ide_tf_{load,read}() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d309e0bb8e5f29692f10790f3e966f05bbfc9355 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: move ide_tf_{load,read} to ide-iops.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 089c5c7e0089c3461545be936bcd236cbf16b79a Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: factor out debugging code from ide_tf_load() Factor out debugging code from ide_tf_load() to ide_tf_dump() helper and update ide_tf_load() users accordingly. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fc142589e58b20a67582974b8848595a2c7432e Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide: add ide_execute_pkt_cmd() helper Add ide_execute_pkt_cmd() helper for executing PACKET command, then convert ATAPI device drivers to use it. As a nice side-effect this fixes ide-{floppy,tape,scsi} w.r.t. ide_lock taking (ide-cd was OK). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3910dde6410e742f8bd3f516ee9b1a7114abbad0 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:39 2008 +0200 ide-{floppy,tape,scsi}: 400ns delay is required after executing the command Signed-off-by: Bartlomiej Zolnierkiewicz commit 32b3fe4fff0974d823a0c0d17d7b25690ecd5fc8 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 ide: always use ->OUTBSYNC method for executing commands Always use ->OUTBSYNC method for executing commands so the posting is done if needed (this affects only pmac and scc_pata host drivers at the moment). Signed-off-by: Bartlomiej Zolnierkiewicz commit 24cc434acc2b3aaf70eba4ba20890eca5fcfa686 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: remove proc_reports_siimage() * proc_reports_siimage() is now only called by init_chipset_siimage() so inline it there. * Use array instead of switch statement for reporting clock modes. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 165701d9fc0e4e2bf2784119514877484ab361c5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: add sil_* I/O ops Add sil_iowrite{8,16,32}() and sil_ioread{8,16}() helpers, then use them to merge code accessing configuration registers through PCI and MMIO together. [ because of this SATA initialization bits from setup_mmio_siimage() are moved to init_chipset_siimage() ] This also cuts code size a bit: text data bss dec hex filename 4437 164 0 4601 11f9 drivers/ide/pci/siimage.o.before 3979 164 0 4143 102f drivers/ide/pci/siimage.o.after While at it: * Use I/O ops directly instead of using ->IN{B,W} and ->OUT{B,W}. * Fixup CodingStyle in setup_mmio_siimage(). * Rename 'tmpbyte' variable to 'tmp' in init_chipset_siimage(). There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 24a96ae0e34e743f3ee00501ad38f1cb4aa31429 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:38 2008 +0200 siimage: do clocking register posting earlier in setup_mmio_siimage() Do clocking register posting earlier in setup_mmio_siimage() to match code in init_chipset_siimage(). This is a preparation for the next patch which merges PCI and MMIO code paths together. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 16bb69c14a42e64faef1ec5c724ffaca916347a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide: remove ->INS{W,L} and ->OUTS{W,L} methods * Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}() directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to decide which I/O ops are required). * Remove no longer needed ->INS{W,L} and ->OUTS{W,L} methods (ide-h8300, au1xxx-ide and scc_pata implement their own ->{in,out}put_data methods). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c5dd43ec65c1e1e378df043d517d40ed70a32cbe Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide: add IDE_HFLAG_MMIO host flag (take 2) * Add IDE_HFLAG_MMIO host flag and set it for hosts which use default_hwif_mmiops(). v2: * Fix kernel panic in pmac host driver (',' should be '|'). Thanks to Kamalesh for reporting it + testing the fix and to Andrew for hinting me about the source of the issue. Cc: Kamalesh Babulal Cc: Andrew Morton Cc: Stephen Rothwell Cc: Andy Whitcroft Signed-off-by: Bartlomiej Zolnierkiewicz commit f04ff9cbb6389a6db64659cf917a1b6ac159f9f2 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 ide-h8300: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 70f91e0d1410f77e0a22aa78fa2d591f1fd691a5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:37 2008 +0200 au1xxx-ide: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit efa3db1bb70c45a384419fdc257723cb167905ff Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 scc_pata: add ->{in,out}put_data methods (take 2) v2: * Update ->{in,out}_data methods to take 'struct request *rq' argument (thanks to Stephen Rothwell for catching it). There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 ide: merge ->atapi_*put_bytes and ->ata_*put_data methods * Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods into new ->{in,out}put_data methods which take number of bytes to transfer as an argument and always do padding. While at it: * Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'. There should be no functional changes caused by this patch (all users of ->ata_{in,out}put_data methods were using multiply-of-4 word counts). Signed-off-by: Bartlomiej Zolnierkiewicz commit 92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:36 2008 +0200 falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods (take 2) * Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to falconide and q40ide host drivers (->ata_* methods are implemented on top of ->atapi_* methods so they also do byte-swapping now). * Cleanup atapi_{in,out}put_bytes(). v2: * Add 'struct request *rq' argument to ->ata_{in,out}put_data methods and don't byte-swap disk fs requests (we shouldn't un-swap fs requests because fs itself is stored byte-swapped on the disk) - this is how things were done before the patch (ideally device mapper should be used instead but it would break existing setups and would have some performance impact). Cc: Geert Uytterhoeven Cc: Michael Schmitz Cc: Roman Zippel Cc: Alan Cox Cc: Richard Zidlicky Signed-off-by: Bartlomiej Zolnierkiewicz commit 284aa76b5339ce79d5ad2ac1c7cbf717082816a7 Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 28 23:44:35 2008 +0200 ide: fix au1xxx-ide breakage On Monday 28 April 2008, Sergei Shtylyov wrote: > Hello, I wrote: > > > Fix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c: > > > include/asm/mach-au1x00/au1xxx_ide.h:137: warning: 'auide_tune_drive' declared > > `static' but never defined > > include/asm/mach-au1x00/au1xxx_ide.h:138: warning: 'auide_tune_chipset' declared > > `static' but never defined > > > by wiping out the whole "function prototyping" section from the header file > > as it mostly declared functions that are > > already dead in the IDE driver; move the only useful prototype into the driver. > > > > Signed-off-by: Sergei Shtylyov > > > --- > > I'm not sure thru which tree this should go -- probably thru Linux/MIPS one... > > > Bart, au1xxx-ide-fix-mwdma-support.patch will probably need to be updated to > > remove that added prototype since it won't be needed anymore... > > Which you haven't done either in that patch or in > au1xxx-ide-use-init_dma-method.patch. So, face the consequences: > > drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init' > drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of > 'auide_ddma_init' was here > drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init' > drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of > 'auide_ddma_init' was here > drivers/ide/mips/au1xxx-ide.c:51: warning: 'auide_ddma_init' used but never > defined Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9d04d9280c4bbf6950b70b705bc4ace41de65615 Author: Roland McGrath Date: Mon Apr 28 13:57:19 2008 -0700 ptrace: conditionalize compat_ptrace_request My recent additions to compat_ptrace_request made it mandatory for CONFIG_COMPAT arch's to define copy_siginfo_from_user32. This broke some builds, though they all really should get cleaned up in that way. Since all the arch's that actually call compat_ptrace_request have now been cleaned up to use the generic compat_sys_ptrace, we can avoid the build problems on the crufty arch's by changing the conditionals on the definition. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit e97e386b126c2d60b8da61ce1e4964b41b3d1514 Merge: d9dedc1... c124f5b... Author: Linus Torvalds Date: Mon Apr 28 14:08:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: pack objects denser slub: Calculate min_objects based on number of processors. slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS slub: Simplify any_slab_object checks slub: Make the order configurable for each slab cache slub: Drop fallback to page allocator method slub: Fallback to minimal order during slab page allocation slub: Update statistics handling for variable order slabs slub: Add kmem_cache_order_objects struct slub: for_each_object must be passed the number of objects in a slab slub: Store max number of objects in the page struct. slub: Dump list of objects not freed on kmem_cache_close() slub: free_list() cleanup slub: improve kmem_cache_destroy() error message slob: fix bug - when slob allocates "struct kmem_cache", it does not force alignment. commit 5a1aa8a1aff6191ecc55f21d8b5f0e47108ed91b Author: Roman Zippel Date: Fri Feb 29 05:11:50 2008 +0100 kconfig: add named choice group As choice dependency are now fully checked, it's quite easy to add support for named choices. This lifts the restriction that a choice value can only appear once, although it still has to be within the same group, but multiple choices can be joined by giving them a name. While at it I cleaned up a little the choice type logic to simplify it a bit. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 48981178869bf7d9770f11fc361996ad11217a75 Author: Roman Zippel Date: Fri Feb 29 05:10:24 2008 +0100 kconfig: fix choice dependency check Properly check the dependency of choices as a group. Also fix that sym_check_deps() correctly terminates the dependency loop error check (otherwise it would continue printing the dependency chain). Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit dfecbec8b54038ef02835d2f8181e1f44bd080d2 Author: Matthew Wilcox Date: Sat Apr 19 14:45:11 2008 -0600 kconifg: 'select' considered less evil While select should be used with care, it is not actually evil. Signed-off-by: Matthew Wilcox Signed-off-by: Sam Ravnborg commit beda8ae7160bd7b521d9db274a27d8964dfba8ab Author: Ben Dooks Date: Fri Apr 18 16:28:35 2008 +0100 dontdiff: ignore timeconst.h Ignore the autobuilt kernel/timeconst.h when using diff on an built kernel tree. Signed-off-by: Ben Dooks Signed-off-by: Sam Ravnborg commit a72a431bf8aefee7552bffd2bcdfd5c3a09605d1 Author: Ben Dooks Date: Fri Apr 18 16:18:16 2008 +0100 dontdiff: add modules.order Add modules.order to the list of files that shoud be ignored when using diff on a built kernel tree. Signed-off-by: Ben Dooks Signed-off-by: Sam Ravnborg commit b5a5e4c73228e1c5f646ee2524f5e13ae5f08b4d Author: Felix Fietkau Date: Wed Apr 2 14:50:05 2008 +0200 kbuild: fix unportability in gen_initramfs_list.sh On a Mac OS X machine the output of ls -l is different from a standard Linux machine. Use readlink instead of parsing a hardcoded field number from the ls output. Signed-off-by: Felix Fietkau Signed-off-by: Sam Ravnborg commit d9dedc13851f9cbd568fbc631a17b0be83404957 Author: Roland McGrath Date: Sun Apr 27 18:45:38 2008 -0700 x86_64 vDSO: use initdata The 64-bit vDSO image is in a special ".vdso" section for no reason I can determine. Furthermore, the location of the vdso_end symbol includes some wrongly-calculated padding space in the image, which is then (correctly) rounded to page size, resulting in an extra page of zeros in the image mapped in to user processes. This changes it to put the vdso.so image into normal initdata as we have always done for the 32-bit vDSO images. The extra padding is gone, so the user VMA is one page instead of two. The image that was already copied around at boot time is now in initdata, so we recover that wasted space after boot. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 7f6c69dcf40a227b8c98e5619367269b427164d7 Merge: 1e5ad9a... e56a727... Author: Linus Torvalds Date: Mon Apr 28 13:47:21 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back. [CPUFREQ] change cpu freq tables to per_cpu variables [CPUFREQ] fix show_trans_table [CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls [CPUFREQ] Refactor locking in cpufreq_add_dev [CPUFREQ] more CodingStyle [CPUFREQ] CodingStyle [CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume commit 01dee1881d7cbcd5c456735085e52de94da8d4e1 Author: Andres Salomon Date: Fri Apr 25 22:34:58 2008 -0400 kbuild: fix help output to show correct arch Signed-off-by: Andres Salomon Signed-off-by: Sam Ravnborg commit 1e5ad9a3b9b78767a2eb1345201e46f41f9457ef Author: Adrian Bunk Date: Mon Apr 28 20:40:08 2008 +0300 mm/memory_hotplug.c must #include "internal.h" This patch fixes the following compile error caused by commit 04753278769f3b6c3b79a080edb52f21d83bf6e2 ("memory hotplug: register section/node id to free"): CC mm/memory_hotplug.o /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: In function ‘put_page_bootmem’: /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:82: error: implicit declaration of function ‘__free_pages_bootmem’ /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: At top level: /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:87: warning: no previous prototype for ‘register_page_bootmem_info_section’ make[2]: *** [mm/memory_hotplug.o] Error 1 [ Andrew: "Argh. The -mm-only memory-hotplug-add-removable-to-sysfs- to-show-memblock-removability.patch debugging patch adds that include so nobody hit this before. ] Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 5dffbe811b78684fc4d8538cb7b38d9c47f96f9f Author: Segher Boessenkool Date: Sun Apr 6 22:16:07 2008 +0200 kbuild: show defconfig subdirs in make help PowerPC will start moving board defconfigs into subarch-specific subdirs soon. "make help" currently does not look in subdirs to find the defconfigs to show. This is partially a good thing, since there are way too many defconfigs for one list. This patch makes the main "make help" display something like help-40x - Show 40x-specific targets help-44x - Show 44x-specific targets help-boards - Show all of the above and wires up stuff so those new help-* commands actually work. [sam: fixed it up to display x86 defconfigs too] Cc: Josh Boyer Signed-off-by: Segher Boessenkool Signed-off-by: Sam Ravnborg commit 79d6e539df8260fe5d12a2117494aaf80ca1b3e8 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 20 21:30:32 2008 +0100 kconfig: reversed borderlines in inputbox Fix reversal of dlg.border.atr and dlg.dialog.atr for draw_box() Makes the inputbox look like expected Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Sam Ravnborg commit 6501faf8c1bbaa51dc493f3681df016d2ebce833 Author: Shaohua Li Date: Sun Apr 27 13:46:56 2008 -0700 [CPUFREQ] state info wrong after resume Sometimes old_index != stat->last_index, see cpufreq_update_policy, bios can change cpu setting in resume. In my test, after resume cpu is in lowest speed, but the stat info shows cpu is in full speed. This patch makes the stat info correct after a resume. Signed-off-by: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 30d221db4439973076953e2ed44344fa92d1d09f Author: Alessandro Guido Date: Fri Apr 18 13:31:13 2008 -0700 [CPUFREQ] allow use of the powersave governor as the default one Allow use of the powersave cpufreq governor as the default one for EMBEDDED configs. Signed-off-by: Alessandro Guido Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 605400a8ab44131698b206cbe253e48380daaa69 Author: Darrick J. Wong Date: Fri Apr 18 13:31:13 2008 -0700 [CPUFREQ] document the currently undocumented parts of the sysfs interface There is a description of some of the sysfs files. However, there are some that are not mentioned in the documentation, so add them to the user's guide. Signed-off-by: Darrick J. Wong Cc: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit e8628dd06d66f2e3965ec9742029b401d63434f1 Author: Darrick J. Wong Date: Fri Apr 18 13:31:12 2008 -0700 [CPUFREQ] expose cpufreq coordination requirements regardless of coordination mechanism Currently, affected_cpus shows which CPUs need to have their frequency coordinated in software. When hardware coordination is in use, the contents of this file appear the same as when no coordination is required. This can lead to some confusion among user-space programs, for example, that do not know that extra coordination is required to force a CPU core to a particular speed to control power consumption. To fix this, create a "related_cpus" attribute that always displays the coordination map regardless of whatever coordination strategy the cpufreq driver uses (sw or hw). If the cpufreq driver does not provide a value, fall back to policy->cpus. Signed-off-by: Darrick J. Wong Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 681587c58639444215a7c88f7471819997d2f226 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:59:36 2008 +0200 [ARM] serial: s3c2410: platform_get_irq() may return signed unnoticed port->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Alan Cox Signed-off-by: Russell King commit 62783679540fbdfd74e10fbe9478d978141ba45f Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 23:44:03 2008 +0200 [ARM] am79c961a: platform_get_irq() may return signed unnoticed dev->irq is unsigned, platform_get_irq() may return signed unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Russell King commit 0c96c5979a522c3323c30a078a70120e29b5bdbc Author: Thomas Gleixner Date: Mon Apr 28 09:23:24 2008 +0200 hrtimer: raise softirq unlocked to avoid circular lock dependency The scheduler hrtimer bits in 2.6.25 introduced a circular lock dependency in a rare code path: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.25-sched-devel.git-x86-latest.git #19 ------------------------------------------------------- X/2980 is trying to acquire lock: (&rq->rq_lock_key#2){++..}, at: [] task_rq_lock+0x56/0xa0 but task is already holding lock: (&cpu_base->lock){++..}, at: [] lock_hrtimer_base+0x31/0x60 which lock already depends on the new lock. The scenario which leads to this is: posix-timer signal is delivered -> posix-timer is rearmed timer is already expired in hrtimer_enqueue() -> softirq is raised To prevent this we need to move the raise of the softirq out of the base->lock protected code path. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org Acked-by: Peter Zijlstra commit 0ed1507183adea174bc4b6611b50d90e044730c2 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:45 2008 -0400 [ARM] Feroceon: Feroceon-specific WA-cache compatible {copy,clear}_user_page() This patch implements a set of Feroceon-specific {copy,clear}_user_page() routines that perform more optimally than the generic implementations. This also deals with write-allocate caches (Feroceon can run L1 D in WA mode) which otherwise prevents Linux from booting. [nico: optimized the code even further] Signed-off-by: Lennert Buytenhek Tested-by: Sylver Bruneau Tested-by: Martin Michlmayr Signed-off-by: Nicolas Pitre commit 6b29e681aa7e80792e6e6be4ac2577014018c2fd Author: Nicolas Pitre Date: Fri Apr 25 13:56:32 2008 -0400 [ARM] Feroceon: fix function alignment in proc-feroceon.S One overzealous .align 10 fixed, and a few .align5 added. Signed-off-by: Nicolas Pitre commit b46926bb2d9977799c88aef17a4386ee02c326d8 Author: Lennert Buytenhek Date: Fri Apr 25 16:31:32 2008 -0400 [ARM] Orion: catch a couple more alternative spellings of PCIe Unify a couple more spellings of "PCIe" ("PCI-E", "PCIE".) Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 994cab846422bc9c636cc780a48b7370e837a3bb Author: Lennert Buytenhek Date: Fri Apr 25 16:30:21 2008 -0400 [ARM] Orion: fix orion-ehci platform resource end addresses End addresses in 'struct resource' are inclusive -- fix the common orion5x code to pass in the proper end addresses when instantiating the two on-chip EHCI controllers. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 92b913b08b18faa487b0c744282fafd944446ade Author: Lennert Buytenhek Date: Fri Apr 25 16:28:33 2008 -0400 [ARM] Orion: fix ->map_irq() PCIe bus number check The current orion5x board ->map_irq() routines check whether a given bus number lives on the PCIe controller by comparing it with the PCIe controller's primary bus number. This doesn't work in case there are multiple buses in the PCIe domain, i.e. if there exists a PCIe bridge on the primary PCIe bus. This patch adds a helper function (orion5x_pci_map_irq()) that returns the IRQ number for the given PCI device if that device has a hard-wired IRQ, or -1 otherwise, and makes each board's ->map_irq() function use this helper function. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit fd153abb01c3fbcc47cd4ac3c0bc8801cfcc0009 Author: Nicolas Pitre Date: Fri Apr 25 14:28:55 2008 -0400 [ARM] Orion: fix ioremap() optimization The ioremap() optimization used for internal register didn't cope with the fact that paddr + size can wrap to zero if the area extends to the end of the physical address space. Issue isolated by Sylver Bruneau . Signed-off-by: Nicolas Pitre commit c5a1e8f7091c33c7f6b53f070d13380facab6607 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] feroceon: remove CONFIG_CPU_CACHE_ROUND_ROBIN check Since the Feroceon cache replacement policy is always pseudorandom (and the relevant control register bit is ignored), remove the CONFIG_CPU_CACHE_ROUND_ROBIN check from proc-feroceon.S. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit a7039bd6daa32f5ea1a185b7cb0b3b519e1f5018 Author: Lennert Buytenhek Date: Thu Apr 24 01:31:46 2008 -0400 [ARM] feroceon: remove CONFIG_CPU_DCACHE_WRITETHROUGH check Since the Feroceon doesn't have a global WT override bit like ARM926 does, remove all code relating to this mode of operation from proc-feroceon.S. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit a3fd133c24e16d430ba21f3d9f5c0b8faeeb37fe Author: Lennert Buytenhek Date: Thu Apr 24 01:31:45 2008 -0400 kprobes/arm: fix decoding of arithmetic immediate instructions The ARM kprobes arithmetic immediate instruction decoder (space_cccc_001x()) was accidentally zero'ing out not only the Rn and Rd arguments, but the lower nibble of the immediate argument as well -- this patch fixes this. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre commit 8f79ff0cb5330a92032c30ff586745d3016b34ca Author: Nicolas Pitre Date: Wed Apr 23 18:44:15 2008 -0400 kprobes/arm: fix cache flush address for instruction stub It is more useful to flush the cache with the actual buffer address rather than the address containing a pointer to the buffer. Signed-off-by: Nicolas Pitre Acked-by: Lennert Buytenhek commit ee69439cc1dcadbae42ece1caa1ec1786560f7aa Author: Jesse Barnes Date: Mon Apr 28 12:30:35 2008 -0700 PCI: don't expose struct pci_vpd to userspace We just need to forward declare it for struct pci_dev, not expose it outside of __KERNEL__. Signed-off-by: Jesse Barnes commit e56a727b023d40d1adf660168883f30f2e6abe0a Author: Venkatesh Pallipadi Date: Mon Apr 28 15:13:43 2008 -0400 [CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back. We checked the hardware freq with OS cached freq value in get_cur_freqon_cpu(). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit c938ac21329f19ad286eaaed7e26434943c8061b Author: Mike Travis Date: Wed Mar 5 08:31:29 2008 -0800 [CPUFREQ] change cpu freq tables to per_cpu variables Change cpufreq tables from arrays to per_cpu variables in drivers/acpi/processor_thermal.c Based on git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Cc: Len Brown Signed-off-by: Mike Travis Signed-off-by: Dave Jones commit 25aca347d49ffc38aa3b7e63ce9b90df7f8b79c8 Author: Cesar Eduardo Barros Date: Sat Feb 16 08:41:25 2008 -0200 [CPUFREQ] fix show_trans_table Fix show_trans_table when it overflows PAGE_SIZE. * Not all snprintf calls were protected against being passed a negative length. * When show_trans_table overflows, len might be > PAGE_SIZE. In that case, returns PAGE_SIZE. Signed-off-by: Cesar Eduardo Barros Signed-off-by: Dave Jones commit 74212ca432982903d0fc6a0f282b199e000ad8b1 Author: Cesar Eduardo Barros Date: Sat Feb 16 08:41:24 2008 -0200 [CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls If cpufreq_register_notifier is called before pure initcalls, init_cpufreq_transition_notifier_list will overwrite whatever it did, causing notifiers to be ignored. Print some noise to the kernel log if that happens. Signed-off-by: Cesar Eduardo Barros Signed-off-by: Dave Jones commit 457091181176643787a547dc04eb3cf5dcd822ce Author: Dave Jones Date: Wed Mar 5 14:07:34 2008 -0500 [CPUFREQ] Refactor locking in cpufreq_add_dev Simplify this by moving the unlocking out of the error paths into the exit path. Signed-off-by: Dave Jones commit 905d77cd95e856b8e0b2d099fb70b9b8ccb7337e Author: Dave Jones Date: Wed Mar 5 14:28:32 2008 -0500 [CPUFREQ] more CodingStyle void * p -> void *p no space between function parameters removed excess whitespace Signed-off-by: Dave Jones commit 4d34a67d0204029079815c8c2753ca647cd0e7e9 Author: Dave Jones Date: Thu Feb 7 16:33:49 2008 -0500 [CPUFREQ] CodingStyle return is not a function. Signed-off-by: Dave Jones commit c906049447019d69b9cc2d591a142af561afa7f9 Author: Dave Jones Date: Thu Feb 7 16:32:18 2008 -0500 [CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume Signed-off-by: Dave Jones commit e31a94ed371c70855eb30b77c490d6d85dd4da26 Merge: 9d9ad4b... fcbd3b4... Author: Linus Torvalds Date: Mon Apr 28 10:51:43 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (45 commits) [MIPS] Pb1200/DBAu1200: move platform code to its proper place [MIPS] Fix handling of trap and breakpoint instructions [MIPS] Pb1200: do register SMC 91C111 [MIPS] DBAu1200: fix bad SMC 91C111 resource size [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532 [MIPS] IP27: Fix build bug due to missing include [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c [MIPS] cevt-gt641xx: Kill unnecessary include [MIPS] DS1287: Add clockevent driver [MIPS] add DECstation I/O ASIC clocksource [MIPS] rbtx4938: minor cleanup [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro [MIPS] rbtx4938: misc cleanups [MIPS] jmr3927: use generic txx9 gpio [MIPS] rbhma4500: use generic txx9 gpio [MIPS] generic txx9 gpio support [MIPS] make fallback gpio.h gpiolib-friendly [MIPS] unexport null_perf_irq() and make it static [MIPS] unexport rtc_mips_set_time() [MIPS] unexport copy_from_user_page() ... commit 9d9ad4b51d2b29b5bbeb4011f5e76f7538119cf9 Author: PJ Waskiewicz Date: Fri Apr 25 17:58:52 2008 -0700 x86: Fix 32-bit MSI-X allocation leakage This bug was introduced in the 2.6.24 i386/x86_64 tree merge, where MSI-X vector allocation will eventually fail. The cause is the new bit array tracking used vectors is not getting cleared properly on IRQ destruction on the 32-bit APIC code. This can be seen easily using the ixgbe 10 GbE driver on multi-core systems by simply loading and unloading the driver a few times. Depending on the number of available vectors on the host system, the MSI-X allocation will eventually fail, and the driver will only be able to use legacy interrupts. I am generating the same patch for both stable trees for 2.6.24 and 2.6.25. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Linus Torvalds commit a04140e17be54c4d44b9f88068f83256584f052a Author: Randy Dunlap Date: Mon Apr 28 10:21:40 2008 -0700 docbook: fix bitops fatal filename error bitops source file was renamed, so fix docbook for that. docproc: linux-2.6.25-git11/include/asm-x86/bitops_32.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit cfd299dffe6f47c04c47b95893708cdc65876fbd Merge: 6b8588f... c9b7b97... Author: Linus Torvalds Date: Mon Apr 28 10:08:49 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: Fix a RCU free problem with the netport cache SELinux: Made netnode cache adds faster SELinux: include/security.h whitespace, syntax, and other cleanups SELinux: policydb.h whitespace, syntax, and other cleanups SELinux: mls_types.h whitespace, syntax, and other cleanups SELinux: mls.h whitespace, syntax, and other cleanups SELinux: hashtab.h whitespace, syntax, and other cleanups SELinux: context.h whitespace, syntax, and other cleanups SELinux: ss/conditional.h whitespace, syntax, and other cleanups SELinux: selinux/include/security.h whitespace, syntax, and other cleanups SELinux: objsec.h whitespace, syntax, and other cleanups SELinux: netlabel.h whitespace, syntax, and other cleanups SELinux: avc_ss.h whitespace, syntax, and other cleanups Fixed up conflict in include/linux/security.h manually commit 97a34eb77c758ff7821c2d29b3b5a84299c93aa1 Author: Matti Linnanvuori Date: Mon Apr 28 09:33:27 2008 -0700 doc: fix an incorrect suggestion to pass NULL for PCI like buses Fix an incorrect suggestion to pass NULL to pci_alloc_consistent for PCI like buses where devices don't have struct pci_dev (like ISA, EISA). Signed-off-by: Matti Linnanvuori Acked-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 6b8588f71890fba78742f90e22390028a6cd706f Author: Al Viro Date: Mon Apr 28 07:00:26 2008 +0100 usb input endianness annotations and fixes Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 24caa6a0c7cde9309026880f8cc7eba587e1272a Author: Al Viro Date: Mon Apr 28 06:59:45 2008 +0100 celleb_scc_pciex __iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fd05e720099e8eeddb378305d1a41c1445344b91 Author: Al Viro Date: Mon Apr 28 07:00:16 2008 +0100 drivers/usb annotations and fixes * endianness annotations * endianness fixes * missing get_unaligned/put_unaligned It's pretty much all over the place, changes to different files are independent. Signed-off-by: Al Viro Serial-parts-Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 01d7b369887b6feb7c9ce2b20988fafe3f70841c Author: Al Viro Date: Mon Apr 28 07:00:05 2008 +0100 usbhid endianness annotations and fixes usb_control_msg() converts arguments to little-endian itself, doing that in caller means breakage on big-endian boxen. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d28aa3ac4cdc2d03a2bde4b78780064a00f7ef61 Author: Al Viro Date: Mon Apr 28 06:59:35 2008 +0100 q40ide breakage again, fallout from ide merge Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ac2f217baf0f24965e40bce9a5d1a780a06596d1 Author: Al Viro Date: Mon Apr 28 06:59:55 2008 +0100 typo in sata_fsl it's ata_link, not ata_linke Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7d896e0b8e37ae7f74088ce74bf81b58b423b48b Author: Al Viro Date: Mon Apr 28 06:59:25 2008 +0100 more icside breakage (from next ide merge) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b7505680538375e3e562805851e3f061675369b7 Author: Al Viro Date: Mon Apr 28 06:59:15 2008 +0100 fix ia64 local_irq_save() et.al. psr is not a good name for local variable in macro body when it has a good chance of being the argument of said macro (actually is at least in one place) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ea696f9cf37d8ab9236dd133ddb2727264f3add6 Author: Al Viro Date: Mon Apr 28 06:59:05 2008 +0100 ia64 kvm fixes for O=... builds * EXTRA_CFLAGS do not apply for *.S * don't bother with symlinks to ../lib/mem*.S, just add ../lib/mem*.o to object list Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ff471b2464ca7344eba347d360f23ea415a774dc Author: Al Viro Date: Mon Apr 28 06:58:56 2008 +0100 frv si_addr annotations Signed-off-by: Al Viro Acked-by: David Howells Signed-off-by: Linus Torvalds commit 819e32377e401669d2c010f1a0ce12fe43ea5261 Author: Matti Linnanvuori Date: Mon Apr 28 09:48:10 2008 -0700 Consistently use pdev as the variable of type struct pci_dev *. Update DMA mapping documentation to use 'pdev' rather than 'dev' in example code that calls routines expecting 'struct pci_device *', since 'dev' might make readers think they're passing 'struct device *' parameters. Bug 10397. Signed-off-by: Matti Linnanvuori Acked-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit e945e849e18006c131fe59252ab920c6b5f7959c Merge: 77a50df... 194f1a6... Author: Linus Torvalds Date: Mon Apr 28 09:45:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: video drivers: add facility level sparc: tcx.c make tcx_init and tcx_exit static sparc: ffb.c make ffb_init and ffb_exit static sparc: cg14.c make cg14_init and cg15_exit static sparc: bw2.c fix bw2_exit sparc64: Fix accidental syscall restart on child return from clone/fork/vfork. sparc64: Clean up handling of pt_regs trap type encoding. sparc: Remove old style signal frame support. sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c sparc: sunzilog.c remove unused argument sparc: fix drivers/video/tcx.c warning sparc64: Kill unused local ISA bus layer. input: Rewrite sparcspkr device probing. sparc64: Do not ignore 'pmu' device ranges. sparc64: Kill ISA_FLOPPY_WORKS code. sparc64: Kill CONFIG_SPARC32_COMPAT sparc64: Cleanups and corrections for arch/sparc64/Kconfig sparc64: Fix wedged irq regression. commit 22ba0317c81ba263172baaefd2cb38de78c4598f Author: Adrian Bunk Date: Mon Apr 28 18:38:49 2008 +0300 udf: fs/udf/partition.c:udf_get_pblock() mustn't be inline This patch fixes the following build error with UML and gcc 4.3: <-- snip --> ... CC fs/udf/partition.o /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c: In function ‘udf_get_pblock_virt15’: /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c:32: sorry, unimplemented: inlining failed in call to ‘udf_get_pblock’: function body not available /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c:102: sorry, unimplemented: called from here make[3]: *** [fs/udf/partition.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jan Kara commit 77a50df2b14c8d3ee3c58c21c4a0e0157570df09 Merge: 96fffeb... 358c129... Author: Linus Torvalds Date: Mon Apr 28 09:44:11 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: iwlwifi: Allow building iwl3945 without iwl4965. wireless: Fix compile error with wifi & leds tcp: Fix slab corruption with ipv6 and tcp6fuzz ipv4/ipv6 compat: Fix SSM applications on 64bit kernels. [IPSEC]: Use digest_null directly for auth sunrpc: fix missing kernel-doc can: Fix copy_from_user() results interpretation Revert "ipv6: Fix typo in net/ipv6/Kconfig" tipc: endianness annotations ipv6: result of csum_fold() is already 16bit, no need to cast [XFRM] AUDIT: Fix flowlabel text format ambibuity. commit 96fffeb4b413a4f8f65bb627d59b7dfc97ea0b39 Author: Ingo Molnar Date: Mon Apr 28 01:39:43 2008 +0200 make CC_OPTIMIZE_FOR_SIZE non-experimental this option has been the default on a wide range of distributions for a long time - time to make it non-experimental. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 513694b5f931a62561d21eb97a4740ce37464a45 Merge: 46b958e... d7b41a2... Author: Linus Torvalds Date: Mon Apr 28 09:36:40 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ commit fcbd3b4b92efe29b59df16b910138cf43683be88 Author: Sergei Shtylyov Date: Mon Apr 28 19:54:38 2008 +0400 [MIPS] Pb1200/DBAu1200: move platform code to its proper place Since both the IDE interface and SMC 91C111 Ethernet chip are on-board devices, not SOC devices, move the platform device registration form the common to the board specific code. While at it, remove semicolon (which didn't break compilation only by chance) from the AU1XXX_ATA_DDMA_REQ macro and do some renaming: - change 'au1200_ide0_' variable name prefix to the mere 'ide_'; - change 'smc91x_' variable name prefix to 'smc91c111_' since that's the name of the chip used on the boards; - drop 'AU1XXX_' prefix from the names of macros describing IDE and Ethernet on-board devices; - change 'SMC91111_' to 'SMC91C111_', change 'IRQ' to 'INT' in the names of the macros describing the Ethernet chip for consistency with the IDE macros; - change 'ATA_' to 'IDE_' and 'OFFSET' to 'SHIFT' (since this value is indeed a shift count) in the names of the macros describing the IDE interface. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit df2700519c84ee8ee1e5ea165725c651f6d4d1a4 Author: Ralf Baechle Date: Sun Apr 20 16:28:54 2008 +0100 [MIPS] Fix handling of trap and breakpoint instructions With fixes and cleanups from Atsushi Nemoto (anemo@mba.ocn.ne.jp). Signed-off-by: Ralf Baechle commit cf85c109831ce11ffa9befd4e970d6363e410a10 Author: Sergei Shtylyov Date: Tue Apr 15 22:26:18 2008 +0400 [MIPS] Pb1200: do register SMC 91C111 Pb1200 does have SMC 91C111 Ethernet chip on board but the platform code did not register it, so one couldn't mount NFS... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 3854c69a0d3080c8647f7b041da2382702f574b7 Author: Sergei Shtylyov Date: Tue Apr 15 22:20:45 2008 +0400 [MIPS] DBAu1200: fix bad SMC 91C111 resource size The on-board SMC 91C111 chip only decodes 16 bytes of memory (obviously, it can not decode a whole megabyte starting from address 0x19000300). Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit f57b2061ab7d444ae0c98764a9c9e09b33c36050 Author: Ralf Baechle Date: Mon Apr 28 12:48:40 2008 +0100 [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532 The platform is actually named routerboard 532 so let's call it this. Signed-off-by: Ralf Baechle Acked-by: Jeff Garzik commit a4a8f70d2db2998cf28532287ee89776d4d8a2ca Author: Adrian Bunk Date: Wed Apr 23 18:55:59 2008 +0300 [MIPS] IP27: Fix build bug due to missing include asm-mips/mach-ip27/topology.h must #include This fixes the following compile error: ... CC kernel/sched.o /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'find_next_best_node': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: implicit declaration of function 'node_to_cpumask_ptr' /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: '__tmp__' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'sched_domain_node_span': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7047: error: 'nodemask' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7048: warning: ISO C90 forbids mixed declarations and code /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7059: error: implicit declaration of function 'node_to_cpumask_ptr_next' /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function '__build_sched_domains': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7605: error: 'pnodemask' undeclared (first use in this function) make[2]: *** [kernel/sched.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 411ba7fcba54b30ba4ce2c492ea8d20f1d0db996 Author: Atsushi Nemoto Date: Sat Apr 26 01:55:30 2008 +0900 [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c * Declare board_bind_eic_interrupt, board_watchpoint_handler in traps.h * Make msc_bind_eic_interrupt static and fix its argument types. * Make msc_levelirq_type, msc_edgeirq_type static. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 855808392adf499a29e6bdb418f9474726ecbace Author: Atsushi Nemoto Date: Thu Apr 24 23:08:55 2008 +0900 [MIPS] cevt-gt641xx: Kill unnecessary include Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6457d9fc3bb87c72db03cfb34cd414c8fb9b8edf Author: Yoichi Yuasa Date: Fri Apr 25 12:11:44 2008 +0900 [MIPS] DS1287: Add clockevent driver Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4247417d8457b326ede001cb74af8570b5aa302b Author: Yoichi Yuasa Date: Thu Apr 24 09:48:40 2008 +0900 [MIPS] add DECstation I/O ASIC clocksource Add DECstation I/O ASIC clocksource Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 05a96fae433a662e12879b543a6838b6c2129402 Author: Atsushi Nemoto Date: Tue Apr 22 23:59:30 2008 +0900 [MIPS] rbtx4938: minor cleanup Do not initialize res->parent for platform device. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6ed436932d1417534aa1a738fd9585795f954304 Author: Sergei Shtylyov Date: Tue Apr 22 23:28:57 2008 +0400 [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 66140c8e9f0d978bd26c58f236d0d86aa666d8fc Author: Atsushi Nemoto Date: Mon Apr 14 21:49:07 2008 +0900 [MIPS] rbtx4938: misc cleanups * Do not use non-standard I/O accessors, such as reg_rd08, etc. * Kill unnecessary wbflush() * Kill tx4938_mips.h * Kill unnecessary includes Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1bd0962e3d5bc66ee0ee207a61485c6a436cfac2 Author: Atsushi Nemoto Date: Sat Apr 5 00:56:27 2008 +0900 [MIPS] jmr3927: use generic txx9 gpio Use generic txx9 gpio (and gpiolib) for JMR3927 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4cad154b30e7471628cb1943081c72b6368b079a Author: Atsushi Nemoto Date: Sat Apr 5 00:56:09 2008 +0900 [MIPS] rbhma4500: use generic txx9 gpio Use generic txx9 gpio (and gpiolib) for RBHMA4500 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a9aec7fe74cd912cad74ca621ed91cb1c37566ae Author: Atsushi Nemoto Date: Sat Apr 5 00:55:41 2008 +0900 [MIPS] generic txx9 gpio support This is a board-independent TXx9 gpio API implementation using gpiolib. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8aa62adafada6e3f29e12dacf1d6f491d2ba5f7f Author: Atsushi Nemoto Date: Sat Apr 5 00:55:24 2008 +0900 [MIPS] make fallback gpio.h gpiolib-friendly If gpiolib was selected, asm-generic/gpio.h provides some prototypes for gpio API and implementation helpers. With this patch, platform code can implement its GPIO API using gpiolib without custom gpio.h file. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 46684734dd6a55af09c3fe799af7d74cb938684c Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:38 2008 +0400 [MIPS] unexport null_perf_irq() and make it static This patch unexports the null_perf_irq() symbol, and simultaneously makes this function static. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit c5b0680aa1d7a751b7dd8ebf6854e5baf0a2e54b Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:37 2008 +0400 [MIPS] unexport rtc_mips_set_time() No users for the rtc_mips_set_time() routine exist outside of the core kernel code. Therefore, EXPORT_SYMBOL(rtc_mips_set_time) is useless, and this patch removes it. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit e698d66b813bbe38940d2d80a2488214bdaf96b6 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:36 2008 +0400 [MIPS] unexport copy_from_user_page() No users for the copy_from_user_page() routine exist outside of the core kernel code. Therefore, EXPORT_SYMBOL(copy_from_user_page) is useless, and this patch removes it. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 715243e6c3e8e74202eb663a8e45880ff6a1dff7 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:35 2008 +0400 [MIPS] unexport copy_to_user_page() The copy_to_user_page() function is called only in the core kernel code. Therefore, there is no need to export it. This patch removes EXPORT_SYMBOL(copy_to_user_page). Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 11327ef77f8b6104bd4a855bbe783cce84416b03 Author: Dmitri Vorobiev Date: Wed Apr 2 03:58:34 2008 +0400 [MIPS] unexport copy_user_highpage() The copy_user_highpage() routine has no users outside of the core kernel code, so exporting this symbol is pointless. This patch removes EXPORT_SYMBOL(copy_user_highpage). Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 6e766458f78ca15198cf046bc098b36e40c8b471 Author: Sergei Shtylyov Date: Fri Apr 4 00:02:53 2008 +0400 [MIPS] Alchemy: move UART platform code to its proper place Move the code registering the Alchemy UART platform devices from drivers/serial/ to its proper place, into the Alchemy platform code. Fix the related Kconfig entry, while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit ce28f94ca5a9ba3cd6bdcc47b52ea1b7a3bd933b Author: Sergei Shtylyov Date: Wed Apr 23 22:43:55 2008 +0400 [MIPS] Alchemy: kill useless #include's, #define's and extern's Go thru the Alchemy code and hunt down every unneeded #include, #define, and extern (some of which refer to already long dead functions). Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit b57c1913b4dd3bc070cbfccffff3768965a81282 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:25 2008 +0400 [MIPS] malta_int.c: make 4 variables static The following variables defined in arch/mips/mips-boards/malta/malta_int.c can become static: msc_irqmap[], msc_nr_irqs, msc_eicirqmap[], and msc_nr_eicirqs. This patch makes them static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 52d65cf87f439c5264527c3628d12a26322524eb Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:24 2008 +0400 [MIPS] make standard_io_resources[] static The array standard_io_resources[] needs not to be exposed in the kernel global namespace. This patch makes it static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit b31dc3c4ff530923e471a66a8ad20801326e3951 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:23 2008 +0400 [MIPS] make plat_perf_setup() static There is no need for the plat_perf_setup() function to be global, so make it static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ddaf5740b9e822d3650a19ab9757b49ddf5c95de Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:22 2008 +0400 [MIPS] make mdesc and prom_getmdesc() static Neither the mdesc[] array nor the prom_getmdesc() function need to be global. This patch makes them static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 33d69d2a784851431f24c55abb00dfec13502b0b Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:21 2008 +0400 [MIPS] make mips_ejtag_setup() static This change makes the needlessly global function mips_ejtag_setup() static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit cd2675fba90d3e87fa7c9902fd7fdedc2e5022e0 Author: Dmitri Vorobiev Date: Tue Apr 1 02:03:20 2008 +0400 [MIPS] make mips_nmi_setup() static This change makes the needlessly global function mips_nmi_setup() static. Successfully build-tested using default configs for Malta, Atlas and SEAD boards. Runtime test successfully performed by booting the Malta 4Kc board up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit bb09a954b64c61b691c095e0a20708265b5bc2bc Author: Harvey Harrison Date: Fri Mar 28 14:34:39 2008 -0700 [MIPS] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit f2ce89f30ede4cb32fa8f9aaec884087069c81ba Author: Johannes Weiner Date: Fri Mar 28 14:34:37 2008 -0700 [MIPS] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit eba8291b514e6e590be161afcbfdab58cc5da6b8 Author: Sergei Shtylyov Date: Thu Mar 27 22:05:57 2008 +0300 [MIPS] Alchemy: kill useless time variables Since the commit 91a2fcc88634663e9e13dcdfad0e4a860e64aeee ([MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers) removed the Alchemy specific timer handler, 'r4k_offset' and 'r4k_cur' variables became practically useless, so get rid of them at last, renaming cal_r4off() function into calc_clock() and making it return CPU frequency. Also, make 'no_au1xxx_32khz' variable static... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 0167509574ef1cdb516906db5e8b6ad5ca64ab61 Author: Sergei Shtylyov Date: Mon Mar 24 23:15:50 2008 +0300 [MIPS] Alchemy: don't unmask timer IRQ early Defer the unmasking of the count/compare interrupt (IRQ5) till the clockevent driver initialization: - only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the ALLINTS macro -- this change is blessed by AMD as I saw it in their own patch; :-) - do not force IRQ5 enabled in plat_time_init() if PM is enabled and there's no 32 KHz crystal. Update the copyrights (taking into account my prior changes), also removing Pete Popov's old email... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit a92b05880d261e9017ef8e7d5b6b01e0e5aa991d Author: Daniel Laird Date: Thu Mar 6 09:07:18 2008 +0000 [MIPS] Move arch/mips/philips to arch/mips/nxp Signed-off-by: daniel.j.laird Signed-off-by: Ralf Baechle commit 389310e2b0c195f176e7d4be788bc245e9102412 Author: Harvey Harrison Date: Tue Mar 4 17:17:16 2008 -0800 [MIPS] replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Ralf Baechle commit 39b8d5254246ac56342b72f812255c8f7a74dca9 Author: Ralf Baechle Date: Mon Apr 28 17:14:26 2008 +0100 [MIPS] Add support for MIPS CMP platform. Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 308402445e005a039a72b315cd9b5ceeaea0063c Author: Chris Dearman Date: Fri Sep 21 14:50:08 2007 +0100 [MIPS] Add CoreFPGA5 support; distinguish between SOCit/ROCit Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit bdc94eb41e6090961695747508ac7e33ea5d6c08 Author: Chris Dearman Date: Wed Oct 3 10:43:56 2007 +0100 [MIPS] Add noulri kernel argument to disable "rdhwr $29" usermode support. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 Author: Chris Dearman Date: Wed Sep 19 00:58:24 2007 +0100 [MIPS] Allow setting of the cache attribute at run time. Slightly tacky, but there is a precedent in the sparc archirecture code. Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bec5052743ec8ae4c5669918cf9b130bf15709a2 Author: Chris Dearman Date: Wed Sep 19 00:51:57 2007 +0100 [MIPS] Tidy up cache attributes Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 962f480e0f9024ecdcfe2ba1d216c038ee328ced Author: Chris Dearman Date: Wed Sep 19 00:46:32 2007 +0100 [MIPS] All MIPS32 processors support64-bit physical addresses. Still, only the 4K may actually implement it. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0bfa130e741f8f73a7bbf6a89aad4816e9094a71 Author: Chris Dearman Date: Fri Sep 14 21:21:58 2007 +0100 [MIPS] Remove TLB sanitation code It is not being used by Malta and shouldn't be needed for MIPSsim. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0b6d497fcbb72b356c9d6446810a9597ee55c432 Author: Chris Dearman Date: Thu Sep 13 12:32:02 2007 +0100 [MIPS] Basic SPRAM support Signed-off-by: Chris Dearman Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit fb2a27e743cd565c25cd896911e494482a8b7251 Author: Thiemo Seufer Date: Mon Feb 18 19:32:49 2008 +0000 [MIPS] Reimplement clear_page/copy_page Fold the SB-1 specific implementation of clear_page/copy_page in the generic version, and rewrite that one in tlbex style. The immediate benefits: - It converts the compile-time workaround for SB-1 pass 1 prefetches to a more efficient run-time check. - It allows adjustment of loop unfolling, which helps to reduce the number of redundant cdex cache ops. - It fixes some esoteric cornercases (the cache line length calculations can go wrong, and support for 64k pages without prefetch instructions will overflow the addiu immediate). - Somewhat better guesses of "good" prefetch values. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit 26eed9a5c61edd93d88e147188d4feae6770174e Author: Linus Walleij Date: Sat Apr 26 23:39:44 2008 +0100 [ARM] 5022/1: Race in ARM MMCI PL18x driver, V2 Updated version of 4446/1. This also drops the suggested comparison of host_remain for == 0, since that doesn't make sense (still works for us, too). We have verified that this patch solve race problems on atleast 2 archs at high frequencies. (Verbatim copy of old patch text below.) The patch below fixes a race condition in the ARM MMCI PL18x driver. If new data arrives in the FIFO while existing data is being read then we get a second iteration of the loop in mmci_pio_read. However host->size is not updated until after mmci_pio_read returns, so we get count = number of new bytes PLUS number of bytes already copied in the first iteration. This results in a FIFO underrun as we try and read mode data than is available. The fix is to compensating for data read on previous iterations when calculating the amount of data in the FIFO. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 136eb955773dc99f82e6e754038eb1c530e03fdf Author: David Brownell Date: Thu Apr 24 20:58:33 2008 +0100 [ARM] 5021/1: at91: buildfix for sam9263 + PM Build fix for power management on at91sam9263: it has two memory controllers instead of just one, so it might have two banks of DRAM to put into selfrefresh mode. For now we continue to assume only the first bank is populated. Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit fe6cfde60012d4891470828a391274d94e0ea3a0 Author: Catalin Marinas Date: Thu Apr 24 10:05:43 2008 +0100 [ARM] 5018/1: RealView: Fix the ARM11MPCore Oprofile compilation This patch fixes the Oprofile for ARM11MPCore compilation introduced by changes to the RealView code. Only RealView/EB is supported. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit fb8b131ba8f6618f84d87ef1f62067dcf5905a8f Author: Nicolas Ferre Date: Tue Apr 22 13:54:52 2008 +0100 [ARM] 5016/1: AT91: typo in mci configuration for at91cap at91sam9263 typo in mci configuration in devices files Signed-off-by: Nicolas Ferre Signed-off-by: Russell King commit 46b958eb808b73a232efc962e730faffe7cff5c5 Author: Randy Dunlap Date: Mon Apr 28 02:16:35 2008 -0700 kernel-doc: detect trailing kernel-doc line trash Print a warning when a kernel-doc comment block ends with text on the same line as the ending comment characters, e.g.: * this text is lost. */ Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94dc7ad5502e7d74e2fd74651743f5f1773aa1fe Author: Randy Dunlap Date: Mon Apr 28 02:16:34 2008 -0700 kernel-doc: detect/prevent duplicate doc section names I saw this problem recently. With this kernel-doc: * Note: some important info * * Note: other important info kernel-doc uses the "section name" (preceding the ':', like "Note") as a hash key for storing the descriptive text ("blah important info"). It is (was) possible to have duplicate (colliding) section names, without any kind of warning or error. kernel-doc happily used the latter descriptive text for all instances of printing the descriptive text and the former important info was lost. One way to "fix" this is to modify the kernel-doc comments, e.g.: * Note1: foo bar * * Note.2: blah zay For now, kernel-doc will signal an error when it sees colliding section names like this. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f354858b8ea29e969b82dd96caea376157d76ca Author: Olof Johansson Date: Mon Apr 28 02:16:32 2008 -0700 fatfs: fix build warning with 64k PAGE_SIZE Annoying gcc warning: fs/fat/inode.c: In function 'fat_fill_super': fs/fat/inode.c:1222: warning: comparison is always false due to limited range of data type Change it to compare with 4K instead of PAGE_CACHE_SIZE, as suggested by OGAWA-san. [FAT spec says: logical_sector_size should be 512, 1024, 2048 4096] So, at least for now, we limit it to 4096. Signed-off-by: Olof Johansson Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0607fd02587a6b4b086dc746d63123c1f284db68 Author: Frank Seidel Date: Mon Apr 28 02:16:31 2008 -0700 fat: detect media without partition table correctly I received a complaint that some FAT formated medias (e.g. sd memory cards) trigger a "unknown partition table" message even though there is no partition table and they work correctly, while in general (when e.g. formated with mkdosfs or even Windows Vista) this message is not shown. Currently this seems only to happen when the medias get formatted with Windows XP (and possibly Win 2000). Then the boot indicator byte contains garbage (part of text message) and so do the other parts checked by msdos_paritition which then later triggers this message. References: novell bug #364365 Most fat formatted media without partition table contains zeros in the boot indication and the other tested bytes and so falls through the checks in msdos_partition, leading it to return with 1 (all is fine). But some (e.g. WinXP formatted) fat fomated medias don't use boot_ind and so the check fails and causes a "unkown partition table" warning eventhough there is none and everything would be fine. This additional check directly verifies if there is a fat formatted medium without a partition table. Signed-off-by: Frank Seidel Cc: Andreas Dilger Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73f20e58b1d586e9f6d3ddc3aad872829aca7743 Author: Andrew Morton Date: Mon Apr 28 02:16:30 2008 -0700 FAT_VALID_MEDIA(): remove pointless test The on-disk media specification field in FAT is only 8-bits, so testing for <=0xff is pointless, and can generate a "comparison is always true due to limited range of data type" warning. While we're there, convert FAT_VALID_MEDIA() into a C function - the present implementation is buggy: it generates either one or two references to its argument. Cc: Frank Seidel Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7a6c4edc74ee5c3d990325fe93b6916f43499f4 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:29 2008 -0700 fat: use __getname() __getname() is faster than __get_free_page(). Use it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f22032ba8de2960a64a3dd9719fb5c99b1f1ae6e Author: Keith Mok Date: Mon Apr 28 02:16:29 2008 -0700 vfat: bug fix for vfat cannot handle filename with 255 This patch fix the problem that the buffer allocated for convert of unicode to utf8 in fat/dir.c is too small. And cannot handle filename with 255 asian characters when mounted with utf8 options. Also it fix the filename length limitation checking in vfat/namei.c that the filename length should be checked against the number of converted unicode characters. Not the length before NLS/UTF8 converted. Signed-off-by: Keith Mok Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 061e97469f46f924cf14bbf1dd4805b46986691a Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:28 2008 -0700 Add balance_dirty_pages_ratelimited() to cont_expand_zero() On the systems, ftruncate() which expand size for FAT became the cause of OOM. The cont_expand_zero() filled all memory with dirty pages, and since disk is very slow, limit of page scanning was exceeded, then it triggered OOM. This adds balance_dirty_pages_ratelimited() to avoid filling memory with dirty pages. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e69be4c9c4ac1b6bb6380512557da0afa6262e98 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:27 2008 -0700 fat: Remove fat_clusters_flush() This removes unneeded fat_clusters_flush(). Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 606e423e43bac0c2f7b85b682eb1ddd2a634586e Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:27 2008 -0700 fat: Update free_clusters even if it is untrusted Currently, free_clusters is not updated until it is trusted, because Windows doesn't update it correctly. But if user is using FAT driver of Linux, it updates free_clusters correctly. Instead, this updates it even if it's untrusted, so if free_clustes is correct, now keep correct value. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ae43f826b6cb951fc5b0f9c92372a8d5b63c7f9 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:26 2008 -0700 fat: Add allow_utime option Normally utime(2) checks current process is owner of the file, or it has CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid as on disk info, so normal check is too unflexible. With this option you can relax it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e97e8de388723f9491514fa0434ddf1fd713a188 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:26 2008 -0700 fat: fat_setattr() fix Fix fat_setattr() on the case of showexec option. If user specified showexec option, inode->i_mode may not have S_IXUGO. This just use inode->i_mode to fix it. And with this patch, we don't allow chmod() on memory inode, it's just bad behaviour. IOW, we allow changing S_IWUGO only which can be stored to disk. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1278fdd34b12214b5c2e91e64848a5e54e57ed96 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:25 2008 -0700 fat: fat_notify_change() and check_mode() cleanup - Rename fat_notify_change() to fat_setattr() - check_mode() cleanup - Change layout of code Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3754a544474b9fd4fdd32a96d98bc4ab558b2bb6 Author: OGAWA Hirofumi Date: Mon Apr 28 02:16:24 2008 -0700 fat: kill is_bad_inode() check FAT doesn't need to check bad inode anymore. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5dee5c395062a55236318ac4eec1f4ebb9de6db Author: Jan Kara Date: Mon Apr 28 02:16:23 2008 -0700 reiserfs: unpack tails on quota files Quota files cannot have tails because quota_write and quota_read functions do not support them. So far when quota files did have tail, we just refused to turn quotas on it. Sadly this check has been wrong and so there are now plenty installations where quota files don't have NOTAIL flag set and so now after fixing the check, they suddently fail to turn quotas on. Since it's easy to unpack the tail from kernel, do this from reiserfs_quota_on() which solves the problem and is generally nicer to users anyway. Signed-off-by: Jan Kara Reported-by: Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2fe594fa3732298947377409b5d8111b14f56ec Author: Jan Kara Date: Mon Apr 28 02:16:23 2008 -0700 reiserfs: fix hang on umount with quotas when journal is aborted Call dquot_drop() from reiserfs_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbe5498b3d5af44a8671800e85b2858c2ea236fa Author: Harvey Harrison Date: Mon Apr 28 02:16:22 2008 -0700 reiserfs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8acc570fabc022d41baedc0c9bf976a4b9d16d6f Author: Harvey Harrison Date: Mon Apr 28 02:16:21 2008 -0700 reiserfs: fix more sparse warnings in do_balan.c fs/reiserfs/do_balan.c:1467:10: warning: symbol 'ret_val' shadows an earlier one fs/reiserfs/do_balan.c:275:6: originally declared here fs/reiserfs/do_balan.c:1471:23: warning: symbol 'ih' shadows an earlier one fs/reiserfs/do_balan.c:249:67: originally declared here Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e13601bc6aa427a6483e7f66fde55ac3b5fed335 Author: Harvey Harrison Date: Mon Apr 28 02:16:21 2008 -0700 reiserfs: fix sparse warning in journal.c fs/reiserfs/journal.c:4319:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e902df6be2cb7444e5a0f7e2e72bcbf3b978f3e Author: Marcin Slusarz Date: Mon Apr 28 02:16:20 2008 -0700 reiserfs: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78e917d59c30c3d5a4cda7f47e0f40f1c98f9b02 Author: Harvey Harrison Date: Mon Apr 28 02:16:19 2008 -0700 udf: fix sparse warning in namei.c Let's use bsize instead. fs/udf/namei.c:960:12: warning: symbol 'elen' shadows an earlier one fs/udf/namei.c:937:15: originally declared here Signed-off-by: Harvey Harrison Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36a53ddf859b0a9aa56e2e72978997bf68eec37a Author: Harvey Harrison Date: Mon Apr 28 02:16:18 2008 -0700 ufs: replace __inline with inline Signed-off-by: Harvey Harrison Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0045edaaf980e577272eeb11832daebaeb5d63c4 Author: Marcin Slusarz Date: Mon Apr 28 02:16:18 2008 -0700 ufs: remove unused fs64_add and fs64_sub remove fs64_add and fs64_sub - they probably weren't ever used because their prototypes used u32 instead of __fs64 Signed-off-by: Marcin Slusarz Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9746077a71d01b8d86f5e471a3a2c8f1fa91ef94 Author: Harvey Harrison Date: Mon Apr 28 02:16:17 2008 -0700 ufs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c5afae2bac974fe2c15cd9439f921526b3ea2d7 Author: Marcin Slusarz Date: Mon Apr 28 02:16:16 2008 -0700 ufs: [bl]e*_add_cpu conversion replace all: big/little_endian_variable = cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) + expression_in_cpu_byteorder); with: [bl]eX_add_cpu(&big/little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08fc99bfc39d5b394aa27498ac5f14df0ef8e52a Author: Harvey Harrison Date: Mon Apr 28 02:16:16 2008 -0700 jbd: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e05b6b524bd5c5c2bae1b64a7cbe08d46d57a6fe Author: Harvey Harrison Date: Mon Apr 28 02:16:15 2008 -0700 ext3: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa1ff1e02fee908dfdc3f92902d39acc38041e4c Author: Jan Kara Date: Mon Apr 28 02:16:14 2008 -0700 ext3: fix mount messages when quota disabled When quota is disabled, we should not print 'journaled quota not supported' when user tried to mount non-journaled quota. Also fix typo in the message. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2588ef83f7933d8ae42868d7bf68fc8a3001186b Author: Aneesh Kumar K.V Date: Mon Apr 28 02:16:14 2008 -0700 ext3: retry block allocation if new blocks are allocated from system zone If the block allocator gets blocks out of system zone ext3 calls ext3_error. But if the file system is mounted with errors=continue retry block allocation. We need to mark the system zone blocks as in use to make sure retry don't pick them again System zone is the block range mapping block bitmap, inode bitmap and inode table. [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07c9938a4e2c92b796b163dc70e99d3d1870aaee Author: Jan Kara Date: Mon Apr 28 02:16:13 2008 -0700 ext3: fix hang on umount with quotas when journal is aborted Call dquot_drop() from ext3_dquot_drop() even if we fail to start a transaction. Otherwise we never get to dropping references to quota structures from the inode and umount will hang indefinitely. Thanks to Payphone LIOU for spotting the problem. Signed-off-by: Jan Kara Cc: Payphone LIOU Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b23076988b44b2c165e060248345de6f2337387 Author: Jan Kara Date: Mon Apr 28 02:16:12 2008 -0700 ext3: fix update of mtime and ctime on rename Make ext3 update mtime and ctime of the directory into which we move file even if the directory entry already exists. Signed-off-by: Jan Kara Cc: Al Viro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b9a499d77e9dd39c9e6611ea10c56a31604f274 Author: Josef Bacik Date: Mon Apr 28 02:16:12 2008 -0700 jbd: fix possible journal overflow issues There are several cases where the running transaction can get buffers added to its BJ_Metadata list which it never dirtied, which makes its t_nr_buffers counter end up larger than its t_outstanding_credits counter. This will cause issues when starting new transactions as while we are logging buffers we decrement t_outstanding_buffers, so when t_outstanding_buffers goes negative, we will report that we need less space in the journal than we actually need, so transactions will be started even though there may not be enough room for them. In the worst case scenario (which admittedly is almost impossible to reproduce) this will result in the journal running out of space. The fix is to only refile buffers from the committing transaction to the running transactions BJ_Modified list when b_modified is set on that journal, which is the only way to be sure if the running transaction has modified that buffer. This patch also fixes an accounting error in journal_forget, it is possible that we can call journal_forget on a buffer without having modified it, only gotten write access to it, so instead of freeing a credit, we only do so if the buffer was modified. The assert will help catch if this problem occurs. Without these two patches I could hit this assert within minutes of running postmark, with them this issue no longer arises. Thank you, Signed-off-by: Josef Bacik Cc: Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bc833feaa8b2236265764e7e81f44937be46eda Author: Josef Bacik Date: Mon Apr 28 02:16:10 2008 -0700 jbd: fix the way the b_modified flag is cleared Currently at the start of a journal commit we loop through all of the buffers on the committing transaction and clear the b_modified flag (the flag that is set when a transaction modifies the buffer) under the j_list_lock. The problem is that everywhere else this flag is modified only under the jbd lock buffer flag, so it will race with a running transaction who could potentially set it, and have it unset by the committing transaction. This is also a big waste, you can have several thousands of buffers that you are clearing the modified flag on when you may not need to. This patch removes this code and instead clears the b_modified flag upon entering do_get_write_access/journal_get_create_access, so if that transaction does indeed use the buffer then it will be accounted for properly, and if it does not then we know we didn't use it. That will be important for the next patch in this series. Tested thoroughly by myself using postmark/iozone/bonnie++. Signed-off-by: Josef Bacik Cc: Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 269b26191650be46ce6c91dec24cf20f59650529 Author: Julia Lawall Date: Mon Apr 28 02:16:09 2008 -0700 fs/ext3: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33575f8ffe99bf9e381161ccd76b39079c0aa92f Author: Akinobu Mita Date: Mon Apr 28 02:16:08 2008 -0700 ext3: check ext3_journal_get_write_access() errors Check ext3_journal_get_write_access() errors. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0e369a7dd39894465b6501a9492173e8104a19b Author: Akinobu Mita Date: Mon Apr 28 02:16:08 2008 -0700 ext3: use ext3_get_group_desc() Use ext3_get_group_desc() Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22a5daf5375a900e1a4efe8ffe2daef9be01e873 Author: Akinobu Mita Date: Mon Apr 28 02:16:07 2008 -0700 ext3: add missing ext3_journal_stop() Add missing ext3_journal_stop() in error handling. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eaafeae4b6f87eabdbabe3277826696f4ca196f Author: Akinobu Mita Date: Mon Apr 28 02:16:07 2008 -0700 ext3: use ext3_group_first_block_no() Use ext3_group_first_block_no() Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15633005e07883b57c6c7ca539c32148c3a7f588 Author: Adrian Bunk Date: Mon Apr 28 02:16:06 2008 -0700 make ext3_xattr_list() static Make the needlessly global ext3_xattr_list() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7f23ebdef879226817ce94ae6e298afc8cd093d Author: Marcin Slusarz Date: Mon Apr 28 02:16:06 2008 -0700 ext3: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d61f75eefedf75914ab4453c67aaa2ee64bcf93 Author: Hisashi Hifumi Date: Mon Apr 28 02:16:05 2008 -0700 ext3: fdatasync should skip metadata writeout when overwriting Currently fdatasync is identical to fsync in ext3. I think fdatasync should skip journal flush in data=ordered and data=writeback mode when it overwrites to already-instantiated blocks on HDD. When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal writeout because this indicates only atime or/and mtime updates. Following patch is the same approach of ext2's fsync code(ext2_sync_file). I did a performance test using the sysbench. #sysbench --num-threads=128 --max-requests=50000 --test=fileio --file-total-size=128G --file-test-mode=rndwr --file-fsync-mode=fdatasync run The result on ext3 was: -2.6.24 Operations performed: 0 Read, 50080 Write, 59600 Other = 109680 Total Read 0b Written 782.5Mb Total transferred 782.5Mb (12.116Mb/sec) 775.45 Requests/sec executed Test execution summary: total time: 64.5814s total number of events: 50080 total time taken by event execution: 3713.9836 per-request statistics: min: 0.0000s avg: 0.0742s max: 0.9375s approx. 95 percentile: 0.2901s Threads fairness: events (avg/stddev): 391.2500/23.26 execution time (avg/stddev): 29.0155/1.99 -2.6.24-patched Operations performed: 0 Read, 50009 Write, 61596 Other = 111605 Total Read 0b Written 781.39Mb Total transferred 781.39Mb (16.419Mb/sec) 1050.83 Requests/sec executed Test execution summary: total time: 47.5900s total number of events: 50009 total time taken by event execution: 2934.5768 per-request statistics: min: 0.0000s avg: 0.0587s max: 0.8938s approx. 95 percentile: 0.1993s Threads fairness: events (avg/stddev): 390.6953/22.64 execution time (avg/stddev): 22.9264/1.17 Filesystem I/O throughput was improved. Signed-off-by :Hisashi Hifumi Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b91582500ae750db22bd515379616e5e9ad06ab Author: Aneesh Kumar K.V Date: Mon Apr 28 02:16:04 2008 -0700 ext2: retry block allocation if new blocks are allocated from system zone If the block allocator gets blocks out of system zone ext2 calls ext2_error. But if the file system is mounted with errors=continue retry block allocation. We need to mark the system zone blocks as in use to make sure retry don't pick them again System zone is the block range mapping block bitmap, inode bitmap and inode table. [akpm@linux-foundation.org: fix typo in comment] Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 605afd60ef6dde254fc9b8667c5bccebade251c3 Author: Harvey Harrison Date: Mon Apr 28 02:16:03 2008 -0700 ext2: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c11619a590e13fecc801c9c50859cba29740f38 Author: Julia Lawall Date: Mon Apr 28 02:16:02 2008 -0700 fs/ext2: use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c8b3125f8dcefd1ee2990113fe69cfa9e9fa609 Author: Akinobu Mita Date: Mon Apr 28 02:16:02 2008 -0700 ext2: use ext2_fsblk_t type Use ext2_fsblk_t type for filesystem-wide blocks number Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24097d12efbb97bff14fb6e350508853db0f9595 Author: Akinobu Mita Date: Mon Apr 28 02:16:01 2008 -0700 ext2: use ext2_group_first_block_no() Use ext2_group_first_block_no() and assign the return values to ext2_fsblk_t variables. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbff28602436cc7ca660757bba81f03b99e8586d Author: Akinobu Mita Date: Mon Apr 28 02:16:00 2008 -0700 ext2: improve ext2_readdir() return value Improve ext2_readdir() return value for ext2_get_page() failure by using the actual result of ext2_get_page(). Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f68e130149809c5d49583e1ff225dd5d404d83 Author: Marcin Slusarz Date: Mon Apr 28 02:16:00 2008 -0700 ext2: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fba4d3997f4c3dc6de927f7f516168580033ae1a Author: Marcin Slusarz Date: Mon Apr 28 02:15:59 2008 -0700 ext2: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e3832b0b1518232f47d89bc9d1f68e151a749ff Author: Bjorn Helgaas Date: Mon Apr 28 02:15:59 2008 -0700 PNP: use dev_printk for quirk messages Convert quirk printks to dev_printk(). [akpm@linux-foundation.org: fix warnings, improve output text] Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8068162806266552933e395877452de4f2427e7 Author: Bjorn Helgaas Date: Mon Apr 28 02:15:58 2008 -0700 PNP: simplify quirk debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bc11fd446d2ca29459c3c8e04a6d36db9bbbea4 Author: Bjorn Helgaas Date: Mon Apr 28 02:15:57 2008 -0700 PNP: skip dev->protocol NULL checks Every PNP device should have a valid protocol pointer. If it doesn't, something's wrong and we should oops so we can find and fix the problem. Signed-off-by: Bjorn Helgaas Cc: Adam Belay Cc: Adrian Bunk Cc: Rene Herman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62b0559aad5cba060568cb962e4bbb111ec73a14 Author: Julia Lawall Date: Mon Apr 28 02:15:56 2008 -0700 drivers/md: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Julia Lawall Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7a420c9472a95c46600a0345434b7b166e0b9c7 Author: Nick Andrew Date: Mon Apr 28 02:15:55 2008 -0700 raid: remove leading TAB on printk messages MD drivers use one printk() call to print 2 log messages and the second line may be prefixed by a TAB character. It may also output a trailing space before newline. klogd (I think) turns the TAB character into the 2 characters '^I' when logging to a file. This looks ugly. Instead of a leading TAB to indicate continuation, prefix both output lines with 'raid:' or similar. Also remove any trailing space in the vicinity of the affected code and consistently end the sentences with a period. Signed-off-by: Nick Andrew Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef197d87ad7d4bb326de3e9b8ecbb26f9e86253 Author: Dan Williams Date: Mon Apr 28 02:15:54 2008 -0700 md: raid5.c convert simple_strtoul to strict_strtoul strict_strtoul handles the open-coded sanity checks in raid5_store_stripe_cache_size and raid5_store_preread_threshold Acked-by: NeilBrown Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3e6cdc53b7f29f7026955d6cb6902a49322a15 Author: Dan Williams Date: Mon Apr 28 02:15:53 2008 -0700 md: introduce get_priority_stripe() to improve raid456 write performance Improve write performance by preventing the delayed_list from dumping all its stripes onto the handle_list in one shot. Delayed stripes are now further delayed by being held on the 'hold_list'. The 'hold_list' is bypassed when: * a STRIPE_IO_STARTED stripe is found at the head of 'handle_list' * 'handle_list' is empty and i/o is being done to satisfy full stripe-width write requests * 'bypass_count' is less than 'bypass_threshold'. By default the threshold is 1, i.e. every other stripe handled is a preread stripe provided the top two conditions are false. Benchmark data: System: 2x Xeon 5150, 4x SATA, mem=1GB Baseline: 2.6.24-rc7 Configuration: mdadm --create /dev/md0 /dev/sd[b-e] -n 4 -l 5 --assume-clean Test1: dd if=/dev/zero of=/dev/md0 bs=1024k count=2048 * patched: +33% (stripe_cache_size = 256), +25% (stripe_cache_size = 512) Test2: tiobench --size 2048 --numruns 5 --block 4096 --block 131072 (XFS) * patched: +13% * patched + preread_bypass_threshold = 0: +37% Changes since v1: * reduce bypass_threshold from (chunk_size / sectors_per_chunk) to (1) and make it configurable. This defaults to fairness and modest performance gains out of the box. Changes since v2: * [neilb@suse.de]: kill STRIPE_PRIO_HI and preread_needed as they are not necessary, the important change was clearing STRIPE_DELAYED in add_stripe_bio and this has been moved out to make_request for the hang fix. * [neilb@suse.de]: simplify get_priority_stripe * [dan.j.williams@intel.com]: reset the bypass_count when ->hold_list is sampled empty (+11%) * [dan.j.williams@intel.com]: decrement the bypass_count at the detection of stripes being naturally promoted off of hold_list +2%. Note, resetting bypass_count instead of decrementing on these events yields +4% but that is probably too aggressive. Changes since v3: * cosmetic fixups Tested-by: James W. Laferriere Signed-off-by: Dan Williams Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46b272b6608783ed7aa7b0594871550ce20b849 Author: Harvey Harrison Date: Mon Apr 28 02:15:50 2008 -0700 md: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a7b2b0f36c40beeb252cb5ceff36bb295e88d97 Author: Harvey Harrison Date: Mon Apr 28 02:15:49 2008 -0700 md: fix integer as NULL pointer warnings in md.c drivers/md/md.c:734:16: warning: Using plain integer as NULL pointer drivers/md/md.c:1115:16: warning: Using plain integer as NULL pointer Add some braces to match the else-block as well. Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ae121705bed9ea7425daef4d7d29038f7312f3f Author: Harvey Harrison Date: Mon Apr 28 02:15:47 2008 -0700 video: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: "Antonino A. Daplas" Cc: Krzysztof Helt Cc: Antonino Daplas Cc: Antonino A. Daplas Cc: Antonino Daplas Cc: Richard Purdie Cc: Jean Delvare Cc: Adrian Bunk Cc: Russell King Cc: Benjamin Herrenschmidt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7a05aa9e697ff6fc165d45671cdcca601942f62 Author: Mike Frysinger Date: Mon Apr 28 02:15:47 2008 -0700 BF54x Framebuffer Driver: BF542 does not have EPPI0, so dont allow the LQ034 driver for now Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6002db8287cdf9a8497aa345be2d27936a3b6a52 Author: Mike Frysinger Date: Mon Apr 28 02:15:46 2008 -0700 BF54x Framebuffer Driver: drop request_irq cast Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8224c3b166db81a8dbd128df455453897fe2b48b Author: Andrew Morton Date: Mon Apr 28 02:15:45 2008 -0700 drivers/video/w100fb.c: avoid a couple of error-path NULL derefs Fix a couple of error-patch oopses identified by Marcio Buss in http://bugzilla.kernel.org/show_bug.cgi?id=9567. Cc: Marcio Buss Cc: Jeff Zhou Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e170c72c0c55bd78213a0f5053bd9a1dde403b7 Author: Maik Broemme Date: Mon Apr 28 02:15:43 2008 -0700 fbdev: intelfb: add support for the Intel Integrated Graphics Controller 965G/965GM Add support for the 965G and 965GM graphic chipsets to the intelfb driver. I have a notebook with an Intel Mobile GM965/GL960 Integrated Graphics Controller and with the attached patch the framebuffer comes up. I have tested it a bit with DirectFB to make sure it is working stable. I also have an Intel Mobile GM945 and I compared the results, the programming interface of the 9xx series from Intel is mostly the same, so I think the patch should add all the functionality which the 945GM has. Signed-off-by: Maik Broemme Cc: Dave Airlie Cc: Antonino Daplas Cc: Geert Uytterhoeven Cc: Krzysztof Halasa Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0aa163418edfb96ca3b39133979d8e4352aaac3c Author: Alexey Dobriyan Date: Mon Apr 28 02:15:42 2008 -0700 fb: convert /proc/fb to seq_file interface Note: looks like accesses to "registered_fb" are done without any exclusion so there're none in new proc code, too. This should be fixed in separate patch. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c1645dfac320e992bb5635887b7698ae6606bc Author: Andrew Morton Date: Mon Apr 28 02:15:41 2008 -0700 drivers/video/uvesafb.c: fix error-path memory leak Fix bug identified by Daniel Marjamki: `m' is leaked on the error path. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10452 Cc: Daniel Marjamki Cc: "Antonino A. Daplas" Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e27aa3dabb541edee9f23b37114856a528de01e Author: Jaya Kumar Date: Mon Apr 28 02:15:40 2008 -0700 fbdev: platforming hecubafb and n411 This patch splits hecubafb into the platform independent hecubafb and the platform dependent n411. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2422fbba0684ddf08898ec2f3cf23cb16a54b3f5 Author: Sebastian Siewior Date: Mon Apr 28 02:15:39 2008 -0700 metronomefb: don't free firmware twice in error path Right now, if request_irq or anthing after it fails than we free the firmware for the second time what might end bad :) Signed-off-by: Sebastian Siewior Acked-by: Jaya Kumar Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03c33a4f002b2521debf1efc269cade983b6e86a Author: Jaya Kumar Date: Mon Apr 28 02:15:38 2008 -0700 fbdev: platforming metronomefb and am200epd This patch splits metronomefb into the platform independent metronomefb and the platform dependent am200epd. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 963654a9c919d18f8b9137f8ffd9d2d30a139269 Author: Jaya Kumar Date: Mon Apr 28 02:15:37 2008 -0700 fbdev: hecubafb bugfix This patch is a bugfix for hecubafb_write which would return an incorrect error value for the bytecount from framebuffer writes. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 555514fabc1c24fac69ff46feac384180828182c Author: Jaya Kumar Date: Mon Apr 28 02:15:36 2008 -0700 fbdev: metronomefb bugfix This patch is a bugfix for the use of cfb_* functions instead of sys_* functions. sys_* should be used with vmalloced framebuffers. the previous cfb_ use would not work for callers of imageblit/etc. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f90a8bdd17e63fb27b4f6d50e8a2919704ea254 Author: York Sun Date: Mon Apr 28 02:15:36 2008 -0700 powerpc: Add DIU platform code for MPC8610HPCD Add platform code to support Freescale DIU. The platform code includes framebuffer memory allocation, pixel format, monitor port, etc. Signed-off-by: York Sun Signed-off-by: Timur Tabi Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b53a9e28a34ed82516191dc46ae018e0e899546 Author: York Sun Date: Mon Apr 28 02:15:34 2008 -0700 fbdev: powerpc: driver for Freescale 8610 and 5121 DIU The following features are supported: plane 0 works as a regular frame buffer, can be accessed by /dev/fb0 plane 1 has two AOIs (area of interest), can be accessed by /dev/fb1 and /dev/fb2 plane 2 has two AOIs, can be accessed by /dev/fb3 and /dev/fb4 Special ioctls support AOIs All /dev/fb* can be used as regular frame buffer devices, except hardware change can only be made through /dev/fb0. Changing pixel clock has no effect on other fbs. Limitation of usage of AOIs: AOIs on the same plane can not be horizonally overlapped AOIs have horizonal order, i.e. AOI0 should be always on top of AOI1 AOIs can not beyond phisical display area. Application should check AOI geometry before changing physical resolution on /dev/fb0 required command line parameters to preallocate memory for frame buffer diufb. optional command line parameters to set modes and monitor video=fslfb:[resolution][,bpp][,monitor] Syntax: Resolution xres x yres-bpp@refresh_rate, the -bpp and @refresh_rate are optional eg, 1024x768, 1280x1024, 1280x1024-32, 1280x1024@60, 1280x1024-32@60, 1280x480-32@60 Bpp bpp=32, bpp=24, or bpp=16 Monitor monitor=0, monitor=1, monitor=2 0 is DVI 1 is Single link LVDS 2 is Double link LVDS Note: switching monitor is a board feather, not DIU feather. MPC8610HPCD has three monitor ports to swtich to. MPC5121ADS doesn't have additional monitor port. So switching monirot port for MPC5121ADS has no effect. If compiled as a module, it takes pamameters mode, bpp, monitor with the same syntax above. Signed-off-by: York Sun Signed-off-by: Timur Tabi Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d345b2253f92804948d66f4db17a49c1932b9a3 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:33 2008 -0700 fbdev: nv: fix sparse noise Mostly signedness fixes. nv10_sim_state existence in both drivers suggests that one of them should be removed, but that's for later. Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ce3ab100e4e115ca2c4fd931844a0f1a50df406 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:33 2008 -0700 fbdev: nv: drop useless CONFIG_PCI checks Both FB_RIVA and FB_NVIDIA depends on PCI, so CONFIG_PCI always defined for them. Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit affc23d11631a47d35dfd552ded8ca255c001490 Author: Alexey Dobriyan Date: Mon Apr 28 02:15:32 2008 -0700 fbdev: nv: drop useless MODULE ifdefs Signed-off-by: Alexey Dobriyan Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3553a2fa8cbfc9f85f1809366be5884054f52c6d Author: Andres Salomon Date: Mon Apr 28 02:15:31 2008 -0700 OLPC: gxfb/lxfb: add DCON panel modes to framebuffer drivers Since there's no way to autodetect panel modes, we're forced to hardcode them in the driver and add a big fat #ifdef. The OLPC DCON needs a specific mode line (at 1200x900). This adds it to both gxfb and lxfb. (Jordan said: We could probably detect the panel mode, but there isn't any reason to since the panel timings are well known and won't change. While OFW detection would be good computer science fu, it would be a wasted effort since its so easy to hard code them into the table.) Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd96795630428ceca775bd1effc5bf41a9fe5272 Author: Andres Salomon Date: Mon Apr 28 02:15:30 2008 -0700 gxfb/lxfb: detect framebuffer size using an MSR if VSA2 isn't available If there's no VSA2 (ie, if we're using tinybios or OpenFirmware), use the GLIU's P2D Range Offset Descriptor to determine how much memory we have available for the framebuffer. Originally based on a patch by Jordan Crouse. Tested with OpenFirmware; Pascal informs me that tinybios has a stub that fills in P2D_RO0. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a517a063abf659cbf61df11f8e2131fdafccec Author: Andres Salomon Date: Mon Apr 28 02:15:30 2008 -0700 gxfb/lxfb: use VSA definitions when fetching framebuffer size ..Rather than using magic constants. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4537f93ae88c77a26e77d192ca32a0c2cd359592 Author: Andres Salomon Date: Mon Apr 28 02:15:29 2008 -0700 lxfb/gxfb: when blanking with FB_BLANK_POWERDOWN, also turn off the CRT The Display Control's CRT_EN can be shut off when we enter FB_BLANK_POWERDOWN in an attempt to save additional power. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 564820d42aaa55e6ce60a59c0f60832e1330c58b Author: Andres Salomon Date: Mon Apr 28 02:15:28 2008 -0700 lxfb: disable suspend VT switch by default By default disable VT switch, but allow it to be overridden via the 'vt_switch' module arg. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c805df3d6205573fa7a8ef2334b1c8d67381dc8b Author: Andres Salomon Date: Mon Apr 28 02:15:27 2008 -0700 lxfb: rename kernel arg fbsize to vram Match other fb drivers (including gxfb). Also, document the current boot arguments in Documentation/fb/lxfb.txt. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f694e53bd0db69557ee8e0db2d1602818ff173b0 Author: Andres Salomon Date: Mon Apr 28 02:15:27 2008 -0700 lxfb: add power management functionality This adds the ability to suspend/resume the lxfb driver, which includes: - Register and palette saving code; registers are stored in lxfb_par. A few MSR values are saved as well. - lx_powerup and lx_powerdown functions which restore/save registers and enable/disable graphic engines. - lxfb_suspend/lxfb_resume Originally based on a patch by Jordan Crouse. [akpm@linux-foundation.org: be conventional, save an ifdef] Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aec40532c4d1183fa1ec415bb7dae08e19fc6b01 Author: Andres Salomon Date: Mon Apr 28 02:15:26 2008 -0700 lxfb: rearrange/rename MSR bitfields Finally, move the MSR bitfields around in lxfb.h, and rename them. Alas, most of that crap appears to be undocumented. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f51fa8d47943f14a270955415b94a22e174a10 Author: Andres Salomon Date: Mon Apr 28 02:15:25 2008 -0700 lxfb: clean up final bits of df_regs Finally drop the last remnants of df_regs, using vp_regs instead. Also, drop panel_width and panel_height from lxfb_par; they're unused. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c90e85dc77669a55fecfb593bb8e7f47374ee2 Author: Andres Salomon Date: Mon Apr 28 02:15:24 2008 -0700 lxfb: clean up register definitions - Rename various bitfield defines to match the data sheet names. - Rename DF_ register definitions to VP_ to match the data sheet; ie, DF_PAR -> VP_PAR. - for GP/DC registers, rather than defining to specific addresses, use an enum to number them sequentially and just multiply by 4 (bytes) to access them (in read_*/write_* functions). - for VP/FP registers, use an enum and multiple by 8 (bytes). They're 64bit registers. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9286361beab8ef5c928ecb2bfefe68ab0176238b Author: Andres Salomon Date: Mon Apr 28 02:15:24 2008 -0700 lxfb: create GP/DC/VP/FP-specific handlers rather than using readl/writel This creates read_gp/write_gp, read_dc/write_dc, read_vp/write_vp, and read_fp/write_fp for reading and updating those registers. Note that we don't follow the 'DF' naming; those will be renamed to VP shortly. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3888d4639e78802c4ec1086127124e890461b9e4 Author: Jens Rottmann Date: Mon Apr 28 02:15:22 2008 -0700 lxfb: extend PLL table to support dotclocks below 25 MHz Extends the PLL frequency table of the AMD Geode-LX frame buffer driver to make use of the DIV4 bit, thus adding support for dotclocks between 6 and 25 MHz. These are needed for small LCDs (e.g. 320x240). Also inserts some intermediate steps between pre-existing frequencies. Signed-off-by: Jens Rottmann Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fb2d929a070fd31b8fb8f74cef8694a09853fdb Author: Nicolas Ferre Date: Mon Apr 28 02:15:21 2008 -0700 atmel_lcdfb: adjust fifo size for at91sam9rl AT91SAM9RL soc has a 2048 bytes deep FIFO, like AT91SAM9263. [bn@niasdigital.com: fix build breakage in atmel_lcdfb] Signed-off-by: Nicolas Ferre Cc: "Antonino A. Daplas" Cc: Nicolas FERRE Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd0858017eb67aa0d41dd4e8499ca6a7bfb63941 Author: Nicolas Ferre Date: Mon Apr 28 02:15:21 2008 -0700 atmel_lcdfb: wiring BGR to RGB color mode Adds different wiring mode for the LCD screen. The legacy atmel LCDC IP uses a non standard color mode, "BGR-555.1" instead "RGB-565". The major part of graphic stacks for embedded systems uses only "RGB-565". It is possible to swap LCD IOs instead of doing this bit swapping by software (See application note AT91SAM9 LCD Controller http://www.atmel.com/dyn/resources/prod_documents/doc6300.pdf) This wire swapping is done on the at91sam9rl-ek board (board code using this patch will come later). Signed-off-by: Nicolas Ferre Cc: David Brownell Cc: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf19a37e0641d975d271a5a30f097dd6b96d232f Author: David Brownell Date: Mon Apr 28 02:15:20 2008 -0700 atmel_lcdfb: suspend/resume support Teach atmel_lcdfb driver how to suspend/resume. Note that the backlight control should probably do more of the same stuff: turning off display power (more than just the backlight) and stopping the clocks (and dma to drive the no-longer-seen display). No point in wasting power to generate images that can't be observed, after all... Signed-off-by: David Brownell Signed-off-by: Nicolas Ferre Cc: Hans-Christian Egtvedt Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01d3a5e7fab7732cfc5d5d4533e9378ea435295a Author: Haavard Skinnemoen Date: Mon Apr 28 02:15:19 2008 -0700 atmel_lcdfb: don't initialize a pre-allocated framebuffer If the user specified a fixed framebuffer address on the command line, it may have been initialized already with a splash image or something, so we shouldn't clear it. Therefore, we should only initialize the framebuffer if we allocated it ourselves. This patch also updates the AVR32 setup code to clear the framebuffer if it allocated it itself, i.e. the user didn't provide a fixed address or the reservation failed. I've updated the at91 platform code as well so that it initializes the framebuffer if it is located in SRAM, but I haven't tested that it actually works. Signed-off-by: Haavard Skinnemoen Cc: "Antonino A. Daplas" Cc: Nicolas FERRE Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20e061fb750d36ec0ffcb2e44ed7dafa9018223b Author: Ondrej Zajicek Date: Mon Apr 28 02:15:18 2008 -0700 fbdev: framebuffer_alloc() fixes Correct the dev arg of framebuffer_alloc() in arkfb, s3fb and vt8623fb. Signed-off-by: Ondrej Zajicek Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5af9de9cf3cbf51c5758a1d5ea266aea6fe175 Author: Ondrej Zajicek Date: Mon Apr 28 02:15:17 2008 -0700 fbdev: vt8623fb: better resume from STR After resume from STR, image is shifted by 8 pixels to the left. This patch fixes it. Signed-off-by: Ondrej Zajicek Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9201a8584c9bdb45b7b32cb3d2280c3dfbc76e39 Author: Jean Delvare Date: Mon Apr 28 02:15:16 2008 -0700 savagefb: speed up the I2C bus There is no reason to drive the savagefb I2C bus at such a low speed, so bump it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers already run their I2C bus at this speed, and so are the legacy i2c-savage4 and i2c-prosavage drivers. Signed-off-by: Jean Delvare Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e68927c1d7030001590113181e0c8b6107649b Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:15 2008 -0700 drivers/video/imsttfb.c: add missing curly brackets in #if 0 inactivated function msttfb_load_cursor_image() the call eieio() occurs after rather than in the loop due to missing curly brackets. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e72b32d86841e4a4a3045d8e35a39eb53ce7ce2 Author: Michal Januszewski Date: Mon Apr 28 02:15:15 2008 -0700 uvesafb: don't treat valid modes returned byfb_find_mode() as errors Don't treat valid modes returned by fb_find_mode() (best-fit modes, default modes or the first valid mode) as errors. Currently, when fb_find_mode() finds a valid mode belonging to one of the above-mentioned classes, uvesafb will ignore it and will try to set a 640x480 video mode. The expected behaviour (introduced by this patch) would be to use the valid mode returned by fb_find_mode() instead. Signed-off-by: Michal Januszewski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0745ae7210c14e611a1fab2af820a4c2e447de5 Author: Jean Delvare Date: Mon Apr 28 02:15:14 2008 -0700 radeonfb: speed up the I2C buses There is no reason to drive the radeon I2C buses at such a low speed, so bump it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers already run their I2C bus at this speed. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc3bf466e4a0a53d5c78561594c9cb4225bbb481 Author: Jean Delvare Date: Mon Apr 28 02:15:13 2008 -0700 radeonfb: drop redundant RTRACE macro RTRACE() does exactly the same thing as the standard pr_debug() call, so just use the latter. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0313f89672eddf0188dac96bb8f83135510a45c Author: Jean Delvare Date: Mon Apr 28 02:15:12 2008 -0700 radeonfb: fix debug option Fix CONFIG_FB_RADEON_DEBUG. DEBUG must be defined before including any kernel header, otherwise dev_dbg() resolves to a no-op. Also, when debugging is disabled, don't set DEBUG at all instead of setting it to 0, to comply with what the kernel headers expect. Signed-off-by: Jean Delvare Acked-by: Benjamin Herrenschmidt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7a18c9c86d14247b514157aae60326d45695476 Author: Andreas Herrmann Date: Mon Apr 28 02:15:11 2008 -0700 radeonfb: use PCI device id in hex for name string Additionally provide PCI device id in character format if possible. (The printable characters were commonly used to identify the cards.) Signed-off-by: Andreas Herrmann Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af2afd247f0fae25d66f210fb800fe6a2958366e Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:10 2008 -0700 drivers/video/aty/aty128fb.c: fix incorrect usage of strncat in aty128_init() Fix incorrect length for strncat by replacing it with strlcat Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e3f0ca812ab8fa3f4e65ade41bf6fb936f14e15 Author: Krzysztof Helt Date: Mon Apr 28 02:15:10 2008 -0700 fbdev: add removed option "mode" to keep compatibility Add removed option "mode" to keep compatibility with existing setups. The option is back for pm2fb, tridentfb and vt8623fb drivers. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a81405439c4e9f710f75c41503cef5a5dbd39e4d Author: Krzysztof Helt Date: Mon Apr 28 02:15:09 2008 -0700 s3fb: add option mode_option Add the option "mode_option". It also moves mtrr variable to devinitdata section. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1abf91729faf2fd9b16b5987a68fb99fe5dcc75a Author: Krzysztof Helt Date: Mon Apr 28 02:15:08 2008 -0700 arkfb: add option mode_option Add the option "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc6c549c7a9808cc7a8a5afbfa54dbbd2262509d Author: Krzysztof Helt Date: Mon Apr 28 02:15:08 2008 -0700 vt8623fb: change option mode to mode_option Change the option "mode" into "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf6d880c358110f986e38114470f41908bc89a12 Author: Krzysztof Helt Date: Mon Apr 28 02:15:07 2008 -0700 update modedb.txt documentation about mode_option parameter change Add names of drivers converted to "mode_option" parameter. This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e65c613109f0600681f61f746a2dba8547190a6 Author: Krzysztof Helt Date: Mon Apr 28 02:15:07 2008 -0700 pm3fb: change option mode to mode_option Add the option "mode_option". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07f41e45f8c1caf366b382b6b9654ebd0a4efc90 Author: Krzysztof Helt Date: Mon Apr 28 02:15:06 2008 -0700 tridentfb: change option mode to mode_option Change the option "mode_option" into "mode". It also adds __init attribute to tridentfb_setup function. This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: Alain Kalker Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb81e808de6f49af1dd74db68876a79da1314a5 Author: Krzysztof Helt Date: Mon Apr 28 02:15:05 2008 -0700 pm2fb: change option mode to mode_option Change the option "mode_option" into "mode". This is one step toward changing all fb drivers to have common "mode_option" parameter. Signed-off-by: Krzysztof Helt Cc: Alain Kalker Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21b4d1db84a70175251d86078123cc27e46ff69d Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:15:04 2008 -0700 video/aty/atyfb_base.c: free when fb can't be registered Free buffer when the framebuffer can't be registered Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57a7a6db0eed2862072497116232f57a6843cadd Author: Peter Samuelson Date: Mon Apr 28 02:15:03 2008 -0700 fbmem: fix con2fbmap limit check Fix limit check in FBIOPUT_CON2FBMAP ioctl. Signed-off-by: Peter Samuelson Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6f448e99ce7955b9707ed36a46cab2c6ddf7ddc Author: Andres Salomon Date: Mon Apr 28 02:15:03 2008 -0700 PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch Prior to suspend, we allocate and switch to a new VT; after suspend, we switch back to the original VT. This can be slow, and is completely unnecessary if the framebuffer we're using can restore video properly. This adds a hook that allows drivers to select whether or not to do this vt switch, and changes the gxfb driver to call this hook. It also adds a module param to gxfb to allow controlling of the vt switch (defaulting to no switch). (Note: I'm not convinced that console_sem is the best way to protect this, but we should probably have some form of locking..) [akpm@linux-foundation.org: build fix] Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fb6f110dfc3fc99f44cf701f66ea3e790b6a81 Author: Andres Salomon Date: Mon Apr 28 02:15:02 2008 -0700 gxfb: add power management functionality This adds the ability to suspend/resume the gxfb driver, which includes: - The addition of a Graphics Processor register table in gxfb.h, and associated GP handling. - Register and palette saving code; registers are stored in gxfb_par. A few MSR values are saved as well. - gx_powerup and gx_powerdown functions which restore/save registers and enable/disable graphic engines. - gxfb_suspend/gxfb_resume Originally based on a patch by Jordan Crouse. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1b4cc3ec5f8ddbac57ada58cbab36f5a0be38eb Author: Andres Salomon Date: Mon Apr 28 02:15:01 2008 -0700 gxfb: stop sharing code with gx1fb We want to stop sharing stuff with gx1fb; it makes little sense. There were fields in geodefb_par that weren't being used, there was little point to the DC/VP ops callbacks, etc. This implements the following: - Create gxfb_par (based on geodefb_par), place it in gxfb.h - Drop display_gx.h and video_gx.h. The last few patches moved most stuff into gxfb.h anyways, so there was very little left. - Drop the geode_{dc,vid}_ops stuff. Un-static functions, add declarations to gxfb.h. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f1277bd1497858a05a80222a6e98f9c43343491 Author: Andres Salomon Date: Mon Apr 28 02:15:00 2008 -0700 gxfb: move MSR bit fields into gxfb.h This continues the gxfb header cleanups. MSRs are defined in geode.h; the specific bits we care about are defined in gxfb.h. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d255114f22e19b50cf45fcc70963e6a9f287ad40 Author: Andres Salomon Date: Mon Apr 28 02:14:59 2008 -0700 gxfb: clean up register definitions This does the following in preparation for register saving: - moves the register definitions from video_gx.h and display_gx.h into gxfb.h. - renames GX_* registers to match their section (ie, VP_). - renames register bitfields to match the data sheet (ie, DC_DCFG_TGEN -> DC_DISPLAY_CFG_TGEN). - for DC registers, rather than defining to specific addresses, use an enum to number them sequentially and just multiply by 4(bytes) to access them (in read_dc/write_dc). - for VP and FP registers, use an enum and multiple by 8 (bytes). They're 64bit registers. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab06aaf6a6d5de896e4c52e158be2881036cbee9 Author: Andres Salomon Date: Mon Apr 28 02:14:58 2008 -0700 gxfb: create DC/VP/FP-specific handlers rather than using readl/writel This creates read_dc/write_dc, read_vp/write_vp, and read_fp/write_fp for reading and updating those registers. It creates gxfb.h to house these. We also drop a no-op readl() from gx_set_mode. Other than that, there should be no functionality change. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa20c8a6e520d9ccd68c8101155ffdbc19c977c3 Author: Andres Salomon Date: Mon Apr 28 02:14:57 2008 -0700 gxfb: replace FBSIZE config option with a module parameter Use a command line option (vram) rather than hardcoding the vram size. LxFB already does this; it's useful for machines that can't query the BIOS for fb size. This patch originated from David Woodhouse, was modified by Jordan Crouse, and was then modified further by me. This also adds some gxfb documentation in Documentation/fb. Signed-off-by: Andres Salomon Cc: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a5e79098799a4bead070a9bd7f1a2213ba5eef5 Author: Andres Salomon Date: Mon Apr 28 02:14:57 2008 -0700 gxfb: use PCI_DEVICE() for gxfb's pci device table Drop the class/class_mask stuff; it's unnecessary as long as the vendor and device IDs match. Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2b118090969f153f134647acbcbbf01a9005e64 Author: Jordan Crouse Date: Mon Apr 28 02:14:56 2008 -0700 gxfb: don't enable the CRT DACs when we are in flatpanel mode When the FP strap is enabled, don't turn on the CRT DACs - that will save about 35 mA of power. Updated/cleaned up by Andres Salomon. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0a0c1f20f837221c0d990a54ae5426acf039036 Author: Jordan Crouse Date: Mon Apr 28 02:14:55 2008 -0700 gxfb: set the right registers to tweak the sync polarity While running in flatpanel mode it is important to change the FP sync bits (VG register 0x408) rather then the CRT sync bits (VG register 0x008). This patch keeps the CRT sync bits at default when a flatpanel exists. Note that this also fixes inverted logic; we want CRT_VSYNC_POL to be set (ie, vsync is normally high) when FB_SYNC_VERT_HIGH_ACT is unset. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9338364e6989ca2707638c7c70ae22975b0bb6c Author: Andres Salomon Date: Mon Apr 28 02:14:54 2008 -0700 x86: GEODE: add Virtual Systems Architecture detection This is generic VSA2 detection. It's used by OLPC to determine whether or not the BIOS contains VSA2, but since other BIOSes are coming out that don't use the VSA (ie, tinybios), it might end up being useful for others. Signed-off-by: Andres Salomon Acked-by: Alan Cox Cc: Jordan Crouse Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32bf87e3697cf2f730b8fbf47cad903ceef718a2 Author: Andres Salomon Date: Mon Apr 28 02:14:53 2008 -0700 x86: geode: MSR cleanup This cleans up a few MSR-using drivers in the following manner: - Ensures MSRs are all defined in asm/geode.h, rather than in misc places - Makes the naming consistent; cs553[56] ones begin with MSR_, GX-specific ones start with MSR_GX_, and LX-specific ones start with MSR_LX_. Also, make the names match the data sheet. - Use MSR names rather than numbers in source code - Document the fact that the LX's MSR_PADSEL has the wrong value in the data sheet. That's, uh, good to note. Signed-off-by: Andres Salomon Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22af89aa0c0b4012a7431114a340efd3665a7617 Author: Harvey Harrison Date: Mon Apr 28 02:14:53 2008 -0700 fbcon: replace mono_col macro with static inline Use __u32 for max_len to match the declaration of length in the struct fb_bitfield. Suppresses sparse shadowed variable warnings from the nested max() macros: drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here drivers/video/console/fbcon.h:130:8: warning: symbol '_x' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here drivers/video/console/fbcon.h:130:8: warning: symbol '_y' shadows an earlier one drivers/video/console/fbcon.h:130:8: originally declared here [akpm@linux-foundation.org: fix constness] Signed-off-by: Harvey Harrison Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ae09f0da1cd0c8c646edea2e68356e76789461c Author: Krzysztof Helt Date: Mon Apr 28 02:14:51 2008 -0700 pm2fb: correct error values returned from probe function Fix error values returned in some code branches in the pm2fb_probe() function. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 416e74ea7813597b586eafc24f67779eeb86e12f Author: Julia Lawall Date: Mon Apr 28 02:14:51 2008 -0700 fbdev: use DIV_ROUND_UP or roundup The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f29b87a7779505288a31df16ba84a85fc1ae93c Author: Anton Vorontsov Date: Mon Apr 28 02:14:50 2008 -0700 powerpc: offb: add support for foreign endianness Signed-off-by: Anton Vorontsov Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c690e061b909127ab0f12e929f82f3f39ec953 Author: Anton Vorontsov Date: Mon Apr 28 02:14:49 2008 -0700 fb: add support for foreign endianness Add support for the framebuffers with non-native endianness. This is done via FBINFO_FOREIGN_ENDIAN flag that will be used by the drivers. Depending on the host endianness this flag will be overwritten by FBINFO_BE_MATH internal flag, or cleared. Tested to work on MPC8360E-RDK (BE) + Fujitsu MINT framebuffer (LE). Signed-off-by: Anton Vorontsov Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Cc: Clemens Koller Cc: Krzysztof Helt Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b745b6fd02213f4b2fef2f2635985929fc5b8cc Author: Michal Januszewski Date: Mon Apr 28 02:14:48 2008 -0700 fbdev: make the best-fit section of fb_find_mode return the closest matching mode Currently, if a perfect match in terms of resolution is not found, fb_find_mode() only looks for a best-fit mode among modes with a higher resolution than the one requested. Thus, if the user requests a resolution higher than the largest supported one, they are dropped to the default mode (usually a low resolution one). Change this behaviour so that all valid video modes are considered when looking for a best-fit mode, while still preferring modes with a higher resolution. Signed-off-by: Michal Januszewski Cc: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 169b6a7a6e91e1ea32136681b475cbaf2074bf35 Author: Anton Vorontsov Date: Mon Apr 28 02:14:47 2008 -0700 gpiochip_reserve() Add a new function gpiochip_reserve() to reserve ranges of gpios that platform code has pre-allocated. That is, this marks gpio numbers which will be claimed by drivers that haven't yet been loaded, and thus are not available for dynamic gpio number allocation. [akpm@linux-foundation.org: remove unneeded __must_check] [david-b@pacbell.net: don't export gpiochip_reserve (section fix)] Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d0aab2f16c4fa170f32e7a74a52cd0122bbafef Author: Anton Vorontsov Date: Mon Apr 28 02:14:46 2008 -0700 gpiolib: dynamic gpio number allocation If gpio_chip->base is negative during registration, gpiolib performs dynamic base allocation. This is useful for devices that aren't always present, such as GPIOs on hotplugged devices rather than mainboards. (This behavior was previously specified but not implemented.) To avoid using any numbers that may have been explicitly assigned but not yet registered, this dynamic allocation assigns GPIO numbers from the biggest number on down, instead of from the smallest on up. Signed-off-by: Anton Vorontsov Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6de1808f8ebfeb7e49f3c5a30cb8f2032beb287 Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:46 2008 -0700 gpio: define gpio_is_valid() Introduce a gpio_is_valid() predicate; use it in gpiolib. Signed-off-by: Guennadi Liakhovetski [ use inline function; follow the gpio_* naming convention; work without gpiolib; all programming interfaces need docs ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d72cbed0c486e3db8b56380635f8e845073ce63a Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:45 2008 -0700 gpiolib: i2c/spi drivers: handle rmmod better Use the newly introduced owner field in struct gpio_chip to protect the current (small) set of non-SOC GPIO drivers from being unloaded while any of their GPIOs are in use. Signed-off-by: Guennadi Liakhovetski [ add mcp23s08 and pcf857x ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 438d8908b379b6322fc3b28d45c9ebdddf58bc20 Author: Guennadi Liakhovetski Date: Mon Apr 28 02:14:44 2008 -0700 gpiolib: better rmmod infrastructure As long as one or more GPIOs on a gpio chip are used its driver should not be unloaded. The existing mechanism (gpiochip_remove failure) doesn't address that, since rmmod can no longer be made to fail by having the cleanup code report errors. Module usecounts are the solution. Assuming standard "initialize struct to zero" policies, this change won't affect SOC platform drivers. However, drivers for external chips (on I2C and SPI busses) should be updated if they can be built as modules. Signed-off-by: Guennadi Liakhovetski [ gpio_ensure_requested() needs to update module usecounts too ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73fcdc9e15c27bb92595c611c8938a36645ea20d Author: Ilpo Järvinen Date: Mon Apr 28 02:14:43 2008 -0700 i2o: remove static inline forward declarations Nothing in between of them and the later declaration with body needs them. Signed-off-by: Ilpo Järvinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37772ac0fcc6728df47e6b0609766b7b77a8064b Author: Robert P. J. Day Date: Mon Apr 28 02:14:42 2008 -0700 isdn: rename CONFIG_AVMB1_COMPAT to not look like a Kconfig variable Since CONFIG_AVMB1_COMPAT is not a Kconfig variable, move it out of the Kconfig namespace. Signed-off-by: Robert P. J. Day Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c24e9b3fa3fdfca3834eba0bb217c8c197a43b7e Author: Cyrill Gorcunov Date: Mon Apr 28 02:14:41 2008 -0700 capifs: fix memory leak on remount capifs_remount may reach 'return' statement without freeing of memory allocated by kstrdup call Signed-off-by: Cyrill Gorcunov Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30d55e71a81b1f5a8136f191dc9f4c21f18e77e6 Author: Bjorn Helgaas Date: Mon Apr 28 02:14:41 2008 -0700 hisax: depend on CONFIG_PNP, not __ISAPNP__ The PNP driver interfaces depend on CONFIG_PNP, so test that rather than __ISAPNP__. Signed-off-by: Bjorn Helgaas Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3429545d03a553c6a3e9fcf60ddea31819848ad Author: Robert P. J. Day Date: Mon Apr 28 02:14:40 2008 -0700 isdn: fix obvious cut-and-paste error in st5481_usb.c Fix a rather obvious cut-and-paste error, where earlier code for the controller URB got somehow mixed in with code for the interrupt URB. Signed-off-by: Robert P. J. Day Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 156f1ed640170d70c9fc8e5f6f797ea1f2a1653b Author: Harvey Harrison Date: Mon Apr 28 02:14:40 2008 -0700 isdn: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd58c0dd30ac761837b1d0d8cc434c7ec7b2df68 Author: Harvey Harrison Date: Mon Apr 28 02:14:39 2008 -0700 eicon: fix sparse integer as NULL pointer warnings drivers/isdn/hardware/eicon/message.c:745:47: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:761:45: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9122:16: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9147:16: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/message.c:9173:14: warning: Using plain integer as NULL pointer drivers/isdn/hardware/eicon/divasmain.c:396:23: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e44b29da5300f4698c41b5fd2d1ce52c28e2148 Author: Harvey Harrison Date: Mon Apr 28 02:14:38 2008 -0700 avm: fix sparse warning using integer as NULL pointer drivers/isdn/hardware/avm/b1isa.c:206:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1isa.c:208:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:664:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:666:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:668:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:791:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1.c:793:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pci.c:385:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pci.c:387:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:886:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:888:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:890:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:973:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1dma.c:975:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pcmcia.c:204:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/b1pcmcia.c:206:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1isa.c:554:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1isa.c:556:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1pci.c:236:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/t1pci.c:238:33: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1091:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1093:44: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1095:42: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1170:21: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1294:37: warning: Using plain integer as NULL pointer drivers/isdn/hardware/avm/c4.c:1296:33: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f9e9b6db31d96fe4e8b519b8aab1ba172dd3ddf Author: Harvey Harrison Date: Mon Apr 28 02:14:37 2008 -0700 capi: fix sparse warnings using integer as NULL pointer drivers/isdn/capi/kcapi.c:829:30: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:838:27: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:954:17: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:1007:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/kcapi.c:1009:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capiutil.c:453:24: warning: Using plain integer as NULL pointer drivers/isdn/capi/capilib.c:47:30: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:353:29: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:369:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:486:48: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:515:46: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:541:47: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:692:47: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:699:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:704:14: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:943:53: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:948:32: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:969:42: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:989:48: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1026:69: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1028:19: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1061:20: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1529:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capi.c:1531:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:338:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:758:32: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:880:40: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:407:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:407:15: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:444:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:429:49: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:1664:61: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:1969:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2294:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2297:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2338:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capidrv.c:2341:33: warning: Using plain integer as NULL pointer drivers/isdn/capi/capifs.c:192:37: warning: Using plain integer as NULL pointer drivers/isdn/capi/capifs.c:194:33: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Karsten Keil Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50f8c370e77befe9121720bd7bdada2ac0d13915 Author: Andrew Morton Date: Mon Apr 28 02:14:35 2008 -0700 quota: convert stub functions from macros into inlines Fixes things like this: fs/super.c: In function `deactivate_super': fs/super.c:182: warning: statement with no effect fs/super.c: In function `do_remount_sb': fs/super.c:644: warning: statement with no effect Cc: Jan Kara Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b445a9c21f593be9d3c4ab912359d2c51c371dd Author: Jan Kara Date: Mon Apr 28 02:14:35 2008 -0700 quota: reiserfs: make reiserfs handle quotaon on remount Update reiserfs to handle quotaon on remount RW. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f28e08794749f3431e89302728e612343d9d9e4 Author: Jan Kara Date: Mon Apr 28 02:14:34 2008 -0700 quota: ext4: make ext4 handle quotaon on remount Update ext4 to handle quotaon on remount RW. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fd83a4f3cd5a725168e3a269746dfce2adfa56a Author: Jan Kara Date: Mon Apr 28 02:14:34 2008 -0700 quota: ext3: make ext3 handle quotaon on remount Update ext3 handle quotaon on remount RW. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ff5af8340aa6be44220d7237ef4a654314cf795 Author: Jan Kara Date: Mon Apr 28 02:14:33 2008 -0700 quota: quota core changes for quotaon on remount Currently, we just turn quotas off on remount of filesystem to read-only state. The patch below adds necessary framework so that we can turn quotas off on remount RO but we are able to automatically reenable them again when filesystem is remounted to RW state. All we need to do is to keep references to inodes of quota files when remounting RO and using these references to reenable quotas when remounting RW. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f6e92bdd467aed9d7571a571868563ae6ad288 Author: Jan Kara Date: Mon Apr 28 02:14:32 2008 -0700 quota: various style cleanups Cleanups in quota code: Change __inline__ to inline. Change some macros to inline functions. Remove vfs_quota_off_mount() macro. DQUOT_OFF() should be (0) is CONFIG_QUOTA is disabled. Move declaration of mark_dquot_dirty and dirty_dquot from quota.h to dquot.c [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8794b5b246cf6f67baf57bd9db386e79ca5cac33 Author: Jan Kara Date: Mon Apr 28 02:14:32 2008 -0700 quota: remove superfluous DQUOT_OFF() in fs/namespace.c We don't need to turn quotas off before remounting root ro, because do_remount_sb() already handles this. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 338bf9afda91ec005a1e9a0de4af0271cc167d56 Author: Andrew Perepechko Date: Mon Apr 28 02:14:31 2008 -0700 quota: do not allow setting of quota limits to too high values We should check whether quota limits set via Q_SETQUOTA are not exceeding limits which quota format is able to handle. Signed-off-by: Andrew Perepechko Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0cb4caefeca6fe6b05c6c5a76e9c633b44c58f Author: Masami Hiramatsu Date: Mon Apr 28 02:14:30 2008 -0700 kprobes: update document about batch registration Add the description of batch registration interfaces to Documentation/kprobes.txt. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26b31c1908e02a316edfba08080373342e662c14 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:29 2008 -0700 kprobes: add (un)register_jprobes for batch registration Introduce unregister_/register_jprobes() for jprobe batch registration. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a296e07c3a410c09b9155da4c2fa84a07964f38 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:29 2008 -0700 kprobes: add (un)register_kretprobes for batch registration Introduce unregister_/register_kretprobes() for kretprobe batch registration. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9861668f747895608cea425f8457989d8dd2edf2 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:28 2008 -0700 kprobes: add (un)register_kprobes for batch registration Introduce unregister_/register_kprobes() for kprobe batch registration. This can reduce waiting time for synchronized_sched() when a lot of probes have to be unregistered at once. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Prasanna S Panchamukhi Cc: Shaohua Li Cc: David Miller Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99602572812442d47403d85f376ad51298dd82a6 Author: Masami Hiramatsu Date: Mon Apr 28 02:14:27 2008 -0700 list.h: add list_is_singular() Add list_is_singular() to check a list has just one entry. list_is_singular() is useful to check whether a list_head which have been temporarily allocated for listing objects can be released or not. Signed-off-by: Masami Hiramatsu Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d8d996e0ca5b4093203d3f050b0f70b5c949ae8 Author: Srinivasa Ds Date: Mon Apr 28 02:14:26 2008 -0700 kprobes: prevent probing of preempt_schedule() Prohibit users from probing preempt_schedule(). One way of prohibiting the user from probing functions is by marking such functions with __kprobes. But this method doesn't work for those functions, which are already marked to different section like preempt_schedule() (belongs to __sched section). So we use blacklist approach to refuse user from probing these functions. In blacklist approach we populate the blacklisted function's starting address and its size in kprobe_blacklist structure. Then we verify the user specified address against start and end of the blacklisted function. So any attempt to register probe on blacklisted functions will be rejected. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Srinivasa DS Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Jim Keniston Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0341a4d0fdd2a0a3d9e2bb3a9afef9f8292c8502 Author: Karl Dahlke Date: Mon Apr 28 02:14:25 2008 -0700 VT notifier extension for accessibility Some accessibility modules need to be able to catch the output on the console before the VT interpretation, and possibly swallow it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7440b0ecdeb3a04d07c546d02d29700d2a574b7 Author: Robert P. J. Day Date: Mon Apr 28 02:14:24 2008 -0700 mfd: use shorter set_current_state() Since this routine declares a separate "tsk" pointer for no other reason than to call set_task_state(), get rid of it and just invoke set_current_state(). Signed-off-by: Robert P. J. Day Cc: Russell King Cc: Dmitry Torokhov Cc: Nicolas Pitre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61711f8fd8180e458cfb6846bcf4fc636a95f3db Author: Magnus Damm Date: Mon Apr 28 02:14:22 2008 -0700 sm501: add uart support This patch extends the sm501 mfd with 8250 uart support. We're currently doing this in the board specific r2d-1 code already, but it would be nice to do move things into the mfd since it's more chip specific than board specific. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d9f3f6b7c4c9fe1706006f24f964e7c0fa49fb7 Author: Andrea Paterniani Date: Mon Apr 28 02:14:21 2008 -0700 spi: spi_imx updates Updates to the i.MX SPI controller driver: 1) Some comments changed and/or added. 2) End of transfers is now managed on TXFIFO empty interrupt after the last write to TXFIFO. This speeds interrupt execution by removing the wait for TXFIFO to become empty. On TXFIFO empty interrupt the handler needs only to poll for the end of the ongoing transaction (SPI_CONTROL_XCH) to close the transfer. (2.1) Write only transfers are closed flushing RXFIFO. (2.2) Read transfers are closed reading trailing bytes from RXFIFO. (2.3) Read transfers where RXFIFO overrun occurred are closed by flushing RXFIFO and aborting the message. 3) Fifos are now flushed via SPI disable after the end of ongoing transaction. Signed-off-by: Andrea Paterniani Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06719814780da741e7acf587367a86c3965c03a2 Author: Atsushi Nemoto Date: Mon Apr 28 02:14:19 2008 -0700 atmel_spi: support zero length transfer A spi transfer with zero length is not invalid. For example, such transfer (len == 0 && delay_usecs != 0) can be used to achieve delay before first CLK edge after chipselect assertion. Signed-off-by: Atsushi Nemoto Cc: Haavard Skinnemoen Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b687d2a8f8d46921ac5e80bf77967688afce68e2 Author: Harvey Harrison Date: Mon Apr 28 02:14:19 2008 -0700 spi: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a16294261a897ab7f59a5c26e4935a851fd410 Author: Randy Dunlap Date: Mon Apr 28 02:14:18 2008 -0700 documentation: move spidev_fdx example to its own source file Move sample source code to its own source file so that it can be used easier and build-tested/check/maintained by anyone. (Makefile changes are in a separate patch for all of Documentation/.) Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf43369d55a30a0d8f9ef4700c798c72dbd3afb7 Author: David Brownell Date: Mon Apr 28 02:14:17 2008 -0700 spi: pxa2xx_spi "sparse" fixes Various cleanups to pxa2xx_spi suggested by "sparse": make sure that register addresess are "void __iomem *", and make a few functions properly static. Signed-off-by: David Brownell Cc: Ned Forrester Cc: Stephen Street Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79d8c7a8c888a7c2ab9dd4249495b24575b3f9a6 Author: Alessandro Guido Date: Mon Apr 28 02:14:16 2008 -0700 spi: use menuconfig for CONFIG_SPI Signed-off-by: Alessandro Guido Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608dfddd845da5ab6accef70154c8910529699f7 Author: Mike Travis Date: Mon Apr 28 02:14:15 2008 -0700 oprofile: change cpu_buffer from array to per_cpu variable Change cpu_buffer from array to per_cpu variable in oprofile functions. [akpm@linux-foundation.org: coding-style fixes] Cc: Philippe Elie Signed-off-by: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ae9392c0a3bc01562361bb21e23dfb2e5c81c5a Author: Thomas Petazzoni Date: Mon Apr 28 02:14:14 2008 -0700 x86: configurable DMI scanning code Turn CONFIG_DMI into a selectable option if EMBEDDED is defined, in order to be able to remove the DMI table scanning code if it's not needed, and then reduce the kernel code size. With CONFIG_DMI (i.e before) : text data bss dec hex filename 1076076 128656 98304 1303036 13e1fc vmlinux Without CONFIG_DMI (i.e after) : text data bss dec hex filename 1068092 126308 98304 1292704 13b9a0 vmlinux Result: text data bss dec hex filename -7984 -2348 0 -10332 -285c vmlinux The new option appears in "Processor type and features", only when CONFIG_EMBEDDED is defined. This patch is part of the Linux Tiny project, and is based on previous work done by Matt Mackall . Signed-off-by: Thomas Petazzoni Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Anvin" Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d83fd8a26769c75d51a6b05d8dcb3e36302dd8ba Author: Andrew Morton Date: Mon Apr 28 02:14:13 2008 -0700 drivers/acpi/thermal.c: fix build with CONFIG_DMI=n drivers/acpi/thermal.c: In function 'acpi_thermal_init': drivers/acpi/thermal.c:1794: error: 'thermal_dmi_table' undeclared (first use in this function) drivers/acpi/thermal.c:1794: error: (Each undeclared identifier is reported only once drivers/acpi/thermal.c:1794: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e10efefaae45989f2f143bacfef75af55068378 Author: Michael Trimarchi Date: Mon Apr 28 02:14:11 2008 -0700 atmel_serial: remove duplicated macro definition After commit 39d4c922b596633da86878b1a5cc881785b8e5fa (atmel_serial: fix uart/console concurrent access) the UART_GET_TCR macro got redefined. This patch removes the duplicated definition. Signed-off-by: michael trimarchi Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1ec61e6686c3c137aae33a11518b8e629e9c179 Author: Julia Lawall Date: Mon Apr 28 02:14:10 2008 -0700 serial: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c194d9278efc15d4785ff205643e9c0bdcef53 Author: Alex Williamson Date: Mon Apr 28 02:14:09 2008 -0700 serial 8250: tighten test for using backup timer Thomas Koeller had reported an issue where a device that had been making use of the UART_BUG_TXEN code in the 8250 driver was mistakenly being caught by the backup timer test, causing the device to work improperly. To fix this, tighten the test requirements to enable the backup timer workaround. The backup timer is really meant to catch UARTs that don't re-assert the THRE interrupt. The expectation is that they do initially assert THRE. This patch clarifies the test. Signed-off-by: Alex Williamson Cc: Thomas Koeller Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3f341b5a1a3f26ec8ed74a38234db7d0d1bae1 Author: Yoichi Yuasa Date: Mon Apr 28 02:14:08 2008 -0700 serial: add VR41xx SIU setup for serial console Add VR41xx SIU setup for serial console. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baac58955d6933571f29126a1a95299b421faef7 Author: Yoichi Yuasa Date: Mon Apr 28 02:14:08 2008 -0700 serial: add vr41xx_siu_early_setup() for serial console Add vr41xx_siu_early_setup() for serial console. Signed-off-by: Yoichi Yuasa Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb424fd21c0931e998156225f2a0910167c3e16c Author: Alan Cox Date: Mon Apr 28 02:14:07 2008 -0700 uart_get_baud_rate: stop mangling termios Russell King noticed this one: We have to avoid replacing B0 when we pick a baud rate for a "hung up" port. Ugly but the proper fix is in the tty layer and means changing the tty<->serial interfaces so we will defer that for now. [akpm@linux-foundation.org: fix uninitialised var] Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e991a2bd4fa0b2f475b67dfe8f33e8ecbdcbb40b Author: Alan Cox Date: Mon Apr 28 02:14:06 2008 -0700 Fix tty speed handling on 8250 We try and write the correct speed back but the serial midlayer already mangles the speed on us and that means if we request B0 we report back B9600 when we should not. For now we'll hack around this in the drivers and serial code, pending a better long term solution. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce9f9f73af0338a680d66288cbf0efe4b900e78b Author: Harvey Harrison Date: Mon Apr 28 02:14:05 2008 -0700 char: make functions static in synclinkmp.c All were forward declared with static. Fixes sparse warnings: drivers/char/synclinkmp.c:1476:5: warning: symbol 'read_proc' was not declared. Should it be static? drivers/char/synclinkmp.c:2027:5: warning: symbol 'bh_action' was not declared. Should it be static? drivers/char/synclinkmp.c:2058:6: warning: symbol 'bh_handler' was not declared. Should it be static? drivers/char/synclinkmp.c:2103:6: warning: symbol 'bh_receive' was not declared. Should it be static? drivers/char/synclinkmp.c:2112:6: warning: symbol 'bh_transmit' was not declared. Should it be static? drivers/char/synclinkmp.c:2124:6: warning: symbol 'bh_status' was not declared. Should it be static? drivers/char/synclinkmp.c:2136:6: warning: symbol 'isr_timer' was not declared. Should it be static? drivers/char/synclinkmp.c:2162:6: warning: symbol 'isr_rxint' was not declared. Should it be static? drivers/char/synclinkmp.c:2221:6: warning: symbol 'isr_rxrdy' was not declared. Should it be static? drivers/char/synclinkmp.c:2351:6: warning: symbol 'isr_txint' was not declared. Should it be static? drivers/char/synclinkmp.c:2379:6: warning: symbol 'isr_txrdy' was not declared. Should it be static? drivers/char/synclinkmp.c:2410:6: warning: symbol 'isr_rxdmaok' was not declared. Should it be static? drivers/char/synclinkmp.c:2427:6: warning: symbol 'isr_rxdmaerror' was not declared. Should it be static? drivers/char/synclinkmp.c:2445:6: warning: symbol 'isr_txdmaok' was not declared. Should it be static? drivers/char/synclinkmp.c:2463:6: warning: symbol 'isr_txdmaerror' was not declared. Should it be static? drivers/char/synclinkmp.c:2480:6: warning: symbol 'isr_io_pin' was not declared. Should it be static? drivers/char/synclinkmp.c:3420:5: warning: symbol 'alloc_dma_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3494:5: warning: symbol 'alloc_buf_list' was not declared. Should it be static? drivers/char/synclinkmp.c:3553:5: warning: symbol 'alloc_frame_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3570:6: warning: symbol 'free_dma_bufs' was not declared. Should it be static? drivers/char/synclinkmp.c:3580:5: warning: symbol 'alloc_tmp_rx_buf' was not declared. Should it be static? drivers/char/synclinkmp.c:3588:6: warning: symbol 'free_tmp_rx_buf' was not declared. Should it be static? drivers/char/synclinkmp.c:3594:5: warning: symbol 'claim_resources' was not declared. Should it be static? drivers/char/synclinkmp.c:3681:6: warning: symbol 'release_resources' was not declared. Should it be static? drivers/char/synclinkmp.c:3737:6: warning: symbol 'add_device' was not declared. Should it be static? drivers/char/synclinkmp.c:3860:6: warning: symbol 'device_init' was not declared. Should it be static? drivers/char/synclinkmp.c:4054:6: warning: symbol 'enable_loopback' was not declared. Should it be static? drivers/char/synclinkmp.c:4101:6: warning: symbol 'set_rate' was not declared. Should it be static? drivers/char/synclinkmp.c:4147:6: warning: symbol 'rx_stop' was not declared. Should it be static? drivers/char/synclinkmp.c:4168:6: warning: symbol 'rx_start' was not declared. Should it be static? drivers/char/synclinkmp.c:4225:6: warning: symbol 'tx_start' was not declared. Should it be static? drivers/char/synclinkmp.c:4295:6: warning: symbol 'tx_stop' was not declared. Should it be static? drivers/char/synclinkmp.c:4322:6: warning: symbol 'tx_load_fifo' was not declared. Should it be static? drivers/char/synclinkmp.c:4371:6: warning: symbol 'reset_port' was not declared. Should it be static? drivers/char/synclinkmp.c:4395:6: warning: symbol 'reset_adapter' was not declared. Should it be static? drivers/char/synclinkmp.c:4407:6: warning: symbol 'async_mode' was not declared. Should it be static? drivers/char/synclinkmp.c:4546:6: warning: symbol 'hdlc_mode' was not declared. Should it be static? drivers/char/synclinkmp.c:4748:6: warning: symbol 'tx_set_idle' was not declared. Should it be static? drivers/char/synclinkmp.c:4768:6: warning: symbol 'get_signals' was not declared. Should it be static? drivers/char/synclinkmp.c:4797:6: warning: symbol 'set_signals' was not declared. Should it be static? drivers/char/synclinkmp.c:4826:6: warning: symbol 'rx_reset_buffers' was not declared. Should it be static? drivers/char/synclinkmp.c:4837:6: warning: symbol 'rx_free_frame_buffers' was not declared. Should it be static? drivers/char/synclinkmp.c:4865:5: warning: symbol 'rx_get_frame' was not declared. Should it be static? drivers/char/synclinkmp.c:5040:6: warning: symbol 'tx_load_dma_buffer' was not declared. Should it be static? drivers/char/synclinkmp.c:5080:5: warning: symbol 'register_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5119:5: warning: symbol 'irq_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5211:5: warning: symbol 'init_adapter' was not declared. Should it be static? drivers/char/synclinkmp.c:5270:5: warning: symbol 'loopback_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5335:5: warning: symbol 'adapter_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5397:5: warning: symbol 'memory_test' was not declared. Should it be static? drivers/char/synclinkmp.c:5449:6: warning: symbol 'load_pci_memory' was not declared. Should it be static? drivers/char/synclinkmp.c:5468:6: warning: symbol 'trace_block' was not declared. Should it be static? drivers/char/synclinkmp.c:5503:6: warning: symbol 'tx_timeout' was not declared. Should it be static? drivers/char/synclinkmp.c:5530:6: warning: symbol 'status_timeout' was not declared. Should it be static? drivers/char/synclinkmp.c:5581:15: warning: symbol 'read_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5586:6: warning: symbol 'write_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5592:5: warning: symbol 'read_reg16' was not declared. Should it be static? drivers/char/synclinkmp.c:5598:6: warning: symbol 'write_reg16' was not declared. Should it be static? drivers/char/synclinkmp.c:5604:15: warning: symbol 'read_status_reg' was not declared. Should it be static? drivers/char/synclinkmp.c:5610:6: warning: symbol 'write_control_reg' was not declared. Should it be static? Signed-off-by: Harvey Harrison Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fab6de09c71a976e5d765e1ff548b14be385153 Author: Joe Perches Date: Mon Apr 28 02:14:02 2008 -0700 synclink drivers bool conversion Remove more TRUE/FALSE defines and uses Remove == TRUE tests Convert BOOLEAN to bool Convert int to bool where appropriate Signed-off-by: Joe Perches Acked-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a63ce5a1f2fde5ae737f059e2714e441447120c Author: Sam Ravnborg Date: Mon Apr 28 02:14:02 2008 -0700 serial: silence section mismatch warnings in 8250_pci Fix following warnings: WARNING: drivers/serial/built-in.o(.data+0x5b8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_ite887x_exit() WARNING: drivers/serial/built-in.o(.data+0x5e0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x608): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x658): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x680): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x6a8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() WARNING: drivers/serial/built-in.o(.data+0x6d0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x6f8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x720): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() WARNING: drivers/serial/built-in.o(.data+0x748): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit() pci_serial_quirks contains a number of function pointers where the referenced function is annotated __devexit. This is OK so we annotate pci_serial_quirks with __refdata to ignore the __devexit references Signed-off-by: Sam Ravnborg Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eee3754f5e45bd27e001ea41823bdbcdd0d192d4 Author: Harvey Harrison Date: Mon Apr 28 02:14:01 2008 -0700 ncpfs: fix sparse warning in ncpsign_kernel.c We're casting anyway, might as well cast to the correct sign. Specific to i386 (ifdef __i386__) fs/ncpfs/ncpsign_kernel.c:58:23: warning: incorrect type in initializer (different signedness) fs/ncpfs/ncpsign_kernel.c:58:23: expected unsigned int *data2 fs/ncpfs/ncpsign_kernel.c:58:23: got int * Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 305787e44ebc21d87ab4d4949da5b97d4252aa9b Author: Harvey Harrison Date: Mon Apr 28 02:14:00 2008 -0700 ncpfs: fix sparse warnings in ioctl.c In both cases, these inode variables arebeing used to test the server's root inode against NULL. Change them to s_inode. fs/ncpfs/ioctl.c:391:18: warning: symbol 'inode' shadows an earlier one fs/ncpfs/ioctl.c:264:28: originally declared here fs/ncpfs/ioctl.c:441:17: warning: symbol 'inode' shadows an earlier one fs/ncpfs/ioctl.c:264:28: originally declared here In this case, we are about to return anyway, just reuse result. fs/ncpfs/ioctl.c:521:8: warning: symbol 'result' shadows an earlier one fs/ncpfs/ioctl.c:268:6: originally declared here Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdf8803768db6f652d498628fe1421a23c025253 Author: Harvey Harrison Date: Mon Apr 28 02:13:59 2008 -0700 ncpfs: add prototypes to ncp_fs.h Removes some externs from C files, noticed from the sparse warnings: fs/ncpfs/dir.c:90:26: warning: symbol 'ncp_root_dentry_operations' was not declared. Should it be static? fs/ncpfs/symlink.c:107:5: warning: symbol 'ncp_symlink' was not declared. Should it be static? fs/ncpfs/symlink.c:101:39: warning: symbol 'ncp_symlink_aops' was not declared. Should it be static? Signed-off-by: Harvey Harrison Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc62b1b6408396d5f6c13ed585adc87b2e296f9 Author: WANG Cong Date: Mon Apr 28 02:13:58 2008 -0700 uml: clean up arch/um/drivers/ubd_kern.c Make some global functions and variables static. And remove some useless declarations for local functions, since we just need to move their definitions ahead. [jdike@addtoit.com: checkpatch cleanups] Signed-off-by: WANG Cong Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4415d8a5aaec2008833e1c474b38627c0bc738ca Author: WANG Cong Date: Mon Apr 28 02:13:57 2008 -0700 arch/um/os-Linux/sys-i386/task_size.c: improve a bit Improve this code a bit: check sigaction's return value and remove a useless fflush(). Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074a0db8e17ae271736148809c5f9d47dec2d993 Author: WANG Cong Date: Mon Apr 28 02:13:57 2008 -0700 uml: make several things static Make several things static, because they no longer need to be global. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1605ec044300d0fd5d27fd0b6879ee14b104aebd Author: WANG Cong Date: Mon Apr 28 02:13:56 2008 -0700 uml: make three functions static Make the following three functions static, since they don't need to be global. arch/um/drivers/mcast_kern.c::mcast_setup() arch/um/drivers/mconsole_user.c::mconsole_reply_v0() arch/um/drivers/port_user.c::port_pre_exec() Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02d324b15dfa31b3b1025fb5abda08a8ee23ce84 Author: WANG Cong Date: Mon Apr 28 02:13:56 2008 -0700 uml: remove a useless function arch/um/drivers/chan_kern.c::chan_out_fd() is not used by anyone. Remove it. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3af7cb7bbcf0872b749a32bb48a7bc11f33bcd8c Author: WANG Cong Date: Mon Apr 28 02:13:55 2008 -0700 uml: make a function static arch/um/drivers/chan_kern.c::open_chan() can become static. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 626c59f5edb284027bfe25cc15e7de2f532090b5 Author: WANG Cong Date: Mon Apr 28 02:13:53 2008 -0700 arch/um/os-Linux/start_up.c: various improvements. - lets ptrace_child become void - adds checking for the return value of change_sig - moves errors info into stderr instead of stdout. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3595726ac349ca9682703535e9a999c4f08c2d80 Author: Harvey Harrison Date: Mon Apr 28 02:13:53 2008 -0700 uml: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3af9c5bed1b8f284f3d7d479c77adf60ad059e91 Author: WANG Cong Date: Mon Apr 28 02:13:52 2008 -0700 arch/um/kernel/um_arch.c: some small improvements Make some small improvements for arch/um/kernel/um_arch.c. Signed-off-by: WANG Cong Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16a26ef5ad31b59c521bd9becccaee84c0157326 Author: KOSAKI Motohiro Date: Mon Apr 28 02:13:51 2008 -0700 cris: add constfy to pgd_offset() add constfy to pgd_offset() for avoid following warnings. CC mm/pagewalk.o mm/pagewalk.c: In function 'walk_page_range': mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from p\ ointer target type Signed-off-by: KOSAKI Motohiro Cc: Matt Mackall Cc: "Vegard Nossum" Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fd284fd976232dbd0d0dc94e07c91e50e2898b2 Author: Johannes Weiner Date: Mon Apr 28 02:13:51 2008 -0700 cris: remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 032c17e8afa150412810ffc19913ecd5eb531d57 Author: Alan Cox Date: Mon Apr 28 02:13:50 2008 -0700 crisv10: prepare for BKL push down Just the modem bits this time Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f85e7cdc3fd0db65ef1442476b82ced0f01c5c19 Author: Harvey Harrison Date: Mon Apr 28 02:13:49 2008 -0700 m68k: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6feef6e5f23d5a3d8a614ab8ea392dfa54c7365c Author: Johannes Weiner Date: Mon Apr 28 02:13:48 2008 -0700 m68k: remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed6b9b97f42c091630335bfb71a2931e6f86388b Author: Andrew Morton Date: Mon Apr 28 02:13:48 2008 -0700 alpha: teach the compiler that BUG doesn't return Fix things like this: security/selinux/netnode.c: In function 'sel_netnode_find': security/selinux/netnode.c:126: warning: 'idx' may be used uninitialized in this function security/selinux/netnode.c: In function 'sel_netnode_sid': security/selinux/netnode.c:225: warning: 'ret' may be used uninitialized in this function security/selinux/netnode.c:168: warning: 'idx' may be used uninitialized in this function due to code correctly not expecting BUG() to return. For some reason this reduces the object code size for that particular file. Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037f436f525dac36c9f5fd5c5054518a63debb3e Author: S.Caglar Onur Date: Mon Apr 28 02:13:47 2008 -0700 arch/alpha/kernel/traps.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So implement usage of the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly [akpm@linux-foundation.org: fix warning] Signed-off-by: S.Caglar Onur Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95d193a90335b4e39dd1f750f1fc1672339ff487 Author: Harvey Harrison Date: Mon Apr 28 02:13:46 2008 -0700 alpha: replace __inline with inline Signed-off-by: Harvey Harrison Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbb8d343affd21850849fa4d41bf91c7527a3d04 Author: Harvey Harrison Date: Mon Apr 28 02:13:46 2008 -0700 alpha: remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ The change in pci-iommu,c should be safe as arena has not been assigned when we get to this point. Some were within #if 0 blocks, have changed them and left the blocks as they appear to be debugging infrastructure. A #define FN __FUNCTION__ was removed and occurances of FN were replaced with __func__ as well. Signed-off-by: Harvey Harrison Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b901d40c970e6db319fe1f8d84db2b9684b6c9bf Author: Jim Meyering Date: Mon Apr 28 02:13:44 2008 -0700 alpha: handle kcalloc failure arch/alpha/kernel/module.c (module_frob_arch_sections): Handle kcalloc failure. Signed-off-by: Jim Meyering Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1236cc3cf8c69bd316c940b2e94f91b3795f97fe Author: Serge E. Hallyn Date: Mon Apr 28 02:13:43 2008 -0700 smack: use cap_task_prctl With the introduction of per-process securebits, the capabilities-related prctl callbacks were moved into cap_task_prctl(). Have smack use cap_task_prctl() so that PR_SET_KEEPCAPS is defined. Signed-off-by: Serge E. Hallyn Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30aa4faf62b2dd9b239ae06ca7a85f1d36d7ef25 Author: Casey Schaufler Date: Mon Apr 28 02:13:43 2008 -0700 smack: make smk_cipso_doi() and smk_unlbl_ambient() The functions smk_cipso_doi and smk_unlbl_ambient are not used outside smackfs.c and should hence be static. Signed-off-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55d00ccfb336b4f85a476a24e18c17b2eaff919e Author: Serge E. Hallyn Date: Mon Apr 28 02:13:42 2008 -0700 root_plug: use cap_task_prctl With the introduction of per-process securebits, the capabilities-related prctl callbacks were moved into cap_task_prctl(). Have root_plug use cap_task_prctl() so that PR_SET_KEEPCAPS is defined. Signed-off-by: Serge E. Hallyn Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c60264c494a119cd3a716a22edc0137b11de6d1e Author: Harvey Harrison Date: Mon Apr 28 02:13:41 2008 -0700 smack: fix integer as NULL pointer warning in smack_lsm.c security/smack/smack_lsm.c:1257:16: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3898b1b4ebff8dcfbcf1807e0661585e06c9a91c Author: Andrew G. Morgan Date: Mon Apr 28 02:13:40 2008 -0700 capabilities: implement per-process securebits Filesystem capability support makes it possible to do away with (set)uid-0 based privilege and use capabilities instead. That is, with filesystem support for capabilities but without this present patch, it is (conceptually) possible to manage a system with capabilities alone and never need to obtain privilege via (set)uid-0. Of course, conceptually isn't quite the same as currently possible since few user applications, certainly not enough to run a viable system, are currently prepared to leverage capabilities to exercise privilege. Further, many applications exist that may never get upgraded in this way, and the kernel will continue to want to support their setuid-0 base privilege needs. Where pure-capability applications evolve and replace setuid-0 binaries, it is desirable that there be a mechanisms by which they can contain their privilege. In addition to leveraging the per-process bounding and inheritable sets, this should include suppressing the privilege of the uid-0 superuser from the process' tree of children. The feature added by this patch can be leveraged to suppress the privilege associated with (set)uid-0. This suppression requires CAP_SETPCAP to initiate, and only immediately affects the 'current' process (it is inherited through fork()/exec()). This reimplementation differs significantly from the historical support for securebits which was system-wide, unwieldy and which has ultimately withered to a dead relic in the source of the modern kernel. With this patch applied a process, that is capable(CAP_SETPCAP), can now drop all legacy privilege (through uid=0) for itself and all subsequently fork()'d/exec()'d children with: prctl(PR_SET_SECUREBITS, 0x2f); This patch represents a no-op unless CONFIG_SECURITY_FILE_CAPABILITIES is enabled at configure time. [akpm@linux-foundation.org: fix uninitialised var warning] [serue@us.ibm.com: capabilities: use cap_task_prctl when !CONFIG_SECURITY] Signed-off-by: Andrew G. Morgan Acked-by: Serge Hallyn Reviewed-by: James Morris Cc: Stephen Smalley Cc: Paul Moore Signed-off-by: Serge E. Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4016a1390d07f15b267eecb20e76a48fd5c524ef Author: Michael Hennerich Date: Mon Apr 28 02:13:38 2008 -0700 mm/nommu.c: return 0 from kobjsize with invalid objects Don't perform kobjsize operations on objects the kernel doesn't manage. On Blackfin, drivers can get dma coherent memory by calling a function dma_alloc_coherent(). We do this in nommu by configuring a chunk of uncached memory at the top of memory. Since we don't want the kernel to use the uncached memory, we lie to the kernel, and tell it that it's max memory is between 0, and the start of the uncached dma coherent section. this all works well, until this memory gets exposed into userspace (with a frame buffer), when you look at the process's maps, it shows the framebuf: root:/proc> cat maps [snip] 03f0ef00-03f34700 rw-p 00000000 1f:00 192 /dev/fb0 root:/proc> This is outside the "normal" range for the kernel. When the kernel tries to find the size of this object (when you run ps), it dies in nommu.c in kobjsize. BUG_ON(page->index >= MAX_ORDER); since the page we are referring to is outside what the kernel thinks is it's max valid memory. root:~> while [ 1 ]; ps > /dev/null; done kernel BUG at mm/nommu.c:119! Kernel panic - not syncing: BUG! We fixed this by adding a check to reject out of range object pointers as it already does that for NULL pointers. Signed-off-by: Michael Hennerich Signed-off-by: Robin Getz Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 468fd62ed9090ccbe872489df5d0d099510df4b5 Author: Dimitri Sivanich Date: Mon Apr 28 02:13:37 2008 -0700 vmstats: add cond_resched() to refresh_cpu_vm_stats() We've found that it can take quite a bit of time (100's of usec) to get through the zone loop in refresh_cpu_vm_stats(). Adding a cond_resched() to allow other threads to run in the non-preemptive case. Signed-off-by: Dimitri Sivanich Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cece85ec744bdc7ea0fc2d33f65b3f031c28468 Author: KAMEZAWA Hiroyuki Date: Mon Apr 28 02:13:36 2008 -0700 mm: fix broken gfp_zone with __GFP_THISNODE This hack, "base = MAX_NR_ZONES", at __GFP_THISNODE was used for old zonliests. Now, new zonelist[] have a list for __GFP_THISNODE and this hack is incorrect. Should be removed. Signed-off-by: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2309f9e6fe3f1de661eab9613f7903ab4420c753 Author: Pavel Machek Date: Mon Apr 28 02:13:35 2008 -0700 mm/page_alloc.c: remove hand-coded get_order() Remove hand-coded get_order() from page_alloc.c. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d87c9710bc6c5f2585fb9dc58f5bedbe996f10 Author: Li Zefan Date: Mon Apr 28 02:13:35 2008 -0700 oom_kill: remove unused parameter in badness() In commit 4c4a22148909e4c003562ea7ffe0a06e26919e3c, we moved the memcontroller-related code from badness() to select_bad_process(), so the parameter 'mem' in badness() is unused now. Signed-off-by: Li Zefan Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c0a4a517a31e05efb38304668198a873bfec6ca Author: Yasunori Goto Date: Mon Apr 28 02:13:34 2008 -0700 memory hotplug: free memmaps allocated by bootmem This patch is to free memmaps which is allocated by bootmem. Freeing usemap is not necessary. The pages of usemap may be necessary for other sections. If removing section is last section on the node, its section is the final user of usemap page. (usemaps are allocated on its section by previous patch.) But it shouldn't be freed too, because the section must be logical offline state which all pages are isolated against page allocater. If it is freed, page alloctor may use it which will be removed physically soon. It will be disaster. So, this patch keeps it as it is. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86f6dae1377523689bd8468fed2f2dd180fc0560 Author: Yasunori Goto Date: Mon Apr 28 02:13:33 2008 -0700 memory hotplug: allocate usemap on the section with pgdat Usemaps are allocated on the section which has pgdat by this. Because usemap size is very small, many other sections usemaps are allocated on only one page. If a section has usemap, it can't be removed until removing other sections. This dependency is not desirable for memory removing. Pgdat has similar feature. When a section has pgdat area, it must be the last section for removing on the node. So, if section A has pgdat and section B has usemap for section A, Both sections can't be removed due to dependency each other. To solve this issue, this patch collects usemap on same section with pgdat. If other sections doesn't have any dependency, this section will be able to be removed finally. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e70260aabea3af2a84b951e75166dcebe689b88e Author: Yasunori Goto Date: Mon Apr 28 02:13:32 2008 -0700 memory hotplug: make alloc_bootmem_section() alloc_bootmem_section() can allocate specified section's area. This is used for usemap to keep same section with pgdat by later patch. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d99217a02a06a7cc83f065b73e976970970c58c Author: Yasunori Goto Date: Mon Apr 28 02:13:32 2008 -0700 memory hotplug: align memmap to page size To free memmap easier, this patch aligns it to page size. Bootmem allocater may mix some objects in one pages. It's not good for freeing memmap of memory hot-remove. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04753278769f3b6c3b79a080edb52f21d83bf6e2 Author: Yasunori Goto Date: Mon Apr 28 02:13:31 2008 -0700 memory hotplug: register section/node id to free This patch set is to free pages which is allocated by bootmem for memory-hotremove. Some structures of memory management are allocated by bootmem. ex) memmap, etc. To remove memory physically, some of them must be freed according to circumstance. This patch set makes basis to free those pages, and free memmaps. Basic my idea is using remain members of struct page to remember information of users of bootmem (section number or node id). When the section is removing, kernel can confirm it. By this information, some issues can be solved. 1) When the memmap of removing section is allocated on other section by bootmem, it should/can be free. 2) When the memmap of removing section is allocated on the same section, it shouldn't be freed. Because the section has to be logical memory offlined already and all pages must be isolated against page allocater. If it is freed, page allocator may use it which will be removed physically soon. 3) When removing section has other section's memmap, kernel will be able to show easily which section should be removed before it for user. (Not implemented yet) 4) When the above case 2), the page isolation will be able to check and skip memmap's page when logical memory offline (offline_pages()). Current page isolation code fails in this case because this page is just reserved page and it can't distinguish this pages can be removed or not. But, it will be able to do by this patch. (Not implemented yet.) 5) The node information like pgdat has similar issues. But, this will be able to be solved too by this. (Not implemented yet, but, remembering node id in the pages.) Fortunately, current bootmem allocator just keeps PageReserved flags, and doesn't use any other members of page struct. The users of bootmem doesn't use them too. This patch: This is to register information which is node or section's id. Kernel can distinguish which node/section uses the pages allcated by bootmem. This is basis for hot-remove sections or nodes. Signed-off-by: Yasunori Goto Cc: Badari Pulavarty Cc: Yinghai Lu Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f2e9525ba55b1c42ad6c4a5a59d7eb7bdd9be72 Author: Gerald Schaefer Date: Mon Apr 28 02:13:29 2008 -0700 hugetlbfs: common code update for s390 Huge ptes have a special type on s390 and cannot be handled with the standard pte functions in certain cases, e.g. because of a different location of the invalid bit. This patch adds some new architecture- specific functions to hugetlb common code, as a prerequisite for the s390 large page support. This won't affect other architectures in functionality, but I need to add some new dummy inline functions to the headers. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe627ec5b7c47b1654dff50536d9709863295a3 Author: Gerald Schaefer Date: Mon Apr 28 02:13:28 2008 -0700 hugetlbfs: add missing TLB flush to hugetlb_cow() A cow break on a hugetlbfs page with page_count > 1 will set a new pte with set_huge_pte_at(), w/o any tlb flush operation. The old pte will remain in the tlb and subsequent write access to the page will result in a page fault loop, for as long as it may take until the tlb is flushed from somewhere else. This patch introduces an architecture-specific huge_ptep_clear_flush() function, which is called before the the set_huge_pte_at() in hugetlb_cow(). ATTENTION: This is just a nop on all architectures for now, the s390 implementation will come with our large page patch later. Other architectures should define their own huge_ptep_clear_flush() if needed. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d779079bfd1196e077bb1d0a906c37ae770b102 Author: Gerald Schaefer Date: Mon Apr 28 02:13:27 2008 -0700 hugetlbfs: architecture header cleanup This patch moves all architecture functions for hugetlb to architecture header files (include/asm-foo/hugetlb.h) and converts all macros to inline functions. It also removes (!) ARCH_HAS_HUGEPAGE_ONLY_RANGE, ARCH_HAS_HUGETLB_FREE_PGD_RANGE, ARCH_HAS_PREPARE_HUGEPAGE_RANGE, ARCH_HAS_SETCLEAR_HUGE_PTE and ARCH_HAS_HUGETLB_PREFAULT_HOOK. Getting rid of the ARCH_HAS_xxx #ifdef and macro fugliness should increase readability and maintainability, at the price of some code duplication. An asm-generic common part would have reduced the loc, but we would end up with new ARCH_HAS_xxx defines eventually. Acked-by: Martin Schwidefsky Signed-off-by: Gerald Schaefer Cc: Paul Mundt Cc: "Luck, Tony" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71fe804b6d56d6a7aed680e096901434cef6a2c3 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:26 2008 -0700 mempolicy: use struct mempolicy pointer in shmem_sb_info This patch replaces the mempolicy mode, mode_flags, and nodemask in the shmem_sb_info struct with a struct mempolicy pointer, initialized to NULL. This removes dependency on the details of mempolicy from shmem.c and hugetlbfs inode.c and simplifies the interfaces. mpol_parse_str() in mempolicy.c is changed to return, via a pointer to a pointer arg, a struct mempolicy pointer on success. For MPOL_DEFAULT, the returned pointer is NULL. Further, mpol_parse_str() now takes a 'no_context' argument that causes the input nodemask to be stored in the w.user_nodemask of the created mempolicy for use when the mempolicy is installed in a tmpfs inode shared policy tree. At that time, any cpuset contextualization is applied to the original input nodemask. This preserves the previous behavior where the input nodemask was stored in the superblock. We can think of the returned mempolicy as "context free". Because mpol_parse_str() is now calling mpol_new(), we can remove from mpol_to_str() the semantic checks that mpol_new() already performs. Add 'no_context' parameter to mpol_to_str() to specify that it should format the nodemask in w.user_nodemask for 'bind' and 'interleave' policies. Change mpol_shared_policy_init() to take a pointer to a "context free" struct mempolicy and to create a new, "contextualized" mempolicy using the mode, mode_flags and user_nodemask from the input mempolicy. Note: we know that the mempolicy passed to mpol_to_str() or mpol_shared_policy_init() from a tmpfs superblock is "context free". This is currently the only instance thereof. However, if we found more uses for this concept, and introduced any ambiguity as to whether a mempolicy was context free or not, we could add another internal mode flag to identify context free mempolicies. Then, we could remove the 'no_context' argument from mpol_to_str(). Added shmem_get_sbmpol() to return a reference counted superblock mempolicy, if one exists, to pass to mpol_shared_policy_init(). We must add the reference under the sb stat_lock to prevent races with replacement of the mpol by remount. This reference is removed in mpol_shared_policy_init(). [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: another build fix] [akpm@linux-foundation.org: yet another build fix] Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f226aa1cbc006f9d90f22084f519ad2a1286cd8 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:24 2008 -0700 mempolicy: support mpol=local tmpfs mount option For tmpfs/shmem shared policies, MPOL_DEFAULT is not necessarily equivalent to "local allocation". Because shared policies are at the same "scope" level [see Documentation/vm/numa_memory_policy.txt], as vma policies MPOL_DEFAULT means "fall back to current task policy". This patch extends the memory policy string parsing function to display "local" for MPOL_PREFERRED + MPOL_F_LOCAL. This allows one to specify local allocation as the default policy for shared memory areas via the tmpfs mpol mount option, regardless of the current task's policy. Also, "local" is now displayed for this policy. This patch allows us to accept the same input format as the display. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 095f1fc4ebf36c64fddf9b6db29b1ab5517378e6 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:23 2008 -0700 mempolicy: rework shmem mpol parsing and display mm/shmem.c currently contains functions to parse and display memory policy strings for the tmpfs 'mpol' mount option. Move this to mm/mempolicy.c with the rest of the mempolicy support. With subsequent patches, we'll be able to remove knowledge of the details [mode, flags, policy, ...] completely from shmem.c 1) replace shmem_parse_mpol() in mm/shmem.c with mpol_parse_str() in mm/mempolicy.c. Rework to use the policy_types[] array [used by mpol_to_str()] to look up mode by name. 2) use mpol_to_str() to format policy for shmem_show_mpol(). mpol_to_str() expects a pointer to a struct mempolicy, so temporarily construct one. This will be replaced with a reference to a struct mempolicy in the tmpfs superblock in a subsequent patch. NOTE 1: I changed mpol_to_str() to use a colon ':' rather than an equal sign '=' as the nodemask delimiter to match mpol_parse_str() and the tmpfs/shmem mpol mount option formatting that now uses mpol_to_str(). This is a user visible change to numa_maps, but then the addition of the mode flags already changed the display. It makes sense to me to have the mounts and numa_maps display the policy in the same format. However, if anyone objects strongly, I can pass the desired nodemask delimeter as an arg to mpol_to_str(). Note 2: Like show_numa_map(), I don't check the return code from mpol_to_str(). I do use a longer buffer than the one provided by show_numa_map(), which seems to have sufficed so far. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2291990ab36b4b2d8a81b1f92e7a046e51632a60 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:22 2008 -0700 mempolicy: clean-up mpol-to-str() mempolicy formatting mpol-to-str() formats memory policies into printable strings. Currently this is only used to display "numa_maps". A subsequent patch will use mpol_to_str() for formatting tmpfs [shmem] mpol mount options, allowing us to remove essentially duplicate code in mm/shmem.c. This patch cleans up mpol_to_str() generally and in preparation for that patch. 1) show_numa_maps() is not checking the return code from mpol_to_str(). There's not a lot we can do in this context if mpol_to_str() did return the error [insufficient space in buffer]. Proposed "solution": just check, under DEBUG_VM, that callers are providing sufficient buffer space for the policy, flags, and a few nodes. This way, we'll get some display. show_numa_maps() is providing a 50-byte buffer, so it won't trip this check. 50-bytes should be sufficient unless one has a large number of nodes in a very sparse nodemask. 2) The display of the new mode flags ["static" & "relative"] was set up to display multiple flags, separated by a "bar" '|'. However, this support is incomplete--e.g., need_bar was never incremented; and currently, these two flags are mutually exclusive. So remove the "bar" support, for now, and only display one flag. 3) Use snprint() to format flags, so as not to overflow the buffer. Not that it's ever happed, AFAIK. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc36b8d3d819047eb4d23ca079fb4d3af20ff076 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:21 2008 -0700 mempolicy: use MPOL_F_LOCAL to Indicate Preferred Local Policy Now that we're using "preferred local" policy for system default, we need to make this as fast as possible. Because of the variable size of the mempolicy structure [based on size of nodemasks], the preferred_node may be in a different cacheline from the mode. This can result in accessing an extra cacheline in the normal case of system default policy. Suspect this is the cause of an observed 2-3% slowdown in page fault testing relative to kernel without this patch series. To alleviate this, use an internal mode flag, MPOL_F_LOCAL in the mempolicy flags member which is guaranteed [?] to be in the same cacheline as the mode itself. Verified that reworked mempolicy now performs slightly better on 25-rc8-mm1 for both anon and shmem segments with system default and vma [preferred local] policy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53f2556b6792ed99fde965f5e061749edd455623 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:20 2008 -0700 mempolicy: mPOL_PREFERRED cleanups for "local allocation" Here are a couple of "cleanups" for MPOL_PREFERRED behavior when v.preferred_node < 0 -- i.e., "local allocation": 1) [do_]get_mempolicy() calls the now renamed get_policy_nodemask() to fetch the nodemask associated with a policy. Currently, get_policy_nodemask() returns the set of nodes with memory, when the policy 'mode' is 'PREFERRED, and the preferred_node is < 0. Change to return an empty nodemask, as this is what was specified to achieve "local allocation". 2) When a task is moved into a [new] cpuset, mpol_rebind_policy() is called to adjust any task and vma policy nodes to be valid in the new cpuset. However, when the policy is MPOL_PREFERRED, and the preferred_node is <0, no rebind is necessary. The "local allocation" indication is valid in any cpuset. Existing code will "do the right thing" because node_remap() will just return the argument node when it is outside of the valid range of node ids. However, I think it is clearer and cleaner to skip the remap explicitly in this case. 3) mpol_to_str() produces a printable, "human readable" string from a struct mempolicy. For MPOL_PREFERRED with preferred_node <0, show "local", as this indicates local allocation, as the task migrates among nodes. Note that this matches the usage of "local allocation" in libnuma() and numactl. Without this change, I believe that node_set() [via set_bit()] will set bit 31, resulting in a misleading display. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bea904d54d6faa92400f10c8ea3d3828b8e1eb93 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:18 2008 -0700 mempolicy: use MPOL_PREFERRED for system-wide default policy Currently, when one specifies MPOL_DEFAULT via a NUMA memory policy API [set_mempolicy(), mbind() and internal versions], the kernel simply installs a NULL struct mempolicy pointer in the appropriate context: task policy, vma policy, or shared policy. This causes any use of that policy to "fall back" to the next most specific policy scope. The only use of MPOL_DEFAULT to mean "local allocation" is in the system default policy. This requires extra checks/cases for MPOL_DEFAULT in many mempolicy.c functions. There is another, "preferred" way to specify local allocation via the APIs. That is using the MPOL_PREFERRED policy mode with an empty nodemask. Internally, the empty nodemask gets converted to a preferred_node id of '-1'. All internal usage of MPOL_PREFERRED will convert the '-1' to the id of the node local to the cpu where the allocation occurs. System default policy, except during boot, is hard-coded to "local allocation". By using the MPOL_PREFERRED mode with a negative value of preferred node for system default policy, MPOL_DEFAULT will never occur in the 'policy' member of a struct mempolicy. Thus, we can remove all checks for MPOL_DEFAULT when converting policy to a node id/zonelist in the allocation paths. In slab_node() return local node id when policy pointer is NULL. No need to set a pol value to take the switch default. Replace switch default with BUG()--i.e., shouldn't happen. With this patch MPOL_DEFAULT is only used in the APIs, including internal calls to do_set_mempolicy() and in the display of policy in /proc//numa_maps. It always means "fall back" to the the next most specific policy scope. This simplifies the description of memory policies quite a bit, with no visible change in behavior. get_mempolicy() continues to return MPOL_DEFAULT and an empty nodemask when the requested policy [task or vma/shared] is NULL. These are the values one would supply via set_mempolicy() or mbind() to achieve that condition--default behavior. This patch updates Documentation to reflect this change. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52cd3b074050dd664380b5e8cfc85d4a6ed8ad48 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:16 2008 -0700 mempolicy: rework mempolicy Reference Counting [yet again] After further discussion with Christoph Lameter, it has become clear that my earlier attempts to clean up the mempolicy reference counting were a bit of overkill in some areas, resulting in superflous ref/unref in what are usually fast paths. In other areas, further inspection reveals that I botched the unref for interleave policies. A separate patch, suitable for upstream/stable trees, fixes up the known errors in the previous attempt to fix reference counting. This patch reworks the memory policy referencing counting and, one hopes, simplifies the code. Maybe I'll get it right this time. See the update to the numa_memory_policy.txt document for a discussion of memory policy reference counting that motivates this patch. Summary: Lookup of mempolicy, based on (vma, address) need only add a reference for shared policy, and we need only unref the policy when finished for shared policies. So, this patch backs out all of the unneeded extra reference counting added by my previous attempt. It then unrefs only shared policies when we're finished with them, using the mpol_cond_put() [conditional put] helper function introduced by this patch. Note that shmem_swapin() calls read_swap_cache_async() with a dummy vma containing just the policy. read_swap_cache_async() can call alloc_page_vma() multiple times, so we can't let alloc_page_vma() unref the shared policy in this case. To avoid this, we make a copy of any non-null shared policy and remove the MPOL_F_SHARED flag from the copy. This copy occurs before reading a page [or multiple pages] from swap, so the overhead should not be an issue here. I introduced a new static inline function "mpol_cond_copy()" to copy the shared policy to an on-stack policy and remove the flags that would require a conditional free. The current implementation of mpol_cond_copy() assumes that the struct mempolicy contains no pointers to dynamically allocated structures that must be duplicated or reference counted during copy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6020ed759404372e8be2b276e85e51735472cc9 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:14 2008 -0700 mempolicy: document {set|get}_policy() vm_ops APIs Document mempolicy return value reference semantics assumed by the rest of the mempolicy code for the set_ and get_policy vm_ops in --where the prototypes are defined--to inform any future mempolicy vm_op writers what the rest of the subsystem expects of them. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab0b1029f0843756b68e0ed3ca983685bf43ed6 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:13 2008 -0700 mempolicy: mark shared policies for unref As part of yet another rework of mempolicy reference counting, we want to be able to identify shared policies efficiently, because they have an extra ref taken on lookup that needs to be removed when we're finished using the policy. Note: the extra ref is required because the policies are shared between tasks/processes and can be changed/freed by one task while another task is using them--e.g., for page allocation. Building on David Rientjes mempolicy "mode flags" enhancement, this patch indicates a "shared" policy by setting a new MPOL_F_SHARED flag in the flags member of the struct mempolicy added by David. MPOL_F_SHARED, and any future "internal mode flags" are reserved from bit zero up, as they will never be passed in the upper bits of the mode argument of a mempolicy API. I set the MPOL_F_SHARED flag when the policy is installed in the shared policy rb-tree. Don't need/want to clear the flag when removing from the tree as the mempolicy is freed [unref'd] internally to the sp_delete() function. However, a task could hold another reference on this mempolicy from a prior lookup. We need the MPOL_F_SHARED flag to stay put so that any tasks holding a ref will unref, eventually freeing, the mempolicy. A later patch in this series will introduce a function to conditionally unref [mpol_free] a policy. The MPOL_F_SHARED flag is one reason [currently the only reason] to unref/free a policy via the conditional free. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45c4745af381851b0406d8e4db99e62e265691c2 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:12 2008 -0700 mempolicy: rename struct mempolicy 'policy' member to 'mode' The terms 'policy' and 'mode' are both used in various places to describe the semantics of the value stored in the 'policy' member of struct mempolicy. Furthermore, the term 'policy' is used to refer to that member, to the entire struct mempolicy and to the more abstract concept of the tuple consisting of a "mode" and an optional node or set of nodes. Recently, we have added "mode flags" that are passed in the upper bits of the 'mode' [or sometimes, 'policy'] member of the numa APIs. I'd like to resolve this confusion, which perhaps only exists in my mind, by renaming the 'policy' member to 'mode' throughout, and fixing up the Documentation. Man pages will be updated separately. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae4d8c16aa22775f5731677abb8a82f03cec877e Author: Lee Schermerhorn Date: Mon Apr 28 02:13:11 2008 -0700 mempolicy: fixup Fallback for Default Shmem Policy get_vma_policy() is not handling fallback to task policy correctly when the get_policy() vm_op returns NULL. The NULL overwrites the 'pol' variable that was holding the fallback task mempolicy. So, it was falling back directly to system default policy. Fix get_vma_policy() to use only non-NULL policy returned from the vma get_policy op. shm_get_policy() was falling back to current task's mempolicy if the "backing file system" [tmpfs vs hugetlbfs] does not support the get_policy vm_op and the vma policy is null. This is incorrect for show_numa_maps() which is likely querying the numa_maps of some task other than current. Remove this fallback. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4e53d910b7dde2685b177f1e7c3e3e0b4a42f7b Author: Lee Schermerhorn Date: Mon Apr 28 02:13:10 2008 -0700 mempolicy: write lock mmap_sem while changing task mempolicy A read of /proc//numa_maps holds the target task's mmap_sem for read while examining each vma's mempolicy. A vma's mempolicy can fall back to the task's policy. However, the task could be changing it's task policy and free the one that the show_numa_maps() is examining. To prevent this, grab the mmap_sem for write when updating task mempolicy. Pointed out to me by Christoph Lameter and extracted and reworked from Christoph's alternative mempol reference counting patch. This is analogous to the way that do_mbind() and do_get_mempolicy() prevent races between task's sharing an mm_struct [a.k.a. threads] setting and querying a mempolicy for a particular address. Note: this is necessary, but not sufficient, to allow us to stop taking an extra reference on "other task's mempolicy" in get_vma_policy. Subsequent patches will complete this update, allowing us to simplify the tests for whether we need to unref a mempolicy at various points in the code. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 846a16bf0fc80dc95a414ffce465e3cbf9680247 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:09 2008 -0700 mempolicy: rename mpol_copy to mpol_dup This patch renames mpol_copy() to mpol_dup() because, well, that's what it does. Like, e.g., strdup() for strings, mpol_dup() takes a pointer to an existing mempolicy, allocates a new one and copies the contents. In a later patch, I want to use the name mpol_copy() to copy the contents from one mempolicy to another like, e.g., strcpy() does for strings. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0be3d32b05d3fea2fcdbbb81a39dac2a7163169 Author: Lee Schermerhorn Date: Mon Apr 28 02:13:08 2008 -0700 mempolicy: rename mpol_free to mpol_put This is a change that was requested some time ago by Mel Gorman. Makes sense to me, so here it is. Note: I retain the name "mpol_free_shared_policy()" because it actually does free the shared_policy, which is NOT a reference counted object. However, ... The mempolicy object[s] referenced by the shared_policy are reference counted, so mpol_put() is used to release the reference held by the shared_policy. The mempolicy might not be freed at this time, because some task attached to the shared object associated with the shared policy may be in the process of allocating a page based on the mempolicy. In that case, the task performing the allocation will hold a reference on the mempolicy, obtained via mpol_shared_policy_lookup(). The mempolicy will be freed when all tasks holding such a reference have called mpol_put() for the mempolicy. Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Cc: David Rientjes Cc: Mel Gorman Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b1163006332302117b1b2acf226d4014ff46525 Author: Adam Litke Date: Mon Apr 28 02:13:06 2008 -0700 Subject: [PATCH] hugetlb: vmstat events for huge page allocations Allocating huge pages directly from the buddy allocator is not guaranteed to succeed. Success depends on several factors (such as the amount of physical memory available and the level of fragmentation). With the addition of dynamic hugetlb pool resizing, allocations can occur much more frequently. For these reasons it is desirable to keep track of huge page allocation successes and failures. Add two new vmstat entries to track huge page allocations that succeed and fail. The presence of the two entries is contingent upon CONFIG_HUGETLB_PAGE being enabled. [akpm@linux-foundation.org: reduced ifdeffery] Signed-off-by: Adam Litke Signed-off-by: Eric Munson Tested-by: Mel Gorman Reviewed-by: Andy Whitcroft Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 122c7a59055c77434118d7dd4dff4b625d4a2c15 Author: Ken'ichi Ohmichi Date: Mon Apr 28 02:13:04 2008 -0700 vmcoreinfo: add page flags values Add some values of page flags to the vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. An old makedumpfile (v1.2.4 or before) had assumed some values of page flags internally, and this implementation could not follow the change of these values. For example, Christoph Lameter is changing these values by the follwing patch: http://lkml.org/lkml/2008/2/29/463 So a new makedumpfile (v1.2.5) came to need these values and I created this patch to let the kernel output them. Signed-off-by: Ken'ichi Ohmichi Cc: Christoph Lameter Cc: "Eric W. Biederman" Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a08cb629f546d1cecebe955392197f226e58dbe1 Author: Nick Piggin Date: Mon Apr 28 02:13:03 2008 -0700 s390: implement pte special bit Convert XIP to support non-struct page backed memory, using VM_MIXEDMAP for the user mappings. This requires the get_xip_page API to be changed to an address based one. Improve the API layering a little bit too, while we're here. This is required in order to support XIP filesystems on memory that isn't backed with struct page (but memory with struct page is still supported too). Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70688e4dd1647f0ceb502bbd5964fa344c5eb411 Author: Nick Piggin Date: Mon Apr 28 02:13:02 2008 -0700 xip: support non-struct page backed memory Convert XIP to support non-struct page backed memory, using VM_MIXEDMAP for the user mappings. This requires the get_xip_page API to be changed to an address based one. Improve the API layering a little bit too, while we're here. This is required in order to support XIP filesystems on memory that isn't backed with struct page (but memory with struct page is still supported too). Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30afcb4bd2762fa4b87b17ada9500aa46dc10b1b Author: Jared Hulbert Date: Mon Apr 28 02:13:02 2008 -0700 return pfn from direct_access, for XIP Alter the block device ->direct_access() API to work with the new get_xip_mem() API (that requires both kaddr and pfn are returned). Some architectures will not do the right thing in their virt_to_page() for use by XIP (to translate from the kernel virtual address returned by direct_access(), to a user mappable pfn in XIP's page fault handler. However, we can't switch it to just return the pfn and not the kaddr, because we have no good way to get a kva from a pfn, and XIP requires the kva for its read(2) and write(2) handlers. So we have to return both. Signed-off-by: Jared Hulbert Signed-off-by: Nick Piggin Cc: Carsten Otte Cc: Heiko Carstens Cc: linux-mm@kvack.org Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 423bad600443c590f34ed7ce357591f76f48f137 Author: Nick Piggin Date: Mon Apr 28 02:13:01 2008 -0700 mm: add vm_insert_mixed vm_insert_mixed will insert either a raw pfn or a refcounted struct page into the page tables, depending on whether vm_normal_page() will return the page or not. With the introduction of the new pte bit, this is now a too tricky for drivers to be doing themselves. filemap_xip uses this in a subsequent patch. Signed-off-by: Nick Piggin Cc: Jared Hulbert Cc: Carsten Otte Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e675137a8e1a4d45822746456dd389b65745bf6 Author: Nick Piggin Date: Mon Apr 28 02:13:00 2008 -0700 mm: introduce pte_special pte bit s390 for one, cannot implement VM_MIXEDMAP with pfn_valid, due to their memory model (which is more dynamic than most). Instead, they had proposed to implement it with an additional path through vm_normal_page(), using a bit in the pte to determine whether or not the page should be refcounted: vm_normal_page() { ... if (unlikely(vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP))) { if (vma->vm_flags & VM_MIXEDMAP) { #ifdef s390 if (!mixedmap_refcount_pte(pte)) return NULL; #else if (!pfn_valid(pfn)) return NULL; #endif goto out; } ... } This is fine, however if we are allowed to use a bit in the pte to determine refcountedness, we can use that to _completely_ replace all the vma based schemes. So instead of adding more cases to the already complex vma-based scheme, we can have a clearly seperate and simple pte-based scheme (and get slightly better code generation in the process): vm_normal_page() { #ifdef s390 if (!mixedmap_refcount_pte(pte)) return NULL; return pte_page(pte); #else ... #endif } And finally, we may rather make this concept usable by any architecture rather than making it s390 only, so implement a new type of pte state for this. Unfortunately the old vma based code must stay, because some architectures may not be able to spare pte bits. This makes vm_normal_page a little bit more ugly than we would like, but the 2 cases are clearly seperate. So introduce a pte_special pte state, and use it in mm/memory.c. It is currently a noop for all architectures, so this doesn't actually result in any compiled code changes to mm/memory.o. BTW: I haven't put vm_normal_page() into arch code as-per an earlier suggestion. The reason is that, regardless of where vm_normal_page is actually implemented, the *abstraction* is still exactly the same. Also, while it depends on whether the architecture has pte_special or not, that is the only two possible cases, and it really isn't an arch specific function -- the role of the arch code should be to provide primitive functions and accessors with which to build the core code; pte_special does that. We do not want architectures to know or care about vm_normal_page itself, and we definitely don't want them being able to invent something new there out of sight of mm/ code. If we made vm_normal_page an arch function, then we have to make vm_insert_mixed (next patch) an arch function too. So I don't think moving it to arch code fundamentally improves any abstractions, while it does practically make the code more difficult to follow, for both mm and arch developers, and easier to misuse. [akpm@linux-foundation.org: build fix] Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b379d790197cdf8a95fb67507d75a24ac0a1678d Author: Jared Hulbert Date: Mon Apr 28 02:12:58 2008 -0700 mm: introduce VM_MIXEDMAP This series introduces some important infrastructure work. The overall result is that: 1. We now support XIP backed filesystems using memory that have no struct page allocated to them. And patches 6 and 7 actually implement this for s390. This is pretty important in a number of cases. As far as I understand, in the case of virtualisation (eg. s390), each guest may mount a readonly copy of the same filesystem (eg. the distro). Currently, guests need to allocate struct pages for this image. So if you have 100 guests, you already need to allocate more memory for the struct pages than the size of the image. I think. (Carsten?) For other (eg. embedded) systems, you may have a very large non- volatile filesystem. If you have to have struct pages for this, then your RAM consumption will go up proportionally to fs size. Even though it is just a small proportion, the RAM can be much more costly eg in terms of power, so every KB less that Linux uses makes it more attractive to a lot of these guys. 2. VM_MIXEDMAP allows us to support mappings where you actually do want to refcount _some_ pages in the mapping, but not others, and support COW on arbitrary (non-linear) mappings. Jared needs this for his NVRAM filesystem in progress. Future iterations of this filesystem will most likely want to migrate pages between pagecache and XIP backing, which is where the requirement for mixed (some refcounted, some not) comes from. 3. pte_special also has a peripheral usage that I need for my lockless get_user_pages patch. That was shown to speed up "oltp" on db2 by 10% on a 2 socket system, which is kind of significant because they scrounge for months to try to find 0.1% improvement on these workloads. I'm hoping we might finally be faster than AIX on pSeries with this :). My reference to lockless get_user_pages is not meant to justify this patchset (which doesn't include lockless gup), but just to show that pte_special is not some s390 specific thing that should be hidden in arch code or xip code: I definitely want to use it on at least x86 and powerpc as well. This patch: Introduce a new type of mapping, VM_MIXEDMAP. This is unlike VM_PFNMAP in that it can support COW mappings of arbitrary ranges including ranges without struct page *and* ranges with a struct page that we actually want to refcount (PFNMAP can only support COW in those cases where the un-COW-ed translations are mapped linearly in the virtual address, and can only support non refcounted ranges). VM_MIXEDMAP achieves this by refcounting all pfn_valid pages, and not refcounting !pfn_valid pages (which is not an option for VM_PFNMAP, because it needs to avoid refcounting pfn_valid pages eg. for /dev/mem mappings). Signed-off-by: Jared Hulbert Signed-off-by: Nick Piggin Acked-by: Carsten Otte Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214e471ff99064726b2d8af3aa0e24a73c775531 Author: Peter Zijlstra Date: Mon Apr 28 02:12:55 2008 -0700 smaps: account swap entries Show the amount of swap for each vma. This can be used to see where all the swap goes. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Peter Zijlstra Acked-by: Matt Mackall Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e20b8cca760ed2a6abcfe37ef56f2306790db648 Author: Christoph Lameter Date: Mon Apr 28 02:12:55 2008 -0700 PAGEFLAGS_EXTENDED and separate page flags for Head and Tail Having separate page flags for the head and the tail of a compound page allows the compiler to use bitops instead of operations on a word to check for a tail page. That is f.e. important for virt_to_head_page() which is used in various critical code paths (kfree for example): Code for PageTail(page) Before: mov (%rdi),%rdx page->flags mov %rdx,%rax 3 bytes and $0x12000,%eax 5 bytes cmp $0x12000,%rax 6 bytes je 897 After: mov (%rdi),%rax test $0x40,%ah (3 bytes) jne 887 So we go from 14 bytes to 3 bytes and from 3 instructions to one. From the use of 2 registers we go to none. We can only use page flags for this if we have page flags available. This patch introduces CONFIG_PAGEFLAGS_EXTENDED that is set if pageflags are not scarce due to SPARSEMEM using page flags for its sectionid on 32 bit NUMA platforms. Additional page flag definitions can be added to the CONFIG_PAGEFLAGS_EXTENDED section in page-flags.h if the functionality depends on PAGEFLAGS_EXTENDED or if more page flag overlapping tricks are used for the !PAGEFLAGS_EXTENDED fallback (the upcoming virtual compound patch may hook in here and Rik's/Lee's additional page flags to solve the reclaim issues could also be added there [hint... hint... where are these patchsets?]). Avoiding the overlaying of Pg_reclaim also clears the way for possible use of compound pages for the pagecache or on the LRU. Signed-off-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97965478a66fbdf0f4ad5e4ecc4828f0cb548a45 Author: Christoph Lameter Date: Mon Apr 28 02:12:54 2008 -0700 mm: Get rid of __ZONE_COUNT It was used to compensate because MAX_NR_ZONES was not available to the #ifdefs. Export MAX_NR_ZONES via the new mechanism and get rid of __ZONE_COUNT. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec7cade8c1a3d1ace69b35cc843b181818578dce Author: Christoph Lameter Date: Mon Apr 28 02:12:53 2008 -0700 page flags: add PAGEFLAGS_FALSE for flags that are always false Turns out that there are a number of times that a flag is simply always returning 0. Define a macro for that. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 602c4d112f9abf43af4b882b4a6f5505ed5c51b7 Author: Christoph Lameter Date: Mon Apr 28 02:12:52 2008 -0700 page flags: handle PG_uncached like all other flags Remove the special setup for PG_uncached and simply make it part of the enum. The page flag will only be allocated when the kernel build includes the uncached allocator. Acked-by: Dean Nelson Cc: Jes Sorensen Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a128b2b1a5e8ebce0260e3345812ee70daccc7f Author: Christoph Lameter Date: Mon Apr 28 02:12:52 2008 -0700 pageflags: eliminate PG_xxx aliases Remove aliases of PG_xxx. We can easily drop those now and alias by specifying the PG_xxx flag in the macro that generates the functions. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d60cd46bbdc5a79d9a177e40009f960e44f0e334 Author: Christoph Lameter Date: Mon Apr 28 02:12:51 2008 -0700 pageflags: use proper page flag functions in Xen Xen uses bitops to manipulate page flags. Make it use proper page flag functions. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a1e7f777f613bf0df99c7772fa2123d01ce2f7d Author: Christoph Lameter Date: Mon Apr 28 02:12:50 2008 -0700 pageflags: convert to the use of new macros Replace explicit definitions of page flags through the use of macros. Significantly reduces the size of the definitions and removes a lot of opportunity for errors. Additonal page flags can typically be generated with a single line. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f94a62e910840b3552c7adb7c57e0f8b3b345f6e Author: Christoph Lameter Date: Mon Apr 28 02:12:49 2008 -0700 pageflags: introduce macros to generate page flag functions Introduce a set of macros that generate functions to handle page flags. A page flag function group typically starts with either SETPAGEFLAG(,) to create a set of page flag operations that are atomic. Or __SETPAGEFLAG(, Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9223b4190fa1297a59f292f3419fc0285321d0ea Author: Christoph Lameter Date: Mon Apr 28 02:12:48 2008 -0700 pageflags: get rid of FLAGS_RESERVED NR_PAGEFLAGS specifies the number of page flags we are using. From that we can calculate the number of bits leftover that can be used for zone, node (and maybe the sections id). There is no need anymore for FLAGS_RESERVED if we use NR_PAGEFLAGS. Use the new methods to make NR_PAGEFLAGS available via the preprocessor. NR_PAGEFLAGS is used to calculate field boundaries in the page flags fields. These field widths have to be available to the preprocessor. Signed-off-by: Christoph Lameter Cc: David Miller Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e26831814998cee8e6d9f0a9854cb46c516f5547 Author: Christoph Lameter Date: Mon Apr 28 02:12:47 2008 -0700 pageflags: use an enum for the flags Use an enum to ease the maintenance of page flags. This is going to change the numbering from 0 to 18. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf2ae2b37c06cc9fb6fc03d99617f1161939980f Author: Christoph Lameter Date: Mon Apr 28 02:12:45 2008 -0700 pageflags: standardize comment inclusion in asm-offsets.h and fix MIPS Add the ability to pass comments into asm-offsets.h by generating asm output like -># comment line Mips needs this feature to preserve the comments that are in asm-mips/asm-offsets.h right now. Then remove the special handling for mips from Kbuild and convert mips to use the new string to include the comments. Cc: Ralf Baechle Signed-off-by: Christoph Lameter Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 726b80127239aeea9c8d8aad5b4e2c80313e3ce8 Author: Andrew Morton Date: Mon Apr 28 02:12:44 2008 -0700 page_mapping(): add ifdef around reference to swapper_space This fixes the superh build when the pageflags patches are applied. But it shouldn't unless it's a gcc bug. Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cdf25d704f7951d02a04064c97db547d6021872 Author: Christoph Lameter Date: Mon Apr 28 02:12:44 2008 -0700 kbuild: create a way to create preprocessor constants from C expressions The use of enums create constants that are not available to the preprocessor when building the kernel (f.e. MAX_NR_ZONES). Arch code already has a way to export constants calculated to the preprocessor through the asm-offsets.c file. Generate something similar for the core kernel through kbuild. Signed-off-by: Sam Ravnborg Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 308c05e35e3517d19bb67a7e97772235c9e15cd7 Author: Christoph Lameter Date: Mon Apr 28 02:12:43 2008 -0700 sparsemem: vmemmap does not need section bits A set of patches that attempts to improve page flag handling. First of all a method is introduced to generate the page flag functions using macros. Then the number of page flags used by sparsemem is reduced. All page flag operations will no longer be macros. All flags will use inline function. Then we add a way to export enum constants to the preprocessor which allows us to get rid of __ZONE_COUNT and use the NR_PAGEFLAGS for the dynamic calculation of actually available page flags for fields. This patch: Sparsemem vmemmap does not need any section bits. This patch has the effect of reducing the number of bits used in page->flags by at least 6. Signed-off-by: Christoph Lameter Cc: Andy Whitcroft Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: Mel Gorman Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2301696932b55e2ea2085cefc84f7b94fa2dd54b Author: Christoph Lameter Date: Mon Apr 28 02:12:42 2008 -0700 vmallocinfo: add caller information Add caller information so that /proc/vmallocinfo shows where the allocation request for a slice of vmalloc memory originated. Results in output like this: 0xffffc20000000000-0xffffc20000801000 8392704 alloc_large_system_hash+0x127/0x246 pages=2048 vmalloc vpages 0xffffc20000801000-0xffffc20000806000 20480 alloc_large_system_hash+0x127/0x246 pages=4 vmalloc 0xffffc20000806000-0xffffc20000c07000 4198400 alloc_large_system_hash+0x127/0x246 pages=1024 vmalloc vpages 0xffffc20000c07000-0xffffc20000c0a000 12288 alloc_large_system_hash+0x127/0x246 pages=2 vmalloc 0xffffc20000c0a000-0xffffc20000c0c000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c0c000-0xffffc20000c0f000 12288 acpi_os_map_memory+0x13/0x1c phys=cff64000 ioremap 0xffffc20000c10000-0xffffc20000c15000 20480 acpi_os_map_memory+0x13/0x1c phys=cff65000 ioremap 0xffffc20000c16000-0xffffc20000c18000 8192 acpi_os_map_memory+0x13/0x1c phys=cff69000 ioremap 0xffffc20000c18000-0xffffc20000c1a000 8192 acpi_os_map_memory+0x13/0x1c phys=fed1f000 ioremap 0xffffc20000c1a000-0xffffc20000c1c000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c1c000-0xffffc20000c1e000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c1e000-0xffffc20000c20000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c20000-0xffffc20000c22000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c22000-0xffffc20000c24000 8192 acpi_os_map_memory+0x13/0x1c phys=cff68000 ioremap 0xffffc20000c24000-0xffffc20000c26000 8192 acpi_os_map_memory+0x13/0x1c phys=e0081000 ioremap 0xffffc20000c26000-0xffffc20000c28000 8192 acpi_os_map_memory+0x13/0x1c phys=e0080000 ioremap 0xffffc20000c28000-0xffffc20000c2d000 20480 alloc_large_system_hash+0x127/0x246 pages=4 vmalloc 0xffffc20000c2d000-0xffffc20000c31000 16384 tcp_init+0xd5/0x31c pages=3 vmalloc 0xffffc20000c31000-0xffffc20000c34000 12288 alloc_large_system_hash+0x127/0x246 pages=2 vmalloc 0xffffc20000c34000-0xffffc20000c36000 8192 init_vdso_vars+0xde/0x1f1 0xffffc20000c36000-0xffffc20000c38000 8192 pci_iomap+0x8a/0xb4 phys=d8e00000 ioremap 0xffffc20000c38000-0xffffc20000c3a000 8192 usb_hcd_pci_probe+0x139/0x295 [usbcore] phys=d8e00000 ioremap 0xffffc20000c3a000-0xffffc20000c3e000 16384 sys_swapon+0x509/0xa15 pages=3 vmalloc 0xffffc20000c40000-0xffffc20000c61000 135168 e1000_probe+0x1c4/0xa32 phys=d8a20000 ioremap 0xffffc20000c61000-0xffffc20000c6a000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c6a000-0xffffc20000c73000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c73000-0xffffc20000c7c000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20000c7c000-0xffffc20000c7f000 12288 e1000e_setup_tx_resources+0x29/0xbe pages=2 vmalloc 0xffffc20000c80000-0xffffc20001481000 8392704 pci_mmcfg_arch_init+0x90/0x118 phys=e0000000 ioremap 0xffffc20001481000-0xffffc20001682000 2101248 alloc_large_system_hash+0x127/0x246 pages=512 vmalloc 0xffffc20001682000-0xffffc20001e83000 8392704 alloc_large_system_hash+0x127/0x246 pages=2048 vmalloc vpages 0xffffc20001e83000-0xffffc20002204000 3674112 alloc_large_system_hash+0x127/0x246 pages=896 vmalloc vpages 0xffffc20002204000-0xffffc2000220d000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc2000220d000-0xffffc20002216000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002216000-0xffffc2000221f000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc2000221f000-0xffffc20002228000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002228000-0xffffc20002231000 36864 _xfs_buf_map_pages+0x8e/0xc0 vmap 0xffffc20002231000-0xffffc20002234000 12288 e1000e_setup_rx_resources+0x35/0x122 pages=2 vmalloc 0xffffc20002240000-0xffffc20002261000 135168 e1000_probe+0x1c4/0xa32 phys=d8a60000 ioremap 0xffffc20002261000-0xffffc2000270c000 4894720 sys_swapon+0x509/0xa15 pages=1194 vmalloc vpages 0xffffffffa0000000-0xffffffffa0022000 139264 module_alloc+0x4f/0x55 pages=33 vmalloc 0xffffffffa0022000-0xffffffffa0029000 28672 module_alloc+0x4f/0x55 pages=6 vmalloc 0xffffffffa002b000-0xffffffffa0034000 36864 module_alloc+0x4f/0x55 pages=8 vmalloc 0xffffffffa0034000-0xffffffffa003d000 36864 module_alloc+0x4f/0x55 pages=8 vmalloc 0xffffffffa003d000-0xffffffffa0049000 49152 module_alloc+0x4f/0x55 pages=11 vmalloc 0xffffffffa0049000-0xffffffffa0050000 28672 module_alloc+0x4f/0x55 pages=6 vmalloc [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10aa579878fc6f9cd17455067380bbdf1d53c91 Author: Christoph Lameter Date: Mon Apr 28 02:12:40 2008 -0700 vmalloc: show vmalloced areas via /proc/vmallocinfo Implement a new proc file that allows the display of the currently allocated vmalloc memory. It allows to see the users of vmalloc. That is important if vmalloc space is scarce (i386 for example). And it's going to be important for the compound page fallback to vmalloc. Many of the current users can be switched to use compound pages with fallback. This means that the number of users of vmalloc is reduced and page tables no longer necessary to access the memory. /proc/vmallocinfo allows to review how that reduction occurs. If memory becomes fragmented and larger order allocations are no longer possible then /proc/vmallocinfo allows to see which compound page allocations fell back to virtual compound pages. That is important for new users of virtual compound pages. Such as order 1 stack allocation etc that may fallback to virtual compound pages in the future. /proc/vmallocinfo permissions are made readable-only-by-root to avoid possible information leakage. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: CONFIG_MMU=n build fix] Signed-off-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Hugh Dickins Cc: Nick Piggin Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b45445684198a946b587732265692e6495993abf Author: Andrew Morton Date: Mon Apr 28 02:12:39 2008 -0700 mm: make early_pfn_to_nid() a C function Fix this (sparc64) mm/sparse-vmemmap.c: In function `vmemmap_verify': mm/sparse-vmemmap.c:64: warning: unused variable `pfn' by switching to a C function which touches its arg. (reason 3,555 why macros are bad) Also, the `nid' arg was misnamed. Reviewed-by: Christoph Lameter Acked-by: Andy Whitcroft Cc: Mel Gorman Cc: Andi Kleen Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac6aadb24b7d4f0e54246732e221c102073412bf Author: Miklos Szeredi Date: Mon Apr 28 02:12:38 2008 -0700 mm: rotate_reclaimable_page() cleanup Clean up messy conditional calling of test_clear_page_writeback() from both rotate_reclaimable_page() and end_page_writeback(). The only user of rotate_reclaimable_page() is end_page_writeback() so this is OK. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f05111f50105ac479a008cf85749cf9c956453ea Author: S.Caglar Onur Date: Mon Apr 28 02:12:38 2008 -0700 mm/page_alloc.c: fix indentation zlc_setup(): handle jiffies wraparound (10ed273f5016c582413dfbc468dd084957d847e1) changes tab with spaces Signed-off-by: S.Caglar Onur Cc: Lee Schermerhorn Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7edf85aa3c00df1e86e82f649c41efa0dd8a7218 Author: Andi Kleen Date: Mon Apr 28 02:12:37 2008 -0700 mm: save some bytes in mm_struct by filling holes on 64bit Save some bytes in mm_struct by filling holes Putting int values together for better packing on 64bit shrinks sizeof(struct mm_struct) from 776 bytes to 764 bytes. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5ee5befa75e33e55d34584ad10286c5005cb1de Author: Andi Kleen Date: Mon Apr 28 02:12:37 2008 -0700 dmapool: enable debugging for CONFIG_SLUB_DEBUG_ON too Previously it was only enabled for CONFIG_DEBUG_SLAB. Not hooked into the slub runtime debug configuration, so you currently only get it with CONFIG_SLUB_DEBUG_ON, not plain CONFIG_SLUB_DEBUG Acked-by: Matthew Wilcox Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a43361cf3cb6fb6431fdbfb0f3ef26a334826160 Author: Lee Schermerhorn Date: Mon Apr 28 02:12:36 2008 -0700 mempolicy: fix parsing of tmpfs mpol mount option Parsing of new mode flags in the tmpfs mpol mount option is slightly broken: Setting a valid flag works OK: #mount -o remount,mpol=bind=static:1-2 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=bind=static:1-2) ... However, we can't remove them or change them, once we've set a valid flag: #mount -o remount,mpol=bind:1-2 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=bind:1-2) ... It SAYS it removed it, but that's just a copy of the input string. If we now try to set it to a different flag, we get: #mount -o remount,mpol=bind=relative:1-2 /dev/shm mount: /dev/shm not mounted already, or bad option And on the console, we see: tmpfs: Bad value 'bind' for mount option 'mpol' ^ lost remainder of string Furthermore, bogus flags are accepted with out error. Granted, they are a no-op: #mount -o remount,mpol=interleave=foo:0-3 /dev/shm #mount ... tmpfs on /dev/shm type tmpfs (rw,mpol=interleave=foo:0-3) Again, that's just a copy of the input string shown by the mount command. This patch fixes the behavior by pre-zeroing the flags so that only one of the mutually exclusive flags can be set at one time. It also reports an error when an unrecognized flag is specified. The check for both flags being set is removed because it can't happen with this implementation. If we ever want to support multiple non-exclusive flags, this area will need rework and we will need to check that any mutually exclusive flags aren't specified. Signed-off-by: Lee Schermerhorn Cc: David Rientjes Cc: Paul Jackson Cc: Christoph Lameter Cc: Andi Kleen Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1f064562fcff7bf3856bc1d00dfa84d4f121cc Author: David Rientjes Date: Mon Apr 28 02:12:34 2008 -0700 mempolicy: disallow static or relative flags for local preferred mode MPOL_F_STATIC_NODES and MPOL_F_RELATIVE_NODES don't mean anything for MPOL_PREFERRED policies that were created with an empty nodemask (for purely local allocations). They'll never be invalidated because the allowed mems of a task changes or need to be rebound relative to a cpuset's placement. Also fixes a bug identified by Lee Schermerhorn that disallowed empty nodemasks to be passed to MPOL_PREFERRED to specify local allocations. [A different, somewhat incomplete, patch already existed in 25-rc5-mm1.] Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Cc: Randy Dunlap Signed-off-by: Lee Schermerhorn Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3842b46de626d1a3c44ad280d67ab0a4dc047d13 Author: David Rientjes Date: Mon Apr 28 02:12:34 2008 -0700 mempolicy: small header file cleanup Removes forward definition of vm_area_struct in linux/mempolicy.h. We already get it from the linux/slab.h -> linux/gfp.h include. Removes the unused mpol_set_vma_default() macro from linux/mempolicy.h. Removes the extern definition of default_policy since it is only referenced, as it should be, in mm/mempolicy.c. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37012946da940521fb997a758a219d2f1ab56e51 Author: David Rientjes Date: Mon Apr 28 02:12:33 2008 -0700 mempolicy: create mempolicy_operations structure Create a mempolicy_operations structure that currently points to two functions[*] for the various modes: int (*create)(struct mempolicy *, const nodemask_t *); void (*rebind)(struct mempolicy *, const nodemask_t *); This splits the implementation for the various modes out of two large functions, mpol_new() and mpol_rebind_policy(). Eventually it may be beneficial to add additional functions to accomodate the existing switch() statements in mm/mempolicy.c. [*] The ->create() function for MPOL_DEFAULT is currently NULL since no struct mempolicy is dynamically allocated. [Lee.Schermerhorn@hp.com: fix regression in the package mempolicy regression tests] Signed-off-by: David Rientjes Cc: Paul Jackson Cc: Christoph Lameter Cc: Andi Kleen Signed-off-by: Lee Schermerhorn Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d0d2680a01c4f9e292ec6d4714884da939053a1 Author: David Rientjes Date: Mon Apr 28 02:12:32 2008 -0700 mempolicy: move rebind functions Move the mpol_rebind_{policy,task,mm}() functions after mpol_new() to avoid having to declare function prototypes. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65d66fc02ed9433b957588071b60425b12628e25 Author: David Rientjes Date: Mon Apr 28 02:12:31 2008 -0700 mempolicy: update NUMA memory policy documentation Updates Documentation/vm/numa_memory_policy.txt and Documentation/filesystems/tmpfs.txt to describe optional mempolicy mode flags. Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Cc: Randy Dunlap Signed-off-by: David Rientjes Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c50bc0116cf3cc35e7152d6a8424b4db65f52d6 Author: David Rientjes Date: Mon Apr 28 02:12:30 2008 -0700 mempolicy: add MPOL_F_RELATIVE_NODES flag Adds another optional mode flag, MPOL_F_RELATIVE_NODES, that specifies nodemasks passed via set_mempolicy() or mbind() should be considered relative to the current task's mems_allowed. When the mempolicy is created, the passed nodemask is folded and mapped onto the current task's mems_allowed. For example, consider a task using set_mempolicy() to pass MPOL_INTERLEAVE | MPOL_F_RELATIVE_NODES with a nodemask of 1-3. If current's mems_allowed is 4-7, the effected nodemask is 5-7 (the second, third, and fourth node of mems_allowed). If the same task is attached to a cpuset, the mempolicy nodemask is rebound each time the mems are changed. Some possible rebinds and results are: mems result 1-3 1-3 1-7 2-4 1,5-6 1,5-6 1,5-7 5-7 Likewise, the zonelist built for MPOL_BIND acts on the set of zones assigned to the resultant nodemask from the relative remap. In the MPOL_PREFERRED case, the preferred node is remapped from the currently effected nodemask to the relative nodemask. This mempolicy mode flag was conceived of by Paul Jackson . Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ea931c9fc80c4d0a4306c30ec92eb0f1d922a0b Author: Paul Jackson Date: Mon Apr 28 02:12:29 2008 -0700 mempolicy: add bitmap_onto() and bitmap_fold() operations The following adds two more bitmap operators, bitmap_onto() and bitmap_fold(), with the usual cpumask and nodemask wrappers. The bitmap_onto() operator computes one bitmap relative to another. If the n-th bit in the origin mask is set, then the m-th bit of the destination mask will be set, where m is the position of the n-th set bit in the relative mask. The bitmap_fold() operator folds a bitmap into a second that has bit m set iff the input bitmap has some bit n set, where m == n mod sz, for the specified sz value. There are two substantive changes between this patch and its predecessor bitmap_relative: 1) Renamed bitmap_relative() to be bitmap_onto(). 2) Added bitmap_fold(). The essential motivation for bitmap_onto() is to provide a mechanism for converting a cpuset-relative CPU or Node mask to an absolute mask. Cpuset relative masks are written as if the current task were in a cpuset whose CPUs or Nodes were just the consecutive ones numbered 0..N-1, for some N. The bitmap_onto() operator is provided in anticipation of adding support for the first such cpuset relative mask, by the mbind() and set_mempolicy() system calls, using a planned flag of MPOL_F_RELATIVE_NODES. These bitmap operators (and their nodemask wrappers, in particular) will be used in code that converts the user specified cpuset relative memory policy to a specific system node numbered policy, given the current mems_allowed of the tasks cpuset. Such cpuset relative mempolicies will address two deficiencies of the existing interface between cpusets and mempolicies: 1) A task cannot at present reliably establish a cpuset relative mempolicy because there is an essential race condition, in that the tasks cpuset may be changed in between the time the task can query its cpuset placement, and the time the task can issue the applicable mbind or set_memplicy system call. 2) A task cannot at present establish what cpuset relative mempolicy it would like to have, if it is in a smaller cpuset than it might have mempolicy preferences for, because the existing interface only allows specifying mempolicies for nodes currently allowed by the cpuset. Cpuset relative mempolicies are useful for tasks that don't distinguish particularly between one CPU or Node and another, but only between how many of each are allowed, and the proper placement of threads and memory pages on the various CPUs and Nodes available. The motivation for the added bitmap_fold() can be seen in the following example. Let's say an application has specified some mempolicies that presume 16 memory nodes, including say a mempolicy that specified MPOL_F_RELATIVE_NODES (cpuset relative) nodes 12-15. Then lets say that application is crammed into a cpuset that only has 8 memory nodes, 0-7. If one just uses bitmap_onto(), this mempolicy, mapped to that cpuset, would ignore the requested relative nodes above 7, leaving it empty of nodes. That's not good; better to fold the higher nodes down, so that some nodes are included in the resulting mapped mempolicy. In this case, the mempolicy nodes 12-15 are taken modulo 8 (the weight of the mems_allowed of the confining cpuset), resulting in a mempolicy specifying nodes 4-7. Signed-off-by: Paul Jackson Signed-off-by: David Rientjes Cc: Christoph Lameter Cc: Andi Kleen Cc: Mel Gorman Cc: Lee Schermerhorn Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5b087b52f1710eb0bf15a2d2b030c51a6a1ca9e Author: David Rientjes Date: Mon Apr 28 02:12:27 2008 -0700 mempolicy: add MPOL_F_STATIC_NODES flag Add an optional mempolicy mode flag, MPOL_F_STATIC_NODES, that suppresses the node remap when the policy is rebound. Adds another member to struct mempolicy, nodemask_t user_nodemask, as part of a union with cpuset_mems_allowed: struct mempolicy { ... union { nodemask_t cpuset_mems_allowed; nodemask_t user_nodemask; } w; } that stores the the nodemask that the user passed when he or she created the mempolicy via set_mempolicy() or mbind(). When using MPOL_F_STATIC_NODES, which is passed with any mempolicy mode, the user's passed nodemask intersected with the VMA or task's allowed nodes is always used when determining the preferred node, setting the MPOL_BIND zonelist, or creating the interleave nodemask. This happens whenever the policy is rebound, including when a task's cpuset assignment changes or the cpuset's mems are changed. This creates an interesting side-effect in that it allows the mempolicy "intent" to lie dormant and uneffected until it has access to the node(s) that it desires. For example, if you currently ask for an interleaved policy over a set of nodes that you do not have access to, the mempolicy is not created and the task continues to use the previous policy. With this change, however, it is possible to create the same mempolicy; it is only effected when access to nodes in the nodemask is acquired. It is also possible to mount tmpfs with the static nodemask behavior when specifying a node or nodemask. To do this, simply add "=static" immediately following the mempolicy mode at mount time: mount -o remount mpol=interleave=static:1-3 Also removes mpol_check_policy() and folds its logic into mpol_new() since it is now obsoleted. The unused vma_mpol_equal() is also removed. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 028fec414d803117eb4b2ed12acb4dd5da65b32d Author: David Rientjes Date: Mon Apr 28 02:12:25 2008 -0700 mempolicy: support optional mode flags With the evolution of mempolicies, it is necessary to support mempolicy mode flags that specify how the policy shall behave in certain circumstances. The most immediate need for mode flag support is to suppress remapping the nodemask of a policy at the time of rebind. Both the mempolicy mode and flags are passed by the user in the 'int policy' formal of either the set_mempolicy() or mbind() syscall. A new constant, MPOL_MODE_FLAGS, represents the union of legal optional flags that may be passed as part of this int. Mempolicies that include illegal flags as part of their policy are rejected as invalid. An additional member to struct mempolicy is added to support the mode flags: struct mempolicy { ... unsigned short policy; unsigned short flags; } The splitting of the 'int' actual passed by the user is done in sys_set_mempolicy() and sys_mbind() for their respective syscalls. This is done by intersecting the actual with MPOL_MODE_FLAGS, rejecting the syscall of there are additional flags, and storing it in the new 'flags' member of struct mempolicy. The intersection of the actual with ~MPOL_MODE_FLAGS is stored in the 'policy' member of the struct and all current users of pol->policy remain unchanged. The union of the policy mode and optional mode flags is passed back to the user in get_mempolicy(). This combination of mode and flags within the same actual does not break userspace code that relies on get_mempolicy(&policy, ...) and either switch (policy) { case MPOL_BIND: ... case MPOL_INTERLEAVE: ... }; statements or if (policy == MPOL_INTERLEAVE) { ... } statements. Such applications would need to use optional mode flags when calling set_mempolicy() or mbind() for these previously implemented statements to stop working. If an application does start using optional mode flags, it will need to mask the optional flags off the policy in switch and conditional statements that only test mode. An additional member is also added to struct shmem_sb_info to store the optional mode flags. [hugh@veritas.com: shmem mpol: fix build warning] Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b51e0142d1be156ac697eaadadd6cfbb7ba32b Author: David Rientjes Date: Mon Apr 28 02:12:23 2008 -0700 mempolicy: convert MPOL constants to enum The mempolicy mode constants, MPOL_DEFAULT, MPOL_PREFERRED, MPOL_BIND, and MPOL_INTERLEAVE, are better declared as part of an enum since they are sequentially numbered and cannot be combined. The policy member of struct mempolicy is also converted from type short to type unsigned short. A negative policy does not have any legitimate meaning, so it is possible to change its type in preparation for adding optional mode flags later. The equivalent member of struct shmem_sb_info is also changed from int to unsigned short. For compatibility, the policy formal to get_mempolicy() remains as a pointer to an int: int get_mempolicy(int *policy, unsigned long *nmask, unsigned long maxnode, unsigned long addr, unsigned long flags); although the only possible values is the range of type unsigned short. Cc: Paul Jackson Cc: Christoph Lameter Cc: Lee Schermerhorn Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b27d05b6e21249d2338be26dfcbe8f8d8ff8a5b Author: Pekka Enberg Date: Mon Apr 28 02:12:22 2008 -0700 mm: move cache_line_size() to Not all architectures define cache_line_size() so as suggested by Andrew move the private implementations in mm/slab.c and mm/slob.c to . Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Reviewed-by: Christoph Lameter Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19fc3f0acde32636529969570055c7e2a744787c Author: Adam Litke Date: Mon Apr 28 02:12:20 2008 -0700 hugetlb: decrease hugetlb_lock cycling in gather_surplus_huge_pages To reduce hugetlb_lock acquisitions and releases when freeing excess surplus pages, scan the page list in two parts. First, transfer the needed pages to the hugetlb pool. Then drop the lock and free the remaining pages back to the buddy allocator. In the common case there are zero excess pages and no lock operations are required. Thanks Mel Gorman for this improvement. Signed-off-by: Adam Litke Cc: Mel Gorman Cc: Dave Hansen Cc: William Lee Irwin III Cc: Andy Whitcroft Cc: Mel Gorman Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 797df5749032c2286bc7ff3a52de41fde0cdf0a5 Author: Chris Dearman Date: Mon Apr 28 02:12:19 2008 -0700 mm: try both endianess when checking for endianess When checking for the swap header try byteswapping the endianess dependent fields to allow the swap partition to be shared between big & little endian systems. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19770b32609b6bf97a3dece2529089494cbfc549 Author: Mel Gorman Date: Mon Apr 28 02:12:18 2008 -0700 mm: filter based on a nodemask as well as a gfp_mask The MPOL_BIND policy creates a zonelist that is used for allocations controlled by that mempolicy. As the per-node zonelist is already being filtered based on a zone id, this patch adds a version of __alloc_pages() that takes a nodemask for further filtering. This eliminates the need for MPOL_BIND to create a custom zonelist. A positive benefit of this is that allocations using MPOL_BIND now use the local node's distance-ordered zonelist instead of a custom node-id-ordered zonelist. I.e., pages will be allocated from the closest allowed node with available memory. [Lee.Schermerhorn@hp.com: Mempolicy: update stale documentation and comments] [Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask] [Lee.Schermerhorn@hp.com: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework] Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd1a239f6f2d4d3eedd318583ec319aa145b324c Author: Mel Gorman Date: Mon Apr 28 02:12:17 2008 -0700 mm: have zonelist contains structs with both a zone pointer and zone_idx Filtering zonelists requires very frequent use of zone_idx(). This is costly as it involves a lookup of another structure and a substraction operation. As the zone_idx is often required, it should be quickly accessible. The node idx could also be stored here if it was found that accessing zone->node is significant which may be the case on workloads where nodemasks are heavily used. This patch introduces a struct zoneref to store a zone pointer and a zone index. The zonelist then consists of an array of these struct zonerefs which are looked up as necessary. Helpers are given for accessing the zone index as well as the node index. [kamezawa.hiroyu@jp.fujitsu.com: Suggested struct zoneref instead of embedding information in pointers] [hugh@veritas.com: mm-have-zonelist: fix memcg ooms] [hugh@veritas.com: just return do_try_to_free_pages] [hugh@veritas.com: do_try_to_free_pages gfp_mask redundant] Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Nick Piggin Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54a6eb5c4765aa573a030ceeba2c14e3d2ea5706 Author: Mel Gorman Date: Mon Apr 28 02:12:16 2008 -0700 mm: use two zonelist that are filtered by GFP mask Currently a node has two sets of zonelists, one for each zone type in the system and a second set for GFP_THISNODE allocations. Based on the zones allowed by a gfp mask, one of these zonelists is selected. All of these zonelists consume memory and occupy cache lines. This patch replaces the multiple zonelists per-node with two zonelists. The first contains all populated zones in the system, ordered by distance, for fallback allocations when the target/preferred node has no free pages. The second contains all populated zones in the node suitable for GFP_THISNODE allocations. An iterator macro is introduced called for_each_zone_zonelist() that interates through each zone allowed by the GFP flags in the selected zonelist. Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18ea7e710d2452fa726814a406779188028cf1bf Author: Mel Gorman Date: Mon Apr 28 02:12:14 2008 -0700 mm: remember what the preferred zone is for zone_statistics On NUMA, zone_statistics() is used to record events like numa hit, miss and foreign. It assumes that the first zone in a zonelist is the preferred zone. When multiple zonelists are replaced by one that is filtered, this is no longer the case. This patch records what the preferred zone is rather than assuming the first zone in the zonelist is it. This simplifies the reading of later patches in this set. Signed-off-by: Mel Gorman Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Reviewed-by: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e88460da6ab7bb6a7ef83675412ed5b6315d741 Author: Mel Gorman Date: Mon Apr 28 02:12:14 2008 -0700 mm: introduce node_zonelist() for accessing the zonelist for a GFP mask Introduce a node_zonelist() helper function. It is used to lookup the appropriate zonelist given a node and a GFP mask. The patch on its own is a cleanup but it helps clarify parts of the two-zonelist-per-node patchset. If necessary, it can be merged with the next patch in this set without problems. Reviewed-by: Christoph Lameter Signed-off-by: Mel Gorman Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dac1d27bc8d5ca636d3014ecfdf94407031d1970 Author: Mel Gorman Date: Mon Apr 28 02:12:12 2008 -0700 mm: use zonelists instead of zones when direct reclaiming pages The following patches replace multiple zonelists per node with two zonelists that are filtered based on the GFP flags. The patches as a set fix a bug with regard to the use of MPOL_BIND and ZONE_MOVABLE. With this patchset, the MPOL_BIND will apply to the two highest zones when the highest zone is ZONE_MOVABLE. This should be considered as an alternative fix for the MPOL_BIND+ZONE_MOVABLE in 2.6.23 to the previously discussed hack that filters only custom zonelists. The first patch cleans up an inconsistency where direct reclaim uses zonelist->zones where other places use zonelist. The second patch introduces a helper function node_zonelist() for looking up the appropriate zonelist for a GFP mask which simplifies patches later in the set. The third patch defines/remembers the "preferred zone" for numa statistics, as it is no longer always the first zone in a zonelist. The forth patch replaces multiple zonelists with two zonelists that are filtered. The two zonelists are due to the fact that the memoryless patchset introduces a second set of zonelists for __GFP_THISNODE. The fifth patch introduces helper macros for retrieving the zone and node indices of entries in a zonelist. The final patch introduces filtering of the zonelists based on a nodemask. Two zonelists exist per node, one for normal allocations and one for __GFP_THISNODE. Performance results varied depending on the machine configuration. In real workloads the gain/loss will depend on how much the userspace portion of the benchmark benefits from having more cache available due to reduced referencing of zonelists. These are the range of performance losses/gains when running against 2.6.24-rc4-mm1. The set and these machines are a mix of i386, x86_64 and ppc64 both NUMA and non-NUMA. loss to gain Total CPU time on Kernbench: -0.86% to 1.13% Elapsed time on Kernbench: -0.79% to 0.76% page_test from aim9: -4.37% to 0.79% brk_test from aim9: -0.71% to 4.07% fork_test from aim9: -1.84% to 4.60% exec_test from aim9: -0.71% to 1.08% This patch: The allocator deals with zonelists which indicate the order in which zones should be targeted for an allocation. Similarly, direct reclaim of pages iterates over an array of zones. For consistency, this patch converts direct reclaim to use a zonelist. No functionality is changed by this patch. This simplifies zonelist iterators in the next patch. Signed-off-by: Mel Gorman Acked-by: Christoph Lameter Signed-off-by: Lee Schermerhorn Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Cc: Christoph Lameter Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276 Author: Adrian Bunk Date: Mon Apr 28 02:12:11 2008 -0700 make swap_pte_to_pagemap_entry() static Make the needlessly global swap_pte_to_pagemap_entry() static. Signed-off-by: Adrian Bunk Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99 Author: Nick Piggin Date: Mon Apr 28 02:12:10 2008 -0700 mm: remove nopage Nothing in the tree uses nopage any more. Remove support for it in the core mm code and documentation (and a few stray references to it in comments). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3d5b41a72b52555d43efbfc4ccde6ba6e5444f Author: Oleg Nesterov Date: Mon Apr 28 02:12:10 2008 -0700 mmap_region: cleanup the final vma_merge() related code It is not easy to actually understand the "if (!file || !vma_merge())" code, turn it into "if (file && vma_merge())". This makes immediately obvious that the subsequent "if (file)" is superfluous. As Hugh Dickins pointed out, we can also factor out the ->i_writecount corrections, and add a small comment about that. Signed-off-by: Oleg Nesterov Cc: Miklos Szeredi Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dd1334faf7e075bfdb6f5284eed65210b296fc1 Author: Hisashi Hifumi Date: Mon Apr 28 02:12:08 2008 -0700 fix invalidate_inode_pages2_range() to not clear ret DIO invalidates page cache through invalidate_inode_pages2_range(). invalidate_inode_pages2_range() sets ret=-EIO when invalidate_complete_page2() fails, but this ret is cleared if do_launder_page() succeed on a page of next index. In this case, dio is carried out even if invalidate_complete_page2() fails on some pages. This can cause inconsistency between memory and blocks on HDD because the page cache still exists. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Hisashi Hifumi Cc: Badari Pulavarty Cc: Ken Chen Cc: Zach Brown Cc: Nick Piggin Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Chuck Lever Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc81ed2c5d47a078a3b02c5c3a4345bc2bc3c9b Author: Harvey Harrison Date: Mon Apr 28 02:12:07 2008 -0700 remove sparse warning for mmzone.h include/linux/mmzone.h:640:22: warning: potentially expensive pointer subtraction Calculate the offset into the node_zones array rather than the index using casts to (char *) and comparing against the index * sizeof(struct zone). On X86_32 this saves a sar, but code size increases by one byte per is_highmem() use due to 32-bit cmps rather than 16 bit cmps. Before: 207: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax 20d: c1 f8 0b sar $0xb,%eax 210: 83 f8 02 cmp $0x2,%eax 213: 74 16 je 22b 215: 83 f8 03 cmp $0x3,%eax 218: 0f 85 8f 00 00 00 jne 2ad 21e: 83 3d 00 00 00 00 02 cmpl $0x2,0x0 225: 0f 85 82 00 00 00 jne 2ad 22b: 64 a1 00 00 00 00 mov %fs:0x0,%eax After: 207: 2b 80 8c 07 00 00 sub 0x78c(%eax),%eax 20d: 3d 00 10 00 00 cmp $0x1000,%eax 212: 74 18 je 22c 214: 3d 00 18 00 00 cmp $0x1800,%eax 219: 0f 85 8f 00 00 00 jne 2ae 21f: 83 3d 00 00 00 00 02 cmpl $0x2,0x0 226: 0f 85 82 00 00 00 jne 2ae 22c: 64 a1 00 00 00 00 mov %fs:0x0,%eax [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 488514d1798289f56f80ed018e246179fe500383 Author: Christoph Lameter Date: Mon Apr 28 02:12:05 2008 -0700 Remove set_migrateflags() Migrate flags must be set on slab creation as agreed upon when the antifrag logic was reviewed. Otherwise some slabs of a slabcache will end up in the unmovable and others in the reclaimable section depending on which flag was active when a new slab page was allocated. This likely slid in somehow when antifrag was merged. Remove it. The buffer_heads are always allocated with __GFP_RECLAIMABLE because the SLAB_RECLAIM_ACCOUNT option is set. The set_migrateflags() never had any effect there. Radix tree allocations are not directly reclaimable but they are allocated with __GFP_RECLAIMABLE set on each allocation. We now set SLAB_RECLAIM_ACCOUNT on radix tree slab creation making sure that radix tree slabs are consistently placed in the reclaimable section. Radix tree slabs will also be accounted as such. There is then no user left of set_migratepages. So remove it. Signed-off-by: Christoph Lameter Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e92adcba261fd391591bb63c1703185a04a41554 Author: Jeff Moyer Date: Mon Apr 28 02:12:04 2008 -0700 aio: io_getevents() should return if io_destroy() is invoked This patch wakes up a thread waiting in io_getevents if another thread destroys the context. This was tested using a small program that spawns a thread to wait in io_getevents while the parent thread destroys the io context and then waits for the getevents thread to exit. Without this patch, the program hangs indefinitely. With the patch, the program exits as expected. Signed-off-by: Jeff Moyer Cc: Zach Brown Cc: Christopher Smith Cc: Benjamin LaHaise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 180c06efce691f2b721dd0d965079827bdd7ee03 Author: Jeremy Fitzhardinge Date: Mon Apr 28 02:12:03 2008 -0700 hotplug-memory: make online_page() common All architectures use an effectively identical definition of online_page(), so just make it common code. x86-64, ia64, powerpc and sh are actually identical; x86-32 is slightly different. x86-32's differences arise because it puts its hotplug pages in the highmem zone. We can handle this in the generic code by inspecting the page to see if its in highmem, and update the totalhigh_pages count appropriately. This leaves init_32.c:free_new_highpage with a single caller, so I folded it into add_one_highpage_init. I also removed an incorrect comment referring to the NUMA case; any NUMA details have already been dealt with by the time online_page() is called. [akpm@linux-foundation.org: fix indenting] Signed-off-by: Jeremy Fitzhardinge Acked-by: Dave Hansen Reviewed-by: KAMEZAWA Hiroyuki Tested-by: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Christoph Lameter Acked-by: Ingo Molnar Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea01ea937dcae2caa146dea1918cccf2f16ed3c4 Author: Badari Pulavarty Date: Mon Apr 28 02:12:01 2008 -0700 hotplug memory remove: generic __remove_pages() support Generic helper function to remove section mappings and sysfs entries for the section of the memory we are removing. offline_pages() correctly adjusted zone and marked the pages reserved. TODO: Yasunori Goto is working on patches to free up allocations from bootmem. Signed-off-by: Badari Pulavarty Acked-by: Yasunori Goto Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a4e2b8780c6df42b19c053243dada7fa4d311ee Author: Harvey Harrison Date: Mon Apr 28 02:12:00 2008 -0700 rtc: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dca03a51549bc645685fb8a77efa64df531666c3 Author: Julia Lawall Date: Mon Apr 28 02:11:59 2008 -0700 drivers/char/rtc.c: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c116bc2ae516e9949d645bc75b1ee294ff15db23 Author: Zhao Yakui Date: Mon Apr 28 02:11:58 2008 -0700 rtc: add the support for alarm time relative to current time in sysfs In current kernel if we want to set the alarm time, the absolute time the seconds relative to 1970-01-01 00:00:00) should be written into /sys/class/rtc/rtc0/wakealarm. It is not convenient. It is more reasonable to add the support for the alarm time relative to current RTC time.(the unit is second) For example: If the RTC is required to generate alarm after 2 minutes, the following will be OK. echo +120 > /sys/class/rtc/rtc0/wakealarm or echo +0x78 > /sys/class/rtc/rtc0/wakealarm Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2bfe3424b368e977002fc58f81536d5d8ea9449 Author: Paul Mundt Date: Mon Apr 28 02:11:57 2008 -0700 rtc: rtc-rs5c372: fix up NULL name in transfer error path rs5c_get_regs() currently uses rs5c->rtc->name for its debug printk when i2c_transfer() fails, though it is used several times before the rtc dev has been registered. The earliest we can get at the symbolic name is via the i2c client's struct device, which can be handled by moving the first rs5c_get_regs() until after the client pointer is assigned. Signed-off-by: Paul Mundt Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e275ac477161a3df5c27e40c55f7af94cfb396cf Author: David Brownell Date: Mon Apr 28 02:11:56 2008 -0700 kerneldoc for Add to the generated kerneldoc, with some overview to go along with those per-function descriptions. Signed-off-by: David Brownell Cc: Russell King Cc: Alessandro Zummo Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3ed107e63b7cd4d1ba1567a69a1feec5f0eabc1 Author: Adrian Bunk Date: Mon Apr 28 02:11:55 2008 -0700 make ds1511_rtc_{read,set}_time() static Make the needlessly global ds1511_rtc_{read,set}_time() static. Signed-off-by: Adrian Bunk Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c464652813fe128c346ce6e7ec8fb0d2b67de6fb Author: Sam Ravnborg Date: Mon Apr 28 02:11:55 2008 -0700 rtc: silence section mismatch warning in rtc-test Fix following warning: WARNING: vmlinux.o(.data+0x253e28): Section mismatch in reference from the variable test_drv to the function .devexit.text:test_remove() Fix by renaming the platfrom_driver variable from *_drv to *_driver so modpost ignore the reference to an __devexit section. Signed-off-by: Sam Ravnborg Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4edac2b442d6176afb0ae431123993dc00882987 Author: Alessandro Zummo Date: Mon Apr 28 02:11:54 2008 -0700 rtc-x1205: new style conversion [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5fc9cc0266e5babcf84c81908ec8843b7e3349f Author: Alessandro Zummo Date: Mon Apr 28 02:11:54 2008 -0700 rtc-pcf8563: new style conversion [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edae7bcdcbac2dbf037b751ce1809eb2758cd8e Author: Alessandro Zummo Date: Mon Apr 28 02:11:53 2008 -0700 rtc-isl1208: new style conversion and minor bug fixes [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alessandro Zummo Cc: Herbert Valerio Riedel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c750090085f260503d8beec1c73c4d2e4fe93628 Author: David Brownell Date: Mon Apr 28 02:11:52 2008 -0700 rtc: avoid legacy drivers with generic framework Kconfig tweaks to help reduce RTC configuration bugs, by avoiding legacy RTC drivers when the generic RTC framework is enabled: - If rtc-cmos is selected, disable the legacy rtc driver; - When using generic RTC on x86, enable rtc-cmos by default; - In the old "chardev RTC" section of Kconfig, add a comment warning people off these (seven) legacy RTC drivers when the generic framework is in use. People can still use the legacy drivers if they want (or need) to. This doesn't fix the broken dependencies for the legacy "CMOS" RTC driver. Ideally it would be a full list of platforms where it works, not a partial list of ones where it won't. Or better yet, it would depend on a "HAVE_CMOS_RTC" flag defined by various platforms ... surely there's a Kconfig style guideline lurking there. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77459b059b02c16b2c8cbc39b524941a576ad36e Author: David Brownell Date: Mon Apr 28 02:11:51 2008 -0700 rtc-pcf8583 build fix Fix bogus #include in rtc-pcf8583, so it compiles on platforms that don't support PC clone RTCs. (Original issue noted by Adrian Bunk.) Signed-off-by: David Brownell Cc: Adrian Bunk Acked-by: Alessandro Zummo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecf0d0cd28a4bfed3009f752061998e52d14db2 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Apr 28 02:11:50 2008 -0700 dz: test after postfix decrement fails in dz_console_putchar() When loops reaches 0 the postfix decrement still subtracts, so the subsequent test fails. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Maciej W. Rozycki Cc: Johannes Weiner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 556637cdabcd5918c7d4a1a2679b8f86fc81e891 Author: Johannes Weiner Date: Mon Apr 28 02:11:47 2008 -0700 mm: fix possible off-by-one in walk_pte_range() After the loop in walk_pte_range() pte might point to the first address after the pmd it walks. The pte_unmap() is then applied to something bad. Spotted by Roel Kluin and Andreas Schwab. Signed-off-by: Johannes Weiner Cc: Roel Kluin <12o3l@tiscali.nl> Cc: Andreas Schwab Acked-by: Matt Mackall Acked-by: Mikael Pettersson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f022bfd58253099102218db5249220a7f4787114 Author: Ingo Molnar Date: Fri Mar 21 15:42:28 2008 +0100 x86: PAT fix Adrian Bunk noticed the following Coverity report: > Commit e7f260a276f2c9184fe753732d834b1f6fbe9f17 > (x86: PAT use reserve free memtype in mmap of /dev/mem) > added the following gem to arch/x86/mm/pat.c: > > <-- snip --> > > ... > int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn, > unsigned long size, pgprot_t *vma_prot) > { > u64 offset = ((u64) pfn) << PAGE_SHIFT; > unsigned long flags = _PAGE_CACHE_UC_MINUS; > unsigned long ret_flags; > ... > ... (nothing that touches ret_flags) > ... > if (flags != _PAGE_CACHE_UC_MINUS) { > retval = reserve_memtype(offset, offset + size, flags, NULL); > } else { > retval = reserve_memtype(offset, offset + size, -1, &ret_flags); > } > > if (retval < 0) > return 0; > > flags = ret_flags; > > if (pfn <= max_pfn_mapped && > ioremap_change_attr((unsigned long)__va(offset), size, flags) < 0) { > free_memtype(offset, offset + size); > printk(KERN_INFO > "%s:%d /dev/mem ioremap_change_attr failed %s for %Lx-%Lx\n", > current->comm, current->pid, > cattr_name(flags), > offset, offset + size); > return 0; > } > > *vma_prot = __pgprot((pgprot_val(*vma_prot) & ~_PAGE_CACHE_MASK) | > flags); > return 1; > } > > <-- snip --> > > If (flags != _PAGE_CACHE_UC_MINUS) we pass garbage from the stack to > ioremap_change_attr() and/or __pgprot(). > > Spotted by the Coverity checker. the fix simplifies the code as we get rid of the 'ret_flags' complication. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ceb4e8e44be90d507eadfc023272269b6ca494cf Author: David S. Miller Date: Mon Apr 28 04:03:06 2008 -0700 sparc64: Kill PIL_RESERVED, unused. Signed-off-by: David S. Miller commit 8b67dca9420474623709e00d72a066068a502b20 Author: Al Viro Date: Mon Apr 28 04:15:49 2008 -0400 [PATCH] new predicate - AUDIT_FILETYPE Argument is S_IF... | , where index is normally 0 or 1. Triggers if chosen element of ctx->names[] is present and the mode of object in question matches the upper bits of argument. I.e. for things like "is the argument of that chmod a directory", etc. Signed-off-by: Al Viro commit 4a761b8c1d7a3a4ee7ccf92ce255d986f601e067 Author: Pavel Emelyanov Date: Fri Apr 18 13:30:15 2008 -0700 [patch 2/2] Use find_task_by_vpid in audit code The pid to lookup a task by is passed inside audit code via netlink message. Thanks to Denis Lunev, netlink packets are now (since 2.6.24) _always_ processed in the context of the sending task. So this is correct to lookup the task with find_task_by_vpid() here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 41126226e186d92a45ed664e546abb5204588359 Author: Miloslav Trmac Date: Fri Apr 18 13:30:14 2008 -0700 [patch 1/2] audit: let userspace fully control TTY input auditing Remove the code that automatically disables TTY input auditing in processes that open TTYs when they have no other TTY open; this heuristic was intended to automatically handle daemons, but it has false positives (e.g. with sshd) that make it impossible to control TTY input auditing from a PAM module. With this patch, TTY input auditing is controlled from user-space only. On the other hand, not even for daemons does it make sense to audit "input" from PTY masters; this data was produced by a program writing to the PTY slave, and does not represent data entered by the user. Signed-off-by: Miloslav Trmac Cc: Al Viro Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 7719e437fac119e57b17588bab3a8e39ff9d22eb Author: Harvey Harrison Date: Sun Apr 27 02:39:56 2008 -0700 [PATCH 2/2] audit: fix sparse shadowed variable warnings Use msglen as the identifier. kernel/audit.c:724:10: warning: symbol 'len' shadows an earlier one kernel/audit.c:575:8: originally declared here Don't use ino_f to check the inode field at the end of the functions. kernel/auditfilter.c:429:22: warning: symbol 'f' shadows an earlier one kernel/auditfilter.c:420:21: originally declared here kernel/auditfilter.c:542:22: warning: symbol 'f' shadows an earlier one kernel/auditfilter.c:529:21: originally declared here i always used as a counter for a for loop and initialized to zero before use. Eliminate the inner i variables. kernel/auditsc.c:1295:8: warning: symbol 'i' shadows an earlier one kernel/auditsc.c:1152:6: originally declared here kernel/auditsc.c:1320:7: warning: symbol 'i' shadows an earlier one kernel/auditsc.c:1152:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Al Viro commit c782f242f0602edf848355d41e3676753c2280c8 Author: Harvey Harrison Date: Sun Apr 27 02:39:17 2008 -0700 [PATCH 1/2] audit: move extern declarations to audit.h Leave audit_sig_{uid|pid|sid} protected by #ifdef CONFIG_AUDITSYSCALL. Noticed by sparse: kernel/audit.c:73:6: warning: symbol 'audit_ever_enabled' was not declared. Should it be static? kernel/audit.c:100:8: warning: symbol 'audit_sig_uid' was not declared. Should it be static? kernel/audit.c:101:8: warning: symbol 'audit_sig_pid' was not declared. Should it be static? kernel/audit.c:102:6: warning: symbol 'audit_sig_sid' was not declared. Should it be static? kernel/audit.c:117:23: warning: symbol 'audit_ih' was not declared. Should it be static? kernel/auditfilter.c:78:18: warning: symbol 'audit_filter_list' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Al Viro commit 0ef1970d7fcee1b4cb33c5017803e9039bf42db2 Author: Eric Paris Date: Fri Apr 18 10:47:32 2008 -0400 Audit: MAINTAINERS update Change maintainers to include me and al viro Signed-off-by: Eric Paris Signed-off-by: Al Viro commit a42da93c8641a0b49405ceb2a2063975c823aa49 Author: Eric Paris Date: Fri Apr 18 10:36:22 2008 -0400 Audit: increase the maximum length of the key field Key lengths were arbitrarily limited to 32 characters. If userspace is going to start using the single kernel key field as multiple virtual key fields (example key=key1,key2,key3,key4) we should give them enough room to work. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit b556f8ad58c6e9f8f485c8cef7546e3fc82c382a Author: Eric Paris Date: Fri Apr 18 10:12:59 2008 -0400 Audit: standardize string audit interfaces This patch standardized the string auditing interfaces. No userspace changes will be visible and this is all just cleanup and consistancy work. We have the following string audit interfaces to use: void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf, size_t len); void audit_log_n_string(struct audit_buffer *ab, const char *buf, size_t n); void audit_log_string(struct audit_buffer *ab, const char *buf); void audit_log_n_untrustedstring(struct audit_buffer *ab, const char *string, size_t n); void audit_log_untrustedstring(struct audit_buffer *ab, const char *string); This may be the first step to possibly fixing some of the issues that people have with the string output from the kernel audit system. But we still don't have an agreed upon solution to that problem. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit f09ac9db2aafe36fde9ebd63c8c5d776f6e7bd41 Author: Eric Paris Date: Fri Apr 18 10:11:04 2008 -0400 Audit: stop deadlock from signals under load A deadlock is possible between kauditd and auditd under load if auditd receives a signal. When auditd receives a signal it sends a netlink message to the kernel asking for information about the sender of the signal. In that same context the audit system will attempt to send a netlink message back to the userspace auditd. If kauditd has already filled the socket buffer (see netlink_attachskb()) auditd will now put itself to sleep waiting for room to send the message. Since auditd is responsible for draining that socket we have a deadlock. The fix, since the response from the kernel does not need to be synchronous is to send the signal information back to auditd in a separate thread. And thus auditd can continue to drain the audit queue normally. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit f3d357b092956959563398b59ef2fdd10aea387d Author: Eric Paris Date: Fri Apr 18 10:02:28 2008 -0400 Audit: save audit_backlog_limit audit messages in case auditd comes back This patch causes the kernel audit subsystem to store up to audit_backlog_limit messages for use by auditd if it ever appears sometime in the future in userspace. This is useful to collect audit messages during bootup and even when auditd is stopped. This is NOT a reliable mechanism, it does not ever call audit_panic, nor should it. audit_log_lost()/audit_panic() are called during the normal delivery mechanism. The messages are still sent to printk/syslog as usual and if too many messages appear to be queued they will be silently discarded. I liked doing it by default, but this patch only uses the queue in question if it was booted with audit=1 or if the kernel was built enabling audit by default. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 2532386f480eefbdd67b48be55fb4fb3e5a6081c Author: Eric Paris Date: Fri Apr 18 10:09:25 2008 -0400 Audit: collect sessionid in netlink messages Previously I added sessionid output to all audit messages where it was available but we still didn't know the sessionid of the sender of netlink messages. This patch adds that information to netlink messages so we can audit who sent netlink messages. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 436c405c7d19455a71f42c9bec5fd5e028f1eb4e Author: Eric Paris Date: Fri Apr 18 10:01:04 2008 -0400 Audit: end printk with newline A couple of audit printk statements did not have a newline. Signed-off-by: Eric Paris Signed-off-by: Al Viro commit 6eda3a75928a3dc1072dfffd228ab818869d83ad Author: David S. Miller Date: Mon Apr 28 00:47:20 2008 -0700 sparc64: Split entry.S up into seperate files. entry.S was a hodge-podge of several totally unrelated sets of assembler routines, ranging from FPU trap handlers to hypervisor call functions. Split it up into topic-sized pieces. Signed-off-by: David S. Miller commit 39da9847113a870b20fee9a7c216a848b9a5e9f7 Author: Steve French Date: Mon Apr 28 04:04:34 2008 +0000 [CIFS] Fix statfs formatting Signed-off-by: Christoph Hellwig Signed-off-by: Steve French commit 1dbbb6077426f8ce63d6a59c5ac6613e1689cbde Merge: d09e860... 064922a... Author: Steve French Date: Mon Apr 28 04:01:34 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit c9b7b9793764b171a118d049d4b721a7f5d8ac82 Author: Paul Moore Date: Fri Apr 25 15:03:39 2008 -0400 SELinux: Fix a RCU free problem with the netport cache The netport cache doesn't free resources in a manner which is safe or orderly. This patch fixes this by adding in a missing call to rcu_dereference() in sel_netport_insert() as well as some general cleanup throughout the file. Signed-off-by: Paul Moore Signed-off-by: James Morris commit a639e7ca8e8282b75be2724a28bfc788aa3bb156 Author: Paul Moore Date: Fri Apr 25 15:03:34 2008 -0400 SELinux: Made netnode cache adds faster When adding new entries to the network node cache we would walk the entire hash bucket to make sure we didn't cross a threshold (done to bound the cache size). This isn't a very quick or elegant solution for something which is supposed to be quick-ish so add a counter to each hash bucket to track the size of the bucket and eliminate the need to walk the entire bucket list on each add. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 7b41b1733ca1d3278c8eb891e17905d7d54f5bfa Author: Eric Paris Date: Wed Apr 23 14:10:25 2008 -0400 SELinux: include/security.h whitespace, syntax, and other cleanups This patch changes include/security.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements include spaces around , in function calls and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 489a5fd7198d2d2368dd5cf697c841ea4d61ddd1 Author: Eric Paris Date: Tue Apr 22 17:46:17 2008 -0400 SELinux: policydb.h whitespace, syntax, and other cleanups This patch changes policydb.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces followed by tabs spaces used instead of tabs location of * in pointer declarations Signed-off-by: Eric Paris Signed-off-by: James Morris commit 8bf1f3a6c0f7e4092c0c041175a52734600490ba Author: Eric Paris Date: Tue Apr 22 17:46:16 2008 -0400 SELinux: mls_types.h whitespace, syntax, and other cleanups This patch changes mls_types.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit d497fc87c0e201194c3af75b787178cf4559f84b Author: Eric Paris Date: Tue Apr 22 17:46:15 2008 -0400 SELinux: mls.h whitespace, syntax, and other cleanups This patch changes mls.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit faff786ce2f7c14f25d29cf61b0634c8f6c4827f Author: Eric Paris Date: Tue Apr 22 17:46:14 2008 -0400 SELinux: hashtab.h whitespace, syntax, and other cleanups This patch changes hashtab.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit 81fa42df78511e3bdbc0ea545990bda6a5b3e7de Author: Eric Paris Date: Tue Apr 22 17:46:13 2008 -0400 SELinux: context.h whitespace, syntax, and other cleanups This patch changes context.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) include spaces around , in function calls Signed-off-by: Eric Paris Signed-off-by: James Morris commit ccb3cbeb4f285a02103ded5298850a21e7028ba4 Author: Eric Paris Date: Tue Apr 22 17:46:12 2008 -0400 SELinux: ss/conditional.h whitespace, syntax, and other cleanups This patch changes ss/conditional.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) location of * in pointer declarations Signed-off-by: Eric Paris Signed-off-by: James Morris commit b19d8eae99dae42bb747954fdbb2cd456922eb5f Author: Eric Paris Date: Tue Apr 22 17:46:11 2008 -0400 SELinux: selinux/include/security.h whitespace, syntax, and other cleanups This patch changes selinux/include/security.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit a936b79bdf97285e0274eca7b656fc6350ca57ea Author: Eric Paris Date: Tue Apr 22 17:46:10 2008 -0400 SELinux: objsec.h whitespace, syntax, and other cleanups This patch changes objsec.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit cc03766aaf0b670581ec2bd5cba2b9051d14df8d Author: Eric Paris Date: Tue Apr 22 17:46:09 2008 -0400 SELinux: netlabel.h whitespace, syntax, and other cleanups This patch changes netlabel.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) spaces used instead of tabs Signed-off-by: Eric Paris Signed-off-by: James Morris commit e392febedb6e1050a1a81a7bd72456a32c88e710 Author: Eric Paris Date: Tue Apr 22 17:46:08 2008 -0400 SELinux: avc_ss.h whitespace, syntax, and other cleanups This patch changes avc_ss.h to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements no assignments in if statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 358c12953b88c5a06a57c33eb27c753b2e7934d1 Author: Jason Riedy Date: Sun Apr 27 15:38:30 2008 -0700 iwlwifi: Allow building iwl3945 without iwl4965. If IWL3945 ever depends on IWLCORE, the silent, user-invisible IWLWIFI option can go away. Signed-off-by: Jason Riedy Signed-off-by: David S. Miller commit bd8fd21dfddf51299d782f598cb776b15b7d64cc Author: Luca Tettamanti Date: Sun Apr 27 15:34:55 2008 -0700 wireless: Fix compile error with wifi & leds Fix build error caused by commit e82404ad612ebabc65d15c3d59b971cb35c3ff36 ("iwlwifi: Select LEDS_CLASS.") from David Miller: Since MAC80211_LEDS is selected by wireless drivers it must select its own dependencies otherwise a build error may occur (kbuild will select the symbol regardless of "depends" constraints). Signed-off-By: Luca Tettamanti Signed-off-by: David S. Miller commit 9ae27e0adbf471c7a6b80102e38e1d5a346b3b38 Author: Evgeniy Polyakov Date: Sun Apr 27 15:27:30 2008 -0700 tcp: Fix slab corruption with ipv6 and tcp6fuzz From: Evgeniy Polyakov This fixes a regression added by ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 ("[TCP]: TCP_DEFER_ACCEPT updates - process as established") tcp_v6_do_rcv()->tcp_rcv_established(), the latter goes to step5, where eventually skb can be freed via tcp_data_queue() (drop: label), then if check for tcp_defer_accept_check() returns true and thus tcp_rcv_established() returns -1, which forces tcp_v6_do_rcv() to jump to reset: label, which in turn will pass through discard: label and free the same skb again. Tested by Eric Sesterhenn. Signed-off-by: David S. Miller Acked-By: Patrick McManus commit 194f1a68b93e959ede6ec363db4714e630bdbb6a Author: Robert Reif Date: Sun Apr 27 15:18:57 2008 -0700 sparc: video drivers: add facility level Add KERN_ facility level to sparc video drivers. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit f36861d550e6f1a1a7a851b88938f52bdaed7682 Author: Robert Reif Date: Sun Apr 27 15:18:12 2008 -0700 sparc: tcx.c make tcx_init and tcx_exit static Make tcx_init and tcx_exit static. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit a2fb0ce7aeae9c38146df9c2d9b763e5981a0683 Author: Robert Reif Date: Sun Apr 27 15:17:49 2008 -0700 sparc: ffb.c make ffb_init and ffb_exit static Make ffb_init and ffb_exit static. Remove unnecessary function prototype. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 544330009bc5b879129593236aab29e458ec9fe4 Author: Robert Reif Date: Sun Apr 27 15:17:23 2008 -0700 sparc: cg14.c make cg14_init and cg15_exit static Make cg14_init and cg14_exit static. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 2556bf1212c768f567401257582681aa117af4a9 Author: Robert Reif Date: Sun Apr 27 15:16:59 2008 -0700 sparc: bw2.c fix bw2_exit Fix void function bw2_exit returning value. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit fd7354108aa5497d7177b95a6b157eaf8597d621 Author: David S. Miller Date: Sun Apr 27 14:54:02 2008 -0700 sparc64: Fix accidental syscall restart on child return from clone/fork/vfork. This fixes a regression added by 238468b2ac76020c192a7402c92df5097916bf4a ("[SPARC64]: Use trap type stored in pt_regs to handle syscall restart.") Because we now encode the "returning from syscall" status in the pt_regs area, we have to be mindful to zap it out in the child of a fork. During a parallel kernel build I saw an accidental -EINTR return from vfork() in 'make' because of this bug. Signed-off-by: David S. Miller commit 90888816ba1bf1c4eff1e7e4220c1afc802f0fd3 Author: David S. Miller Date: Sun Apr 27 14:52:51 2008 -0700 sparc64: Clean up handling of pt_regs trap type encoding. If we use this from more than one place, it's better to have helpers instead of twiddling magic constants all over. Add pt_regs_trap_type(), pt_regs_clear_trap_type(), and pt_regs_is_syscall(). Use them in do_signal(). Signed-off-by: David S. Miller commit dae50295488f35d2d617b08a5fae43154c947eec Author: David L Stevens Date: Sun Apr 27 01:06:07 2008 -0700 ipv4/ipv6 compat: Fix SSM applications on 64bit kernels. Add support on 64-bit kernels for seting 32-bit compatible MCAST* socket options. Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 01a2202c95989a4df48e9a5b5e013cb80c6b2d66 Author: Herbert Xu Date: Sun Apr 27 00:59:59 2008 -0700 [IPSEC]: Use digest_null directly for auth Previously digest_null had no setkey function which meant that we used hmac(digest_null) for IPsec since IPsec always calls setkey. Now that digest_null has a setkey we no longer need to do that. In fact when only confidentiality is specified for ESP we already use digest_null directly. However, when the null algorithm is explicitly specified by the user we still opt for hmac(digest_null). This patch removes this discrepancy. I have not added a new compat name for it because by chance it wasn't actualy possible for the user to specify the name hmac(digest_null) due to a key length check in xfrm_user (which I found out when testing that compat name :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0b80ae4201e5128e16e5161825f5cd377a5d1fee Author: Randy Dunlap Date: Sat Apr 26 22:59:02 2008 -0700 sunrpc: fix missing kernel-doc Fix missing sunrpc kernel-doc: Warning(linux-2.6.25-git7//net/sunrpc/xprt.c:451): No description found for parameter 'action' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3f91bd420a955803421f2db17b2e04aacfbb2bb8 Author: Sam Ravnborg Date: Sat Apr 26 22:57:25 2008 -0700 can: Fix copy_from_user() results interpretation Both copy_to_ and _from_user return the number of bytes, that failed to reach their destination, not the 0/-EXXX values. Based on patch from Pavel Emelyanov Signed-off-by: Sam Ravnborg Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5c5d6dabb7aac9d0ea7aa76b909bbd28efa99065 Author: David S. Miller Date: Sat Apr 26 22:50:57 2008 -0700 Revert "ipv6: Fix typo in net/ipv6/Kconfig" This reverts commit 5b3f129c5592ca35b3fe8916767c58b98710478c. As requested by Maciej W. Rozycki. Signed-off-by: David S. Miller commit becf3da20eca82e06607b9813cc3b592b359bae5 Author: Al Viro Date: Sat Apr 26 22:42:14 2008 -0700 tipc: endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ec6b486fa9f6d20bfbaebba1db88bfe9d390ab1a Author: Al Viro Date: Sat Apr 26 22:28:58 2008 -0700 ipv6: result of csum_fold() is already 16bit, no need to cast Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5e2c433d9f84dd9b0e01ef8607380d53a7f64d69 Author: YOSHIFUJI Hideaki Date: Sat Apr 26 22:24:10 2008 -0700 [XFRM] AUDIT: Fix flowlabel text format ambibuity. Flowlabel text format was not correct and thus ambiguous. For example, 0x00123 or 0x01203 are formatted as 0x123. This is not what audit tools want. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 86cf02f8eaea1b09e102e0f432fc137dc5cf4407 Author: Linus Torvalds Date: Sun Apr 27 11:59:30 2008 -0700 x86 PAT: tone down debugging messages some more Ingo already fixed one of these at my request (in "x86 PAT: tone down debugging messages", commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824), but there was another one he missed. Signed-off-by: Linus Torvalds commit 064922a805ec7aadfafdd27aa6b4908d737c3c1d Merge: 42cadc8... ecc1241... Author: Linus Torvalds Date: Sun Apr 27 11:25:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (40 commits) [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug [SCSI] aic7xxx: add const [SCSI] aic7xxx: add static [SCSI] aic7xxx: Update _shipped files [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data [SCSI] qla2xxx: Update version number to 8.02.01-k2. [SCSI] qla2xxx: Correct regression in relogin code. [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues. [SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static [SCSI] qla2xxx: qla_os.c, make 2 functions static [SCSI] qla2xxx: Re-register FDMI information after a LIP. [SCSI] qla2xxx: Correct SRB usage-after-completion/free issues. [SCSI] qla2xxx: Correct ISP84XX verify-chip response handling. [SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests. [SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump. [SCSI] m68k: new mac_esp scsi driver [SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs [SCSI] zfcp: Print some messages only during ERP [SCSI] zfcp: Wait for free SBAL during exchange config [SCSI] scsi_transport_fc: fc_user_scan correction ... commit ecc1241e80a0bdc854b1602a44be3ad106753d4f Author: Kay Sievers Date: Fri Apr 18 13:57:19 2008 -0700 [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug Since commit 43cc71eed1250755986da4c0f9898f9a635cb3bf Author: Kay Sievers Date: Sat Aug 18 04:40:39 2007 +0200 platform: prefix MODALIAS with "platform:" the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable SCSI platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] [akpm@linux-foundation.org: fix sgiwd93.c] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 980b306a297725d4f25c779ca15086de757acadf Author: Denys Vlasenko Date: Fri Apr 25 04:36:01 2008 +0200 [SCSI] aic7xxx: add const This patch adds more const keywords where appropriate. Signed-off-by: Denys Vlasenko Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit d1d7b19d433188e94fc87cc7ca66363cd77a0bba Author: Denys Vlasenko Date: Fri Apr 25 04:34:49 2008 +0200 [SCSI] aic7xxx: add static This patch adds static (and sometimes const) keywords where appropriate. Signed-off-by: Denys Vlasenko Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit d10c2e4627b0dda286bcd1c77720eb5fe4a04f93 Author: Hannes Reinecke Date: Fri Apr 25 15:03:05 2008 +0200 [SCSI] aic7xxx: Update _shipped files Update the precompiled sequencer code to match the latest aicasm changes. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 3dbd10f3d8b00dad35d3fac95e91c066ae71d9a8 Author: Hannes Reinecke Date: Fri Apr 25 15:01:41 2008 +0200 [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code. This will give us an automatic usage count for the symbols with only minimal hand-crafting. Signed-off-by: James Bottomley commit a198c3d0393faa1fa9f0e6e917ce980d3638f8df Author: Andrew Vasquez Date: Thu Apr 24 15:21:31 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k2. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 666301e673e192c87a40e07a8357d6996b57b70f Author: Andrew Vasquez Date: Thu Apr 24 15:21:30 2008 -0700 [SCSI] qla2xxx: Correct regression in relogin code. Commit 63a8651f2548c6bb5132c0b4e7dad4f57a9274db ([SCSI] qla2xxx: Correct infinite-login-retry issue.) introduced a small regression where a successful relogin would result in an fcport's loop_id to be incorrectly reset to FC_NO_LOOP_ID. Only clear-out loopid, if retries have been 'truly' exhausted. Signed-off-by: Andrew Vasquez Cc: Stable Tree Signed-off-by: James Bottomley commit c6852c4c5984fff130a859792d4b26d30c85c54b Author: Seokmann Ju Date: Thu Apr 24 15:21:29 2008 -0700 [SCSI] qla2xxx: Correct misc. endian and byte-ordering issues. There were several places in the driver which could cause byte ordering problem as provided by Al Viro . Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 3b8117b837f5768f46e9a876a58de11606f63483 Author: Adrian Bunk Date: Thu Apr 24 15:21:28 2008 -0700 [SCSI] qla2xxx: make qla2x00_issue_iocb_timeout() static This patch makes the needlessly global qla2x00_issue_iocb_timeout() static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 01ef66bbb65aa4db100b267778202d7657e244e4 Author: Adrian Bunk Date: Thu Apr 24 15:21:27 2008 -0700 [SCSI] qla2xxx: qla_os.c, make 2 functions static This patch makes the following needlessly global functions static: - qla2x00_alloc_work() - qla2x00_post_work() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7e47e5ca184548341a82eeb2238ee3622c43cae1 Author: Andrew Vasquez Date: Thu Apr 24 15:21:26 2008 -0700 [SCSI] qla2xxx: Re-register FDMI information after a LIP. Original code would (incorrectly) only re-register after a loop-down condition. Also, FDMI registration should be enabled by default. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0c23b856581673c90aa619b1ab04127a7f90cea2 Author: Andrew Vasquez Date: Thu Apr 24 15:21:25 2008 -0700 [SCSI] qla2xxx: Correct SRB usage-after-completion/free issues. The driver is incorrectly assuming that the 'sp' reference held in qla2[x00|4xx]_abort_command() is valid after the mailbox command is issued to abort the exchange. It is *not*, as the command may be completed during interrupt context before control is returned to the mailbox caller. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c1ec1f1bf9cb1ba80e79a74d48bcfb5da246d6f6 Author: Andrew Vasquez Date: Thu Apr 24 15:21:24 2008 -0700 [SCSI] qla2xxx: Correct ISP84XX verify-chip response handling. Earlier code could trigger an infinite-retry if 1st invocation returned a non-CS_COMPLETE status. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 550bf57dfb2200721baa43cfd9a8c75c2c166870 Author: Andrew Vasquez Date: Thu Apr 24 15:21:23 2008 -0700 [SCSI] qla2xxx: Wakeup DPC thread to process any deferred-work requests. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c5722708c236b51286651b8c07855f764239453b Author: Andrew Vasquez Date: Thu Apr 24 15:21:22 2008 -0700 [SCSI] qla2xxx: Collapse RISC-RAM retrieval code during a firmware-dump. Use the more efficient read-DMA'ble-buffer mailbox commands rather than reading a single word/dword at a time. We also remove a bulk of the duplicate mailbox command-handling codes in favor of more generic read-memory() routines (qla2xxx_dump_ram() and qla24xx_dump_ram()). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6fe07aaffbf086a0ce9134ef27ce4a8921ff5947 Author: Finn Thain Date: Fri Apr 25 10:06:05 2008 -0500 [SCSI] m68k: new mac_esp scsi driver Replace the mac_esp driver with a new one based on the esp_scsi core. For esp_scsi: add support for sync transfers for the PIO mode, add a new esp_driver_ops method to get the maximum dma transfer size (like the old NCR53C9x driver), and some cleanups. Signed-off-by: Finn Thain Acked-by: David S. Miller Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 6d9d63b9480e1c7ea41845646de803c2d3f0eae2 Author: Swen Schillig Date: Thu Apr 24 19:35:54 2008 +0200 [SCSI] zfcp: Add some statistics provided by the FCP adapter to the sysfs The new FCP adapter statistics provide a variety of information about the virtual adapter (subchannel). In order to collect this information the zfcp driver is extended to query this information. The information provided by the new FCP adapter statistics can be fetched by reading from the following files in the sysfs filesystem /sys/class/scsi_host/host/seconds_active /sys/class/scsi_host/host/requests /sys/class/scsi_host/host/megabytes /sys/class/scsi_host/host/utilization These are the statistics on a virtual adapter (subchannel) level. The information provided is raw and not modified or interpreted by any means. No interpretation or modification of the values is done by the zfcp driver. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ec258fe4b76dba29e1a149cd8f23ee931b47afb2 Author: Swen Schillig Date: Thu Apr 24 19:35:53 2008 +0200 [SCSI] zfcp: Print some messages only during ERP When statistics are polled from sysfs, the statistics use the same commands as the adapter initialization. Change the messages printed here, so they are only printed during initialization and not for each poll of adapter data. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit aee6ef1859fd975b285b6de1857f7dcf39671818 Author: Swen Schillig Date: Thu Apr 24 19:35:52 2008 +0200 [SCSI] zfcp: Wait for free SBAL during exchange config When sending a exchange config data command, wait for a free SBAL. This does not matter during adapter initialization, but this is required for pulling adapter statistics during high I/O load. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bda232531f0c117921690ee3c060953c8f12e5a1 Author: James Smart Date: Thu Apr 24 12:12:46 2008 -0400 [SCSI] scsi_transport_fc: fc_user_scan correction Way back when, when the fc_user_scan routine was created, it kept some of its original logic that walked the rport list and kicked off a scan. Unfortunately, it didn't keep any of the locking around the rport list, nor did it consider the synchronous nature of the scan invoked. The result, there are some scan requests where the rport list changes, thus a subsequent scan is called on a bogus rport structure and the system NMI's. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 87c4d7bc2aaa9b782aac6ab0a74cf16f87398bbc Author: Jeff Garzik Date: Thu Apr 24 19:45:32 2008 -0400 [SCSI] aha1542: minor irq handler cleanups - where the 'irq' function argument is known never to be used, rename it to 'dummy' to make this more obvious - replace per-irq lookup functions and tables with a direct reference to data object obtained via 'dev_id' function argument, passed from request_irq() Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 9f9a73b6fe0c8fd9b54b650e34956eb92df6abfa Author: Randy Dunlap Date: Wed Apr 23 09:56:14 2008 -0700 [SCSI] scsi_transport_spi: include sysfs.h scsi_transport_spi.c needs to #include : next-20080423/drivers/scsi/scsi_transport_spi.c:1467: error: implicit declaration of function 'sysfs_update_group' make[3]: *** [drivers/scsi/scsi_transport_spi.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 1377d8dd7e1b5526637958aabb5427bbee5a68d7 Author: Adrian Bunk Date: Wed Apr 23 12:51:10 2008 +0300 [SCSI] FlashPoint: fix off-by-one errors This patch fixes off-by-one errors in error checks (the variables are used as array indexes for arrays with MAX_SCSI_TAR resp. MAX_LUN elements) spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 2b48aed182c65b3387b076364ab286c445aa4a93 Author: Hannes Reinecke Date: Wed Apr 23 11:39:49 2008 +0200 [SCSI] aic7xxx: Update type check in aicasm grammar The function type_check() in aicasm grammar code was never used properly due to a bug. This patch fixes it up and ensures it's only called if appropriate. In addition the unused 16bit instruction are disabled, but left in the code for reference. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 542bd1377a963070bc4a03ff7d2690ddf3920596 Author: James Bottomley Date: Mon Apr 21 10:57:20 2008 -0500 [SCSI] fix SLUB WARN_ON We're getting a WARN_ON from SLUB indicating that we're trying to free caches with in-use objects. The root cause is a new dependency in the command/sense free on unchecked_isa_dma. The WARN_ON is caused by drivers which change this in their setup after the command/sense cache is allocated. The fix is to move the allocation of this cache into scsi_add_host() so things like gdth have an opportunity to modify it between alloc and add (but *not* after). The true fix would be to move unchecked_isa_dma into the template and out of the host, so it because a truly read only variable. Signed-off-by: James Bottomley commit 42cadc86008aae0fd9ff31642dc01ed50723cf32 Merge: fba5c1a... 66c0b39... Author: Linus Torvalds Date: Sun Apr 27 10:13:52 2008 -0700 Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (147 commits) KVM: kill file->f_count abuse in kvm KVM: MMU: kvm_pv_mmu_op should not take mmap_sem KVM: SVM: remove selective CR0 comment KVM: SVM: remove now obsolete FIXME comment KVM: SVM: disable CR8 intercept when tpr is not masking interrupts KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled KVM: export kvm_lapic_set_tpr() to modules KVM: SVM: sync TPR value to V_TPR field in the VMCB KVM: ppc: PowerPC 440 KVM implementation KVM: Add MAINTAINERS entry for PowerPC KVM KVM: ppc: Add DCR access information to struct kvm_run ppc: Export tlb_44x_hwater for KVM KVM: Rename debugfs_dir to kvm_debugfs_dir KVM: x86 emulator: fix lea to really get the effective address KVM: x86 emulator: fix smsw and lmsw with a memory operand KVM: x86 emulator: initialize src.val and dst.val for register operands KVM: SVM: force a new asid when initializing the vmcb KVM: fix kvm_vcpu_kick vs __vcpu_run race KVM: add ioctls to save/store mpstate KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_* ... commit fba5c1af5c4fd6645fe62ea84ccde0981282cf66 Merge: f222eba... 077e3bd... Author: Linus Torvalds Date: Sun Apr 27 10:13:06 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (49 commits) ide-tape: remove tape->merge_stage ide-tape: mv tape->merge_stage_size tape->merge_bh_size ide-tape: mv idetape_empty_write_pipeline ide_tape_flush_merge_buffer ide-tape: mv idetape_discard_read_pipeline ide_tape_discard_merge_buffer ide-tape: make __idetape_discard_read_pipeline() of type void ide: remove now unused ide_pci_create_host_proc() ide: remove /proc/ide/ali ide-tape: improve buffer pages freeing strategy ide-tape: mv tape->pages_per_stage tape->pages_per_buffer ide-tape: mv tape->stage_size tape->buffer_size ide-tape: improve buffer allocation strategy ide: add struct ide_io_ports (take 3) ide: make ide_unregister() take 'ide_hwif_t *' as an argument (take 2) ide: sanitize ide_unregister() usage mpc8xx-ide: use ide_find_port() ide: add "noacpi" / "acpigtf" / "acpionboot" parameters gayle: add "doubler" parameter ide: add "cdrom=" and "chs=" parameters ide: add "nodma|noflush|noprobe|nowerr=" parameters ide: remove obsoleted "hdx=autotune" kernel parameter ... commit f222eba0f9d98376d363b51fcc2361fb56929844 Merge: cf867ac... 7f424a8... Author: Linus Torvalds Date: Sun Apr 27 10:10:54 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-idle-fix: fix idle (arch, acpi and apm) and lockdep commit cf867ac375cea7c7a834eaddaf373e2662d9e260 Merge: 2d630d1... 2043021... Author: Linus Torvalds Date: Sun Apr 27 10:10:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: xpad - fix build failure commit 2d630d1a6827bb7266dcd8bba5f99fac2505ee97 Merge: f375d55... ed4d3c1... Author: Linus Torvalds Date: Sun Apr 27 10:10:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Add helper to move QP to ready-to-send mlx4_core: Add HW queues allocation helpers RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase mlx4_core: CQ resizing should pass a 0 opcode modifier to MODIFY_CQ mlx4_core: Move kernel doorbell management into core IB/ehca: Bump version number to 0026 IB/ehca: Make some module parameters bool, update descriptions IB/ehca: Remove mr_largepage parameter IB/ehca: Move high-volume debug output to higher debug levels IB/ehca: Prevent posting of SQ WQEs if QP not in RTS IPoIB: Handle 4K IB MTU for UD (datagram) mode RDMA/nes: Fix adapter reset after PXE boot RDMA/nes: Print IPv4 addresses in a readable format RDMA/nes: Use print_mac() to format ethernet addresses for printing commit f375d5588ff62caf31b4a68ac9347c153ac56590 Author: Al Viro Date: Sun Apr 27 06:19:18 2008 +0100 asm/unaligned.h doesn't work well as the very first include Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7ac86bf61ad570a2ef642a3f7e72274570ace9c4 Author: Al Viro Date: Sun Apr 27 06:15:42 2008 +0100 e1000e triggers sparc32 gcc bug ... and isn't possible on sparc32 boxen anyway, unless somebody had done JavaStation with PCIE lately. Signed-off-by: Al Viro Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit d7b41a24bfb5d7fa02f7b49be1293d468814e424 Author: Bodo Stroesser Date: Sat Apr 26 14:10:16 2008 -0700 hrtimer: timeout too long when using HRTIMER_CB_SOFTIRQ When using hrtimer with timer->cb_mode == HRTIMER_CB_SOFTIRQ in some cases the clockevent is not programmed. This happens, if: - a timer is rearmed while it's state is HRTIMER_STATE_CALLBACK - hrtimer_reprogram() returns -ETIME, when it is called after CALLBACK is finished. This occurs if the new timer->expires is in the past when CALLBACK is done. In this case, the timer needs to be removed from the tree and put onto the pending list again. The patch is against 2.6.22.5, but AFAICS, it is relevant for 2.6.25 also (in run_hrtimer_pending()). Signed-off-by: Bodo Stroesser Cc: stable@kernel.org Signed-off-by: Thomas Gleixner commit 697c269610179051cf19e45566fee3dcebbb1e93 Author: Francois Romieu Date: Wed Nov 21 22:30:37 2007 +0100 sis190: account for Tx errors Update the collision counter as well. Signed-off-by: Francois Romieu commit c34ebbae01e3d1f6a5cced6a40dc0ed792590d22 Author: Francois Romieu Date: Sun Nov 18 22:04:05 2007 +0100 sis190: remove needless MII reset It does not help the auto-negotiation process to settle. Added a debug message to give some hindsight when things do not work as expected. Signed-off-by: Francois Romieu commit 47e4781544aaf2916170ef5516786fbb19447600 Author: Francois Romieu Date: Sun Apr 27 17:59:52 2008 +0200 sis190: Rx path update - remove the function pointer to help gcc optimizing the inline pci_dma functions - pci_dma_sync_single_for_cpu is not needed for a single large packet - convert rtl8169_try_rx_copy to bool b449655ff52ff8a29c66c5fc3fc03617e61182ee did the same for the r8169 driver. Signed-off-by: Francois Romieu commit c124f5b54f879e5870befcc076addbd5d614663f Author: Christoph Lameter Date: Mon Apr 14 19:13:29 2008 +0300 slub: pack objects denser Since we now have more orders available use a denser packing. Increase slab order if more than 1/16th of a slab would be wasted. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 9b2cd506e5f2117f94c28a0040bf5da058105316 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Calculate min_objects based on number of processors. The mininum objects per slab is calculated based on the number of processors that may come online. Processors min_objects --------------------------- 1 8 2 12 4 16 8 20 16 24 32 28 64 32 1024 48 4096 56 The higher the number of processors the large the order sizes used for various slab caches will become. This has been shown to address the performance issues in hackbench on 16p etc. The calculation is only performed if slub_min_objects is zero (default). If one specifies a slub_min_objects on boot then that setting is taken. As suggested by Zhang Yanmin's performance tests on 16-core Tigerton, use the formula '4 * (fls(nr_cpu_ids) + 1)': ./hackbench 100 process 2000: 1) 2.6.25-rc6slab: 23.5 seconds 2) 2.6.25-rc7SLUB+slub_min_objects=20: 31 seconds 3) 2.6.25-rc7SLUB+slub_min_objects=24: 23.5 seconds Signed-off-by: Christoph Lameter Signed-off-by: Zhang Yanmin Signed-off-by: Pekka Enberg commit 114e9e89e668ec561c9b0f3dea7bcc8af7c29d21 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS We can now fallback to order 0 slabs. So set the slub_max_order to PAGE_CACHE_ORDER_COSTLY but keep the slub_min_objects at 4. This will mostly preserve the orders used in 2.6.25. F.e. The 2k kmalloc slab will use order 1 allocs and the 4k kmalloc slab order 2. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 31d33baf36bda7a2fea800648d87c9fe6155e7ca Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Simplify any_slab_object checks Since we now have total_objects counter per node use that to check for the presence of any objects. The loop over all cpu slabs is not that useful since any cpu slab would require an object allocation first. So drop that. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 06b285dc3d6194abe79ab9dcaaab703d6f75627c Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Make the order configurable for each slab cache Makes /sys/kernel/slab//order writable. The allocation order of a slab cache can then be changed dynamically during runtime. This can be used to override the objects per slabs value establisheed with the slub_min_objects setting that was manually specified or calculated on bootup. The changes of the slab order can occur while allocate_slab() runs. Allocate slab needs the order and the number of slab objects that are both changed by the change of order. Both are put into a single word (struct kmem_cache_order_objects). They can then be atomically updated and retrieved. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 319d1e240683d37924ea8977c91730c3393fd453 Author: Christoph Lameter Date: Mon Apr 14 19:11:41 2008 +0300 slub: Drop fallback to page allocator method There is now a generic method of falling back to a slab page of minimal order. No need anymore for the fallback to kmalloc_large(). Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 65c3376aaca96c66aa76014aaf430398964b68cb Author: Christoph Lameter Date: Mon Apr 14 19:11:40 2008 +0300 slub: Fallback to minimal order during slab page allocation If any higher order allocation fails then fall back the smallest order necessary to contain at least one object. This enables fallback for all allocations to order 0 pages. The fallback will waste more memory (objects will not fit neatly) and the fallback slabs will be not as efficient as larger slabs since they contain less objects. Note that SLAB also depends on order 1 allocations for some slabs that waste too much memory if forced into PAGE_SIZE'd page. SLUB now can now deal with failing order 1 allocs which SLAB cannot do. Add a new field min that will contain the objects for the smallest possible order for a slab cache. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 205ab99dd103e3dd5b0964dad8a16dfe2db69b2e Author: Christoph Lameter Date: Mon Apr 14 19:11:40 2008 +0300 slub: Update statistics handling for variable order slabs Change the statistics to consider that slabs of the same slabcache can have different number of objects in them since they may be of different order. Provide a new sysfs field total_objects which shows the total objects that the allocated slabs of a slabcache could hold. Add a max field that holds the largest slab order that was ever used for a slab cache. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 834f3d119234b35a1985a2449831d99356637937 Author: Christoph Lameter Date: Mon Apr 14 19:11:31 2008 +0300 slub: Add kmem_cache_order_objects struct Pack the order and the number of objects into a single word. This saves some memory in the kmem_cache_structure and more importantly allows us to fetch both values atomically. Later the slab orders become runtime configurable and we need to fetch these two items together in order to properly allocate a slab and initialize its objects. Fix the race by fetching the order and the number of objects in one word. [penberg@cs.helsinki.fi: fix memset() page order in new_slab()] Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 224a88be40c45c0da5bdc45a8118004a37c60e8a Author: Christoph Lameter Date: Mon Apr 14 19:11:31 2008 +0300 slub: for_each_object must be passed the number of objects in a slab Pass the number of objects to the for_each_object macro. Most of these are debug related. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 39b264641a0c3b5e0e742e2046b49e92d1f3be88 Author: Christoph Lameter Date: Mon Apr 14 19:11:30 2008 +0300 slub: Store max number of objects in the page struct. Split the inuse field up to be able to store the number of objects in this page in the page struct as well. Necessary if we want to have pages of various orders for a slab. Also avoids touching struct kmem_cache cachelines in __slab_alloc(). Update diagnostic code to check the number of objects and make sure that the number of objects always stays within the bounds of a 16 bit unsigned integer. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 33b12c38134e95e5afa73214af6f49abd7b8418e Author: Christoph Lameter Date: Fri Apr 25 12:22:43 2008 -0700 slub: Dump list of objects not freed on kmem_cache_close() Dump a list of unfreed objects if a slab cache is closed but objects still remain. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 599870b175987008b5f5c82a70b89f751e12822e Author: Christoph Lameter Date: Wed Apr 23 12:36:52 2008 -0700 slub: free_list() cleanup free_list looked a bit screwy so here is an attempt to clean it up. free_list is is only used for freeing partial lists. We do not need to return a parameter if we decrement nr_partial within the function which allows a simplification of the whole thing. The current version modifies nr_partial outside of the list_lock which is technically not correct. It was only ok because we should be the only user of this slab cache at this point. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit d629d819579327267884a12de21ef6d4b539db88 Author: Pekka Enberg Date: Wed Apr 23 22:31:08 2008 +0300 slub: improve kmem_cache_destroy() error message As pointed out by Ingo, the SLUB warning of calling kmem_cache_destroy() with cache that still has objects triggers in practice. So turn this WARN_ON() into a nice SLUB specific error message to avoid people confusing it to a SLUB bug. Cc: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 0701a9e649bf0ffdac0a761d3c3d1041f5375d90 Author: Yi Li Date: Fri Apr 25 19:49:21 2008 +0300 slob: fix bug - when slob allocates "struct kmem_cache", it does not force alignment. This may trigger misaligned memory access exception. Acked-by: Matt Mackall Signed-off-by: Yi Li Signed-off-by: Bryan Wu Signed-off-by: Pekka Enberg commit 66c0b394f08fd89236515c1c84485ea712a157be Author: Al Viro Date: Sat Apr 19 20:33:56 2008 +0100 KVM: kill file->f_count abuse in kvm Use kvm own refcounting instead of playing with ->filp->f_count. That will allow to get rid of a lot of crap in anon_inode_getfd() and kill a race in kvm_dev_ioctl_create_vm() (file might have been closed immediately by another thread, so ->filp might point to already freed struct file when we get around to setting it). Signed-off-by: Al Viro Signed-off-by: Avi Kivity commit 960b3991698872f68f09d51f4c2794ad484fe1fd Author: Marcelo Tosatti Date: Wed Apr 16 17:19:06 2008 -0300 KVM: MMU: kvm_pv_mmu_op should not take mmap_sem kvm_pv_mmu_op should not take mmap_sem. All gfn_to_page() callers down in the MMU processing will take it if necessary, so as it is it can deadlock. Apparently a leftover from the days before slots_lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1336028b9a1fb33537eab8caec66e812eb8cad63 Author: Joerg Roedel Date: Wed Apr 16 17:01:05 2008 +0200 KVM: SVM: remove selective CR0 comment There is not selective cr0 intercept bug. The code in the comment sets the CR0.PG bit. But KVM sets the CR4.PG bit for SVM always to implement the paged real mode. So the 'mov %eax,%cr0' instruction does not change the CR0.PG bit. Selective CR0 intercepts only occur when a bit is actually changed. So its the right behavior that there is no intercept on this instruction. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aaf697e4e02bf6f7dd6105877bc58ebdbf612d66 Author: Joerg Roedel Date: Wed Apr 16 16:51:19 2008 +0200 KVM: SVM: remove now obsolete FIXME comment With the usage of the V_TPR field this comment is now obsolete. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aaacfc9ae225e88695e610a35627d2256dc08633 Author: Joerg Roedel Date: Wed Apr 16 16:51:18 2008 +0200 KVM: SVM: disable CR8 intercept when tpr is not masking interrupts This patch disables the intercept of CR8 writes if the TPR is not masking interrupts. This reduces the total number CR8 intercepts to below 1 percent of what we have without this patch using Windows 64 bit guests. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d7bf8221a3037d0d0760a1ccf1833bda03213abf Author: Joerg Roedel Date: Wed Apr 16 16:51:17 2008 +0200 KVM: SVM: sync V_TPR with LAPIC.TPR if CR8 write intercept is disabled If the CR8 write intercept is disabled the V_TPR field of the VMCB needs to be synced with the TPR field in the local apic. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ec7cf6903ffced20098e2bcc27a184172836dfb9 Author: Joerg Roedel Date: Wed Apr 16 16:51:16 2008 +0200 KVM: export kvm_lapic_set_tpr() to modules This patch exports the kvm_lapic_set_tpr() function from the lapic code to modules. It is required in the kvm-amd module to optimize CR8 intercepts. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 649d68643ebf02f31859ffbb16676aa44c72e6e9 Author: Joerg Roedel Date: Wed Apr 16 16:51:15 2008 +0200 KVM: SVM: sync TPR value to V_TPR field in the VMCB This patch adds syncing of the lapic.tpr field to the V_TPR field of the VMCB. With this change we can safely remove the CR8 read intercept. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit bbf45ba57eaec56569918a8bab96ab653bd45ec1 Author: Hollis Blanchard Date: Wed Apr 16 23:28:09 2008 -0500 KVM: ppc: PowerPC 440 KVM implementation This functionality is definitely experimental, but is capable of running unmodified PowerPC 440 Linux kernels as guests on a PowerPC 440 host. (Only tested with 440EP "Bamboo" guests so far, but with appropriate userspace support other SoC/board combinations should work.) See Documentation/powerpc/kvm_440.txt for technical details. [stephen: build fix] Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Stephen Rothwell Signed-off-by: Avi Kivity commit 513014b717203d1d689652d0fda86eee959a6a8a Author: Hollis Blanchard Date: Wed Apr 16 23:28:08 2008 -0500 KVM: Add MAINTAINERS entry for PowerPC KVM Signed-off-by: Hollis Blanchard Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit b2312f059c893833de58876c74290511846cd208 Author: Hollis Blanchard Date: Wed Apr 16 23:28:07 2008 -0500 KVM: ppc: Add DCR access information to struct kvm_run Device Control Registers are essentially another address space found on PowerPC 4xx processors, analogous to PIO on x86. DCRs are always 32 bits, and can be identified by a 32-bit number. We forward most DCR accesses to userspace for emulation (with the exception of CPR0 registers, which can be read directly for simplicity in timebase frequency determination). Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 4baacfb0de53b05428c87d377fc8a3def4dc10e7 Author: Hollis Blanchard Date: Wed Apr 16 23:28:06 2008 -0500 ppc: Export tlb_44x_hwater for KVM PowerPC 440 KVM needs to know how many TLB entries are used for the host kernel linear mapping (it does not modify these mappings when switching between guest and host execution). Signed-off-by: Hollis Blanchard Acked-by: Josh Boyer Acked-by: Paul Mackerras Signed-off-by: Avi Kivity commit 76f7c87902fd2c2de9eb57168adbf9bc5ec2047d Author: Hollis Blanchard Date: Tue Apr 15 16:05:42 2008 -0500 KVM: Rename debugfs_dir to kvm_debugfs_dir It's a globally exported symbol now. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit f9b7aab35cc6c3542203354d9fc4ec8572074abc Author: Avi Kivity Date: Mon Apr 14 23:46:37 2008 +0300 KVM: x86 emulator: fix lea to really get the effective address We never hit this, since there is currently no reason to emulate lea. Signed-off-by: Avi Kivity commit 16286d082d99cb41e16938fa6ba84604229f4b77 Author: Avi Kivity Date: Mon Apr 14 14:40:50 2008 +0300 KVM: x86 emulator: fix smsw and lmsw with a memory operand lmsw and smsw were implemented only with a register operand. Extend them to support a memory operand as well. Fixes Windows running some display compatibility test on AMD hosts. Signed-off-by: Avi Kivity commit 66b85505736dbd3a3a0ed5ae38c12bb218b231c0 Author: Avi Kivity Date: Mon Apr 14 23:27:07 2008 +0300 KVM: x86 emulator: initialize src.val and dst.val for register operands This lets us treat the case where mod == 3 in the same manner as other cases. Signed-off-by: Avi Kivity commit a79d2f1805da02d7837ec2240f0093c53272fb3a Author: Avi Kivity Date: Mon Apr 14 13:10:21 2008 +0300 KVM: SVM: force a new asid when initializing the vmcb Shutdown interception clears the vmcb, leaving the asid at zero (which is illegal. so force a new asid on vmcb initialization. Signed-off-by: Avi Kivity commit e9571ed54b2a290d61b98ad6f369f963159fe6da Author: Marcelo Tosatti Date: Fri Apr 11 15:01:22 2008 -0300 KVM: fix kvm_vcpu_kick vs __vcpu_run race There is a window open between testing of pending IRQ's and assignment of guest_mode in __vcpu_run. Injection of IRQ's can race with __vcpu_run as follows: CPU0 CPU1 kvm_x86_ops->run() vcpu->guest_mode = 0 SET_IRQ_LINE ioctl .. kvm_x86_ops->inject_pending_irq kvm_cpu_has_interrupt() apic_test_and_set_irr() kvm_vcpu_kick if (vcpu->guest_mode) send_ipi() vcpu->guest_mode = 1 So move guest_mode=1 assignment before ->inject_pending_irq, and make sure that it won't reorder after it. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 62d9f0dbc92d7e398fde53fc6021338393522e68 Author: Marcelo Tosatti Date: Fri Apr 11 13:24:45 2008 -0300 KVM: add ioctls to save/store mpstate So userspace can save/restore the mpstate during migration. [avi: export the #define constants describing the value] [christian: add s390 stubs] [avi: ditto for ia64] Signed-off-by: Marcelo Tosatti Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 582fb6c03a0e89d05e4efa8a3e4bd09d0942dadc Author: David S. Miller Date: Sat Apr 19 09:16:38 2008 -0500 [SCSI] esp_scsi: Make cur_residue and tot_residue signed. Many of the overflow checks test whether the value has gone negative, and we want to retain such checks. Reported by Julia Lawall. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 077e3bdb9ec34d7cb5751b5be81a4a0f6f0eb5dc Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: remove tape->merge_stage Get rid of the pipeline merge stage but retain the chrdev req caching functionality by using a merge buffer tape->merge_bh which is flushed in chunks of several blocks at a time. Also, remove last references to pipelining, e.g. typedef idetape_stage_s. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 01a63aebe4dcfcbe983c40a475e4650a4ae614de Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv tape->merge_stage_size tape->merge_bh_size This is the size of the merge buffer. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d9df937af4f980883d94276000e5af399438e1a9 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv idetape_empty_write_pipeline ide_tape_flush_merge_buffer Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ec0fdb01f808e3f0b50378bfabaee4ced41a8fd9 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: mv idetape_discard_read_pipeline ide_tape_discard_merge_buffer Also, rename its __-low level helper too. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9798630a75c2c13849aeefcc1ba0559a701b5d95 Author: Borislav Petkov Date: Sun Apr 27 15:38:34 2008 +0200 ide-tape: make __idetape_discard_read_pipeline() of type void It always returns 0 which has no effect on tape positioning calculation so simplify it by converting its type to void, bringing no functional change to the driver. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit fd0949e6e84e4e1649d8ea7367e78e72f59bb19f Author: Alexey Dobriyan Date: Sun Apr 27 15:38:34 2008 +0200 ide: remove now unused ide_pci_create_host_proc() It creates files in proc with obsoleted ->get_info interface. Signed-off-by: Alexey Dobriyan Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 19ba7b8f35116dfafcb02bdb745d5015d97d9cb6 Author: Alexey Dobriyan Date: Sun Apr 27 15:38:33 2008 +0200 ide: remove /proc/ide/ali Bart says: "can be done from user-space and is not especially interesting even when debugging problems (raw PCI config space dump is far more useful)." Signed-off-by: Alexey Dobriyan Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit d01dbc3b85d57f3ab89be4291d4739152bb1713a Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: improve buffer pages freeing strategy Instead of freeing pages one by one, free them 2^order-wise. Also, mv __idetape_kfree_stage() to ide_tape_kfree_buffer(). [bart: add updating bh->b_data] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a997a4356ba33dcb9c061677d5943794a29489e8 Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: mv tape->pages_per_stage tape->pages_per_buffer Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f73850a302de45c7cb6672d0e8b103c1f122b6ae Author: Borislav Petkov Date: Sun Apr 27 15:38:33 2008 +0200 ide-tape: mv tape->stage_size tape->buffer_size Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41aa17069ea8d2b5cd2ca1ef7ff6cdb7c6abec95 Author: Borislav Petkov Date: Sun Apr 27 15:38:32 2008 +0200 ide-tape: improve buffer allocation strategy Instead of allocating pages for the buffer one by one, take advantage of the buddy alloc system and request them 2^order at a time. This increases the chance for bigger buffer parts to be contigious and reduces loop iteration count. While at it, rename function __idetape_kmalloc_stage() to ide_tape_kmalloc_buffer(). [bart: fold with "ide-tape: fix mem leak" patch to preserve bisectability] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c3032d8a4d6c97bd6e02bcab524ef2428d89561 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:32 2008 +0200 ide: add struct ide_io_ports (take 3) * Add struct ide_io_ports and use it instead of `unsigned long io_ports[]` in ide_hwif_t. * Rename io_ports[] in hw_regs_t to io_ports_array[]. * Use un-named union for 'unsigned long io_ports_array[]' and 'struct ide_io_ports io_ports' in hw_regs_t. * Remove IDE_*_OFFSET defines. v2: * scc_pata.c build fix from Stephen Rothwell. v3: * Fix ctl_adrr typo in Sparc-specific part of ns87415.c. (Noticed by Andrew Morton) Signed-off-by: Bartlomiej Zolnierkiewicz commit 387750c3bf49c22f6189436032145e2131985076 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:31 2008 +0200 ide: make ide_unregister() take 'ide_hwif_t *' as an argument (take 2) * Make ide_unregister() take 'ide_hwif_t *hwif' instead of 'unsigned int index' (hwif->index) as an argument and update all users accordingly. While at it: * Remove unnecessary checks for hwif != NULL from ide-pnp.c::idepnp_remove() and delkin_cb.c::delkin_cb_remove(). * Remove needless hwif->chipset assignment from scc_pata.c::scc_remove(). v2: * Fixup ide_unregister() documentation. Signed-off-by: Bartlomiej Zolnierkiewicz commit bf64b7a9ddc604883a1f41535d3d7a62bca9ee81 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:31 2008 +0200 ide: sanitize ide_unregister() usage * Remove ide_unregister() call from ide_exit() (host drivers take care of unregistering hwif-s themselves). * Remove ide_unregister() call from probe methods of bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers (ide_find_port() returns only free ide_hwifs[] entries). Signed-off-by: Bartlomiej Zolnierkiewicz commit 16019c35283e99b4b95b8a0757845bc2d0696b20 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 mpc8xx-ide: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 1dbfeb4bc8fd0276750e5d1d454420f6c2da80e3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "noacpi" / "acpigtf" / "acpionboot" parameters * Rename ide_noacpi{tfs,onboot} to ide_acpi{gtf,onboot} (+ reverse logic). * Move ide_*acpi* variables to ide-acpi.c and remove unnecessary initializers. * Add "noacpi" / "acpigtf" / "acpionboot" parameters. * Obsolete "ide=noacpi" / "ide=acpigtf" / "ide=acpionboot" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dcba7f2b7697db787741cf6698bf5c95130ffce Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 gayle: add "doubler" parameter * Add "doubler" parameter to enable support for IDE doublers. * Obsolete "ide=doubler" kernel parameter. Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 4706a7e03a03d6d206a93a49a0c723dd612cf8e9 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "cdrom=" and "chs=" parameters * Add "cdrom=" and "chs=" parameters. * Obsolete "hdx=cdrom" and "hdx=cyls,heads,sects" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e87543a94fb2a966c81a61fc91246592f9719da Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:30 2008 +0200 ide: add "nodma|noflush|noprobe|nowerr=" parameters * Add "nodma|noflush|noprobe|nowerr=" parameters. * Obsolete "hdx=noprobe|none|nowerr|nodma|noflush" kernel parameters. Signed-off-by: Bartlomiej Zolnierkiewicz commit 207daeaabb5396995ebac63415fab71476b64ca3 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: remove obsoleted "hdx=autotune" kernel parameter * Remove obsoleted "hdx=autotune" kernel parameter (we always auto-tune PIO if possible nowadays). * Remove no longer needed ide_drive_t.autotune flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit e160124ff6868e53511b16412d2ea91f87936be0 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: remove IDE_HFLAG_NO_AUTOTUNE host flag * Don't set IDE_HFLAG_NO_AUTOTUNE host flag in sgiioc4 and icside host drivers - there is no need for it as they don't implement ->set_pio_mode method. * Remove no longer needed IDE_HFLAG_NO_AUTOTUNE host flag. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bdffe5d2717c41945d75b488cfaa401d166cb3dd Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 cmd640: always auto-tune PIO * Default to tuning PIO0 and disabling prefetch prior to probing devices for CONFIG_BLK_DEV_CMD640_ENHANCED=y case. * Always auto-tune PIO. * Remove no longer used retrieve_drive_counts(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d28ec7f213eee37855741410a95ec559f9fa87a Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: always auto-tune PIO in legacy VLB host drivers Signed-off-by: Bartlomiej Zolnierkiewicz commit 73f1ad8670effa9849c3d42457fa2b58f139e013 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: mark "idebus=" kernel parameter as obsoleted (take 2) We have "vlb|pci_clock=" parameters now. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ebae41a5a0583fb732c41445df4ac2c41016df74 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:29 2008 +0200 ide: add "vlb|pci_clock=" parameter * Add "vlb_clock=" parameter for specifying VLB clock frequency (in MHz). * Add "pci_clock=" parameter for specifying PCI bus clock frequency (in MHz). While at it: * qd65xx.c: rename {active,recovery}_cycle variables to {act,rec}_cyc. Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 10569713c78f3c499745651aebc90b0d1c454c28 Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove comments markup from Documentation/ide/ide-tape.txt Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4735f22cc10127189a13ce9b1c16fa152a99aaba Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove pipelined mode description from Documentation/ide/ide-tape.txt Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bd50dc6aa842a2b37f68dec73d9e2cc433c2af9 Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove misc references to pipelined operation in the comments Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c0674bf3b602c71f18ff1772fdfb4e7ea8ffbacc Author: Borislav Petkov Date: Sun Apr 27 15:38:28 2008 +0200 ide-tape: remove pipelined mode parameters Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83042b241601170c95b448267861be10a6025b3c Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipeline-specific members from struct ide_tape_obj Bart: - merge "ide-tape: remove pipeline-specific code from idetape_setup" patch - cleanup __idetape_discard_read_pipeline() - cleanup idetape_empty_write_pipeline() - fix 't' assignment in idetape_setup() - fix idetape_blkdev_ioctl() w.r.t. 'nr_stages' Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 42d5468921e9e9c0a2d13048a2dab09f844e18bc Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipelined mode tape control flags [bart: sync patch with current code and fix idetape_init_read()] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0aa4b01e0345bb43450dee4377fc53fb4fd44eb1 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove remaining pipeline functionality The driver is using now solely its own request queue. - tape->next_stage is always NULL so it is safe to remove all code depending on tape->next_stage != NULL - this patch removes the last place which sets IDETAPE_FLAG_PIPELINE_ACTIVE in tape->flags [bart: add above explanations] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ea1ab3d3319b399e2b707c270d2d6077b61183f6 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: unwrap idetape_queue_pc_tail() idetape_queue_pc_tail() is a wrapper for its __idetape_queue_pc_tail() counterpart and has no other functionality. Remove it and call the "wrapped" function directly. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 189bb3b345f59b11484b43f2717a66824acdc548 Author: Borislav Petkov Date: Sun Apr 27 15:38:27 2008 +0200 ide-tape: remove pipeline-specific code from idetape_end_request() As a side effect, remove unused idetape_kfree_stage() and idetape_abort_pipeline() [bart: resurrect taking tape->lock + clearing IDETAPE_FLAG_PIPELINE_ACTIVE] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 473567f1a4996a49cb5456e55815051a6e6eb3f1 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove idetape_remove_stage_head() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b361acb1083f0b313a4b398de48450f5edb81fe1 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove idetape_pipeline_size() The computation of the block offset of the the tape position (MTIOCPOS, MTIOCGET) is not influenced by the stages queued in the pipeline anymore but by the size of the current buffer which is going to be sent to the drive. [bart: resurrect deleted idetape_wait_for_pipeline() call] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f5e72f471763fe2a6e72863a64a2ef459f37835 Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove pipeline-specific code in idetape_space_over_filemarks() Since we don't do pipeline read-ahead anymore, we don't have to look for filemarks we have crossed. Therefore, remove the code chunk that does that and pass on the command to the tape. As a side effect, remove unused idetape_wait_first_stage(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8646c88f1572512761b33d01467e8643586972ce Author: Borislav Petkov Date: Sun Apr 27 15:38:26 2008 +0200 ide-tape: remove unused parameter from idetape_copy_stage_from_user Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 99d74e61ef7e9b0e2123830bc42b4639ee30145a Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove unused parameter from idetape_copy_stage_to_user Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e69bd959d1086f87a603b4ddc6bdb0a130ec7db Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove pipeline-specific code from idetape_add_chrdev_read_request() In order to do away with queueing read requests on the pipeline, several things have to be done: 1. Do not allocate additional pipeline stages in idetape_init_read() until (tape->nr_stages < max_stages) and do only read operation preparations. As a collateral result, idetape_add_stage_tail() becomes unused so remove it. 2. Queue the read request's buffer directly thru idetape_queue_rw_tail(). 3. Remove now unused idetape_kmalloc_stage() and idetape_switch_buffers(). [bart: simplify the original patch] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ddfe7a776360f7067e06eee9d8b1ae4d957e6ddf Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape remove pipeline speed/control calculations Pipeline handling calculations in idetape_calculate_speeds() can go since they do not have any effect on other functionality besides: 1. info is only being exported through /proc as a read-only item (controlled_pipeline_head_speed, uncontrolled_pipeline_head_speed) 2. used in idetape_restart_speed_control() which, in turn, is unrelated to other code 3. used only for pipeline frames number accounting (tape->pipeline_head), also unused elsewhere. 4.some variables are: only written to: tape->buffer_head; unused: tape->tape_head, tape->last_tape_head Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 97c566cebe083b8e500c9b0b5033212c809d9844 Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove pipeline-specific code from idetape_add_chrdev_write_request Refrain from adding more write requests to the pipeline and queue them directly on the device's request queue instead. [bart: re-do for minimal behavior changes] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f64eee7bb2819da5506a2db5b6297612a17eb3f8 Author: Borislav Petkov Date: Sun Apr 27 15:38:25 2008 +0200 ide-tape: remove tape->cache_stage Prior to allocating a new pipeline stage, the code checked for the existence of a cached pipeline stage to use. Do away with and stick to normal pipeline stages only. [bart: keep idetape_kmalloc_stage() for now] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cc12175ff2eadb0918d573169af88429440a21ae Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "hdx=noautotune" kernel parameter Remove obsoleted "hdx=noautotune" kernel parameter (it has been obsoleted since 1 Nov 2004). Then make ide_hwif_t.autotune a single bit flag and remove no longer needed IDE_TUNE_* defines. Signed-off-by: Bartlomiej Zolnierkiewicz commit ef87f8d09639cbe22201c7dfe07586c43b255108 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=" kernel parameters * Remove obsoleted "idex=" kernel parameters. * Make probe_* and cmd640_vlb variables static. Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit e460a59751a7e53b549c63d4d308ba73582c8def Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=reset" kernel parameter Remove obsoleted "idex=reset" kernel parameter (it has been obsoleted since 1 Nov 2004). Then remove corresponding code from ide_probe_port() and no longer used ->reset field from ide_hwif_t. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dd4cf1fb949f6ba56b67078c09ef1b78f3c9421 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:24 2008 +0200 ide: remove obsoleted "idex=serialize" kernel parameter Remove obsoleted "idex=serialize" kernel parameter (it has been obsoleted since 1 Nov 2004). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9fd91d959f1a19d1bfa46d97cbbbb55641ce26a6 Author: Bartlomiej Zolnierkiewicz Date: Sun Apr 27 15:38:23 2008 +0200 ide: add "ignore_cable" parameter (take 2) Add "ignore_cable" parameter: * "ide_core.ignore_cable=[interface_number]" boot option if IDE is built-in (i.e. "ide_core.ignore_cable=1" to force ignoring cable for "ide1") * "ignore_cable=[interface_number]" module parameter (for ide_core module) if IDE is compiled as module v2: * Add ide_port_apply_params() helper - use it in ide_device_add_all() and ide_scan_port(). * Make it possible to later disable ignoring cable detection by passing "[interface_number]:0" to /sys/module/ide_core/parameters/ignore_cable (however sysfs interface is not enabled yet since it needs some other IDE changes to make it work reliable). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9c391bae6a65bd39962877ad7dc000b600757bbe Author: Al Viro Date: Sun Apr 27 15:38:23 2008 +0200 ide: fix icside breakage Fallout from commit ac95beedf8bc97b24f9540d4da9952f07221c023 Signed-off-by: Al Viro Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 1852448652fd526d56099256dadc4ef32cb1b10e Author: Mark M. Hoffman Date: Thu Mar 6 08:41:09 2008 -0500 hwmon: (adt7473) minor cleanup / refactoring Acked-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 5d822e9bd9d866672984c6a6b613f0c11ca2543b Author: Mark M. Hoffman Date: Tue Feb 26 08:48:49 2008 -0500 hwmon: (asb100) Remove some dead code Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ccd6befceb9a9b02114a93ff4cfa29adbdf60b6d Author: Jean Delvare Date: Tue Feb 19 12:42:58 2008 +0100 hwmon: (lm75) Fix an incorrect comment High-byte first is not opposite to the usual practice - that's what almost all hardware monitoring drivers do. It is opposite to the SMBus standard though. Also delete a duplicate comment. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 93c75a4ac2d95834e7202965d853d3cd23aadb40 Author: Jean Delvare Date: Tue Feb 12 11:25:07 2008 +0100 hwmon: (w83793) VID and VRM handling cleanups * Rework the device initialization function so as to read the "Multi-Function Pin Control" register (0x58) once instead of twice. I2C transactions aren't cheap so this speeds up the driver loading. * Only create the "vrm" attribute if at least one VID value is available. Signed-off-by: Jean Delvare Cc: Gong Jun Acked-by: Rudolf Marek Signed-off-by: Mark M. Hoffman commit 4040c415f5566ecfe95b509ee84d68fb7050b30c Author: Jean Delvare Date: Tue Feb 12 11:17:26 2008 +0100 hwmon: (w83l785ts) Don't ask the user to report failures There's nothing we can do about read errors on the W83L785TS-S, so don't ask the user to report them. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 35aeb7809345e0362772a75368a3e62ecd931481 Author: Stephen Hemminger Date: Sun Apr 27 14:54:32 2008 +0200 sis190: use netdev_alloc_skb This sets skb->dev and allows arch specific allocation. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit e3eccad9f6e84656b45bfa07738934145b09e11e Author: Stephen Hemminger Date: Sun Apr 27 14:42:27 2008 +0200 sis190: hard-code the alignment of tiny packets There is no DMA involved here. Align the IP header without condition. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit 4709aa59ede5ff9902d60088d93d1c0e2e9d2247 Author: Stephen Hemminger Date: Sun Apr 27 14:36:59 2008 +0200 sis190: use the allocated buffer as a status code in sis190_alloc_rx_skb The local status code does not carry mory information. Signed-off-by: Stephen Hemminger Acked-by: Francois Romieu commit 5526b7e4513c66bc1c91f661dcd518d5199f8934 Author: David S. Miller Date: Sun Apr 27 02:26:36 2008 -0700 sparc: Remove old style signal frame support. Back around the same time we were bootstrapping the first 32-bit sparc Linux kernel with a SunOS userland, we made the signal frame match that of SunOS. By the time we even started putting together a native Linux userland for 32-bit Sparc we realized this layout wasn't sufficient for Linux's needs. Therefore we changed the layout, yet kept support for the old style signal frame layout in there. The detection mechanism is that we had sys_sigaction() start passing in a negative signal number to indicate "new style signal frames please". Anyways, no binaries exist in the world that use the old stuff. In fact, I bet Jakub Jelinek and myself are the only two people who ever had such binaries to be honest. So let's get rid of this stuff. I added an assertion using WARN_ON_ONCE() that makes sure 32-bit applications are passing in that negative signal number still. Signed-off-by: David S. Miller commit a45352908b88d383bc40e1e4d1a6cc5bbcefc895 Author: Avi Kivity Date: Sun Apr 13 17:54:35 2008 +0300 KVM: Rename VCPU_MP_STATE_* to KVM_MP_STATE_* We wish to export it to userspace, so move it into the kvm namespace. Signed-off-by: Avi Kivity commit 3d80840d96127401ba6aeadd813c3a15b84e70fe Author: Marcelo Tosatti Date: Fri Apr 11 14:53:26 2008 -0300 KVM: hlt emulation should take in-kernel APIC/PIT timers into account Timers that fire between guest hlt and vcpu_block's add_wait_queue() are ignored, possibly resulting in hangs. Also make sure that atomic_inc and waitqueue_active tests happen in the specified order, otherwise the following race is open: CPU0 CPU1 if (waitqueue_active(wq)) add_wait_queue() if (!atomic_read(pit_timer->pending)) schedule() atomic_inc(pit_timer->pending) Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3564990af1b9f77a63692c1079e9c41af229f066 Author: Joerg Roedel Date: Wed Apr 9 16:04:32 2008 +0200 KVM: SVM: do not intercept task switch with NPT When KVM uses NPT there is no reason to intercept task switches. This patch removes the intercept for it in that case. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d4c9ff2d1b78e385471b3f4d80c0596909926ef7 Author: Feng(Eric) Liu Date: Thu Apr 10 08:47:53 2008 -0400 KVM: Add kvm trace userspace interface This interface allows user a space application to read the trace of kvm related events through relayfs. Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 048354c8e6bf95e7347f623d8a0da5b89e216405 Author: Avi Kivity Date: Fri Apr 11 02:51:52 2008 +0300 KVM: ia64: Stub out kvmtrace Signed-off-by: Avi Kivity commit 7732a8d19bdc6ae18f68f9adb47d11c82a3a86cd Author: Avi Kivity Date: Fri Apr 11 02:50:40 2008 +0300 KVM: s390: Stub out kvmtrace Signed-off-by: Avi Kivity commit 2714d1d3d6be882b97cd0125140fccf9976a460a Author: Feng (Eric) Liu Date: Thu Apr 10 15:31:10 2008 -0400 KVM: Add trace markers Trace markers allow userspace to trace execution of a virtual machine in order to monitor its performance. Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 53371b5098543ab09dcb0c7ce31da887dbe58c62 Author: Joerg Roedel Date: Wed Apr 9 14:15:30 2008 +0200 KVM: SVM: add intercept for machine check exception To properly forward a MCE occured while the guest is running to the host, we have to intercept this exception and call the host handler by hand. This is implemented by this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6394b6494c0a352a2db3ea3e891ba7aeea7c1441 Author: Joerg Roedel Date: Wed Apr 9 14:15:29 2008 +0200 KVM: SVM: align shadow CR4.MCE with host This patch aligns the host version of the CR4.MCE bit with the CR4 active in the guest. This is necessary to get MCE exceptions when the guest is running. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ec077263b2bb841d973d82342b7fbc07bbad4246 Author: Joerg Roedel Date: Wed Apr 9 14:15:28 2008 +0200 KVM: SVM: indent svm_set_cr4 with tabs instead of spaces The svm_set_cr4 function is indented with spaces. This patch replaces them with tabs. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 258ac8e066622df3fef94c8adf32596faae5ab71 Author: Avi Kivity Date: Sun Apr 6 14:25:46 2008 +0300 KVM: Register ioctl range Signed-off-by: Avi Kivity commit 35149e2129fe34fc8cb5917e1ecf5156b0fa3415 Author: Anthony Liguori Date: Wed Apr 2 14:46:56 2008 -0500 KVM: MMU: Don't assume struct page for x86 This patch introduces a gfn_to_pfn() function and corresponding functions like kvm_release_pfn_dirty(). Using these new functions, we can modify the x86 MMU to no longer assume that it can always get a struct page for any given gfn. We don't want to eliminate gfn_to_page() entirely because a number of places assume they can do gfn_to_page() and then kmap() the results. When we support IO memory, gfn_to_page() will fail for IO pages although gfn_to_pfn() will succeed. This does not implement support for avoiding reference counting for reserved RAM or for IO memory. However, it should make those things pretty straight forward. Since we're only introducing new common symbols, I don't think it will break the non-x86 architectures but I haven't tested those. I've tested Intel, AMD, NPT, and hugetlbfs with Windows and Linux guests. [avi: fix overflow when shifting left pfns by adding casts] Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit fdae862f91728aec6dd8fd62cd2398868c906b6b Author: Xiantao Zhang Date: Tue Apr 1 15:08:29 2008 +0800 KVM: ia64: Add a guide about how to create kvm guests on ia64 Guide for creating virtual machine on kvm/ia64. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit b693919ca983e9eb989d89dac5493ef3c5e98e77 Author: Xiantao Zhang Date: Fri Mar 28 14:58:47 2008 +0800 KVM: ia64: Enable kvm build for ia64 Update the related Makefile and KConfig for kvm build Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit ad86b6c36bbb9c1cac610f1b8a310d87eafea778 Author: Xiantao Zhang Date: Tue Apr 1 14:59:30 2008 +0800 KVM: ia64: Add kvm sal/pal virtulization support Some sal/pal calls would be traped to kvm for virtulization from guest firmware. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 827fa691e41a538bbe941d9c988e07e6abea1648 Author: Xiantao Zhang Date: Tue Apr 1 14:58:42 2008 +0800 KVM: ia64: Add guest interruption injection support process.c mainly handle interruption injection, and some faults handling. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit d62998a681f4688605895bb7068d76d25132e3a2 Author: Xiantao Zhang Date: Tue Apr 1 14:57:53 2008 +0800 KVM: ia64: Generate offset values for assembly code use asm-offsets.c will generate offset values used for assembly code for some fileds of special structures. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 7fc86bd9c0830651826d88c65b6aad55086a6e01 Author: Xiantao Zhang Date: Tue Apr 1 14:57:09 2008 +0800 KVM: ia64: Add optimization for some virtulization faults optvfault.S Add optimization for some performance-critical virtualization faults. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 60a07bb9baa83e17d4b540a2f371661ecc353c6c Author: Xiantao Zhang Date: Tue Apr 1 16:14:28 2008 +0800 KVM: ia64: Add processor virtulization support vcpu.c provides processor virtualization logic for kvm. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a793537a970584720347293935a4bb6323791a05 Author: Xiantao Zhang Date: Tue Apr 1 14:54:42 2008 +0800 KVM: ia64: Add trampoline for guest/host mode switch trampoline code targets for guest/host world switch. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit e30af4ce7fea3d3a470f8f9996c53564f34e4754 Author: Xiantao Zhang Date: Tue Apr 1 14:53:32 2008 +0800 KVM: ia64: Add mmio decoder for kvm/ia64 mmio.c includes mmio decoder, and related mmio logics. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit fbd4b5621c8db767f78c89d1ac708ac4bb276caf Author: Xiantao Zhang Date: Tue Apr 1 14:52:19 2008 +0800 KVM: ia64: Add interruption vector table for vmm vmm_ivt.S includes an ivt for vmm use. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 964cd94a2ae3b20f9da9bd43b31aac32c4fe9aee Author: Xiantao Zhang Date: Tue Apr 1 14:50:59 2008 +0800 KVM: ia64: Add TLB virtulization support vtlb.c includes tlb/VHPT virtulization. Signed-off-by: Anthony Xu Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit bb46fb4af160ec7ae6e5102a79a3b2518eaee7af Author: Xiantao Zhang Date: Tue Apr 1 14:49:24 2008 +0800 KVM: ia64: VMM module interfaces vmm.c adds the interfaces with kvm/module, and initialize global data area. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit a4f500381ac91969fa4f8b0a4e39e76dbf00a913 Author: Xiantao Zhang Date: Tue Apr 1 16:00:24 2008 +0800 KVM: ia64: Add header files for kvm/ia64 kvm_minstate.h : Marcos about Min save routines. lapic.h: apic structure definition. vcpu.h : routions related to vcpu virtualization. vti.h : Some macros or routines for VT support on Itanium. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit b024b79322aad213cd2d4f30c23a6c626a0d5b31 Author: Xiantao Zhang Date: Tue Apr 1 15:29:29 2008 +0800 KVM: ia64: Add kvm arch-specific core code for kvm/ia64 kvm_ia64.c is created to handle kvm ia64-specific core logic. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 1a9c1ac46990194f6b6ddc591c24e385e611fa25 Author: Xiantao Zhang Date: Tue Apr 1 14:45:06 2008 +0800 KVM: ia64: Add header files for kvm/ia64 Three header files are added: asm-ia64/kvm.h asm-ia64/kvm_host.h asm-ia64/kvm_para.h Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit e235f3450f5bf94b989746163b7791784a78ee05 Author: Xiantao Zhang Date: Tue Apr 1 14:42:00 2008 +0800 KVM: ia64: Prepare some structure and routines for kvm use Register structures are defined per SDM. Add three small routines for kernel: ia64_ttag, ia64_loadrs, ia64_flushrs Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit c71799c1f404c6e4f34fa64e6be39cd6149e5019 Author: Heiko Carstens Date: Fri Apr 4 16:03:34 2008 +0200 KVM: s390: Improve pgste accesses There is no need to use interlocked updates when the rcp lock is held. Therefore the simple bitops variants can be used. This should improve performance. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit f603f0731f43421403160f5f8b12e90f2e51f064 Author: Heiko Carstens Date: Fri Apr 4 15:12:40 2008 +0200 KVM: s390: rename stfl to kvm_stfl Temporarily rename this function to avoid merge conflicts and/or dependencies. This function will be removed as soon as git-s390 and kvm.git are finally upstream. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 7e8e6ab48d78147f69c1ba2d6a362f8d33254468 Author: Heiko Carstens Date: Fri Apr 4 15:12:35 2008 +0200 KVM: s390: Fix incorrect return value kvm_arch_vcpu_ioctl_run currently incorrectly always returns 0. Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit bed1d1dfc4a458d82bcd258082638cbba860190d Author: Marcelo Tosatti Date: Fri Apr 4 14:56:44 2008 -0300 KVM: MMU: prepopulate guest pages after write-protecting Zdenek reported a bug where a looping "dmsetup status" eventually hangs on SMP guests. The problem is that kvm_mmu_get_page() prepopulates the shadow MMU before write protecting the guest page tables. By doing so, it leaves a window open where the guest can mark a pte as present while the host has shadow cached such pte as "notrap". Accesses to such address will fault in the guest without the host having a chance to fix the situation. Fix by moving the write protection before the pte prefetch. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit fcd6dbac9267c1c06a205ad8bb4bd027c0ace7f7 Author: Avi Kivity Date: Thu Apr 3 12:02:21 2008 +0300 KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest If the accessed bit is not set, the guest has never accessed this page (at least through this spte), so there's no need to mark the page accessed. This provides more accurate data for the eviction algortithm. Noted by Andrea Arcangeli. Signed-off-by: Avi Kivity commit d39f13b0da7fa7f705fbe6c80995205d0380bc7a Author: Izik Eidus Date: Sun Mar 30 16:01:25 2008 +0300 KVM: add vm refcounting the main purpose of adding this functions is the abilaty to release the spinlock that protect the kvm list while still be able to do operations on a specific kvm in a safe way. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 9c20456a32ce9e82ccda55e12c10016b181d85e5 Author: Joerg Roedel Date: Tue Apr 1 16:44:56 2008 +0200 KVM: function declaration parameter name cleanup The kvm_host.h file for x86 declares the functions kvm_set_cr[0348]. In the header file their second parameter is named cr0 in all cases. This patch renames the parameters so that they match the function name. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d45830c2b11a9d756faae161742b7d1ec417f7e Author: Avi Kivity Date: Tue Mar 25 11:26:13 2008 +0200 KVM: Free apic access page on vm destruction Noticed by Marcelo Tosatti. Signed-off-by: Avi Kivity commit 3ee16c814511cd58f956b47b9c7654f57f674688 Author: Izik Eidus Date: Sun Mar 30 15:17:21 2008 +0300 KVM: MMU: allow the vm to shrink the kvm mmu shadow caches Allow the Linux memory manager to reclaim memory in the kvm shadow cache. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 3200f405a1e8e06c8634f11d33614455baa4e6be Author: Marcelo Tosatti Date: Sat Mar 29 20:17:59 2008 -0300 KVM: MMU: unify slots_lock usage Unify slots_lock acquision around vcpu_run(). This is simpler and less error-prone. Also fix some callsites that were not grabbing the lock properly. [avi: drop slots_lock while in guest mode to avoid holding the lock for indefinite periods] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 25c5f225beda4fbea878ed8b6203ab4ecc7de2d1 Author: Sheng Yang Date: Fri Mar 28 13:18:56 2008 +0800 KVM: VMX: Enable MSR Bitmap feature MSR Bitmap controls whether the accessing of an MSR causes VM Exit. Eliminating exits on automatically saved and restored MSRs yields a small performance gain. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e976a2b997fc4ad70ccc53acfe62811c4aaec851 Author: Christian Borntraeger Date: Tue Mar 25 18:47:46 2008 +0100 s390: KVM guest: virtio device support, and kvm hypercalls This patch implements kvm guest kernel support for paravirtualized devices and contains two parts: o a basic virtio stub using virtio_ring and external interrupts and hypercalls o full hypercall implementation in kvm_para.h Currently we dont have PCI on s390. Making virtio_pci usable for s390 seems more complicated that providing an own stub. This virtio stub is similar to the lguest one, the memory for the descriptors and the device detection is made via additional mapped memory on top of the guest storage. We use an external interrupt with extint code 0x2603 for host->guest notification. The hypercall definition uses the diag instruction for issuing a hypercall. The parameters are written in R2-R7, the hypercall number is written in R1. This is similar to the system call ABI (svc) which can use R1 for the number and R2-R6 for the parameters. Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit fa5877439d5a062d91c3abd5a690483bbdb4268e Author: Carsten Otte Date: Tue Mar 25 18:47:44 2008 +0100 s390: KVM guest: detect when running on kvm This patch adds functionality to detect if the kernel runs under the KVM hypervisor. A macro MACHINE_IS_KVM is exported for device drivers. This allows drivers to skip device detection if the systems runs non-virtualized. We also define a preferred console to avoid having the ttyS0, which is a line mode only console. Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 85f8fffe3c2ab13f13526c46b5471fc22e98ccfe Author: Christian Borntraeger Date: Tue Mar 25 18:47:41 2008 +0100 KVM: s390: update maintainers This patch adds an entry for kvm on s390 to the MAINTAINERS file :-). We intend to push all patches regarding this via Avi's kvm.git. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5ecee4ba4eb2ada7ece7c41eb08cf7bc51b579e2 Author: Carsten Otte Date: Tue Mar 25 18:47:38 2008 +0100 KVM: s390: API documentation This patch adds Documentation/s390/kvm.txt, which describes specifics of kvm's user interface that are unique to s390 architecture. Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 77b455f1bcfa0fddb31b8e6f9f2adc246acb4216 Author: Christian Borntraeger Date: Tue Mar 25 18:47:36 2008 +0100 KVM: s390: add kvm to kconfig on s390 This patch adds the virtualization submenu and the kvm option to the kernel config. It also defines HAVE_KVM for 64bit kernels. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit e28acfea5dd9dbc67c2594cbefc140129dbd0e3f Author: Christian Borntraeger Date: Tue Mar 25 18:47:34 2008 +0100 KVM: s390: intercepts for diagnose instructions This patch introduces interpretation of some diagnose instruction intercepts. Diagnose is our classic architected way of doing a hypercall. This patch features the following diagnose codes: - vm storage size, that tells the guest about its memory layout - time slice end, which is used by the guest to indicate that it waits for a lock and thus cannot use up its time slice in a useful way - ipl functions, which a guest can use to reset and reboot itself In order to implement ipl functions, we also introduce an exit reason that causes userspace to perform various resets on the virtual machine. All resets are described in the principles of operation book, except KVM_S390_RESET_IPL which causes a reboot of the machine. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5288fbf0ef041ba0e8b4dcb2df4536b5e3a48b32 Author: Christian Borntraeger Date: Tue Mar 25 18:47:31 2008 +0100 KVM: s390: interprocessor communication via sigp This patch introduces in-kernel handling of _some_ sigp interprocessor signals (similar to ipi). kvm_s390_handle_sigp() decodes the sigp instruction and calls individual handlers depending on the operation requested: - sigp sense tries to retrieve information such as existence or running state of the remote cpu - sigp emergency sends an external interrupt to the remove cpu - sigp stop stops a remove cpu - sigp stop store status stops a remote cpu, and stores its entire internal state to the cpus lowcore - sigp set arch sets the architecture mode of the remote cpu. setting to ESAME (s390x 64bit) is accepted, setting to ESA/S390 (s390, 31 or 24 bit) is denied, all others are passed to userland - sigp set prefix sets the prefix register of a remote cpu For implementation of this, the stop intercept indication starts to get reused on purpose: a set of action bits defines what to do once a cpu gets stopped: ACTION_STOP_ON_STOP really stops the cpu when a stop intercept is recognized ACTION_STORE_ON_STOP stores the cpu status to lowcore when a stop intercept is recognized Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 453423dce2785b8e22077e3b3eeecb4f60fe3470 Author: Christian Borntraeger Date: Tue Mar 25 18:47:29 2008 +0100 KVM: s390: intercepts for privileged instructions This patch introduces in-kernel handling of some intercepts for privileged instructions: handle_set_prefix() sets the prefix register of the local cpu handle_store_prefix() stores the content of the prefix register to memory handle_store_cpu_address() stores the cpu number of the current cpu to memory handle_skey() just decrements the instruction address and retries handle_stsch() delivers condition code 3 "operation not supported" handle_chsc() same here handle_stfl() stores the facility list which contains the capabilities of the cpu handle_stidp() stores cpu type/model/revision and such handle_stsi() stores information about the system topology Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit ba5c1e9b6ceebdc39343cc03eb39f077abd3c571 Author: Carsten Otte Date: Tue Mar 25 18:47:26 2008 +0100 KVM: s390: interrupt subsystem, cpu timer, waitpsw This patch contains the s390 interrupt subsystem (similar to in kernel apic) including timer interrupts (similar to in-kernel-pit) and enabled wait (similar to in kernel hlt). In order to achieve that, this patch also introduces intercept handling for instruction intercepts, and it implements load control instructions. This patch introduces an ioctl KVM_S390_INTERRUPT which is valid for both the vm file descriptors and the vcpu file descriptors. In case this ioctl is issued against a vm file descriptor, the interrupt is considered floating. Floating interrupts may be delivered to any virtual cpu in the configuration. The following interrupts are supported: SIGP STOP - interprocessor signal that stops a remote cpu SIGP SET PREFIX - interprocessor signal that sets the prefix register of a (stopped) remote cpu INT EMERGENCY - interprocessor interrupt, usually used to signal need_reshed and for smp_call_function() in the guest. PROGRAM INT - exception during program execution such as page fault, illegal instruction and friends RESTART - interprocessor signal that starts a stopped cpu INT VIRTIO - floating interrupt for virtio signalisation INT SERVICE - floating interrupt for signalisations from the system service processor struct kvm_s390_interrupt, which is submitted as ioctl parameter when injecting an interrupt, also carrys parameter data for interrupts along with the interrupt type. Interrupts on s390 usually have a state that represents the current operation, or identifies which device has caused the interruption on s390. kvm_s390_handle_wait() does handle waitpsw in two flavors: in case of a disabled wait (that is, disabled for interrupts), we exit to userspace. In case of an enabled wait we set up a timer that equals the cpu clock comparator value and sleep on a wait queue. [christian: change virtio interrupt to 0x2603] Acked-by: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 8f2abe6a1e525e878bdf58f68ccd146d543fde84 Author: Christian Borntraeger Date: Tue Mar 25 18:47:23 2008 +0100 KVM: s390: sie intercept handling This path introduces handling of sie intercepts in three flavors: Intercepts are either handled completely in-kernel by kvm_handle_sie_intercept(), or passed to userspace with corresponding data in struct kvm_run in case kvm_handle_sie_intercept() returns -ENOTSUPP. In case of partial execution in kernel with the need of userspace support, kvm_handle_sie_intercept() may choose to set up struct kvm_run and return -EREMOTE. The trivial intercept reasons are handled in this patch: handle_noop() just does nothing for intercepts that don't require our support at all handle_stop() is called when a cpu enters stopped state, and it drops out to userland after updating our vcpu state handle_validity() faults in the cpu lowcore if needed, or passes the request to userland Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit b0c632db637d68ad39d9f97f452ce176253f5f4e Author: Heiko Carstens Date: Tue Mar 25 18:47:20 2008 +0100 KVM: s390: arch backend for the kvm kernel module This patch contains the port of Qumranet's kvm kernel module to IBM zSeries (aka s390x, mainframe) architecture. It uses the mainframe's virtualization instruction SIE to run virtual machines with up to 64 virtual CPUs each. This port is only usable on 64bit host kernels, and can only run 64bit guest kernels. However, running 31bit applications in guest userspace is possible. The following source files are introduced by this patch arch/s390/kvm/kvm-s390.c similar to arch/x86/kvm/x86.c, this implements all arch callbacks for kvm. __vcpu_run calls back into sie64a to enter the guest machine context arch/s390/kvm/sie64a.S assembler function sie64a, which enters guest context via SIE, and switches world before and after that include/asm-s390/kvm_host.h contains all vital data structures needed to run virtual machines on the mainframe include/asm-s390/kvm.h defines kvm_regs and friends for user access to guest register content arch/s390/kvm/gaccess.h functions similar to uaccess to access guest memory arch/s390/kvm/kvm-s390.h header file for kvm-s390 internals, extended by later patches Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 8a88ac6183975c73c65b45f365f6f3b875c1348b Author: Christian Borntraeger Date: Tue Mar 25 18:47:15 2008 +0100 s390: KVM preparation: address of the 64bit extint parm in lowcore The address 0x11b8 is used by z/VM for pfault and diag 250 I/O to provide a 64 bit extint parameter. virtio uses the same address, so its time to update the lowcore structure. Acked-by: Martin Schwidefsky Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 5b7baf05783b1ac97a510243d7e82293416a7cf6 Author: Christian Borntraeger Date: Tue Mar 25 18:47:12 2008 +0100 s390: KVM preparation: host memory management changes for s390 kvm This patch changes the s390 memory management defintions to use the pgste field for dirty and reference bit tracking of host and guest code. Usually on s390, dirty and referenced are tracked in storage keys, which belong to the physical page. This changes with virtualization: The guest and host dirty/reference bits are defined to be the logical OR of the values for the mapping and the physical page. This patch implements the necessary changes in pgtable.h for s390. There is a common code change in mm/rmap.c, the call to page_test_and_clear_young must be moved. This is a no-op for all architecture but s390. page_referenced checks the referenced bits for the physiscal page and for all mappings: o The physical page is checked with page_test_and_clear_young. o The mappings are checked with ptep_test_and_clear_young and friends. Without pgstes (the current implementation on Linux s390) the physical page check is implemented but the mapping callbacks are no-ops because dirty and referenced are not tracked in the s390 page tables. The pgstes introduces guest and host dirty and reference bits for s390 in the host mapping. These mapping must be checked before page_test_and_clear_young resets the reference bit. Signed-off-by: Heiko Carstens Signed-off-by: Christian Borntraeger Acked-by: Martin Schwidefsky Acked-by: Andrew Morton Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 402b08622d9ac6e32e25289573272e0f21bb58a7 Author: Carsten Otte Date: Tue Mar 25 18:47:10 2008 +0100 s390: KVM preparation: provide hook to enable pgstes in user pagetable The SIE instruction on s390 uses the 2nd half of the page table page to virtualize the storage keys of a guest. This patch offers the s390_enable_sie function, which reorganizes the page tables of a single-threaded process to reserve space in the page table: s390_enable_sie makes sure that the process is single threaded and then uses dup_mm to create a new mm with reorganized page tables. The old mm is freed and the process has now a page status extended field after every page table. Code that wants to exploit pgstes should SELECT CONFIG_PGSTE. This patch has a small common code hit, namely making dup_mm non-static. Edit (Carsten): I've modified Martin's patch, following Jeremy Fitzhardinge's review feedback. Now we do have the prototype for dup_mm in include/linux/sched.h. Following Martin's suggestion, s390_enable_sie() does now call task_lock() to prevent race against ptrace modification of mm_users. Signed-off-by: Martin Schwidefsky Signed-off-by: Carsten Otte Acked-by: Andrew Morton Signed-off-by: Avi Kivity commit 37817f2982d0f559f90cecc66e150dd9d2c2df05 Author: Izik Eidus Date: Mon Mar 24 23:14:53 2008 +0200 KVM: x86: hardware task switching support This emulates the x86 hardware task switch mechanism in software, as it is unsupported by either vmx or svm. It allows operating systems which use it, like freedos, to run as kvm guests. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 2e4d2653497856b102c90153f970c9e344ba96c6 Author: Izik Eidus Date: Mon Mar 24 19:38:34 2008 +0200 KVM: x86: add functions to get the cpl of vcpu Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 4c9fc8ef501790732ed035585b491756b75ea4c6 Author: Avi Kivity Date: Mon Mar 24 18:15:14 2008 +0200 KVM: VMX: Add module option to disable flexpriority Useful for debugging. Signed-off-by: Avi Kivity commit 268fe02ae058c0c5e84ad678d67e5d7b013e664f Author: Avi Kivity Date: Sun Mar 23 18:36:30 2008 +0200 KVM: no longer EXPERIMENTAL Long overdue. Signed-off-by: Avi Kivity commit 0b49ea8659fd3b5005823e02d2d0a775521770e5 Author: Avi Kivity Date: Sun Mar 23 15:06:23 2008 +0200 KVM: MMU: Introduce and use spte_to_page() Encapsulate the pte mask'n'shift in a function. Signed-off-by: Avi Kivity commit 855149aaa90016c576a0e684361a34f8047307d0 Author: Izik Eidus Date: Thu Mar 20 18:17:24 2008 +0200 KVM: MMU: fix dirty bit setting when removing write permissions When mmu_set_spte() checks if a page related to spte should be release as dirty or clean, it check if the shadow pte was writeble, but in case rmap_write_protect() is called called it is possible for shadow ptes that were writeble to become readonly and therefor mmu_set_spte will release the pages as clean. This patch fix this issue by marking the page as dirty inside rmap_write_protect(). Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 69a9f69bb24d6d3dbf3d2ba542ddceeda40536d5 Author: Avi Kivity Date: Fri Mar 21 12:38:23 2008 +0200 KVM: Move some x86 specific constants and structures to include/asm-x86 Signed-off-by: Avi Kivity commit 947da53830690cbd77d7f2b625d0df1f161ffd54 Author: Avi Kivity Date: Tue Mar 18 11:05:52 2008 +0200 KVM: MMU: Set the accessed bit on non-speculative shadow ptes If we populate a shadow pte due to a fault (and not speculatively due to a pte write) then we can set the accessed bit on it, as we know it will be set immediately on the next guest instruction. This saves a read-modify-write operation. Signed-off-by: Avi Kivity commit 97646202bc3f190dfcb48a3d506ea2445717d392 Author: Christian Borntraeger Date: Wed Mar 12 18:10:45 2008 +0100 KVM: kvm.h: __user requires compiler.h include/linux/kvm.h defines struct kvm_dirty_log to [...] union { void __user *dirty_bitmap; /* one bit per page */ __u64 padding; }; __user requires compiler.h to compile. Currently, this works on x86 only coincidentally due to other include files. This patch makes kvm.h compile in all cases. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 1e977aa12dd4f80688b1f243762212e75c6d7fe8 Author: Glauber Costa Date: Mon Mar 17 16:08:40 2008 -0300 x86: KVM guest: disable clock before rebooting. This patch writes 0 (actually, what really matters is that the LSB is cleared) to the system time msr before shutting down the machine for kexec. Without it, we can have a random memory location being written when the guest comes back It overrides the functions shutdown, used in the path of kernel_kexec() (sys.c) and crash_shutdown, used in the path of crash_kexec() (kexec.c) Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 3c62c62502bea24448d4e82aa1f33c7dbca61a32 Author: Glauber Costa Date: Mon Mar 17 16:08:39 2008 -0300 x86: make native_machine_shutdown non-static it will allow external users to call it. It is mainly useful for routines that will override its machine_ops field for its own special purposes, but want to call the normal shutdown routine after they're done Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit ed23dc6f5bc950ebbe683dd0bed1d5878230c171 Author: Glauber Costa Date: Mon Mar 17 16:08:38 2008 -0300 x86: allow machine_crash_shutdown to be replaced This patch a llows machine_crash_shutdown to be replaced, just like any of the other functions in machine_ops Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 096d14a3b57e4a87d27be09cc64b4f84660acd08 Author: Marcelo Tosatti Date: Fri Feb 22 12:21:38 2008 -0500 x86: KVM guest: hypercall batching Batch pte updates and tlb flushes in lazy MMU mode. [avi: - adjust to mmu_op - helper for getting para_state without debug warnings] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1da8a77bdc294acdc37e8504926383b86f72d6be Author: Marcelo Tosatti Date: Fri Feb 22 12:21:37 2008 -0500 x86: KVM guest: hypercall based pte updates and TLB flushes Hypercall based pte updates are faster than faults, and also allow use of the lazy MMU mode to batch operations. Don't report the feature if two dimensional paging is enabled. [avi: - guest/host split - fix 32-bit truncation issues - adjust to mmu_op - adjust to ->release_*() renamed - add ->release_pud()] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2f333bcb4edd8daef99dabe4e7df8277af73cff1 Author: Marcelo Tosatti Date: Fri Feb 22 12:21:37 2008 -0500 KVM: MMU: hypercall based pte updates and TLB flushes Hypercall based pte updates are faster than faults, and also allow use of the lazy MMU mode to batch operations. Don't report the feature if two dimensional paging is enabled. [avi: - one mmu_op hypercall instead of one per op - allow 64-bit gpa on hypercall - don't pass host errors (-ENOMEM) to guest] [akpm: warning fix on i386] Signed-off-by: Marcelo Tosatti Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 9f81128591ca1e9907f2e7a7b195e33232167d60 Author: Avi Kivity Date: Sun Mar 2 14:06:05 2008 +0200 KVM: Provide unlocked version of emulator_write_phys() Signed-off-by: Avi Kivity commit 0cf1bfd2737f41e59f974a61eab11af206d2042a Author: Marcelo Tosatti Date: Fri Feb 22 12:21:36 2008 -0500 x86: KVM guest: add basic paravirt support Add basic KVM paravirt support. Avoid vm-exits on IO delays. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a28e4f5a621289fe0d9c8a461b0c256f9e17f3bc Author: Marcelo Tosatti Date: Fri Feb 22 12:21:36 2008 -0500 KVM: add basic paravirt support Add basic KVM paravirt support. Avoid vm-exits on IO delays. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 308b0f239e8d6754b8b903d279e5b5b987e257ac Author: Sheng Yang Date: Thu Mar 13 10:22:26 2008 +0800 KVM: Add reset support for in kernel PIT Separate the reset part and prepare for reset support. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit e0f63cb9277b64850854aee301762beeeb463473 Author: Sheng Yang Date: Tue Mar 4 00:50:59 2008 +0800 KVM: Add save/restore supporting of in kernel PIT Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7837699fa6d7adf81f26ab73a5f6897ea1ab9d6a Author: Sheng Yang Date: Mon Jan 28 05:10:22 2008 +0800 KVM: In kernel PIT model The patch moves the PIT model from userspace to kernel, and increases the timer accuracy greatly. [marcelo: make last_injected_time per-guest] Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti Tested-and-Acked-by: Alex Davis Signed-off-by: Avi Kivity commit 4fcaa98267efc4d39ded9b0bc33c6b4a2f62fecd Author: Avi Kivity Date: Wed Mar 5 09:33:44 2008 +0200 KVM: Remove pointless desc_ptr #ifdef The desc_struct changes left an unnecessary #ifdef; remove it. Signed-off-by: Avi Kivity commit 019960ae9933161c2809fa4ee608ba30d9639fd2 Author: Avi Kivity Date: Tue Mar 4 10:44:51 2008 +0200 KVM: VMX: Don't adjust tsc offset forward Most Intel hosts have a stable tsc, and playing with the offset only reduces accuracy. By limiting tsc offset adjustment only to forward updates, we effectively disable tsc offset adjustment on these hosts. Signed-off-by: Avi Kivity commit b8688d51bbe4872fbcec751e04369606082ac610 Author: Harvey Harrison Date: Mon Mar 3 12:59:56 2008 -0800 KVM: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 71c4dfafc0932d92cc99c7e839d25174b0ce10a1 Author: Joerg Roedel Date: Tue Feb 26 16:49:16 2008 +0100 KVM: detect if VCPU triple faults In the current inject_page_fault path KVM only checks if there is another PF pending and injects a DF then. But it has to check for a pending DF too to detect a shutdown condition in the VCPU. If this is not detected the VCPU goes to a PF -> DF -> PF loop when it should triple fault. This patch detects this condition and handles it with an KVM_SHUTDOWN exit to userspace. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3e4bb3ac9e0ada5df5f6729648d403ea9f071d10 Author: Xiantao Zhang Date: Mon Feb 25 18:52:20 2008 +0800 KVM: Use kzalloc to avoid allocating kvm_regs from kernel stack Since the size of kvm_regs is too big to allocate from kernel stack on ia64, use kzalloc to allocate it. Signed-off-by: Xiantao Zhang Signed-off-by: Avi Kivity commit 2d3ad1f40c841bd3e97d30d423eea53915d085dc Author: Avi Kivity Date: Sun Feb 24 11:20:43 2008 +0200 KVM: Prefix control register accessors with kvm_ to avoid namespace pollution Names like 'set_cr3()' look dangerously close to affecting the host. Signed-off-by: Avi Kivity commit 05da45583de9b383dc81dd695fe248431d6c9f2b Author: Marcelo Tosatti Date: Sat Feb 23 11:44:30 2008 -0300 KVM: MMU: large page support Create large pages mappings if the guest PTE's are marked as such and the underlying memory is hugetlbfs backed. If the largepage contains write-protected pages, a large pte is not used. Gives a consistent 2% improvement for data copies on ram mounted filesystem, without NPT/EPT. Anthony measures a 4% improvement on 4-way kernbench, with NPT. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2e53d63acba75795aa226febd140f67c58c6a353 Author: Marcelo Tosatti Date: Wed Feb 20 14:47:24 2008 -0500 KVM: MMU: ignore zapped root pagetables Mark zapped root pagetables as invalid and ignore such pages during lookup. This is a problem with the cr3-target feature, where a zapped root table fools the faulting code into creating a read-only mapping. The result is a lockup if the instruction can't be emulated. Signed-off-by: Marcelo Tosatti Cc: Anthony Liguori Signed-off-by: Avi Kivity commit 847f0ad8cbfa70c1af6948025836dfbd9ed6da1e Author: Alexander Graf Date: Thu Feb 21 12:11:01 2008 +0100 KVM: Implement dummy values for MSR_PERF_STATUS Darwin relies on this and ceases to work without. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 14af3f3c56103d8c3bb173c255ef5d89fb0c9350 Author: Harvey Harrison Date: Tue Feb 19 10:25:50 2008 -0800 KVM: sparse fixes for kvm/x86.c In two case statements, use the ever popular 'i' instead of index: arch/x86/kvm/x86.c:1063:7: warning: symbol 'index' shadows an earlier one arch/x86/kvm/x86.c:1000:9: originally declared here arch/x86/kvm/x86.c:1079:7: warning: symbol 'index' shadows an earlier one arch/x86/kvm/x86.c:1000:9: originally declared here Make it static. arch/x86/kvm/x86.c:1945:24: warning: symbol 'emulate_ops' was not declared. Should it be static? Drop the return statements. arch/x86/kvm/x86.c:2878:2: warning: returning void-valued expression arch/x86/kvm/x86.c:2944:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 4866d5e3d59c7831c7fa117c246a39165817db0d Author: Harvey Harrison Date: Tue Feb 19 10:32:02 2008 -0800 KVM: SVM: make iopm_base static Fixes sparse warning as well. arch/x86/kvm/svm.c:69:15: warning: symbol 'iopm_base' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 77cd337f2246ae72915538383e8f5a6b7ffb363d Author: Harvey Harrison Date: Tue Feb 19 10:43:11 2008 -0800 KVM: x86 emulator: fix sparse warnings in x86_emulate.c Nesting __emulate_2op_nobyte inside__emulate_2op produces many shadowed variable warnings on the internal variable _tmp used by both macros. Change the outer macro to use __tmp. Avoids a sparse warning like the following at every call site of __emulate_2op arch/x86/kvm/x86_emulate.c:1091:3: warning: symbol '_tmp' shadows an earlier one arch/x86/kvm/x86_emulate.c:1091:3: originally declared here [18 more warnings suppressed] Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit f11c3a8d84d7bf091bf963edd7104dd4ba6416c3 Author: Amit Shah Date: Thu Feb 21 01:00:30 2008 +0530 KVM: Add stat counter for hypercalls Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit a5f61300c489e334ddf99781a13a7f8d4b580781 Author: Avi Kivity Date: Wed Feb 20 17:57:21 2008 +0200 KVM: Use x86's segment descriptor struct instead of private definition The x86 desc_struct unification allows us to remove segment_descriptor.h. Signed-off-by: Avi Kivity commit ef2979bd98dac86ea6a4cd9bdd6820a466108017 Author: Avi Kivity Date: Wed Feb 20 12:04:47 2008 +0200 KVM: Increase the number of user memory slots per vm Signed-off-by: Avi Kivity commit a988b910ef816ed57e1cecbec14e98e906453f91 Author: Avi Kivity Date: Wed Feb 20 11:59:20 2008 +0200 KVM: Add API for determining the number of supported memory slots Signed-off-by: Avi Kivity commit edbe6c325da48e707a3b31310c5ff5783cf6c0be Author: Avi Kivity Date: Wed Feb 20 11:56:51 2008 +0200 KVM: Increase vcpu count to 16 With NPT support, scalability is much improved. Signed-off-by: Avi Kivity commit f725230af9ea03f6cc6f4a90e87aa428df46ec19 Author: Avi Kivity Date: Wed Feb 20 11:53:16 2008 +0200 KVM: Add API to retrieve the number of supported vcpus per vm Signed-off-by: Avi Kivity commit 7a95727567f0991751c2db774a110b4f8080de7f Author: Harvey Harrison Date: Tue Feb 19 07:40:41 2008 -0800 KVM: x86 emulator: make register_address_increment and JMP_REL static inlines Change jmp_rel() to a function as well. Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit e4706772ea46e57cf69a7140c40063a21884c8e0 Author: Harvey Harrison Date: Tue Feb 19 07:40:38 2008 -0800 KVM: x86 emulator: make register_address, address_mask static inlines Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit ddcb2885e2902ebfc422eccd763b02c5ee22d68b Author: Harvey Harrison Date: Mon Feb 18 11:12:48 2008 -0800 KVM: x86 emulator: add ad_mask static inline Replaces open-coded mask calculation in macros. Signed-off-by: Harvey Harrison Signed-off-by: Avi Kivity commit 790c73f6289a204f858ffdcbe4a2b38e91657ec6 Author: Glauber de Oliveira Costa Date: Fri Feb 15 17:52:48 2008 -0200 x86: KVM guest: paravirtualized clocksource This is the guest part of kvm clock implementation It does not do tsc-only timing, as tsc can have deltas between cpus, and it did not seem worthy to me to keep adjusting them. We do use it, however, for fine-grained adjustment. Other than that, time comes from the host. [randy dunlap: add missing include] [randy dunlap: disallow on Voyager or Visual WS] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Randy Dunlap Signed-off-by: Avi Kivity commit 18068523d3a0b41fcee5b53cdb437a0ab4d65e4b Author: Glauber de Oliveira Costa Date: Fri Feb 15 17:52:47 2008 -0200 KVM: paravirtualized clocksource: host part This is the host part of kvm clocksource implementation. As it does not include clockevents, it is a fairly simple implementation. We only have to register a per-vcpu area, and start writing to it periodically. The area is binary compatible with xen, as we use the same shadow_info structure. [marcelo: fix bad_page on MSR_KVM_SYSTEM_TIME] [avi: save full value of the msr, even if enable bit is clear] [avi: clear previous value of time_page] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 24e09cbf480a72f9c952af4ca77b159503dca44b Author: Joerg Roedel Date: Wed Feb 13 18:58:47 2008 +0100 KVM: SVM: enable LBR virtualization This patch implements the Last Branch Record Virtualization (LBRV) feature of the AMD Barcelona and Phenom processors into the kvm-amd module. It will only be enabled if the guest enables last branch recording in the DEBUG_CTL MSR. So there is no increased world switch overhead when the guest doesn't use these MSRs. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit f65c229c3e7743c6654c16b9ec6248466b5eef21 Author: Joerg Roedel Date: Wed Feb 13 18:58:46 2008 +0100 KVM: SVM: allocate the MSR permission map per VCPU This patch changes the kvm-amd module to allocate the SVM MSR permission map per VCPU instead of a global map for all VCPUs. With this we have more flexibility allowing specific guests to access virtualized MSRs. This is required for LBR virtualization. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit e6101a96c9efb74c98bba6322d4c5ea89e47e0fe Author: Joerg Roedel Date: Wed Feb 13 18:58:45 2008 +0100 KVM: SVM: let init_vmcb() take struct vcpu_svm as parameter Change the parameter of the init_vmcb() function in the kvm-amd module from struct vmcb to struct vcpu_svm. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 2e11384c2c6f1ce662b1e5b05ba49b216a052f2a Author: Ryan Harper Date: Mon Feb 11 10:26:38 2008 -0600 KVM: VMX: fix typo in VMX header define Looking at Intel Volume 3b, page 148, table 20-11 and noticed that the field name is 'Deliver' not 'Deliever'. Attached patch changes the define name and its user in vmx.c Signed-off-by: Ryan Harper Signed-off-by: Avi Kivity commit 709ddebf81cb40e3c36c6109a7892e8b93a09464 Author: Joerg Roedel Date: Thu Feb 7 13:47:45 2008 +0100 KVM: SVM: add support for Nested Paging This patch contains the SVM architecture dependent changes for KVM to enable support for the Nested Paging feature of AMD Barcelona and Phenom processors. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit fb72d1674d860b0c9ef9b66b7f4f01fe5b3d2c00 Author: Joerg Roedel Date: Thu Feb 7 13:47:44 2008 +0100 KVM: MMU: add TDP support to the KVM MMU This patch contains the changes to the KVM MMU necessary for support of the Nested Paging feature in AMD Barcelona and Phenom Processors. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cc4b6871e771e76dc1de06adb8aed261a1c66be8 Author: Joerg Roedel Date: Thu Feb 7 13:47:43 2008 +0100 KVM: export the load_pdptrs() function to modules The load_pdptrs() function is required in the SVM module for NPT support. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 4d9976bbdc09e08b69fc12fee2042c3528187b32 Author: Joerg Roedel Date: Thu Feb 7 13:47:42 2008 +0100 KVM: MMU: make the __nonpaging_map function generic The mapping function for the nonpaging case in the softmmu does basically the same as required for Nested Paging. Make this function generic so it can be used for both. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1855267210e1a8c9d41fe3a3c7a0d42eca5fb7cd Author: Joerg Roedel Date: Thu Feb 7 13:47:41 2008 +0100 KVM: export information about NPT to generic x86 code The generic x86 code has to know if the specific implementation uses Nested Paging. In the generic code Nested Paging is called Two Dimensional Paging (TDP) to avoid confusion with (future) TDP implementations of other vendors. This patch exports the availability of TDP to the generic x86 code. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 6c7dac72d5c7dc0e09512dce865398167be9a8f7 Author: Joerg Roedel Date: Thu Feb 7 13:47:40 2008 +0100 KVM: SVM: add module parameter to disable Nested Paging To disable the use of the Nested Paging feature even if it is available in hardware this patch adds a module parameter. Nested Paging can be disabled by passing npt=0 to the kvm_amd module. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit e3da3acdb32c1804a5c853feebcc037b7434076f Author: Joerg Roedel Date: Thu Feb 7 13:47:39 2008 +0100 KVM: SVM: add detection of Nested Paging feature Let SVM detect if the Nested Paging feature is available on the hardware. Disable it to keep this patch series bisectable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 33bd6a0b3e8baed6469c8e68ea1b16cb50c4f5af Author: Joerg Roedel Date: Thu Feb 7 13:47:38 2008 +0100 KVM: SVM: move feature detection to hardware setup code By moving the SVM feature detection from the each_cpu code to the hardware setup code it runs only once. As an additional advance the feature check is now available earlier in the module setup process. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9457a712a2f464c4b21bb7f78998775c69673a0c Author: Joerg Roedel Date: Thu Jan 31 14:57:40 2008 +0100 KVM: allow access to EFER in 32bit KVM This patch makes the EFER register accessible on a 32bit KVM host. This is necessary to boot 32 bit PAE guests under SVM. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9f62e19a1107466b9e9501e23a9dd5acb81fdca1 Author: Joerg Roedel Date: Thu Jan 31 14:57:39 2008 +0100 KVM: VMX: unifdef the EFER specific code To allow access to the EFER register in 32bit KVM the EFER specific code has to be exported to the x86 generic code. This patch does this in a backwards compatible manner. [avi: add check for EFER-less hosts] Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 50a37eb4e05efaa7bac6a948fd4db1a48c728b99 Author: Joerg Roedel Date: Thu Jan 31 14:57:38 2008 +0100 KVM: align valid EFER bits with the features of the host system This patch aligns the bits the guest can set in the EFER register with the features in the host processor. Currently it lets EFER.NX disabled if the processor does not support it and enables EFER.LME and EFER.LMA only for KVM on 64 bit hosts. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit f2b4b7ddf633ffa24ce7c89c9e0d8a06463484e3 Author: Joerg Roedel Date: Thu Jan 31 14:57:37 2008 +0100 KVM: make EFER_RESERVED_BITS configurable for architecture code This patch give the SVM and VMX implementations the ability to add some bits the guest can set in its EFER register. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 0aac03f07b37da96e00371e66973d5ffaae578a4 Author: Andrea Arcangeli Date: Wed Jan 30 19:57:35 2008 +0100 KVM: Disable pagefaults during copy_from_user_inatomic() With CONFIG_PREEMPT=n, this is needed in order to disable the fault-in code from sleeping. Signed-off-by: Andrea Arcangeli Signed-off-by: Avi Kivity commit 31bb117eb48f2629e030ca547ca89a1c34150183 Author: Hollis Blanchard Date: Mon Jan 28 17:42:34 2008 -0600 KVM: Use CONFIG_PREEMPT_NOTIFIERS around struct preempt_notifier This allows kvm_host.h to be #included even when struct preempt_notifier is undefined. This is needed to build ppc asm-offsets.h. Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 2384d2b32640839a4d4d260ca7c5aa4edbf68d91 Author: Sheng Yang Date: Thu Jan 17 15:14:33 2008 +0800 KVM: VMX: Enable Virtual Processor Identification (VPID) To allow TLB entries to be retained across VM entry and VM exit, the VMM can now identify distinct address spaces through a new virtual-processor ID (VPID) field of the VMCS. [avi: drop vpid_sync_all()] [avi: add "cc" to asm constraints] Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit adb1ff46754a87f3f6c9e7ee0a92f9a8a183bb38 Author: Avi Kivity Date: Thu Jan 24 15:13:08 2008 +0200 KVM: Limit vcpu mmap size to one page on non-x86 The second page is only needed on archs that support pio. Noted by Carsten Otte. Signed-off-by: Avi Kivity commit d196e343361c229496adeda42335856da9d057de Author: Avi Kivity Date: Thu Jan 24 11:44:11 2008 +0200 KVM: MMU: Decouple mmio from shadow page tables Currently an mmio guest pte is encoded in the shadow pagetable as a not-present trapping pte, with the SHADOW_IO_MARK bit set. However nothing is ever done with this information, so maintaining it is a useless complication. This patch moves the check for mmio to before shadow ptes are instantiated, so the shadow code is never invoked for ptes that reference mmio. The code is simpler, and with future work, can be made to handle mmio concurrently. Signed-off-by: Avi Kivity commit 1d6ad2073e5354912291277c606a57fd37330f04 Author: Avi Kivity Date: Wed Jan 23 22:26:09 2008 +0200 KVM: x86 emulator: group decoding for group 1 instructions Opcodes 0x80-0x83 Signed-off-by: Avi Kivity commit 09566765efd034feba45611f9d0ae9a702f8bb1d Author: Avi Kivity Date: Wed Jan 23 18:14:23 2008 +0200 KVM: Only x86 has pio Signed-off-by: Avi Kivity commit 5c5027425ec23ded452879ee5d0775a9a90fb9bf Author: Jan Engelhardt Date: Tue Jan 22 20:46:14 2008 +0100 KVM: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Avi Kivity commit d95058a1a7170ae2af2939cbdab0ff5d5e005238 Author: Avi Kivity Date: Fri Jan 18 13:36:50 2008 +0200 KVM: x86 emulator: add group 7 decoding This adds group decoding for opcode 0x0f 0x01 (group 7). Signed-off-by: Avi Kivity commit fd60754e4ffa992586346dd56451723b4c096626 Author: Avi Kivity Date: Fri Jan 18 13:12:26 2008 +0200 KVM: x86 emulator: Group decoding for groups 4 and 5 Add group decoding support for opcode 0xfe (group 4) and 0xff (group 5). Signed-off-by: Avi Kivity commit 7d858a19efe5844a98e060931570359b70dea6d1 Author: Avi Kivity Date: Fri Jan 18 12:58:04 2008 +0200 KVM: x86 emulator: Group decoding for group 3 This adds group decoding support for opcodes 0xf6, 0xf7 (group 3). Signed-off-by: Avi Kivity commit 43bb19cd3398d3f544d8e2d6ed6c5c5d7b4e5819 Author: Avi Kivity Date: Fri Jan 18 12:46:50 2008 +0200 KVM: x86 emulator: group decoding for group 1A This adds group decode support for opcode 0x8f. Signed-off-by: Avi Kivity commit e09d082c03e137015bc0a17ca77e4b9dca08a5d7 Author: Avi Kivity Date: Fri Jan 18 12:38:59 2008 +0200 KVM: x86 emulator: add support for group decoding Certain x86 instructions use bits 3:5 of the byte following the opcode as an opcode extension, with the decode sometimes depending on bits 6:7 as well. Add support for this in the main decoding table rather than an ad-hock adaptation per opcode. Signed-off-by: Avi Kivity commit 1ae0a13def678876b9acfb5ac1e2cf7d5d45a60d Author: Dong, Eddie Date: Mon Jan 7 13:20:25 2008 +0200 KVM: MMU: Simplify hash table indexing Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 489f1d6526ab68ca1842398fa3ae95c597fe3d32 Author: Dong, Eddie Date: Mon Jan 7 11:14:20 2008 +0200 KVM: MMU: Update shadow ptes on partial guest pte writes A guest partial guest pte write will leave shadow_trap_nonpresent_pte in spte, which generates a vmexit at the next guest access through that pte. This patch improves this by reading the full guest pte in advance and thus being able to update the spte and eliminate the vmexit. This helps pae guests which use two 32-bit writes to set a single 64-bit pte. [truncation fix by Eric] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Feng (Eric) Liu Signed-off-by: Avi Kivity commit 7cf069955f2f0b95fed6a8b1a61ef598a3df0f4e Author: David S. Miller Date: Sun Apr 27 00:25:30 2008 -0700 sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c The structure has to be 8-byte aligned in size, so this macro is just noise. Signed-off-by: David S. Miller commit 3ade11601f4a3a38d6cd3675ccc87bf11e251915 Author: Robert Reif Date: Sat Apr 26 23:10:19 2008 -0700 sparc: sunzilog.c remove unused argument Remove unused argument in function call. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 403ae52ac047eb339f2b7e8cdf93a3b8077914db Author: Robert Reif Date: Sat Apr 26 22:29:43 2008 -0700 sparc: fix drivers/video/tcx.c warning Fix compile warning: CC drivers/video/tcx.o drivers/video/tcx.c: In function ‘tcx_init_one’: drivers/video/tcx.c:477: warning: format ‘%lx’ expects type ‘long unsigned int’, but argument 4 has type ‘resource_size_t’ This was the only sparc driver to use the resource directly in the printk so I changed it to physbase like the other drivers. Boot tested on SS4. Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 5da496e4b90626784a82803682e186a8e67222a0 Author: David S. Miller Date: Sat Apr 26 21:07:35 2008 -0700 sparc64: Kill unused local ISA bus layer. No more drivers use this, and therefore it can die. Signed-off-by: David S. Miller commit 9c1a5077fdca99356c891af37931e537dea874f5 Author: David S. Miller Date: Sat Apr 26 21:02:21 2008 -0700 input: Rewrite sparcspkr device probing. Remove all dependencies on EBUS and ISA bus layers, which we'd like to remove as they are superfluous. While we're here, add support for proper frequency changing on BBC beep devices. Unlike the comments that were here, this device can in fact use a programmable frequency. Signed-off-by: David S. Miller commit dc8ca2a111c10f031346f6f8f82640d6bc0dd347 Author: David S. Miller Date: Sat Apr 26 20:59:52 2008 -0700 sparc64: Do not ignore 'pmu' device ranges. I must have disabled this due to other bugs which were fixed over time. And this is needed in order for child devices of "pmu" to get proper resource values. Signed-off-by: David S. Miller commit 0eb78f0b1a0f61b292380028b0debd5af7b3838a Author: David S. Miller Date: Sat Apr 26 03:35:02 2008 -0700 sparc64: Kill ISA_FLOPPY_WORKS code. This never was enabled, I could never get it working, and if anyone wants to try and get it's very easy to reference this code in the history. It's the only thing referencing the silly ISA device layer in the sparc64 tree. OF device layer infrastructure is what should be used for these things. Signed-off-by: David S. Miller commit 09337f501ebdd224cd69df6d168a5c4fe75d86fa Author: David S. Miller Date: Sat Apr 26 03:17:12 2008 -0700 sparc64: Kill CONFIG_SPARC32_COMPAT It's completely superfluous, CONFIG_COMPAT is sufficient. What this used to be is an umbrella for enabling code shared by all 32-bit compat binary support types. But with the removal of SunOS and Solaris support, the only one left is Linux 32-bit ELF. Update defconfig. Signed-off-by: David S. Miller commit 05d515ef3d14eb95ffe9239ec1b8a03b24fa8469 Author: David S. Miller Date: Sat Apr 26 03:07:34 2008 -0700 sparc64: Cleanups and corrections for arch/sparc64/Kconfig Refer to chip as "SPARC" throughout. Say 32-bit SPARC and 64-bit SPARC rather than mentioning specific chips such like UltraSPARC, as appropriate. Remove non-sense help text referring to things that will never appear on a SPARC system, such as EISA busses etc. Use "help" instead of "--help--" Signed-off-by: David S. Miller commit 227c3311786dbe64cb221e63d53817f98240e587 Author: David S. Miller Date: Sat Apr 26 02:19:18 2008 -0700 sparc64: Fix wedged irq regression. Kernel bugzilla 10273 As reported by Jos van der Ende, ever since commit 5a606b72a4309a656cd1a19ad137dc5557c4b8ea ("[SPARC64]: Do not ACK an INO if it is disabled or inprogress.") sun4u interrupts can get stuck. What this changset did was add the following conditional to the various IRQ chip ->enable() handlers on sparc64: if (unlikely(desc->status & (IRQ_DISABLED|IRQ_INPROGRESS))) return; which is correct, however it means that special care is needed in the ->enable() method. Specifically we must put the interrupt into IDLE state during an enable, or else it might never be sent out again. Setting the INO interrupt state to IDLE resets the state machine, the interrupt input to the INO is retested by the hardware, and if an interrupt is being signalled by the device, the INO moves back into TRANSMIT state, and an interrupt vector is sent to the cpu. The two sun4v IRQ chip handlers were already doing this properly, only sun4u got it wrong. Signed-off-by: David S. Miller commit 20430214cc0073dc7e817b032e32ae2ae54b4911 Author: Dmitry Torokhov Date: Sun Apr 27 00:10:11 2008 -0400 Input: xpad - fix build failure If both CONFIG_JOYSTICK_XPAD_FF and CONFIG_JOYSTICK_XPAD_LEDS are unset xpad_bulk_out is not defined and build fails. Move it out of the #ifdef block so it is always defined. Reported-by: Ingo Molnar Signed-off-by: Dmitry Torokhov commit 7f424a8b08c26dc14ac5c17164014539ac9a5c65 Author: Peter Zijlstra Date: Fri Apr 25 17:39:01 2008 +0200 fix idle (arch, acpi and apm) and lockdep OK, so 25-mm1 gave a lockdep error which made me look into this. The first thing that I noticed was the horrible mess; the second thing I saw was hacks like: 71e93d15612c61c2e26a169567becf088e71b8ff The problem is that arch idle routines are somewhat inconsitent with their IRQ state handling and instead of fixing _that_, we go paper over the problem. So the thing I've tried to do is set a standard for idle routines and fix them all up to adhere to that. So the rules are: idle routines are entered with IRQs disabled idle routines will exit with IRQs enabled Nearly all already did this in one form or another. Merge the 32 and 64 bit bits so they no longer have different bugs. As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated irq-enable. Signed-off-by: Peter Zijlstra Tested-by: Bob Copeland Signed-off-by: Ingo Molnar commit 5f0b2976cb2b62668a076f54419c24b8ab677167 Author: Yinghai Lu Date: Mon Apr 14 16:08:25 2008 -0700 x86: add pci=check_enable_amd_mmconf and dmi check so will disable that feature by default, and only enable that via pci=check_enable_amd_mmconf or for system match with dmi table. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8ee6f0ae5cd860e8e6c02807edfa3c1fa01bcb5 Author: Yinghai Lu Date: Sun Apr 13 01:41:58 2008 -0700 x86: work around io allocation overlap of HT links normally BIOSes assign io/mmio range to different HT links without overlapping, even same node same link should get non overlapping entries. but Rafael L. Wysocki's buggy BIOS creates a link with overlapping entries for mmio and io: node 0 link 0: io port [1000, ffffff] node 0 link 0: mmio [e0000000, efffffff] node 0 link 0: mmio [a0000, bffff] node 0 link 0: mmio [80000000, ffffffff] try to merge them and we will get: bus: [00, ff] on node 0 link 0 bus: 00 index 0 io port: [0, ffff] bus: 00 index 1 mmio: [80000000, fcffffffff] bus: 00 index 2 mmio: [a0000, bffff] so later we will reduce the chance to assign used resource to unassigned device. Reported-by: "Rafael J. Wysocki" Signed-off-by: Yinghai Lu Tested-by: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cbf9bd603ab1fc4d2ecb1c6a4b7bd1cc50a7e82a Author: Yinghai Lu Date: Tue Feb 19 03:21:06 2008 -0800 acpi: get boot_cpu_id as early for k8_scan_nodes [mingo@elte.hu: split from "x86_64: get boot_cpu_id as early for k8_scan_nodes] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4cf19463745fad81ef2eed3e4e0038da5fd153f8 Author: Yinghai Lu Date: Fri Apr 11 15:14:52 2008 -0700 x86_64: don't need set default res if only have one root bus if there's only one root bus there's no need to split resources. This patch fixes the issue described at: http://lkml.org/lkml/2008/4/10/304 Reported-and-bisected-by: Rafael J. Wysocki Tested-by: Rafael J. Wysocki Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e184f299d696203bc40545b9db216089d88bef7 Author: Yinghai Lu Date: Thu Mar 6 01:15:31 2008 -0800 x86: double check the multi root bus with fam10h mmconf some bioses give same range to mmconf for fam10h msr, and mmio for node/link. fam10h msr will overide mmio for node/link. so we can not assign range to devices under node/link for unassigned resources. this patch will take range out from the mmio for node/link Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30a18d6c3f1e774de656ebd8ff219d53e2ba4029 Author: Yinghai Lu Date: Tue Feb 19 03:21:20 2008 -0800 x86: multi pci root bus with different io resource range, on 64-bit scan AMD opteron io/mmio routing to make sure every pci root bus get correct resource range. Thus later pci scan could assign correct resource to device with unassigned resource. this can fix a system without _CRS for multi pci root bus. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35ddd068fb94b187e94a3fc497ccecf27bdda9ae Author: Yinghai Lu Date: Tue Feb 19 03:15:08 2008 -0800 x86: use bus conf in NB conf fun1 to get bus range on, on 64-bit ... so we use the same code with Quad core cpu as old opteron. This patch is useful when acpi=off or _PXM is not there in DSDT. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 871d5f8dd0f7647f03facd4cb79485938d1b61ab Author: Yinghai Lu Date: Tue Feb 19 03:20:09 2008 -0800 x86: get mp_bus_to_node early Currently, on an amd k8 system with multi ht chains, the numa_node of pci devices under /sys/devices/pci0000:80/* is always 0, even if that chain is on node 1 or 2 or 3. Workaround: pcibus_to_node(bus) is used when we want to get the node that pci_device is on. In struct device, we already have numa_node member, and we could use dev_to_node()/set_dev_node() to get and set numa_node in the device. set_dev_node is called in pci_device_add() with pcibus_to_node(bus), and pcibus_to_node uses bus->sysdata for nodeid. The problem is when pci_add_device is called, bus->sysdata is not assigned correct nodeid yet. The result is that numa_node will always be 0. pcibios_scan_root and pci_scan_root could take sysdata. So we need to get mp_bus_to_node mapping before these two are called, and thus get_mp_bus_to_node could get correct node for sysdata in root bus. In scanning of the root bus, all child busses will take parent bus sysdata. So all pci_device->dev.numa_node will be assigned correctly and automatically. Later we could use dev_to_node(&pci_dev->dev) to get numa_node, and we could also could make other bus specific device get the correct numa_node too. This is an updated version of pci_sysdata and Jeff's pci_domain patch. [ mingo@elte.hu: build fix ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb63b4219976d48ed6d22ac33c18be334fb5a78c Author: Yinghai Lu Date: Thu Feb 28 23:56:50 2008 -0800 x86 pci: remove checking type for mmconfig probe doesn't need to check if it is type1 or type2, we can use raw_pci_ops directly. also make pci_direct_conf1 static again. anyway is there system with type 2 and mmconf support? Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d2ebdf4bae4f1d7c30e71fd74f270ca4cda024fc Author: Yinghai Lu Date: Wed Feb 20 22:21:57 2008 -0800 x86: remove unneeded check in mmconf reject mmconfig is only used to access extended configuration space. so don't need to reject MFG that only have one entry and only handle bus0. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 0d358f22f6c8f03ab215eee8d52b74f78cc3c7db Author: Yinghai Lu Date: Tue Feb 19 03:20:41 2008 -0800 driver core: try parent numa_node at first before using default in the device_add, we try to use use parent numa_node. need to make sure pci root bus's bridge device numa_node is set. then we could use device->numa_node direclty for all device. and don't need to call pcibus_to_node(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d39398a333ddc490f842ccdd4b76c9674682aa5d Author: Yinghai Lu Date: Tue Feb 26 11:04:17 2008 -0800 x86: seperate mmconf for fam10h out from setup_64.c Separate mmconf for fam10h out from setup_64.c Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit d4c4d09415c48ecb621804cd4ec4a7a4d9a3662f Author: Yinghai Lu Date: Mon Feb 25 18:41:35 2008 -0800 x86: if acpi=off, force setting the mmconf for fam10h some BIOS only let AMD fam 10h handle bus0, and nvidia mcp55/ck804 to handle other buses. at that case MCFG will cover all over them. but with acpi=off, we can not use MCFG. this patch will double check the busnbits, and if it is less handling 256 bues, and acpi=off will forcely reset the mmconf in msr, so we still use mmconf in above case. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7fd0da4085d5b012a6bdcbbd63da7ead9fc69ad4 Author: Yinghai Lu Date: Tue Feb 19 03:13:02 2008 -0800 x86_64: check MSR to get MMCONFIG for AMD Family 10h so even booting kernel with acpi=off or even MCFG is not there, we still can use MMCONFIG. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Greg KH Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit eee206c3bfd0888f22ae9da3172487c61d72187d Author: Yinghai Lu Date: Tue Feb 19 03:13:43 2008 -0800 x86_64: check and enable MMCONFIG for AMD Family 10h So we can use MMCONF when MMCONF is not set by BIOS using TOP_MEM2 msr to get memory top, and try to scan fam10h mmio routing to make sure the range is not conflicted with some prefetch MMIO that is above 4G. (current only LinuxBIOS assign 64 bit mmio above 4G for some co-processor) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 57741a779070e0b141b6148136b420c8d35ccbce Author: Yinghai Lu Date: Fri Feb 15 01:32:50 2008 -0800 x86_64: set cfg_size for AMD Family 10h in case MMCONFIG reuse pci_cfg_space_size but skip check pci express and pci-x CAP ID. Signed-off-by: Yinghai Lu Cc: Andrew Morton Acked-by: Greg Kroah-Hartman Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 05c58b8ac77639c17205f0b2a2d9eb1971dc47ad Author: Yinghai Lu Date: Fri Feb 15 01:30:14 2008 -0800 x86: mmconf enable mcfg early Patch "x86: validate against ACPI motherboard resources" changed the mmconf init sequence, and init MMCONF late in acpi_init. here change it back to old sequence: 1. check hostbridge in early 2. check MCFG with e820 in early 3. if all fail, will check MCFg with acpi _CRS in acpi_init So we can make MCONF working again when acpi=off is set if hostbridge support that. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Greg KH Cc: Greg KH Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0b64ad7123eb013c3de26750f2d4c356cd566231 Author: Yinghai Lu Date: Fri Feb 15 01:28:41 2008 -0800 x86: clear pci_mmcfg_virt when mmcfg get rejected For x86_64, need to free pci_mmcfg_virt, and iounmap some pointers when MMCONF is not reserved in E820 or acpi _CRS and get rejected. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Greg KH Cc: Greg KH Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7752d5cfe3d11ca0bb9c673ec38bd78ba6578f8e Author: Robert Hancock Date: Fri Feb 15 01:27:20 2008 -0800 x86: validate against acpi motherboard resources This path adds validation of the MMCONFIG table against the ACPI reserved motherboard resources. If the MMCONFIG table is found to be reserved in ACPI, we don't bother checking the E820 table. The PCI Express firmware spec apparently tells BIOS developers that reservation in ACPI is required and E820 reservation is optional, so checking against ACPI first makes sense. Many BIOSes don't reserve the MMCONFIG region in E820 even though it is perfectly functional, the existing check needlessly disables MMCONFIG in these cases. In order to do this, MMCONFIG setup has been split into two phases. If PCI configuration type 1 is not available then MMCONFIG is enabled early as before. Otherwise, it is enabled later after the ACPI interpreter is enabled, since we need to be able to execute control methods in order to check the ACPI reserved resources. Presently this is just triggered off the end of ACPI interpreter initialization. There are a few other behavioral changes here: - Validate all MMCONFIG configurations provided, not just the first one. - Validate the entire required length of each configuration according to the provided ending bus number is reserved, not just the minimum required allocation. - Validate that the area is reserved even if we read it from the chipset directly and not from the MCFG table. This catches the case where the BIOS didn't set the location properly in the chipset and has mapped it over other things it shouldn't have. This also cleans up the MMCONFIG initialization functions so that they simply do nothing if MMCONFIG is not compiled in. Based on an original patch by Rajesh Shah from Intel. [akpm@linux-foundation.org: many fixes and cleanups] Signed-off-by: Robert Hancock Signed-off-by: Andi Kleen Cc: Andrew Morton Cc: Greg KH Signed-off-by: Thomas Gleixner Tested-by: Andi Kleen Cc: Rajesh Shah Cc: Jesse Barnes Acked-by: Linus Torvalds Cc: Andi Kleen Cc: Greg KH Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit c3bf9bc243092c53946fd6d8ebd6dc2f4e572d48 Merge: e3505dd... c2b91e2... Author: Linus Torvalds Date: Sat Apr 26 14:04:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootmem-v3: x86_64/mm: check and print vmemmap allocation continuous x86_64: fix setup_node_bootmem to support big mem excluding with memmap x86_64: make reserve_bootmem_generic() use new reserve_bootmem() mm: allow reserve_bootmem() cross nodes mm: offset align in alloc_bootmem() mm: fix alloc_bootmem_core to use fast searching for all nodes mm: make mem_map allocation continuous commit e3505dd50caf54e6f81f897cb347441409974a15 Merge: 9b79ed9... f509391... Author: Linus Torvalds Date: Sat Apr 26 14:03:54 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: scripts/Makefile.modpost typo fix kbuild: soften MODULE_LICENSE check commit c2b91e2eec9678dbda274e906cc32ea8f711da3b Author: Yinghai Lu Date: Sat Apr 12 01:19:24 2008 -0700 x86_64/mm: check and print vmemmap allocation continuous On big systems with lots of memory, don't print out too much during bootup, and make it easy to find if it is continuous. on 256G 8 sockets system will get [ffffe20000000000-ffffe20002bfffff] PMD -> [ffff810001400000-ffff810003ffffff] on node 0 [ffffe2001c700000-ffffe2001c7fffff] potential offnode page_structs [ffffe20002c00000-ffffe2001c7fffff] PMD -> [ffff81000c000000-ffff8100255fffff] on node 0 [ffffe20038700000-ffffe200387fffff] potential offnode page_structs [ffffe2001c800000-ffffe200387fffff] PMD -> [ffff810820200000-ffff81083c1fffff] on node 1 [ffffe20040000000-ffffe2007fffffff] PUD ->ffff811027a00000 on node 2 [ffffe20038800000-ffffe2003fffffff] PMD -> [ffff811020200000-ffff8110279fffff] on node 2 [ffffe20054700000-ffffe200547fffff] potential offnode page_structs [ffffe20040000000-ffffe200547fffff] PMD -> [ffff811027c00000-ffff81103c3fffff] on node 2 [ffffe20070700000-ffffe200707fffff] potential offnode page_structs [ffffe20054800000-ffffe200707fffff] PMD -> [ffff811820200000-ffff81183c1fffff] on node 3 [ffffe20080000000-ffffe200bfffffff] PUD ->ffff81202fa00000 on node 4 [ffffe20070800000-ffffe2007fffffff] PMD -> [ffff812020200000-ffff81202f9fffff] on node 4 [ffffe2008c700000-ffffe2008c7fffff] potential offnode page_structs [ffffe20080000000-ffffe2008c7fffff] PMD -> [ffff81202fc00000-ffff81203c3fffff] on node 4 [ffffe200a8700000-ffffe200a87fffff] potential offnode page_structs [ffffe2008c800000-ffffe200a87fffff] PMD -> [ffff812820200000-ffff81283c1fffff] on node 5 [ffffe200c0000000-ffffe200ffffffff] PUD ->ffff813037a00000 on node 6 [ffffe200a8800000-ffffe200bfffffff] PMD -> [ffff813020200000-ffff8130379fffff] on node 6 [ffffe200c4700000-ffffe200c47fffff] potential offnode page_structs [ffffe200c0000000-ffffe200c47fffff] PMD -> [ffff813037c00000-ffff81303c3fffff] on node 6 [ffffe200c4800000-ffffe200e07fffff] PMD -> [ffff813820200000-ffff81383c1fffff] on node 7 instead of a very long print out... Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a27fc0a42162964d758e9d36d2d1b49c082a67c Author: Yinghai Lu Date: Tue Mar 18 12:52:37 2008 -0700 x86_64: fix setup_node_bootmem to support big mem excluding with memmap typical case: four sockets system, every node has 4g ram, and we are using: memmap=10g$4g to mask out memory on node1 and node2 when numa is enabled, early_node_mem is used to get node_data and node_bootmap. if it can not get memory from the same node with find_e820_area(), it will use alloc_bootmem to get buff from previous nodes. so check it and print out some info about it. need to move early_res_to_bootmem into every setup_node_bootmem. and it takes range that node has. otherwise alloc_bootmem could return addr that reserved early. depends on "mm: make reserve_bootmem can crossed the nodes". Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 8b3cd09ed23049fcb02479c6286744b36324ac9d Author: Yinghai Lu Date: Tue Mar 18 12:50:21 2008 -0700 x86_64: make reserve_bootmem_generic() use new reserve_bootmem() "mm: make reserve_bootmem can crossed the nodes" provides new reserve_bootmem(), let reserve_bootmem_generic() use that. reserve_bootmem_generic() is used to reserve initramdisk, so this way we can make sure even when bootloader or kexec load ranges cross the node memory boundaries, reserve_bootmem still works. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5645a61b3b7e7d7de15e1a642ead600150ce94d Author: Yinghai Lu Date: Tue Mar 18 12:49:12 2008 -0700 mm: allow reserve_bootmem() cross nodes split reserve_bootmem_core() into two functions, one which checks conflicts, and one which sets the bits. and make reserve_bootmem to loop bdata_list to cross the nodes. user could be crashkernel and ramdisk..., in case the range provided by those externalities crosses the nodes. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9a2dc04cf070ee98e014a172695782ff42015fc4 Author: Yinghai Lu Date: Tue Mar 18 12:44:48 2008 -0700 mm: offset align in alloc_bootmem() need offset alignment when node_boot_start's alignment is less than the alignment required. use local node_boot_start to match alignment - so don't add extra operation in search loop. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit ad09315cad17458e51c7f1f8b371cb942c54b955 Author: Yinghai Lu Date: Mon Mar 10 23:23:42 2008 -0700 mm: fix alloc_bootmem_core to use fast searching for all nodes Make the nodes other than node 0 use bdata->last_success for fast search too. We need to use __alloc_bootmem_core() for vmemmap allocation for other nodes when numa and sparsemem/vmemmap are enabled. Also, make fail_block path increase i with incr only after ALIGN to avoid extra increase when size is larger than align. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e123dd3f0ec1664576456ea1ea045591a0a95f0c Author: Yinghai Lu Date: Sun Apr 13 11:51:06 2008 -0700 mm: make mem_map allocation continuous vmemmap allocation currently has this layout: [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001800000 on node 0 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001c00000 on node 0 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810002000000 on node 0 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810002400000 on node 0 ... note that there is a 2M hole between them - not optimal. the root cause is that usemap (24 bytes) will be allocated after every 2M mem_map, and it will push next vmemmap (2M) to the next (2M) alignment. solution: try to allocate the mem_map continously. after the patch, we get: [ffffe20000000000-ffffe200001fffff] PMD ->ffff810001400000 on node 0 [ffffe20000200000-ffffe200003fffff] PMD ->ffff810001600000 on node 0 [ffffe20000400000-ffffe200005fffff] PMD ->ffff810001800000 on node 0 [ffffe20000600000-ffffe200007fffff] PMD ->ffff810001a00000 on node 0 [ffffe20000800000-ffffe200009fffff] PMD ->ffff810001c00000 on node 0 ... which is the ideal layout. and usemap will share a page because of they are allocated continuously too: sparse_early_usemap_alloc: usemap = ffff810024e00000 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00080 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00100 size = 24 sparse_early_usemap_alloc: usemap = ffff810024e00180 size = 24 ... so we make the bootmem allocation more compact and use less memory for usemap => mission accomplished ;-) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9b79ed952bd7344d40152f8a560ad8a0d93f3886 Merge: a52b0d2... 19870de... Author: Linus Torvalds Date: Sat Apr 26 13:46:11 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-generic-bitops-v3: x86, bitops: select the generic bitmap search functions x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only x86: finalize bitops unification x86, UML: remove x86-specific implementations of find_first_bit x86: optimize find_first_bit for small bitmaps x86: switch 64-bit to generic find_first_bit x86: generic versions of find_first_(zero_)bit, convert i386 bitops: use __fls for fls64 on 64-bit archs generic: implement __fls on all 64-bit archs generic: introduce a generic __fls implementation x86: merge the simple bitops and move them to bitops.h x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps x86, uml: fix uml with generic find_next_bit for x86 x86: change x86 to use generic find_next_bit uml: Kconfig cleanup uml: fix build error commit a52b0d25a722e84da999005b75f972aa4824253c Merge: 539a5fe... f37afda... Author: Linus Torvalds Date: Sat Apr 26 13:44:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (46 commits) ide: constify struct ide_dma_ops ide: add struct ide_dma_ops (take 3) ide: add IDE_HFLAG_SERIALIZE_DMA host flag sl82c105: check bridge revision in sl82c105_init_one() au1xxx-ide: use ->init_dma method palm_bk3710: use ->init_dma method sgiioc4: use ->init_dma method icside: use ->init_dma method ide-pmac: use ->init_dma method ide: do complete DMA setup in ->init_dma method (take 2) au1xxx-ide: fix MWDMA support ide: cleanup ide_setup_dma() ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma() ide: export ide_allocate_dma_engine() ide: move ide_setup_dma() call out from ->init_dma method alim15x3: skip DMA initialization completely on revs < 0x20 pdc202xx_old: remove init_dma_pdc202xx() ide: don't display "BIOS" settings in ide_setup_dma() ide: remove ->cds field from ide_hwif_t (take 2) ide: remove ide_dma_iobase() ... commit 539a5fe22620a1665cce504167953a71a43232ad Merge: 0124cec... fb88438... Author: Linus Torvalds Date: Sat Apr 26 13:29:41 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-bigbox-bootparam: x86, boot: Document for linked list of struct setup_data x86, boot: export linked list of struct setup_data via debugfs x86, boot: add linked list of struct setup_data x86, boot: add free_early to early reservation machanism commit f37afdaca711838b50ecd89b9c15fc745270d77c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: constify struct ide_dma_ops * Export ide_dma_exec_cmd() and __ide_dma_test_irq(). * Constify struct ide_dma_ops. * Always set hwif->dma_ops to &sff_dma_ops in ide_setup_dma() (it is later overriden by ide_init_port() if needed) and drop 'const struct ide_port_info *d' argument. While at it: * Rename __ide_dma_test_irq() to ide_dma_test_irq(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e37bdc081a980dd0d669e6387bcf15ca9666f81 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: add struct ide_dma_ops (take 3) Add struct ide_dma_ops and convert core code + drivers to use it. While at it: * Drop "ide_" prefix from ->ide_dma_end and ->ide_dma_test_irq methods. * Drop "ide_" "infixes" from DMA methods. * au1xxx-ide.c: - use auide_dma_{test_irq,end}() directly in auide_dma_timeout() * pdc202xx_old.c: - drop "old_" "infixes" from DMA methods * siimage.c: - add siimage_dma_test_irq() helper - print SATA warning in siimage_init_one() * Remove no longer needed ->init_hwif implementations. v2: * Changes based on review from Sergei: - s/siimage_ide_dma_test_irq/siimage_dma_test_irq/ - s/drive->hwif/hwif/ in idefloppy_pc_intr(). - fix patch description w.r.t. au1xxx-ide changes - fix au1xxx-ide build - fix naming for cmd64*_dma_ops - drop "ide_" and "old_" infixes - s/hpt3xxx_dma_ops/hpt37x_dma_ops/ - s/hpt370x_dma_ops/hpt370_dma_ops/ - use correct DMA ops for HPT302/N, HPT371/N and HPT374 - s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/ v3: * Two bugs slipped in v2 (noticed by Sergei): - use correct DMA ops for HPT374 (for real this time) - handle HPT370/HPT370A properly Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fd1890594bd355a4217f5658a34763e77decee3 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:24 2008 +0200 ide: add IDE_HFLAG_SERIALIZE_DMA host flag * Add IDE_HFLAG_SERIALIZE_DMA host flag to serialize ports if DMA is available and handle it in ide_init_port(). * Convert sl82c105 host driver to use this new flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6c61064162e6a9965a062b445c6bd6c8ed019183 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 sl82c105: check bridge revision in sl82c105_init_one() * Make sl82c105_bridge_revision() return 'u8' instead of 'unsigned long'. * Check bridge revision in sl82c105_init_one(). While at: * Use proper KERN_ level for printk(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8552865935538127d2603110b3d36dba2b4e8eff Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 au1xxx-ide: use ->init_dma method * Pass 'ide_hwif_t *hwif' instead of '_auide_hwif *auide' to auide_ddma_init(). * Add 'const struct ide_port_info *d' argument to auide_ddma_init(). * Convert the driver to use ->init_dma method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b552a2c1dd01ab2380ea9429899591aa743f02e7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 palm_bk3710: use ->init_dma method * Move DMA setup to palm_bk3710_init_dma(). * Convert the driver to use ->init_dma method. Cc: Anton Vorontsov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 04216fa1befbf8c737b7bf3bcc636009723f40d9 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 sgiioc4: use ->init_dma method * Move dma_base check from sgiioc4_ide_setup_pci_device() to ide_dma_sgiioc4(). * Replace ide_dma_sgiioc4() 'unsigned long dma_base' argument by 'const struct ide_port_info *d'. * Move hwif->INB setup from ide_init_sgiioc4() to sgiioc4_ide_setup_pci_device(). * Move ide_init_sgiioc4() call from sgiioc4_ide_setup_pci_device() to ide_dma_sgiioc4(). * Convert the driver to use ->init_dma method. Cc: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit 91432f48094db32579776bd0a9d8432b16dc0a09 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:23 2008 +0200 icside: use ->init_dma method * Add 'const struct ide_port_info *d' argument to icside_dma_init(). * Make icside_dma_init() return an error value and add icside_dma_off_init() (->init_dma implementation for case when DMA cannot be enabled). * Convert the driver to use ->init_dma method. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d07192297f664afdee36b330ab4fe52a8e38a6a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 ide-pmac: use ->init_dma method * Move pmif->dma_regs check from pmac_ide_setup_device() to pmac_ide_init_dma(). * Get 'pmif' from 'hwif->hwif_data' in pmac_ide_init_dma() and replace 'pmac_ide_hwif_t *pmif' argument by 'const struct ide_port_info *d'. * Add pmac_ide_init_dma() implementation for CONFIG_BLK_DEV_IDEDMA_PMAC=n case and convert the driver to use ->init_dma method. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit b123f56e04c7c112f754f948198d1ea5a80e649d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 ide: do complete DMA setup in ->init_dma method (take 2) * Make ide_hwif_setup_dma() return an error value. * Pass 'const struct ide_port_info *d' instead of 'unsigned long dmabase' to ->init_dma method and make it return an error value. * Rename ide_get_or_set_dma_base() to ide_pci_dma_base(), change ordering of its arguments and then export it. * Export ide_pci_set_master(). * Do complete DMA setup inside ->init_dma method and update ->init_dma users accordingly. * Sanitize code for DMA setup in ide_init_port(). v2: * Fix for CONFIG_BLK_DEV_IDEDMA_PCI=n configs (from Jiri Slaby ): Fix following compiler warning by returning EINVAL: In file included from ANYTHING-INCLUDING-IDE.H:45: include/linux/ide.h: In function ‘ide_hwif_setup_dma’: include/linux/ide.h:1022: warning: no return statement in function returning non-void Cc: Jiri Slaby Cc: Andrew Morton Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f629b38beddf2ff8bc3fda1754bbd6cc7d3acc03 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:22 2008 +0200 au1xxx-ide: fix MWDMA support Always use "fast" MWDMA support and remove dma_{black,white}_list (they were based on completely bogus ->ide_dma_check implementation which didn't set neither the host controller timings nor the device for the desired transfer mode). Signed-off-by: Bartlomiej Zolnierkiewicz commit 63158d5c217e2e62665ae9b10d203bd7da817108 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: cleanup ide_setup_dma() * There is no need to call ide_release_dma_engine(). * Move the code up to (and including) ide_allocate_dma_engine() call to the callers of ide_setup_dma(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit d54452fbf84500eff77a55a2061f4669441d2cc3 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: factor out setting PCI bus-mastering from ide_hwif_setup_dma() Factor out setting PCI bus-mastering from ide_hwif_setup_dma() to ide_pci_set_master() helper. While at it: * don't read PCI Command register if not necessary * use PCI device name instead of hwif->name * cleanup ide_hwif_setup_dma() a bit Signed-off-by: Bartlomiej Zolnierkiewicz commit b8e73fba60414e161d8fd2429b6fb268e34502e2 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: export ide_allocate_dma_engine() Export ide_allocate_dma_engine() and use it in trm290 host driver. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23658f8af3dbba53ae9796e4c37c2fdd0272662e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 ide: move ide_setup_dma() call out from ->init_dma method There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d36b95fe2cc5655e96da42eaf19f1aa341c6856 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 alim15x3: skip DMA initialization completely on revs < 0x20 Skip DMA initialization completely on revs < 0x20 by setting IDE_HFLAG_NO_DMA host flag and resetting DMA host masks in alim15x3_init_one() (currently ide_hwif_setup_dma() will try to obtain DMA base and setup PCI bus-mastering but init_dma_ali15x3() will fail). Signed-off-by: Bartlomiej Zolnierkiewicz commit 73369d2a15cfe7dceae89a9e70e3d442e4c21576 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:21 2008 +0200 pdc202xx_old: remove init_dma_pdc202xx() Do PDC202xx specific DMA initialization in init_chipset_pdc202xx() and remove no longer needed init_dma_pdc202xx(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 8d9f9a76ea09911f4aaf0d9e852fd25335080f53 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: don't display "BIOS" settings in ide_setup_dma() Nowadays BIOS info is not very useful and only confuses users since: - IDE always tries to use DMA - BIOS info may not be accurate with modular IDE/libata Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e59c236846df444860ffc8b852117f9ff65c101 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ->cds field from ide_hwif_t (take 2) * Use hwif->name instead of cds->name in ide_allocate_dma_engine(). * Use pci_name(dev) instead of cds->name in init_dma_pdc202xx(). * Remove no longer needed ->cds field from ide_hwif_t. v2: * scc_pata.c also needs to be updated now (noticed by Stephen Rothwell). There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit 0a79acd40d1ee8b6bf217a519eee422ed7e6da6b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ide_dma_iobase() * ide_mapped_mmio_dma() and ide_iomio_dma() are called only by ide_dma_iobase() so inline them there. * ide_dma_iobase() is called only by ide_setup_dma() so inline it there. * Setup hwif->extra_base also if hwif->mmio flag is set. There should be no functional changes casued by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 21a3387ddd9eedcf6d4f47e591ffa90128b9f560 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:20 2008 +0200 ide: remove ->extra field from struct ide_port_info Always setup hwif->extra_base in ide_iomio_dma() and remove no longer needed ->extra field from struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit eb63963a55f039f049d0dd1121f91f332af6ecc9 Author: Harvey Harrison Date: Sat Apr 26 22:25:20 2008 +0200 ide: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ [bart: fix checkpatch.pl errors in ide-lib.c and ppc/mpc8xx.c while at it] Signed-off-by: Harvey Harrison Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c4b22f816b8ee316cff06df3880f8341e1251211 Author: Borislav Petkov Date: Sat Apr 26 22:25:20 2008 +0200 ide-tape: remove idetape_pipeline_active() This function was simply a wrapper for a test_bit() macro so remove it and use the macro instead. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3dd89a9b2af37d8e3efd785e20b12b785e50e48f Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: cleanup setting hwif->mmio flag It is no longer needed to set hwif->mmio flag to tell IDE layer to not manage resources so cleanup host drivers that used hwif->mmio flag only for this purpose. Ditto for ide_legacy_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5add22241752a3c689bea2a9d0e71c2a5909ed8a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: remove ide_hwif_request_regions() Remove no longer used ide_hwif_request_regions() and hwif_request_region(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d1bad216c43bcee84cc24d1ed003c19134d2645 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 ide: manage resources for PCI devices in ide_pci_enable() (take 3) * Reserve PCI BARs 0-3 (0-1 for single port controllers) in ide_pci_enable() and remove ide_hwif_request_regions() call from ide_device_add_all() (also cleanup resource management in scc_pata host driver). * Fix handling of PCI BAR 4 in ide_pci_enable(), then cleanup ide_iomio_dma() (+ init_hwif_trm290() in trm290 host driver) and remove ide_release[_iomio]_dma(). v2: * Fixup trm290 host driver. v3: * Because of scc_pata host driver changes we need to call pci_request_selected_regions() also in setup_mmio_scc(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ebe5936c214c656a1625abf9ec3b09e3d1bf34a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:19 2008 +0200 cmd640: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d92f1a2829dbe29c644569a3b64a021e4d90005d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide: manage I/O resources in ide_legacy_init_one() * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Set ->name field of 'struct ide_port_info' instances in legacy VLB host drivers and use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d9b819a025ca1b09dafbe90b5d25ba57a639f048 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide: add ide_legacy_init_one() helper Move the common code for primary/seconary port setup from ide_legacy_device_add() to ide_legacy_init_one(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2305d94321bbbdc461acfb24b41fbf50f8a6dd91 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide_arm: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2c4be251be1cace01a2a18bf5abb847010516511 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:18 2008 +0200 ide-4drives: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. * Remove no longer needed 'hwif->chipset == ide_4drives' handling from ide_device_add_all(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1664949843e8c0782c8f2e40897285a8dfffdf27 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide-generic: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit d083c03f2524af699a6b85cf4d2f8090242b1b84 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide: remove ide_hwif_release_regions() All host drivers using ide_unregister()/module_exit() have been fixed to manage resources themselves so this function can be removed now. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit eb716beb0aeb4b14489a64c51c63e6a4be2e13a0 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide: register ports with non-present devices (for warm-plug) Signed-off-by: Bartlomiej Zolnierkiewicz commit d703b79e56eb103b72ad1bceebe8ef4e8635fb1c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:17 2008 +0200 ide-cs: manage I/O resources in driver * Make idecs_register() return pointer to hwif structure instead of hwif's index. * Store pointer to hwif structure instead of hwif's index in ide_info_t (fixes ide-cs for IDE[6-9]_MAJOR major numbers). * Remove no longer needed ide_major[]. * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 134d4548a7a1d27781dcbce9725c7f7914f7ae47 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide-pnp: manage I/O resources in driver * Tell IDE layer to not manage resources by setting hwif->mmio flag. * Use {request,release}_region() for resources management. * Use driver name for resources management. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a2199f341edb2515021ccd6fe122c0d15b08fc7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 qd65xx: cleanup qd_probe() * Replace 'if ()'-s by 'switch ()' block. * Merge common code for QD6500/QD6580A/QD6580B. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0bfeee7d4190938291a76536c7f6cd8f4e2dc30c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: use ide_legacy_device_add() for qd65xx (take 2) * Add 'unsigned long config' argument to ide_legacy_device_add() for setting hwif->config_data. * Use ide_find_port_slot() instead of ide_find_port() in ide_legacy_device_add(). * Handle IDE_HFLAG_QD_2ND_PORT and IDE_HFLAG_SINGLE host flags in ide_legacy_device_add(). * Convert qd65xx host driver to use ide_legacy_device_add(). v2: * Update ali14xx, dtc2278, ht6560b and umc8672 host drivers. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b36f66b81bc0d69ec7dfa736592224f6ca366b7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: add ide_legacy_device_add() helper Add ide_legacy_device_add() helper for use by legacy VLB host drivers (+ convert them to use it). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit e53cd458d593c88247b8a7b2754d0e8055869670 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:16 2008 +0200 ide: remove ->noprobe field from ide_hwif_t Update IDE PMAC host driver to use drive->noprobe instead of hwif->noprobe and remove hwif->noprobe completely (it is always set to zero now). There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e5e076a3540af0ed7b6491d1593396c99adbfbe1 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: fix remaining checkpatch.pl issues Some of them are: WARNING: braces {} are not necessary for single statement blocks CHECK: multiple assignments should be avoided WARNING: printk() should include KERN_ facility level WARNING: no space between function name and open parenthesis '(' [bart: minor fixups] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83c8565dcc9daa4b28fd6ffe63308d64656ce4db Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: shorten lines longer than 80 columns [bart: minor fixups] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a3ea3b424369ea8a661f2fe8f4b24ffc90e4543 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: fixup comments [bart: minor fixups, md5sum checked] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e657a9e29baa0d8f5c0cf99372100d397340f00 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: put all proc-related code at one place Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aba468e4ae834dd0ee37004e5d07309684e14d2 Author: Borislav Petkov Date: Sat Apr 26 22:25:15 2008 +0200 ide-cd: include proper headers Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ac95beedf8bc97b24f9540d4da9952f07221c023 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 22:25:14 2008 +0200 ide: add struct ide_port_ops (take 2) * Move hooks for port/host specific methods from ide_hwif_t to 'struct ide_port_ops'. * Add 'const struct ide_port_ops *port_ops' to 'struct ide_port_info' and ide_hwif_t. * Update host drivers and core code accordingly. While at it: * Rename ata66_*() cable detect functions to *_cable_detect() to match the standard naming. (Suggested by Sergei Shtylyov) v2: * Fix build for bast-ide. (Noticed by Andrew Morton) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fb884381273669fad034538e6cb186678407cf22 Author: Huang, Ying Date: Fri Mar 28 10:49:50 2008 +0800 x86, boot: Document for linked list of struct setup_data Documentation for linked list of struct setup_data. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c14b2adf19b5d35aff91280b1a73c41a4dcabfe3 Author: Huang, Ying Date: Fri Mar 28 10:49:48 2008 +0800 x86, boot: export linked list of struct setup_data via debugfs Export linked list of struct setup_data via debugfs. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b664aa66e824a0ddf4ec56d41fa0cf7bb374de6 Author: Huang, Ying Date: Fri Mar 28 10:49:44 2008 +0800 x86, boot: add linked list of struct setup_data This patch adds a field of 64-bit physical pointer to NULL terminated single linked list of struct setup_data to real-mode kernel header. This is used as a more extensible boot parameters passing mechanism. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 50eae2a7c9862afe263a2003c12f457ecfc9e6a2 Author: Huang, Ying Date: Fri Mar 28 10:49:42 2008 +0800 x86, boot: add free_early to early reservation machanism Add free_early to early reservation mechanism - this way early bootup failure paths can stop wasting memory. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0124cecfc85a6664b1ad5f1d28cf0ab8df66fc42 Author: Venki Pallipadi Date: Sat Apr 26 11:32:12 2008 -0700 x86, PAT: disable /dev/mem mmap RAM with PAT disable /dev/mem mmap of RAM with PAT. It makes things safer and eliminates aliasing. A future improvement would be to avoid the range_is_allowed duplication. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit f5093913c0b5b93e3ccafd39d056e76557169ced Author: Adrian Bunk Date: Fri Apr 25 23:40:16 2008 +0300 kbuild: scripts/Makefile.modpost typo fix -EVIUSER ;-) Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 2fa365682943866baf85305ef701741fe41b27e0 Author: Sam Ravnborg Date: Sat Apr 26 21:07:26 2008 +0200 kbuild: soften MODULE_LICENSE check Only modules that has other MODULE_* content shall have the MODULE_LICENSE() tag. This fixes allmodconfig build on my box. Signed-off-by: Sam Ravnborg commit fb96c00819c28860fd10137f1c63f7c48dec252b Author: Robert P. J. Day Date: Sat Apr 26 13:46:31 2008 -0400 [MTD] Delete long-unused jedec.h header file. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 8136508cd6075a74e68a8d1cde8399a558ca27a7 Author: Atsushi Nemoto Date: Sun Apr 27 01:51:12 2008 +0900 [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently. Use at91_nand_enable(), at91_nand_disable() to manipulate enable_pin. No functional changes. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 19870def587554c4055df3e74a21508e3647fb7e Author: Alexander van Heukelum Date: Fri Apr 25 13:12:53 2008 +0200 x86, bitops: select the generic bitmap search functions Introduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in lib/Kconfig, defaulting to off. An arch that wants to use the generic implementation now only has to use a select statement to include them. I added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu and used that to select the generic search functions. This way ARCH=um SUBARCH=i386 automatically picks up the change too, and arch/um/Kconfig.i386 can therefore be simplified a bit. ARCH=um SUBARCH=x86_64 does things differently, but still compiles fine. It seems that a "def_bool y" always wins over a "def_bool n"? Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f19dcf4a61ea4a3d155acb239348d09cb264f6a0 Author: Joe Perches Date: Sun Mar 23 01:03:07 2008 -0700 x86: include/asm-x86/pgalloc.h/bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d66462f5314b0e70ddad8032eb76099475ca5571 Author: Alexander van Heukelum Date: Fri Apr 4 20:49:30 2008 +0200 x86: finalize bitops unification include/asm-x86/bitops_32.h and include/asm-x86/bitops_64.h are now almost identical. The 64-bit version sets ARCH_HAS_FAST_MULTIPLIER and has an extra inline function set_bit_string. The define currently has no influence on the generated code, but it can be argued that setting it on i386 is the right thing to do anyhow. The addition of the extra inline function on i386 does not hurt either. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 5245698f665c4b7a533dcc47a5afdf33095d436a Author: Alexander van Heukelum Date: Tue Apr 1 17:47:57 2008 +0200 x86, UML: remove x86-specific implementations of find_first_bit x86 has been switched to the generic versions of find_first_bit and find_first_zero_bit, but the original versions were retained. This patch just removes the now unused x86-specific versions. also update UML. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 3a48305028aa38afba93fc05066c71a6ee668ad8 Author: Alexander van Heukelum Date: Tue Apr 1 17:42:21 2008 +0200 x86: optimize find_first_bit for small bitmaps Avoid a call to find_first_bit if the bitmap size is know at compile time and small enough to fit in a single long integer. Modeled after an optimization in the original x86_64-specific code. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 2aba6925fdb96428d1129a61b1233597a03a387b Author: Alexander van Heukelum Date: Tue Apr 1 17:41:26 2008 +0200 x86: switch 64-bit to generic find_first_bit Switch x86_64 to generic find_first_bit. The x86_64-specific implementation is not removed. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 77b9bd9c49442407804c37bcc82021a35277f83c Author: Alexander van Heukelum Date: Tue Apr 1 11:46:19 2008 +0200 x86: generic versions of find_first_(zero_)bit, convert i386 Generic versions of __find_first_bit and __find_first_zero_bit are introduced as simplified versions of __find_next_bit and __find_next_zero_bit. Their compilation and use are guarded by a new config variable GENERIC_FIND_FIRST_BIT. The generic versions of find_first_bit and find_first_zero_bit are implemented in terms of the newly introduced __find_first_bit and __find_first_zero_bit. This patch does not remove the i386-specific implementation, but it does switch i386 to use the generic functions by setting GENERIC_FIND_FIRST_BIT=y for X86_32. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit d57594c203b1e7b54373080a797f0cbfa4aade68 Author: Alexander van Heukelum Date: Sat Mar 15 18:32:36 2008 +0100 bitops: use __fls for fls64 on 64-bit archs Use __fls for fls64 on 64-bit archs. The implementation for 64-bit archs is moved from x86_64 to asm-generic. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab Author: Alexander van Heukelum Date: Sat Mar 15 18:31:49 2008 +0100 generic: implement __fls on all 64-bit archs Implement __fls on all 64-bit archs: alpha has an implementation of fls64. Added __fls(x) = fls64(x) - 1. ia64 has fls, but not __fls. Added __fls based on code of fls. mips and powerpc have __ilog2, which is the same as __fls. Added __fls = __ilog2. parisc, s390, sh and sparc64: Include generic __fls. x86_64 already has __fls. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 7d9dff22e8ad06ad330968c9e3d3a2fb55a5f9c3 Author: Alexander van Heukelum Date: Sat Mar 15 18:30:57 2008 +0100 generic: introduce a generic __fls implementation Add a generic __fls implementation in the same spirit as the generic __ffs one. It finds the last (most significant) set bit in the given long value. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 12d9c8420b9daa1da3d9e090640fb24bcd0deba2 Author: Alexander van Heukelum Date: Sat Mar 15 13:04:42 2008 +0100 x86: merge the simple bitops and move them to bitops.h Some of those can be written in such a way that the same inline assembly can be used to generate both 32 bit and 64 bit code. For ffs and fls, x86_64 unconditionally used the cmov instruction and i386 unconditionally used a conditional branch over a mov instruction. In the current patch I chose to select the version based on the availability of the cmov instruction instead. A small detail here is that x86_64 did not previously set CONFIG_X86_CMOV=y. Improved comments for ffs, ffz, fls and variations. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 64970b68d2b3ed32b964b0b30b1b98518fde388e Author: Alexander van Heukelum Date: Tue Mar 11 16:17:19 2008 +0100 x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps This moves an optimization for searching constant-sized small bitmaps form x86_64-specific to generic code. On an i386 defconfig (the x86#testing one), the size of vmlinux hardly changes with this applied. I have observed only four places where this optimization avoids a call into find_next_bit: In the functions return_unused_surplus_pages, alloc_fresh_huge_page, and adjust_pool_surplus, this patch avoids a call for a 1-bit bitmap. In __next_cpu a call is avoided for a 32-bit bitmap. That's it. On x86_64, 52 locations are optimized with a minimal increase in code size: Current #testing defconfig: 146 x bsf, 27 x find_next_*bit text data bss dec hex filename 5392637 846592 724424 6963653 6a41c5 vmlinux After removing the x86_64 specific optimization for find_next_*bit: 94 x bsf, 79 x find_next_*bit text data bss dec hex filename 5392358 846592 724424 6963374 6a40ae vmlinux After this patch (making the optimization generic): 146 x bsf, 27 x find_next_*bit text data bss dec hex filename 5392396 846592 724424 6963412 6a40d4 vmlinux [ tglx@linutronix.de: build fixes ] Signed-off-by: Ingo Molnar commit 60b6783a044a55273b637983f52965c2808a6b86 Author: Alexander van Heukelum Date: Thu Mar 13 18:53:52 2008 +0100 x86, uml: fix uml with generic find_next_bit for x86 Update UML to use the generic bits too. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 6fd92b63d0626a8fe7eb8e2e50d19ecaa18cb412 Author: Alexander van Heukelum Date: Sun Mar 9 21:01:04 2008 +0100 x86: change x86 to use generic find_next_bit The versions with inline assembly are in fact slower on the machines I tested them on (in userspace) (Athlon XP 2800+, p4-like Xeon 2.8GHz, AMD Opteron 270). The i386-version needed a fix similar to 06024f21 to avoid crashing the benchmark. Benchmark using: gcc -fomit-frame-pointer -Os. For each bitmap size 1...512, for each possible bitmap with one bit set, for each possible offset: find the position of the first bit starting at offset. If you follow ;). Times include setup of the bitmap and checking of the results. Athlon Xeon Opteron 32/64bit x86-specific: 0m3.692s 0m2.820s 0m3.196s / 0m2.480s generic: 0m2.622s 0m1.662s 0m2.100s / 0m1.572s If the bitmap size is not a multiple of BITS_PER_LONG, and no set (cleared) bit is found, find_next_bit (find_next_zero_bit) returns a value outside of the range [0, size]. The generic version always returns exactly size. The generic version also uses unsigned long everywhere, while the x86 versions use a mishmash of int, unsigned (int), long and unsigned long. Using the generic version does give a slightly bigger kernel, though. defconfig: text data bss dec hex filename x86-specific: 4738555 481232 626688 5846475 5935cb vmlinux (32 bit) generic: 4738621 481232 626688 5846541 59360d vmlinux (32 bit) x86-specific: 5392395 846568 724424 6963387 6a40bb vmlinux (64 bit) generic: 5392458 846568 724424 6963450 6a40fa vmlinux (64 bit) Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 18e413f7193ed2f6991d959863f46330813aa242 Author: Ingo Molnar Date: Sat Apr 26 19:10:17 2008 +0200 uml: Kconfig cleanup pointed out by Linus: arch/um/Kconfig.x86_64 should include arch/x86/Kconfig.cpu instead of defining those symbols itself. Signed-off-by: Ingo Molnar commit 297e1b256b1090adbb4357608be3d4301e76c0ce Author: Ingo Molnar Date: Sat Apr 26 18:59:42 2008 +0200 uml: fix build error fix: arch/um/os-Linux/helper.c: In function 'run_helper': arch/um/os-Linux/helper.c:73: error: 'PATH_MAX' undeclared (first use in this function) Signed-off-by: Ingo Molnar commit 4a27214d7be31e122db4102166f49ec15958e8e9 Merge: c837c93... 8db979b... Author: Linus Torvalds Date: Sat Apr 26 09:50:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86 PAT: decouple from nonpromisc devmem x86 PAT: tone down debugging messages commit c837c93a03be711dd6e09215b74b4f23bbd1ff83 Merge: d485cb9... 37c45df... Author: Linus Torvalds Date: Sat Apr 26 09:49:51 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe V4L/DVB (7750): au0828/ cleanups and fixes V4L/DVB (7748): tuner-core: some adjustments at tuner logs, if debug enabled V4L/DVB (7746): pvrusb2: make signed one-bit bitfields unsigned V4L/DVB (7744): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 751xx V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes V4L/DVB (7741): s5h1411: Adding support for this ATSC/QAM demodulator V4L/DVB (7740): tuner-xc2028.c dubious !x & y V4L/DVB (7739): mt312.h: dubious one-bit signed bitfield V4L/DVB (7735): Fix compilation for au0828 V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec() V4L/DVB (7732): vivi: fix a warning commit d485cb9aa2e302fac7e7fb586a0cb4c0a5211be9 Merge: 1292ebb... 765c68b... Author: Linus Torvalds Date: Sat Apr 26 09:48:52 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-optimized-inlining * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-optimized-inlining: generic: make optimized inlining arch-opt-in x86: add optimized inlining commit 1292ebb82c00c69cf983e871faa221ce88ed3338 Merge: b822875... 784506c... Author: Linus Torvalds Date: Sat Apr 26 09:48:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (61 commits) ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag sis5513: fail early for unsupported chipsets it821x: fix kzalloc() failure handling qd65xx: use IDE_HFLAG_SINGLE host flag qd65xx: always use ->selectproc method ide-cd: put proc-related functions together under single ifdef ide-cd: Replace __FUNCTION__ with __func__ IDE: Coding Style fixes to drivers/ide/ide-cd.c IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c IDE: Coding Style fixes to drivers/ide/pci/it8213.c IDE: Coding Style fixes to drivers/ide/ide-floppy.c IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c IDE: Coding Style fixes to drivers/ide/legacy/hd.c IDE: Coding Style fixes to drivers/ide/pci/cmd640.c IDE: Coding Style fixes to drivers/ide/pci/opti621.c IDE: Coding Style fixes to drivers/ide/ide-pnp.c IDE: Coding Style fixes to drivers/ide/ide-proc.c IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c IDE: Coding Style fixes to drivers/ide/pci/generic.c ... commit b82287587ef9917afbea5fcbf7aa63424b6f3719 Merge: 2a8a271... 5afca33... Author: Linus Torvalds Date: Sat Apr 26 09:44:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-misc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-misc: (28 commits) x86: section mismatch fixes, #3 x86: section mismatch fixes, #2 x86: pgtable_32.h - prototype and section mismatch fixes x86: unlock_ExtINT_logic() - fix section mismatch warnings x86: uniq_ioapic_id - fix section mismatch warning x86: trampoline_32.S - switch to .cpuinit.data x86: use get_bios_ebda() x86: remove duplicate get_bios_ebda() from rio.h x86: get_bios_ebda() requires asm/io.h x86: use cpumask function for present, possible, and online cpus x86: cleanup div_sc() usage x86: cleanup clocksource_hz2mult usage x86: remove unnecessary memset and NULL check after alloc_bootmem() x86: use bitmap library for pin_programmed x86: use MP_intsrc_info() x86: use BUILD_BUG_ON() for the size of struct intel_mp_floating x86_64 ia32 ptrace: convert to compat_arch_ptrace x86_64 ia32 ptrace: use compat_ptrace_request for siginfo x86 signals: lift set_fs x86 signals: lift flags diddling code ... commit 2a8a2719be1397c64e726ccd1c0933a11dc493d0 Author: Ingo Molnar Date: Sat Apr 26 10:26:52 2008 +0200 x86 PAT: decouple from nonpromisc devmem Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM. Also make PAT non-default. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit d9c04d678418fe42646de641f499209ca00fd94f Merge: 4d9c55e... 09aa356... Author: Linus Torvalds Date: Sat Apr 26 09:29:36 2008 -0700 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl agp: fix shadowed variable warning in amd-k7-agp.c commit 4d9c55e44336602f8b2880b972fb55f67bc51dd0 Merge: 5070451... b74e208... Author: Linus Torvalds Date: Sat Apr 26 09:26:39 2008 -0700 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: _end is shadowing real _end, just rename it. drm/vbl rework: rework how the drm deals with vblank. drm: reorganise minor number handling using backported modesetting code. drm/i915: Handle tiled buffers in vblank tasklet drm/i965: On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank drm: Remove unneeded dma sync in ATI pcigart alloc drm: Fix mismerge of non-coherent DMA patch commit 50704516f334d5036c09b0ecc0064598f7c5596f Author: Al Viro Date: Sat Apr 26 05:25:00 2008 +0100 Fix uninitialized 'copy' in unshare_files Arrgghhh... Sorry about that, I'd been sure I'd folded that one, but it actually got lost. Please apply - that breaks execve(). Signed-off-by: Al Viro Tested-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 765c68bd54c76d4126796e49af2a1428a258429f Author: Ingo Molnar Date: Wed Apr 9 11:03:37 2008 +0200 generic: make optimized inlining arch-opt-in Stephen Rothwell reported that linux-next did not build on powerpc64. make optimized inlining dependent on architecture opt-in. Reported-by: Stephen Rothwell Signed-off-by: Ingo Molnar commit 60a3cdd0639473c79c253bc08c8ef8f882cca107 Author: Ingo Molnar Date: Mon Mar 3 12:38:52 2008 +0100 x86: add optimized inlining add CONFIG_OPTIMIZE_INLINING=y. allow gcc to optimize the kernel image's size by uninlining functions that have been marked 'inline'. Previously gcc was forced by Linux to always-inline these functions via a gcc attribute: #define inline inline __attribute__((always_inline)) Especially when the user has already selected CONFIG_OPTIMIZE_FOR_SIZE=y this can make a huge difference in kernel image size (using a standard Fedora .config): text data bss dec hex filename 5613924 562708 3854336 10030968 990f78 vmlinux.before 5486689 562708 3854336 9903733 971e75 vmlinux.after that's a 2.3% text size reduction (!). Signed-off-by: Ingo Molnar commit 784506cbddd17bcd5929f827df39b0c7014e3f1e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:43 2008 +0200 ide: sanitize handling of IDE_HFLAG_NO_SET_MODE host flag * Check for IDE_HFLAG_NO_SET_MODE host flag in ide_set_pio(), ide_set_[pio,dma]_mode(), ide_set_xfer_rate() and set_pio_mode(). * Remove no longer needed IDE_HFLAG_NO_SET_MODE host flag checking from ide_tune_dma(). * Remove superfluous ->set_pio_mode checking from do_special(). This is a part of preparations for adding 'struct ide_port_ops'. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4764b68405ac918e9ac9939b1a2d1469102e5af7 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:43 2008 +0200 sis5513: fail early for unsupported chipsets * Factor out chipset family detection from init_chipset_sis5513() to sis_find_family(). * Use sis_find_family() in sis5513_init_one() to fail early if the chipset is unsupported. * Keep a local copy sis5513_chipset in sis5513_init_one() and set .udma_mask according to chipset family. * Remove no longer need ->ultra_mask setting from init_hwif_sis5513(). Signed-off-by: Bartlomiej Zolnierkiewicz commit eb7a07e8d6580ea498cac53acafe42c080af4d06 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 it821x: fix kzalloc() failure handling Allocate 'struct it821x_dev' objects for both ports in it821x_init_one(). Fixes potential OOPS in it821x_quirkproc() (uses 'itdev' unconditionally) and other problems ('itdev' is needed for correct operation of the driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 79472b6ea9e74ee4400ba57ba84cad86426e2d6d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 qd65xx: use IDE_HFLAG_SINGLE host flag * Set IDE_HFLAG_SINGLE host flag in qd_probe() for QD6500 and QD6580 with the second port disabled. * Check for IDE_HFLAG_SINGLE in qd6580_port_init_devs() instead of using cached value of QD6580 Control register. * Don't cache QD6580 Control register value in hwif->config_data (bits 8-15) and remove no longer needed QD_CONTROL() macro. * Cache QD65xx base address in hwif->config_data (bits 8-15) instead of hwif->select_data. * Set hwif->config_data in qd_probe() and remove qd_setup() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit d07616f19336b514eef06e6a361988c4073e6ecb Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:42 2008 +0200 qd65xx: always use ->selectproc method qd_select() checks itself whether timings should be reprogrammed so remove superfluous qd_timing_ok() and always use ->selectproc method (rename qd_select() to qd65xx_select() while at it). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1134b6fec57de7de2c56485bcd2afd9c16295dcb Author: Borislav Petkov Date: Sat Apr 26 17:36:42 2008 +0200 ide-cd: put proc-related functions together under single ifdef [bart: ported it over Paolo's patch] Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 177773ed87586214c423ef1204b42d35f0ec8f81 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 ide-cd: Replace __FUNCTION__ with __func__ [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ce70fb2b5ab9feb24afd1ea971bfa86bbc5625c Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-cd.c Before: total: 43 errors, 66 warnings, 2183 lines checked After: total: 0 errors, 36 warnings, 2192 lines checked I didn't (and I don't plan to) fix the warnings: WARNING: line over 80 characters [bart: minor fixes, md5sum checked (modulo s/"ignore = NULL;"/"ignore;"/ fix)] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 175f354b752ca04cad65588dc2c4e648003b8504 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:42 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/cy82c693.c Before: total: 34 errors, 14 warnings, 456 lines checked After: total: 0 errors, 8 warnings, 456 lines checked [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit a2826190aa157a1d29bef70ca81f8b51a9b36d29 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/it8213.c File is now error free, only a few WARNING: line over 80 characters are left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52d3ccf762f4cbc539b727e158cfb7b9ff4dd8d9 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-floppy.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 38bdb4105ec852d743eb4e82db2b8b725a14c911 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/ali14xx.c File is now error free, 2 warnings left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit ec29782ba3fe6bd72668af8e0f7f18cd14a3dbcd Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/hd.c Fix a lot of errors and warnings. Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 4752b5e7761a75bfc41ba3d9f4f8986643f22259 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/cmd640.c Fix all the errors and a few warnings. Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 4eb68a256d223ce71ae8399e51264708cbc8002b Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:41 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/opti621.c Compile tested. [bart: some fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 177b8fe9a5f58731e72d5b582a707868e2a29d11 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-pnp.c File is now error free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 441e92dae0b64b577ea5a88861e86805f69e13cf Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/ide-proc.c Lot of errors and warnings removed. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit f94e00847c9eda89c30b96c78d4b08e3fb0cf902 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/ide-4drives.c File is now error and warning free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 0905bc94d5ad8a928eed26e0896857fb54dcb366 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/legacy/umc8672.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 17deabdcded322c04c5ec2baf8cf38c58017f08e Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/generic.c File is now error free. Compile tested. [bart: fix issues noticed by Adrian Bunk & Cyrill Gorcunov, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 740694f5e0fa7db39eac12e06d1df3f2585ad7bd Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:40 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/jmicron.c File is now error free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 1eb3c2ee1d20cc03d538232c05b8f320de6b1401 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/sis5513.c About 300 errors and warnings fixed. File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 5749c847405dd6f1b34247a38fa5121c17ef1993 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/slc90e66.c File is now error free, only 1 warning left. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c634bb9ad7e8fac0839d0f36e7b9ee197887d45 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/pci/tc86c001.c File is now error and warning free. Compile tested. [bart: md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 846bb88ae8980b98b11e0298c7ab8cfc9539c3f6 Author: Paolo Ciarrocchi Date: Sat Apr 26 17:36:39 2008 +0200 IDE: Coding Style fixes to drivers/ide/setup-pci.c File is now error free. Compile tested. [bart: minor fixes, md5sum checked] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Bartlomiej Zolnierkiewicz commit 05230e23cf02d939865a902f6ec4c1b2c82faf33 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:39 2008 +0200 ide: remove hwif->straight8 flag All host drivers now either set hwif->mmio or reserve continuous I/O resources so remove no longer needed hwif->straight8 flag and never reached code for 'hwif->straight8 == 0' case. Signed-off-by: Bartlomiej Zolnierkiewicz commit 951784b667d78dad52ffea0a958fdbe14da97972 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide: remove IDE_HFLAG_CY82C693 host flag Sergei suggested that it shouldn't be necessary + it had no effect anyway since ide_id_dma_bug() is called earlier in ide_tune_dma(). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cb5528ab19ece76be5299b33746ca7d58c187a26 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 falconide: fix resources reservation (take 2) * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in falconide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. v2: * Fix missing printk() parameter. (Noticed by Geert Uytterhoeven) Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit 54c05395273678fe23e9169a435fdc15ee17535e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide-mpc8xx: fix resources reservation * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in m8xx_ide_init_ports(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit cb7500db0e94c61b79712bc081dd90da68a4a40c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 ide-mpc8xx: make m8xx_ide_init_ports() return an error value * Make m8xx_ide_init_ports() return an error value. * Update mpc8xx_ide_probe() to setup/probe only ports for which m8xx_ide_init_ports() succedded. Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit b81c2266e36f6bdf0c7186d21b375e32d8929df8 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 bast-ide: fix resources reservation * Tell IDE layer to not manage resources by setting hwif->mmio flag and request resources in bastide_init(). * Use request_mem_region() for resources reservation. * Use driver name for resources reservation. Cc: Ben Dooks Signed-off-by: Bartlomiej Zolnierkiewicz commit 7f6f33c131b34a5eca6350c2bd8a254e55550e92 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:38 2008 +0200 delkin_cb: fix resources handling Tell IDE layer to not manage resources by setting hwif->mmio flag. Cc: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e2990eae03c3f998f365824330290d227e4415a Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide_platform: fix resources handling Tell IDE layer to not manage resources by always setting hwif->mmio flag (resources are handled by a platform device). Cc: Anton Vorontsov Cc: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit b3a37f1284e05c35687522248e66dfda62924066 Author: Adrian Bunk Date: Sat Apr 26 17:36:37 2008 +0200 remove include/linux/hdsmart.h include/linux/hdsmart.h is not used by the kernel and should therefore be removed. Signed-off-by: Adrian Bunk Cc: "Robert P. J. Day" , Signed-off-by: Bartlomiej Zolnierkiewicz commit 968c49641338f4fb71d35352d49b1d25a68c5e93 Author: Borislav Petkov Date: Sat Apr 26 17:36:37 2008 +0200 ide-cd: remove the internal 64k buffer This removes the internal ide-cd buffer and falls back to read-ahead block layer capabilities. Thorough testing (cd burning, dvd read, raw read) gives with the bufferless mode marginally better performance in addition to simplified code. bufferless: dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 259.891 s, 787 kB/s real 4m21.598s user 0m0.014s sys 0m0.744s with the old buffer (2.6.25-rc1): dd: reading `/dev/hdc': Input/output error 6238+0 records in 6238+0 records out 204406784 bytes (204 MB) copied, 262.893 s, 778 kB/s real 4m22.938s user 0m0.009s sys 0m0.771s Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9841654949f0a3f1289b6b95b2ab56cd99fb5360 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide-disk: fix issues found by checkpatch.pl There are no changes to the resulting drivers/ide/ide-disk.o binary file (md5sum-s after and before the patch match). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 799ee57ac83f019f035024614d95067ce583bc2b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:37 2008 +0200 ide-disk: add proc_idedisk_read_smart() helper * Factor out common code from proc_idedisk_read_smart_{thresholds,values}() to proc_idedisk_read_smart() helper. * Rename proc_idedisk_read_smart_thresholds() to proc_idedisk_read_st() and proc_idedisk_read_smart_values() to proc_idedisk_read_sv(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a2f84ea3e5110872b9aa86763360609b4b04e1b Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: unexport ide_hwifs[] All modular users have been fixed to not reference ide_hwifs[] directly. Signed-off-by: Bartlomiej Zolnierkiewicz commit dc9114e27acecc5a2ce2394a284a07e4e6ae5849 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide-generic: use ide_find_port() (take 3) There should be no functional changes caused by this patch. v2: * Fix comment (noticed by Sergei Shtylyov). v3: * Fix no initalization of idx in some case. (Johann Felix Soden) Cc: Johann Felix Soden Cc: Kamalesh Babulal Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e277f91fef8a0ff7726ad33eb79c6f0d0c6229a8 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: use ide_find_port() in legacy VLB host drivers (take 2) * Add IDE_HFLAG_QD_2ND_PORT host flag to indicate the need of skipping first ide_hwifs[] slot for the second port of QD65xx controller. * Handle this new host flag in ide_find_port_slot(). * Convert legacy VLB host drivers to use ide_find_port(). While at it: * Fix couple of printk()-s in qd65xx host driver to not use hwif->name. v2: * Fix qd65xx. Signed-off-by: Bartlomiej Zolnierkiewicz commit fe80b937c9917887e4fbfaaf52f498b5ac3a6999 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: merge ide_match_hwif() and ide_find_port() * Change ide_match_hwif() argument from 'u8 bootable' to 'struct ide_port_info *d'. * Move ide_match_hwif() to ide-probe.c from setup-pci.c and rename it to ide_find_port_slot(). Update some comments while at it. * ide_find_port() can be now just a wrapper for ide_find_port_slot(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 078fdf789c4ef13dcb7b5651ff330e325d764c0e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:36 2008 +0200 ide: remove PIO "downgrade" quirk No need for it nowadays so remove quirk code from ide_get_best_pio_mode() and IDE_HFLAG_PIO_DOWNGRADE host flag. Signed-off-by: Bartlomiej Zolnierkiewicz commit 00fe8b7ac2ff6b8afba11642fb71cdb17aa34df9 Author: Julia Lawall Date: Sat Apr 26 17:36:35 2008 +0200 ide: use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e71d9c5a50b92b33d35061d42ac39166db9578e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 ide: IDE_HFLAG_BOOTABLE -> IDE_HFLAG_NON_BOOTABLE "bootable" should be the default behavior so replace IDE_HFLAG_BOOTABLE host flag with IDE_HFLAG_NON_BOOTABLE. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7daf66dd142b1978bf8670d9d959d835de37476f Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 qd65xx: return error value in qd_probe() Return error value in qd_probe() and use it in qd65xx_init() instead of checking ide_hwifs[].chipset. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e4ed2955d0de73cd43793ff495ea027e9fd2f44 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:35 2008 +0200 ht6560b: use driver name for resource allocation Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d147e7d8f22c18cfb879513e8e1e10fa52f9789e Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:34 2008 +0200 umc8672: don't use ide_hwifs[] in umc_set_pio_mode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 589b06262021f8d52847c9389acf26e95c6b3732 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:34 2008 +0200 scc_pata: store 'hwif' pointer in struct scc_ports Replace 'unsigned char hwif_id' by 'ide_hwif_t *hwif' in struct scc_ports. This allows us to remove ide_hwifs[] usage from scc_remove(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 84f05df49a7376037f8b9fa1135df5a08cc32070 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 cmd640: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 9523076ac9142cea5a6df29ba9091eb68a10f14d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 cmd640: remove cmd_drives[] * Pass 'ide_drive_t *drive' to check_prefetch(), set_prefetch_mode(), program_drive_counts() and cmd640_set_mode(). * Remove no longer needed cmd_drives[]. * Inline setup_device_ptrs() helper in cmd640x_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f7bada25098e076e83ffcd762e3079c19d40140 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 au1xxx-ide: use ide_find_port() Signed-off-by: Bartlomiej Zolnierkiewicz commit 3fd4d205c73951ce6eaaa16fa3158636d1c35a5d Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 scc_pata: use ide_find_port() There should be no functional changes caused by this patch. Cc: Kou Ishizaki Cc: Akira Iguchi Cc: Stephen Rothwell Signed-off-by: Bartlomiej Zolnierkiewicz commit e7ee1d5abc2fffad16f7b2fb80f5d4e09133cbc1 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 sgiioc4: use ide_find_port() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 939b0f1d32c0d5fb68531ced559598df211bc323 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:33 2008 +0200 ide-pmac: use ide_find_port() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5297a3e522ff77e01fd0e792acc5ff0517822708 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 ide-pmac: dynamically allocate struct pmac_ide_hwif instances (take 2) * Dynamically allocate struct pmac_ide_hwif instances in pmac_ide_macio_attach() and pmac_ide_pci_attach(), then remove no longer needed pmac_ide[]. v2: * Build fix from Kamalesh Babulal. Cc: Benjamin Herrenschmidt Cc: Kamalesh Babulal Signed-off-by: Bartlomiej Zolnierkiewicz commit 7d9f3d51cf351ac35b4004cc40c7fd885fb30c5c Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 swarm: use ide_find_port() Cc: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit 59bff5ba5529feac3a0214d897b1920cbe4e2278 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:32 2008 +0200 ide: cleanup ide_find_port() Remove no longer needed matching against I/O base and 'base' argument. Signed-off-by: Bartlomiej Zolnierkiewicz commit bad7c825cb27377faf1c926953aa15c980c62620 Author: Bartlomiej Zolnierkiewicz Date: Sat Apr 26 17:36:31 2008 +0200 ide: cleanup ide_match_hwif() * Remove no longer needed matching against I/O base and 'io_base' argument. * Move printk() to the caller and remove 'name' argument. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1baccff8a5823b51d7bf2740ef3ef17e06bfa7e2 Author: Sergei Shtylyov Date: Sat Apr 26 17:36:31 2008 +0200 ide: make ide_pci_check_iomem() actually work This function didn't actually check if a given BAR is in I/O space because of using the bogus PCI_BASE_ADDRESS_IO_MASK (which equals ~3) to test the resource flags instead of IORESOURCE_IO -- fix this, make ide_hwif_configure() check the results failing if necessary, and move the printk() call to the failure path. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 938da770c205989945ba4cc5f0b4e255702061a1 Author: Frederik Deweerdt Date: Sat Apr 26 17:36:31 2008 +0200 ide/Kconfig: BLK_DEV_4DRIVES should be a tristate The 4drives should be a tristate, the following breakage occurs otherwise: ERROR: "probe_4drives" [drivers/ide/ide-core.ko] undefined! The following (compile tested) patch fixes it for me. Signed-off-by: Frederik Deweerdt Signed-off-by: Bartlomiej Zolnierkiewicz commit 537166f6fa282c683663d6ac0c631b7456b5be95 Author: Al Viro Date: Sat Apr 26 17:36:31 2008 +0200 fix execve() Arrgghhh... Sorry about that, I'd been sure I'd folded that one, but it actually got lost. Please apply - that unbreaks execve(). Signed-off-by: Al Viro Signed-off-by: Bartlomiej Zolnierkiewicz commit 5afca33a43786408ce74540b54855973dde32bab Author: Jacek Luczak Date: Fri Apr 11 13:29:04 2008 +0200 x86: section mismatch fixes, #3 This patch fixes section mismatch warnings in unlock_ExtINT_logic(). WARNING: arch/x86/kernel/built-in.o(.text+0x14a92): Section mismatch in reference from the function unlock_ExtINT_logic() to the function .init.text:find_isa_irq_pin() The function unlock_ExtINT_logic() references the function __init find_isa_irq_pin(). This is often because unlock_ExtINT_logic lacks a __init annotation or the annotation of find_isa_irq_pin is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6dbf334b0da14fafd4f747791a177ee4c7aae3b Author: Jacek Luczak Date: Fri Apr 11 13:28:49 2008 +0200 x86: section mismatch fixes, #2 This patch fixes section mismatch warnings in smpboot_setup_io_apic(). WARNING: arch/x86/kernel/built-in.o(.text+0x11781): Section mismatch in reference from the function smpboot_setup_io_apic() to the function .init.text:setup_IO_APIC() The function smpboot_setup_io_apic() references the function __init setup_IO_APIC(). This is often because smpboot_setup_io_apic lacks a __init annotation or the annotation of setup_IO_APIC is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d4ce043268451b8016480461717f2aa59b5486c Author: Jacek Luczak Date: Sun Apr 13 17:41:04 2008 +0200 x86: pgtable_32.h - prototype and section mismatch fixes This patch adds extern to native_pagetable_setup_[start,done]() protypes and fixes following section mismatch warning: WARNING: arch/x86/mm/built-in.o(.text+0xf2): Section mismatch in reference from the function paravirt_pagetable_setup_start() paravirt_pagetable_setup_[start,done]() is used by __init pagetable_init(). Annotate both functions with __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28acf285deb193a1898bd531d778b0d1b1b75f2c Author: Jacek Luczak Date: Sat Apr 12 17:41:12 2008 +0200 x86: unlock_ExtINT_logic() - fix section mismatch warnings Fix following warning: WARNING: arch/x86/kernel/built-in.o(.text+0x12cc9): Section mismatch in reference from the function unlock_ExtINT_logic() unlock_ExtINT_logic() is only used by __init check_timer(). Annotate unlock_ExtINT_logic() witch __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 991074fd35e9e584d3cc28b4cba2e12743aeaa46 Author: Jacek Luczak Date: Sat Apr 12 17:39:57 2008 +0200 x86: uniq_ioapic_id - fix section mismatch warning Fix folowing warning: WARNING: arch/x86/kernel/built-in.o(.text+0x10799): Section mismatch in reference from the function uniq_ioapic_id() uniq_ioapic_id() is only used by __init mp_register_ioapic(). Annotate uniq_ioapic_id() with __init. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c01f23bdbd34e7edeadbaa920c3018307a541d5 Author: Jacek Luczak Date: Sat Apr 12 17:38:52 2008 +0200 x86: trampoline_32.S - switch to .cpuinit.data This patch fixes section mismatch warnings of __cpuinit setup_trampoline() on 32-bit host. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 356fa0c6e1ad3d3b01884f08a203bc84d555b880 Author: Akinobu Mita Date: Sat Apr 19 23:55:20 2008 +0900 x86: use get_bios_ebda() Use get_bios_ebda(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit ae5830a6f8278e1bb700a0956cacc9ceaf311f83 Author: Akinobu Mita Date: Sat Apr 19 23:55:19 2008 +0900 x86: remove duplicate get_bios_ebda() from rio.h get_bios_ebda() exists in asm/rio.h and asm/bios_ebda.h. This patch removes the one in asm/rio.h. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 2c0903f2abde95d931ecccac7198a685eb04e958 Author: Akinobu Mita Date: Sat Apr 19 23:55:18 2008 +0900 x86: get_bios_ebda() requires asm/io.h include for phys_to_virt() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 7c04e64a1b43b4c8fea281ce1f82df30ed9bab4e Author: Akinobu Mita Date: Sat Apr 19 23:55:17 2008 +0900 x86: use cpumask function for present, possible, and online cpus cpu_online(), cpu_present(), for_each_possible_cpu(), num_possible_cpus() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 877084fb1cf6167c5441b0a30c3d9ef9b7be0a3a Author: Akinobu Mita Date: Sat Apr 19 23:55:16 2008 +0900 x86: cleanup div_sc() usage Remove the magic number in the third argment of div_sc(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit d454157b113718a92ba5accc03cee64c7e081483 Author: Akinobu Mita Date: Sat Apr 19 23:55:15 2008 +0900 x86: cleanup clocksource_hz2mult usage Remove the magic number in the second argument of clocksource_hz2mult() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit b1fceac2b9e04d278316b2faddf276015fc06e3b Author: Akinobu Mita Date: Sat Apr 19 23:55:14 2008 +0900 x86: remove unnecessary memset and NULL check after alloc_bootmem() memset and NULL check after alloc_bootmem() are unnecessary. Because it returns zeroed memory and it never return NULL. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit a1a33fa315b8a5a390f1132681485209500ff5b5 Author: Akinobu Mita Date: Sat Apr 19 23:55:13 2008 +0900 x86: use bitmap library for pin_programmed Use bitmap library for pin_programmed rather than reinvent bitmaps. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 4abc1a0068945ac078fb0a00a359cd3be2e7dd8d Author: Akinobu Mita Date: Sat Apr 19 23:55:12 2008 +0900 x86: use MP_intsrc_info() Remove duplicate code by using MP_intsrc_info() in mpparse.c Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 5d47a271f38cf2ba7299047ad0bf3ac7e4c4a214 Author: Akinobu Mita Date: Sat Apr 19 23:55:11 2008 +0900 x86: use BUILD_BUG_ON() for the size of struct intel_mp_floating Use BUILD_BUG_ON() instead of compile-time error technique with extern non-exsistent function. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 562b80bafffaf42a6d916b0a2ee3d684220a1c10 Author: Roland McGrath Date: Tue Apr 22 12:21:25 2008 -0700 x86_64 ia32 ptrace: convert to compat_arch_ptrace Now that there are no more special cases in sys32_ptrace, we can convert to using the generic compat_sys_ptrace entry point. The sys32_ptrace function gets simpler and becomes compat_arch_ptrace. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit cdb69904794d2173176b1a58e849b7b39fced390 Author: Roland McGrath Date: Tue Apr 22 12:20:20 2008 -0700 x86_64 ia32 ptrace: use compat_ptrace_request for siginfo This removes the special-case handling for PTRACE_GETSIGINFO and PTRACE_SETSIGINFO from x86_64's sys32_ptrace. The generic compat_ptrace_request code handles these. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 55928e37b29ba5557a5edc8ab679fe5191bc051d Author: Roland McGrath Date: Sat Apr 19 14:27:56 2008 -0700 x86 signals: lift set_fs This lifts the set_fs(USER_DS) call for signal handler setup out of the three places copying the same code into the one place that calls them all. There is no change in what it does. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 8b9c5ff380aa4f10658171ed2b9abc1e0861b770 Author: Roland McGrath Date: Sat Apr 19 14:26:54 2008 -0700 x86 signals: lift flags diddling code This lifts the code diddling the TF and DF bits for signal handler setup out of the several places copying the same code into the one place that calls them all. There is no change in what it does. I also separated the recently-added DF bit clearing from the TF diddling. The compiler turns them back into one instruction anyway. The tossing in of DF to the same line of code with no new comments was a bit more arcane than seems wise. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit f7f17a67c589f031c567d9fdc809dee7c5868c8a Author: Dmitri Vorobiev Date: Mon Apr 21 00:47:55 2008 +0400 x86: remove NexGen support It is claimed that NexGen CPUs were never shipped: http://lkml.org/lkml/2008/4/20/179 Also, the kernel support for these chips has been broken for a long time, the code intended to support NexGen thereby being essentially dead. As an outcome of the discussion that can be found using the URL above, this patch removes the NexGen support altogether. The changes in this patch survived a defconfig build for i386, a couple of successful randconfig builds, as well as a runtime test, which consisted in booting a 32-bit x86 box up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit a2b4bd9c95a799ce1002e699187f17ddaa754eb1 Author: Dmitri Vorobiev Date: Sun Apr 20 06:54:33 2008 +0400 x86: array can become static In arch/x86/kernel/setup_64.c, the standard_io_resources array is needlessly defined as global. This patch makes this variable static. This patch was successfully build-tested using the defconfig for x86_64. Runtime test was performed by booting a 64-bit x86 box up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit f3b14a32db9a74f2bbda980bc95cd4b1f136d80a Author: Dmitri Vorobiev Date: Sun Apr 20 06:54:31 2008 +0400 x86: remove unused function amd_init_cpu() There are no users for the function amd_init_cpu() defined in arch/x86/kernel/cpu/amd.c. This patch removes this routine. This patch was build-tested using defconfigs for i386 and x86_64, and a few randconfig instances. Runtime tests were performed by booting 32- and 64-bit x86 boxen up to the shell prompt. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar commit 911f6a7ba21795865ab30fc5f88aa198b0daee5f Author: Jan Beulich Date: Tue Apr 22 16:22:21 2008 +0100 x86-64: extend MCE CPU quirk handling At least on my Barcelona, I see MCE log entries after cold boot caused by BIOS not properly clearing the respective registers. Therefore, this patch extends the workaround to families 0x10 and 0x11 (the latter just for completeness, I have nothing to verify this against). At the same time, provide a way to make these entries visible via the 'mce=bootlog' command line option even on these machines. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 79bf0e0353e0a34dbe0b2ef659a9bdd8056ca524 Author: Jan Beulich Date: Tue Apr 22 16:19:25 2008 +0100 i386: fix signal type for iret exception .. since it uses ILL_BADSTK (which is meaningless in the context of SIGSEGV). Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 86d78f640257344cc90a50da8cd52297ba1c6bdf Author: Jan Beulich Date: Tue Apr 22 16:28:41 2008 +0100 x86: fix watchdog ops for CoreDuo There apparently was an unnoticed conflict between an earlier patch to this file and mine (d1e084746b0e5806e6345ab31c5b370f8dee2b23), which I noticed only now. I suppose a change like the one below (untested) is needed; I didn't get any response on a confirmation request for this from the submitter of the first patch. The issue is the writing of the 'checkbit' member at the end of setup_intel_arch_watchdog(), which my patch made go to intel_arch_wd_ops rather than wd_ops. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit b11caa7c7063ea92a0a58115d3fc6d038ed89510 Author: Adrian Bunk Date: Sun Apr 20 22:02:17 2008 +0300 fix asm-x86/{posix_types,unistd}.h Jeff Chua reported that: Commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9 (x86: cleanup duplicate includes) turned the userspace asm-x86/posix_types.h and asm-x86/unistd.h headers into empty files. This patch reverts these bogus changes. Reported-by: Jeff Chua Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 5065dbafc299507f16731434e95b91dadff03006 Author: Jan Beulich Date: Tue Apr 22 16:16:50 2008 +0100 i386: fix asm constraint in do_IRQ() Two prior changes resulted in the "ecx" clobber being lost. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 8db979bcfe46dcdced1065e9359e4ef7a50b8a6f Author: Ingo Molnar Date: Sat Apr 26 10:26:52 2008 +0200 x86 PAT: decouple from nonpromisc devmem Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM. Also make PAT non-default. Signed-off-by: Ingo Molnar commit 1ebcc654f010d4a63f3ebf8ddd2cab5a709b1824 Author: Ingo Molnar Date: Sat Apr 26 11:40:31 2008 +0200 x86 PAT: tone down debugging messages Linus reported these excessive debug printouts: > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0380000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 > Overlap at 0xe0300000-0xe0400000 turn that into a pr_debug(). Signed-off-by: Ingo Molnar commit 37c45df740f79c58bb0fc0de151fd2504234032b Author: Jean Delvare Date: Fri Apr 25 20:42:45 2008 -0300 V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe Using i2c_transfer instead of i2c_master_recv in ir_probe saves a temporary memory allocation. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit b33d24c4cc14ee40d83a7e1ea0bfb9567d6059aa Author: Adrian Bunk Date: Fri Apr 25 19:06:03 2008 -0300 V4L/DVB (7750): au0828/ cleanups and fixes This patch contains the following cleanups and fixes: - "debug" is definitely not a good name for a global variable, renamed it to "au0828_debug" this fixes a compile error with some kernel configurations - since the module parameter is int the variable shouldn't be unsigned - remove the {usb,bridge,i2c}_debug module parameters since they are already covered by the "debug" module parameter - remove the unused au0828_bcount - make the needlessly global i2c_scan static - make the needlessly global dvb_register() static Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit b9ef6bbbbeaf65c6a452fe3c75c196f86e0d984d Author: Mauro Carvalho Chehab Date: Sat Apr 26 11:29:34 2008 -0300 V4L/DVB (7748): tuner-core: some adjustments at tuner logs, if debug enabled set_addr log were almost useless: discarded SET_TYPE_ADDR commands weren't reported. This patch changed set_addr printk to print a message only if set_addr is wrong. It also fix printk at set_type, since, if an attach were failing, nothing were reported. With the current code, working or not, a call to set_addr will produce a debug printk. also, set_type() were producing a false error message on tuner_xc2028, since it were requesting for setting a frequency on a place where firmware name weren't set yet. Signed-off-by: Mauro Carvalho Chehab commit 0e3cbe81d52d18d83d068935512bd623a8765c12 Author: Harvey Harrison Date: Fri Apr 25 02:19:44 2008 -0300 V4L/DVB (7746): pvrusb2: make signed one-bit bitfields unsigned Single-bit signed bitfields can only take 0/-1 rather than 0/1 as the drivers seems to assume...add unsigned. Noticed by sparse: drivers/media/video/pvrusb2/pvrusb2-devattr.h:107:34: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:114:37: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:117:30: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:120:23: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:124:24: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:128:23: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:138:36: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:143:24: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:144:28: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:145:26: error: dubious one-bit signed bitfield drivers/media/video/pvrusb2/pvrusb2-devattr.h:146:23: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4aef8fddb6639056ea830509ce3015c79f158011 Author: Michael Krufky Date: Fri Apr 25 04:19:02 2008 -0300 V4L/DVB (7744): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 751xx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d893d5dc7fef94a072a74f3141f9d1f60fd0cc7e Author: Steven Toth Date: Fri Apr 25 03:46:43 2008 -0300 V4L/DVB (7742): cx88: Add support for the DViCO FusionHDTV_7_GOLD digital modes The S5H1411 demodulator is now enabled. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8b4f1d031627d6f36d6ada05ab7670c2317efdaa Author: Steven Toth Date: Fri Apr 25 03:44:36 2008 -0300 V4L/DVB (7741): s5h1411: Adding support for this ATSC/QAM demodulator This adds full support for this demodulator. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8367fe248d74d53a6ae10e373c73230ab1536599 Author: Harvey Harrison Date: Fri Apr 25 01:28:10 2008 -0300 V4L/DVB (7740): tuner-xc2028.c dubious !x & y Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit a45e0b45e52adb10634112b338dfb3e66a83de31 Author: Harvey Harrison Date: Fri Apr 25 01:49:24 2008 -0300 V4L/DVB (7739): mt312.h: dubious one-bit signed bitfield Make it unsigned (0/1) rather than signed (0/-1). Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit d0d14226b94546a0054ded495157aa1cb41a7259 Author: Brandon Philips Date: Thu Apr 24 21:34:00 2008 -0300 V4L/DVB (7735): Fix compilation for au0828 Encountered this error when testing. Kernel: arch/x86/boot/bzImage is ready (#76) MODPOST 813 modules ERROR: "dvb_dmx_init" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_unregister_adapter" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_register_frontend" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_unregister_frontend" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_net_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_frontend_detach" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmxdev_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_net_init" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmx_release" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmx_swfilter_packets" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_register_adapter" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "dvb_dmxdev_init" [drivers/media/video/au0828/au0828.ko] undefined! WARNING: modpost: Found 9 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 094f9b4b317b235b8d7fa03b356b9a3f3633b55b Author: Janne Grunau Date: Thu Apr 24 20:19:22 2008 -0300 V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc Fixes a copy and paste error in check of kzalloc return value. The check block was copied from the previous allocation but the variable wasn't exchanged. Signed-off-by: Mauro Carvalho Chehab commit 50fa46b25490039ef51ef0dc8afdded60c4d3b59 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Apr 26 11:25:18 2008 -0300 V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec() dev->mailbox is unsigned. so a negative return goes unnoticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 63b79cfa05b35973713caa91e290311bd5ebbe1d Author: Mauro Carvalho Chehab Date: Sat Apr 26 08:25:18 2008 -0300 V4L/DVB (7732): vivi: fix a warning some gcc versions complain that fh is used without being defined. The error report is bogus. However, fixing it is trivial. Better to make gcc happy. Signed-off-by: Mauro Carvalho Chehab commit 09aa356b5584090aab6810ec8002936d710cd4ac Author: Mathieu Segaud Date: Fri Apr 18 13:29:38 2008 -0700 agp: convert drivers/char/agp/frontend.c to use unlocked_ioctl As of now, agp_compat_ioctl already runs without the BKL. Mutual exclusion is enforced by agp_fe.agp_mutex in agp_ioctl() and agp_compat_ioctl(). Apply the same locking rationale to the two functions allowing BKL cleanup. Signed-off-by: Mathieu Segaud Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 4ab92bcf773e7b9e1367897047d5fa4d151d9e90 Author: Harvey Harrison Date: Sat Apr 26 18:38:04 2008 +1000 agp: fix shadowed variable warning in amd-k7-agp.c Introduced between 2.6.25-rc2 and -rc3 drivers/char/agp/amd-k7-agp.c:439:6: warning: symbol 'cap_ptr' shadows an earlier one drivers/char/agp/amd-k7-agp.c:414:5: originally declared here cap_ptr is never used again in this function, don't bother redeclaring. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit b74e2082f8e7b8f37af3fc39e8ee0dd0d218c589 Author: Dave Airlie Date: Sat Apr 26 18:21:28 2008 +1000 drm: _end is shadowing real _end, just rename it. Signed-off-by: Dave Airlie commit ac741ab71bb39e6977694ac0cc26678d8673cda4 Author: Jesse Barnes Date: Tue Apr 22 16:03:07 2008 +1000 drm/vbl rework: rework how the drm deals with vblank. Other Authors: Michel Dänzer mga: Ian Romanick via: Thomas Hellstrom This re-works the DRM internals to provide a better interface for drivers to expose vblank on multiple crtcs. It also includes work done by Michel on making i915 triple buffering and pageflipping work properly. Signed-off-by: Dave Airlie commit 2c14f28be2a3f2a2e9861b156d64fbe2bc7000c3 Author: Dave Airlie Date: Mon Apr 21 16:47:32 2008 +1000 drm: reorganise minor number handling using backported modesetting code. rips out the head crap and replaces it with an idr and drm_minor structure Signed-off-by: Dave Airlie commit 7b832b56bd971348329c3f4c753ca0abfdf3a3d1 Author: Keith Packard Date: Mon Apr 21 16:31:10 2008 +1000 drm/i915: Handle tiled buffers in vblank tasklet The vblank tasklet update code must build 2D blt commands with the appropriate tiled flags Signed-off-by: Dave Airlie commit a36b7dcc05bc4c4580f11cf78e95edfefa86b8a6 Author: Keith Packard Date: Mon Apr 21 16:27:24 2008 +1000 drm/i965: On I965, use correct 3DSTATE_DRAWING_RECTANGLE command in vblank The batchbuffer submission paths were fixed to use the 965-specific command, but the vblank tasklet was not. When the older version is sent, the 965 will lock up. Signed-off-by: Dave Airlie commit f1c3e67eb73a4a1db31e235883156ac098e29ff6 Author: Benjamin Herrenschmidt Date: Sun Apr 20 10:26:31 2008 +1000 drm: Remove unneeded dma sync in ATI pcigart alloc Now that the ATI pcigart code uses dma_alloc_coherent, we don't need the dma_sync_single_for_device() that we used to have here. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 5ff64611333fd282793ff8997e02138aa2f6aab9 Author: Benjamin Herrenschmidt Date: Sun Apr 20 10:26:25 2008 +1000 drm: Fix mismerge of non-coherent DMA patch The patch for supporting non coherent PCI DMA in the DRM was mismerged causing the page protection to be updated for the wrong type of mapping. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit b1721d0da266b4af8cb4419473b4ca36206ab200 Author: Harvey Harrison Date: Fri Apr 25 19:03:08 2008 -0700 v4l/dvb: add statics to avoid multiple definitions Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit bc84e0a160e383deb56568f4e03bc51b1ce16775 Merge: a929107... f8f9570... Author: Linus Torvalds Date: Fri Apr 25 19:05:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] sanitize locate_fd() [PATCH] sanitize unshare_files/reset_files_struct [PATCH] sanitize handling of shared descriptor tables in failing execve() [PATCH] close race in unshare_files() [PATCH] restore sane ->umount_begin() API cifs: timeout dfs automounts +little fix. commit a92910723a5af54f81373875fd95133c88df94bd Author: Harvey Harrison Date: Fri Apr 25 18:40:01 2008 -0700 mac-hid: fix build after lockdep annotation Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 753d7054c318f323a7c135c71c68171a6b6a88fc Author: Randy Dunlap Date: Fri Apr 25 16:38:44 2008 -0700 documentation: remove smart-config.txt As requested by Sam Ravnborg: Remove Documentation/smart-config.txt. It is outdated and has been (functionally) replaced by Documentation/kbuild/*.txt. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit d09e860cf07e7c9ee12920a09f5080e30a12a23a Author: Steve French Date: Sat Apr 26 00:22:23 2008 +0000 [CIFS] Adds to dns_resolver checking if the server name is an IP addr and skipping upcall in this case. Signed-off-by: Igor Mammedov Signed-off-by: sfrench@us.ibm.com commit 3dd7b71ca0f7ff8410a6b8cb15e5f670f90181e4 Author: Roland Dreier Date: Fri Apr 25 15:32:51 2008 -0700 Export __locks_copy_lock() so modular lockd builds Commit 1a747ee0 ("locks: don't call ->copy_lock methods on return of conflicting locks") changed fs/lockd/svclock.c to call __locks_copy_lock() instead of locks_copy_lock(), but lockd can be built as a module and __locks_copy_lock() is not exported, which causes a build error ERROR: "__locks_copy_lock" [fs/lockd/lockd.ko] undefined! with CONFIG_LOCKD=m. Fix this by exporting __locks_copy_lock(). Signed-off-by: Roland Dreier Signed-off-by: Linus Torvalds commit ed4d3c1061d6f367a4ef5e1656c25af3314fe2b7 Author: Yevgeny Petrilin Date: Fri Apr 25 14:52:32 2008 -0700 mlx4_core: Add helper to move QP to ready-to-send Avoid duplicating code in ethernet and FC modules. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit b7aa1f1603bea4fdec49a915712dea280cfd07e8 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:14 2008 -0700 pciehp: Fix command write Current implementation of pciehp_write_cmd() always enables command completed interrupt. But pciehp_write_cmd() is also used for clearing command completed interrupt enable bit. In this case, we must not set the command completed interrupt enable bit. To fix this bug, this patch add the check to see if caller wants to change command complete interrupt enable bit. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ef0ff95f136f0f2d035667af5d18b824609de320 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:12 2008 -0700 shpchp: fix slot name Current shpchp uses the combination of bus number and slot number as a slot name. But it is not a good idea because bus number is not a physical identifier but a logical identifier. This is against the shpc specification. So remove the bus number from the physical identifier. However, there are some platforms with the problem that it provides the same slot number. For those platforms, this patch also introduces new module option 'shpchp_slot_with_bus'. If it is specified, shpchp uses the combination of bus number and slot number as a slot name. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 4ea3e58b22b3719af99c567d08136bbe50cb4435 Author: Adrian Bunk Date: Fri Apr 25 14:39:10 2008 -0700 make pciehp_acpi_get_hp_hw_control_from_firmware() this_patch_makes_the_needlessly_global_pciehp_acpi_get_hp_hw_control_from_firmware_static ;) Signed-off-by: Adrian Bunk Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 2aeeef11999590d88249fbd086671af8300116f4 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:08 2008 -0700 pciehp: Clean up pcie_init() Clean up pciehp_ini(). This patch is trying to - Remove redundant capablity checks that were already done in PCIe port bus driver. - Separate the code only for debugging and make debug information easier to read. - Make the entire code easier to read and understand what it is doing. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit d84be093a81c29e085144c4d483d9fa0a83a1918 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:07 2008 -0700 pciehp: Mask hotplug interrupt at controller release We must disable hotplug interrupt at controller relase time, otherwise spurious interrupts might happen if any slot events occured (e.g. MRL change) after unloading pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit cff006543fa3fca2a47dd795ac524237489858d6 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:06 2008 -0700 pciehp: Remove useless hotplug interrupt enabling Hotplug interrupt is enabled at initialization and nobody clears it. So we need to setup it in each command. This patch removes redundant codes about this. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit ae416e6b2936fdb70aeee6eb9066115d4521daa6 Author: Kenji Kaneshige Date: Fri Apr 25 14:39:06 2008 -0700 pciehp: Fix wrong slot capability check Current pciehp saves only 8bits of Slot Capability registers in ctrl->ctrlcap. But it refers more than 8bit for checking EMI capability. It is clearly a bug and EMI would never work. To fix this problem, this patch saves full Slot Capability contens in ctrl->slot_cap. It also reduce the redundant reads of Slot Capability register. And this pach also cleans up the macros to check the slot capabilitys (e.g. MRL_SENS(), and so on). Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit c27fb883dffe11aa4cb35ecea1fa1832ba45d4da Author: Kenji Kaneshige Date: Fri Apr 25 14:39:05 2008 -0700 pciehp: Fix wrong slot control register access Current pciehp implementaion clears hotplug events without waiting for command completion. Because of this, events might not be cleared properly. To prevent this problem, we must use pciehp_write_cmd() to write to Slot Control register. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 2d32a9aed2e335d110fbb11985a9545b1f7219ab Author: Kenji Kaneshige Date: Fri Apr 25 14:39:02 2008 -0700 pciehp: Add missing memory barrier Fix the possible race condition between pcie_isr() and pciehp_write_cmd() because of the lack of memory barrier. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit c6b069e94601aea8887afbbd922afe20a3580a7d Author: Kenji Kaneshige Date: Fri Apr 25 14:38:57 2008 -0700 pciehp: Fix interrupt event handlig Current pciehp implementation disables and re-enables hotplug interrupts in its interrupt handler. This operation might be intend to guarantee that interrupts for the events newly occured during previous events are being handled will be successfully generated. But current implementaion has the following prolems. - Current interrupt service routin clears status changes without waiting command completion. Because of this, events might not be cleared properly. - Current interrupt service routine clears status changes caused by disabling or enabling hotplug interrupts itself. This will lose new events that occurs during previous interrupts are being handled. - Current implementation doesn't have any serialization mechanism between the code to wait for command completion and the interrupt handler that clears the command completion events caused by itself. There is clearly race conditions between them, and it may cause the problem that waiting for command completion doesn't work for example. To fix those problems, this patch stops disabling/re-enabling hotplug interrupts in interrupt service routine. Instead of this, this patch re-inspects Slot Status register after clearing what is presumed to be the last bending interrupt in order to guarantee that all interrupt events are serviced. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 3800345f723fd130d50434d4717b99d4a9f383c8 Author: Kenji Kaneshige Date: Fri Apr 25 14:38:38 2008 -0700 pciehp: fix slot name Current pciehp uses the combination of bus number and slot number as a slot name. But it is not a good idea because bus number is not a physical identifier but a logical identifier. This is against the PCIE specification. So remove the bus number from the physical identifier. However, there are some platforms with the problem that it provides the same slot number. For those platforms, this patch also introduces new module option 'pciehp_slot_with_bus'. If it is specified, pciehp uses the combination of bus number and slot number as a slot name. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes commit 38ae6a535470b959df67ded6798fc542bb212e19 Author: Yevgeny Petrilin Date: Fri Apr 25 14:27:08 2008 -0700 mlx4_core: Add HW queues allocation helpers Wrap doorbell, buffer and MTT allocation in helper functions for ethernet and FC modules to use. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 404e86e1550cc2c84bb57a372af784585c732f9a Merge: 0206e61... b9fa38f... Author: Steve French Date: Fri Apr 25 20:20:10 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit b9fa38f75ea7e1f64bc29653ca9758303ce698e4 Merge: 6e18933... f360bf0... Author: Linus Torvalds Date: Fri Apr 25 12:52:16 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (49 commits) [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore [POWERPC] bootwrapper: fix build error on virtex405-head.S [POWERPC] 4xx: Fix 460GT support to not enable FPU [POWERPC] 4xx: Add NOR FLASH entries to Canyonlands and Glacier dts [POWERPC] Xilinx: of_serial support for Xilinx uart 16550. [POWERPC] Xilinx: boot support for Xilinx uart 16550. [POWERPC] celleb: Add support for PCI Express [POWERPC] celleb: Move miscellaneous files for Beat [POWERPC] celleb: Move a file for SPU on Beat [POWERPC] celleb: Move files for Beat mmu and iommu [POWERPC] celleb: Move files for Beat hvcall interfaces [POWERPC] celleb: Move the SCC related code for celleb [POWERPC] celleb: Move the files for celleb base support [POWERPC] celleb: Consolidate io-workarounds code [POWERPC] cell: Generalize io-workarounds code [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries [POWERPC] Convert from DBG() to pr_debug() in platforms/pseries/ [POWERPC] Register udbg console early on pseries LPAR [POWERPC] Mark udbg console as CON_ANYTIME, ie. callable early in boot [POWERPC] Set udbg_console index to 0 ... commit 6e18933f2b6156d0a0ec9d5522ab6a6033cf7241 Merge: eb855fd... 03970f0... Author: Linus Torvalds Date: Fri Apr 25 12:50:00 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [PATCH] Build fix for CONFIG_NUMA=y && CONFIG_SMP=n [IA64] fix bootmem regression on Altix commit eb855fd8e7f6b1d8b50f24aa36803e29b367b041 Merge: bf16ae2... 060856c... Author: Linus Torvalds Date: Fri Apr 25 12:48:44 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Add default-on trigger leds: Document the context brightness_set needs leds: Add new driver for the LEDs on the Freecom FSG-3 leds: Add support to leds with readable status leds: enable support for blink_set() platform hook in leds-gpio leds: Cleanup various whitespace and code style issues leds: disable triggers on brightness set leds: Add mail LED support for "Clevo D400P" commit bf16ae250999e76aff0491a362073a552db965fc Merge: 0b79dad... 1526a75... Author: Linus Torvalds Date: Fri Apr 25 12:48:08 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-pat * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-pat: generic: add ioremap_wc() interface wrapper /dev/mem: make promisc the default pat: cleanups x86: PAT use reserve free memtype in mmap of /dev/mem x86: PAT phys_mem_access_prot_allowed for dev/mem mmap x86: PAT avoid aliasing in /dev/mem read/write devmem: add range_is_allowed() check to mmap of /dev/mem x86: introduce /dev/mem restrictions with a config option commit 0b79dada976198cb1a4c043068e3b44d5cab2a5a Merge: 50be491... 3f5087a... Author: Linus Torvalds Date: Fri Apr 25 12:47:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes: sched: fix share (re)distribution softlockup: fix NOHZ wakeup seqlock: livelock fix commit 50be4917ee70218f59e04dec029121b97fb9cb3d Merge: 37b05b1... f9d4249... Author: Linus Torvalds Date: Fri Apr 25 12:41:55 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_bf54x: decrease count first. sata_mv: re-enable hotplug, update TODO list sata_mv: leave SError bits untouched in mv_err_intr sata_mv: more interrupt handling rework sata_mv: tidy host controller interrupt handling sata_mv: simplify request/response queue handling sata_mv: simplify freeze/thaw bit-shift calculations sata_mv mask all interrupt coalescing bits sata_mv more cosmetics ata_piix: add Asus Eee 701 controller to short cable list libata-eh set tf flags in NCQ EH result_tf make sata_set_spd_needed() static make sata_print_link_status() static libata-acpi.c: remove unneeded #if's sata_nv: make hardreset return -EAGAIN on success ahci: retry enabling AHCI a few times before spitting out WARN_ON() libata: make WARN_ON conditions in ata_sff_hsm_move() more strict ATA/IDE: fix platform driver hotplug/coldplug sata_sis: SCR accessors return -EINVAL when requested SCR isn't available libata: functions with definition should not be extern commit 37b05b17985ecc43a33e2a8cbdaa220115de4703 Merge: ce1d5b2... 4953d14... Author: Linus Torvalds Date: Fri Apr 25 12:40:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (120 commits) usb: don't update devnum for wusb devices wusb: make ep0_reinit available for modules wusb: devices dont use a set address wusb: teach choose_address() about wireless devices wusb: add link wusb-usb device wusb: add authenticathed bit to usb_dev USB: remove unnecessary type casting of urb->context usb serial: more fixes and groundwork for tty changes USB: replace remaining __FUNCTION__ occurrences USB: usbfs: export the URB_NO_INTERRUPT flag to userspace USB: fix compile problems in ehci-hcd USB: ehci: qh_completions cleanup and bugfix USB: cdc-acm: signedness fix USB: add documentation about callbacks USB: don't explicitly reenable root-hub status interrupts USB: OHCI: turn off RD when remote wakeup is disabled USB: HCDs use the do_remote_wakeup flag USB: g_file_storage: ignore bulk-out data after invalid CBW USB: serial: remove endpoints setting checks from core and header USB: serial: remove unneeded number endpoints settings ... commit ce1d5b23a8d1e19866ab82bdec0dc41fde5273d8 Merge: ad5e1b0... 308f0a5... Author: Linus Torvalds Date: Fri Apr 25 12:38:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits) Input: wacom - add support for Cintiq 20WSX Input: ucb1400_ts - IRQ probe fix Input: at32psif - update MODULE_AUTHOR with new email Input: mac_hid - add lockdep annotation to emumousebtn Input: i8042 - fix incorrect usage of strncpy and strncat Input: bf54x-keys - add infrastructure for keypad wakeups Input: add MODULE_ALIAS() to hotpluggable platform modules Input: drivers/char/keyboard.c - use time_after Input: fix ordering in joystick Makefile Input: wm97xx-core - support use as a wakeup source Input: wm97xx-core - use IRQF_SAMPLE_RANDOM Input: wm97xx-core - only schedule interrupt handler if not already scheduled Input: add Zhen Hua driver Input: aiptek - add support for Genius G-PEN 560 tablet Input: wacom - implement suspend and autosuspend Input: xpad - set proper buffer length for outgoing requests Input: omap-keypad - fix build warning Input: gpio_keys - irq handling cleanup Input: add PS/2 serio driver for AVR32 devices Input: put ledstate in the keyboard notifier ... commit ad5e1b0f5d913d2c8bddfba81049cc07228da1a6 Merge: 6f97b22... 4217516... Author: Linus Torvalds Date: Fri Apr 25 12:36:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kconfig: fix broken target update-po-config kbuild: silence documentation GEN xml messages according to $(quiet) commit 6f97b220f414e3599ea5374905ba6d0dc47d63b0 Merge: 4b7227c... e3dcc5a... Author: Linus Torvalds Date: Fri Apr 25 12:33:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (24 commits) dm crypt: add documentation dm: remove md argument from specific_minor dm table: remove unused dm_create_error_table dm table: drop void suspend_targets return dm: unplug queues in threads dm raid1: use timer dm: move include files dm kcopyd: rename dm: expose macros dm kcopyd: remove redundant client counting dm kcopyd: private mempool dm kcopyd: per device dm log: make module use tracking internal dm log: move register functions dm log: clean interface dm kcopyd: clean interface dm io: clean interface dm io: rename error to error_bits dm snapshot: store pointer to target instance dm log: move dirty region log code into separate module ... commit 4b7227ca321ccf447cdc04538687c895db8b77f5 Merge: 5dae61b... 1775826... Author: Linus Torvalds Date: Fri Apr 25 12:32:10 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-xen-next * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-xen-next: (52 commits) xen: add balloon driver xen: allow compilation with non-flat memory xen: fold xen_sysexit into xen_iret xen: allow set_pte_at on init_mm to be lockless xen: disable preemption during tlb flush xen pvfb: Para-virtual framebuffer, keyboard and pointer driver xen: Add compatibility aliases for frontend drivers xen: Module autoprobing support for frontend drivers xen blkfront: Delay wait for block devices until after the disk is added xen/blkfront: use bdget_disk xen: Make xen-blkfront write its protocol ABI to xenstore xen: import arch generic part of xencomm xen: make grant table arch portable xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one xen: make include/xen/page.h portable moving those definitions under asm dir xen: add resend_irq_on_evtchn() definition into events.c Xen: make events.c portable for ia64/xen support xen: move events.c to drivers/xen for IA64/Xen support xen: move features.c from arch/x86/xen/features.c to drivers/xen xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs ... commit 5dae61b80564a5583ff4b56e357bdbc733fddb76 Merge: 2e561c7... 2664ef4... Author: Linus Torvalds Date: Fri Apr 25 12:29:55 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). [SPARC64]: Fix args to 64-bit sys_semctl() via sys_ipc(). commit 2e561c7b7e705b619122e5386d6f99f28f2b6e5a Merge: 2cfed60... 653252c... Author: Linus Torvalds Date: Fri Apr 25 12:28:28 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits) net: Fix wrong interpretation of some copy_to_user() results. xfrm: alg_key_len & alg_icv_len should be unsigned [netdrvr] tehuti: move ioctl perm check closer to function start ipv6: Fix typo in net/ipv6/Kconfig via-velocity: fix vlan receipt tg3: sparse cleanup forcedeth: realtek phy crossover detection ibm_newemac: Increase MDIO timeouts gianfar: Fix skb allocation strategy netxen: reduce stack usage of netxen_nic_flash_print smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt} net drivers: fix platform driver hotplug/coldplug forcedeth: new backoff implementation ehea: make things static phylib: Add support for board-level PHY fixups [netdrvr] atlx: code movement: move atl1 parameter parsing atlx: remove flash vendor parameter korina: misc cleanup korina: fix misplaced return statement WAN: Fix confusing insmod error code for C101 too. ... commit 2cfed60cc24676d65e01278dbf10d0069de02592 Author: Matthew Wilcox Date: Fri Apr 25 04:21:11 2008 -0600 Update .gitignore files Add some autogenerated files to various .gitignore files Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 7e97b28309edc5669ced2bb1371704e8f8d084e3 Merge: 5421d05... 3887ed5... Author: Linus Torvalds Date: Fri Apr 25 12:25:48 2008 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (82 commits) [MTD] m25p80: Add Support for ATMEL AT25DF641 64-Megabit SPI Flash [MTD] m25p80: add FAST_READ access support to M25Pxx [MTD] [NAND] bf5xx_nand: Avoid crash if bfin_mac is installed. [MTD] [NAND] at91_nand: control NCE signal [MTD] [NAND] AT91 hardware ECC compile fix for at91sam9263 / at91sam9260 [MTD] [NAND] Hardware ECC controller on at91sam9263 / at91sam9260 [JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up [JFFS2] Fix jffs2_reserve_space() when all blocks are pending erasure. [JFFS2] Add erase_checking_list to hold blocks being marked. UBI: add a message [JFFS2] Return values of jffs2_block_check_erase error paths [MTD] Clean up AR7 partition map support [MTD] [NOR] Fix Intel CFI driver for collie flash [JFFS2] Finally remove redundant ref->__totlen field. [JFFS2] Honour TEST_TOTLEN macro in debugging code. ref->__totlen is going! [JFFS2] Add paranoia debugging for superblock counts [JFFS2] Fix free space leak with in-band cleanmarkers [JFFS2] Self-sufficient #includes in jffs2_fs_i.h: include [MTD] [NAND] Verify probe by retrying to checking the results match [MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board ... commit 5421d059068341b3f21df1a21c2ba9175e55ebef Merge: 5f3b287... 5a9d322... Author: Linus Torvalds Date: Fri Apr 25 12:25:03 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes2: sched: use alloc_bootmem() instead of alloc_bootmem_low() commit 5f3b28781cbc030351e2fa0712602afbea592aae Merge: f7ce1f5... e386497... Author: Linus Torvalds Date: Fri Apr 25 12:24:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: silence defined but not used warning in non-modular builds ieee1394: rawiso: requeue packet for transmission after skipped cycle commit 4217516e52949e6550ff01d57f92b9b24ce04be1 Author: Sam Ravnborg Date: Fri Apr 25 21:15:41 2008 +0200 kconfig: fix broken target update-po-config Massimo Maiurana reported: In the latest kernel "make update-po-config" fails because it tries to open arch/Kconfig/Kconfig, since the ls command doesn't distinguish between files and directories. Cc: Massimo Maiurana Signed-off-by: Sam Ravnborg commit f7ce1f5e083fc099346019fb1f8d56a5452703ed Merge: dd0e101... 0254da0... Author: Linus Torvalds Date: Fri Apr 25 12:06:46 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: fix depmod comment kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS kbuild: support loading extra symbols in modpost Add option to enable -Wframe-larger-than= on gcc 4.4 kbuild: add kconfig symbols to tags output kbuild: fix some minor typoes kbuild: error out on missing MODULE_LICENSE commit dd0e101d630b0d7ed6c9e1ccf7af7fc91818330e Merge: cf2ec15... 00c6b2d... Author: Linus Torvalds Date: Fri Apr 25 12:03:36 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86-fixes4 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-x86-fixes4: x86: harden kernel code patching x86: clean up text_poke() x86: fix text_poke() x86: remove set_fixmap() warning x86: make __set_fixmap() non-init x86: make clear_fixmap() available on 64-bit as well commit 759cd603beea7f4ab7df1e6bcfda90b62b5f4125 Author: Mike Frysinger Date: Fri Mar 28 14:30:58 2008 -0700 kbuild: silence documentation GEN xml messages according to $(quiet) Add rules for gen_xml and its quiet & silent variants. This causes "make -s" to be silent for gen_xml. Signed-off-by: Mike Frysinger Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 0254da07d9d51044140a904c47affaeeb8b74ae8 Author: Uwe Kleine-König Date: Wed Mar 5 15:57:04 2008 +0100 kbuild: fix depmod comment Signed-off-by: Uwe Kleine-König Cc: trivial@kernel.org Signed-off-by: Sam Ravnborg commit cf2ec150fc5f59dbf2260863225c79aa0cfc46af Merge: 9f4def9... e36cd4a... Author: Linus Torvalds Date: Fri Apr 25 11:45:40 2008 -0700 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: nfsd: don't allow setting ctime over v4 Update to NFS/RDMA documentation locks: don't call ->copy_lock methods on return of conflicting locks lockd: unlock lockd locks held for a certain filesystem lockd: unlock lockd locks associated with a given server ip leases: remove unneeded variable from fcntl_setlease(). leases: move lock allocation earlier in generic_setlease() leases: when unlocking, skip locking-related steps leases: fix a return-value mixup commit 0d96fb20b7ed757fc936bb35e26c22251a75b734 Author: Richard Hacker Date: Thu Feb 28 09:40:58 2008 +0100 kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS. The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS is used when calling scripts/mod/modpost during stage 2 of the Kbuild process for non-kernel-tree modules. Signed-off-by: Richard Hacker Signed-off-by: Sam Ravnborg commit 2d04b5ae1bf527201a7505c9be7526c43ebd2930 Author: Richard Hacker Date: Thu Feb 28 09:40:52 2008 +0100 kbuild: support loading extra symbols in modpost This patch adds a new command line option -E to modpost, expecting a symbol file as an argument which is read prior to symbol processing. -E can be supplied multiple times for as many files as is needed. When building kernel modules that depend on other modules not in the main kernel tree, modpost complains about undefined symbols: # make -C /path/to/linux/kernel M=/path/to/my/module ... Building modules, stage 2. .... WARNING: "rt_copy_buf" [/home/rich/osc_etl_rtw/osc_kmod.ko] undefined! ...etc This situation occurs when modpost processes the new module's symbols. When it finds symbols not exported by the mainline kernel, it issues this warning. The patch adds a new command line option -e to modpost which expects a symbol file as an argument. The symbols listed in this file are added to modpost's symbol tables during startup. -e can be supplied as often as required. This patch works together with the second patch. It introduces a new make variable, KBUILD_EXTRA_SYMBOLS, which is used when calling modpost. Signed-off-by: Richard Hacker Signed-off-by: Sam Ravnborg commit 35bb5b1e0e84cfa1a8906f7e6a77f391ff315791 Author: Andi Kleen Date: Fri Feb 22 15:15:03 2008 +0100 Add option to enable -Wframe-larger-than= on gcc 4.4 Add option to enable -Wframe-larger-than= on gcc 4.4 gcc mainline (upcoming 4.4) added a new -Wframe-larger-than=... option to warn at build time about too large stack frames. Add a config option to enable this warning, since this very useful for the kernel. I choose (somewhat arbitarily) 2048 as default warning threshold for 64bit and 1024 as default for 32bit architectures. With some research and fixing all the code for smaller values these defaults should be probably lowered. With the default allyesconfigs have some new warnings, but I think that is all code that should be just fixed. At some point (when gcc 4.4 is released and widely used) this should obsolete make checkstack Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 80ff26241623875636674a31c0540a78c0fb5433 Author: Alexey Dobriyan Date: Fri Feb 22 15:02:33 2008 +0300 kbuild: add kconfig symbols to tags output Steps to reproduce: vi -t NETFILTER Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg commit 0206e61b467fde4d7b50f1a64355182a4fd9576b Author: Steve French Date: Fri Apr 25 18:19:40 2008 +0000 [CIFS] Fix spelling mistake Noticed by Joe Perches Signed-off-by: Steve French commit 3156fd0529b5216f4f444f4a7752b82dc1bd99c0 Author: Robert P. J. Day Date: Mon Feb 18 04:48:20 2008 -0500 kbuild: fix some minor typoes Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit eed7d2798ce7b78547106d0c3557a88251b413d0 Author: Sam Ravnborg Date: Fri Apr 25 20:13:30 2008 +0200 kbuild: error out on missing MODULE_LICENSE Adrian Bunk suggested a build time check for missing MODULE_LICENSE annotation in modules. The build time check is fatal as we really want this fixed for all modules. In-tree modules should all have been fixed up by now. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk commit 9f4def9ae4772ea3da5e2359de698742ebae53b5 Author: Jonathan Corbet Date: Fri Apr 25 11:56:37 2008 -0600 Document seq_path_root() Signed-off-by: Jonathan Corbet commit 00c6b2d5d7b2414bd46c620d6a8c37fa7a716f29 Author: Ingo Molnar Date: Fri Apr 25 17:07:03 2008 +0200 x86: harden kernel code patching Signed-off-by: Ingo Molnar commit b7b66baa8bc3f8e0cda6576e31e9bde09382565d Author: Mathieu Desnoyers Date: Thu Apr 24 11:03:33 2008 -0400 x86: clean up text_poke() Clean up the codepath, remove alignment restrictions and do sanity checking of the end result, to make sure we patched the right site. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 8b132ecbcfea8b1b556a832df7290379df79ad79 Author: Jiri Slaby Date: Mon Apr 28 02:51:23 2008 +0200 x86: fix text_poke() kernel_text_address returns true even for modules which is not wanted in text_poke. Use core_kernel_text instead. This is a regression introduced in e587cadd8f47e202a30712e2906a65a0606d5865 which caused occasionaly crashes after suspend/resume. Signed-off-by: Jiri Slaby CC: Mathieu Desnoyers CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 70c9f590ffc3f959cc81c1a3cecb6b8133caf35d Author: Ingo Molnar Date: Fri Apr 25 18:05:57 2008 +0200 x86: remove set_fixmap() warning set_fixmap()+clear_fixmap() is safe. Signed-off-by: Ingo Molnar commit 82a355f5a2fdc203e5a32626d667ec43fc76b8b1 Author: Ingo Molnar Date: Fri Apr 25 18:28:21 2008 +0200 x86: make __set_fixmap() non-init Signed-off-by: Ingo Molnar commit 3ec96783e3c1d21bf9a1fa3f238f8354c92827f6 Author: Ingo Molnar Date: Fri Apr 25 18:25:25 2008 +0200 x86: make clear_fixmap() available on 64-bit as well Signed-off-by: Ingo Molnar commit 0fe8a3ce73ef31d1480e82798503948a979e8e52 Author: Jonathan Corbet Date: Fri Apr 25 11:23:56 2008 -0600 Various fixes to Documentation/HOWTO Fix a number of things which have gone somewhat out-of-date over the last few months. Signed-off-by: Jonathan Corbet commit 460895c4b234754804300c074dfba104fa069afa Author: Jesse Barnes Date: Fri Apr 25 10:14:28 2008 -0700 Update MAINTAINERS with location of PCI tree The PCI tree is now in git at kernel.org:/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git; add that info to MAINTAINERS. commit e36cd4a2873c398ba188f16e4087cce7f00a1506 Author: J. Bruce Fields Date: Thu Apr 24 16:59:30 2008 -0400 nfsd: don't allow setting ctime over v4 Presumably this is left over from earlier drafts of v4, which listed TIME_METADATA as writeable. It's read-only in rfc 3530, and shouldn't be modifiable anyway. Signed-off-by: J. Bruce Fields commit c272cca625ab507e7cc23708ee5c64d2f384708f Author: James Lentini Date: Thu Apr 24 15:57:43 2008 -0400 Update to NFS/RDMA documentation Update to the NFS/RDMA documentation to clarify how to configure the exports file. Signed-off-by: James Lentini Signed-off-by: J. Bruce Fields commit 1a747ee0cc11a198f9e2435add821bd0dfedb7c1 Author: J. Bruce Fields Date: Thu Apr 24 10:08:22 2008 -0400 locks: don't call ->copy_lock methods on return of conflicting locks The file_lock structure is used both as a heavy-weight representation of an active lock, with pointers to reference-counted structures, etc., and as a simple container for parameters that describe a file lock. The conflicting lock returned from __posix_lock_file is an example of the latter; so don't call the filesystem or lock manager callbacks when copying to it. This also saves the need for an unnecessary locks_init_lock in the nfsv4 server. Thanks to Trond for pointing out the error. Signed-off-by: J. Bruce Fields Cc: Trond Myklebust commit 17efa372cfe4d189705edf6cd4fbe283827a5dc7 Author: Wendy Cheng Date: Thu Jan 17 11:10:12 2008 -0500 lockd: unlock lockd locks held for a certain filesystem Add /proc/fs/nfsd/unlock_filesystem, which allows e.g.: shell> echo /mnt/sfs1 > /proc/fs/nfsd/unlock_filesystem so that a filesystem can be unmounted before allowing a peer nfsd to take over nfs service for the filesystem. Signed-off-by: S. Wendy Cheng Cc: Lon Hohberger Cc: Christoph Hellwig Signed-off-by: J. Bruce Fields fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++----- fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++ include/linux/lockd/lockd.h | 7 ++++ 3 files changed, 131 insertions(+), 7 deletions(-) commit 4373ea84c84d8a96e99d3da99e813d3e36d1bd11 Author: Wendy Cheng Date: Thu Jan 17 11:10:12 2008 -0500 lockd: unlock lockd locks associated with a given server ip For high-availability NFS service, we generally need to be able to drop file locks held on the exported filesystem before moving clients to a new server. Currently the only way to do that is by shutting down lockd entirely, which is often undesireable (for example, if you want to continue exporting other filesystems). This patch allows the administrator to release all locks held by clients accessing the client through a given server ip address, by echoing that address to a new file, /proc/fs/nfsd/unlock_ip, as in: shell> echo 10.1.1.2 > /proc/fs/nfsd/unlock_ip The expected sequence of events can be: 1. Tear down the IP address 2. Unexport the path 3. Write IP to /proc/fs/nfsd/unlock_ip to unlock files 4. Signal peer to begin take-over. For now we only support IPv4 addresses and NFSv2/v3 (NFSv4 locks are not affected). Also, if unmounting the filesystem is required, we assume at step 3 that clients using the given server ip are the only clients holding locks on the given filesystem; otherwise, an additional patch is required to allow revoking all locks held by lockd on a given filesystem. Signed-off-by: S. Wendy Cheng Cc: Lon Hohberger Cc: Christoph Hellwig Signed-off-by: J. Bruce Fields fs/lockd/svcsubs.c | 66 +++++++++++++++++++++++++++++++++++++++----- fs/nfsd/nfsctl.c | 65 +++++++++++++++++++++++++++++++++++++++++++ include/linux/lockd/lockd.h | 7 ++++ 3 files changed, 131 insertions(+), 7 deletions(-) commit 9d91cdcc0cce3186742f38e7352459b2087fbb86 Author: David M. Richter Date: Wed Apr 23 16:29:02 2008 -0400 leases: remove unneeded variable from fcntl_setlease(). fcntl_setlease() has a struct dentry* that is used only once; this patch removes it. Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 190855576743a510219fc67886dace29b825d8cb Author: David M. Richter Date: Wed Apr 23 16:29:01 2008 -0400 leases: move lock allocation earlier in generic_setlease() In generic_setlease(), the struct file_lock is allocated after tests for the presence of conflicting readers/writers is done, despite the fact that the allocation might block; this patch moves the allocation earlier. A subsequent set of patches will rely on this behavior to properly serialize between a modified __break_lease() and generic_setlease(). Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 288b2fd8251cb0bcb14b8a93755ef9c78de70e0f Author: David M. Richter Date: Wed Apr 23 16:29:00 2008 -0400 leases: when unlocking, skip locking-related steps In generic_setlease(), we don't need to allocate a new struct file_lock or check for readers or writers when called with F_UNLCK. Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit 5fcc60c3a05bf417229fba715e7aec52bf6717fb Author: David M. Richter Date: Wed Apr 23 16:28:59 2008 -0400 leases: fix a return-value mixup Fixes a return-value mixup from 85c59580b30c82aa771aa33b37217a6b6851bc14 "locks: Fix potential OOPS in generic_setlease()", in which -ENOMEM replaced what had been intended to stay -EAGAIN in the variable "error". Signed-off-by: David M. Richter Signed-off-by: J. Bruce Fields commit e38649702ea64fdbbab3dd459bf8558142dd3bc4 Author: Tony Breeds Date: Thu Apr 24 09:02:04 2008 +0200 ieee1394: silence defined but not used warning in non-modular builds Currently the kernel will issue the following warning: drivers/ieee1394/raw1394.c:2938: warning: 'raw1394_id_table' defined but not used Add #ifdef MODULE guards around the declaration. Signed-off-by: Tony Breeds Ditto with dv1394_id_table and video1394_id_table. Signed-off-by: Stefan Richter commit cc9429bcb6e36e9f2c51e4e47b95740e472c4c2d Author: Pieter Palmers Date: Wed Mar 19 22:10:59 2008 +0100 ieee1394: rawiso: requeue packet for transmission after skipped cycle As it seems, some host controllers have issues that can cause them to skip cycles now and then when using large packets. I suspect that this is due to DMA not succeeding in time. If the transmit fifo can't contain more than one packet (big packets), the DMA should provide a new packet each cycle (125us). I am under the impression that my current PCI express test system can't guarantee this. In any case, the patch tries to provide a workaround as follows: The DMA program descriptors are modified such that when an error occurs, the DMA engine retries the descriptor the next cycle instead of stalling. This way no data is lost. The side effect of this is that packets are sent with one cycle delay. This however might not be that much of a problem for certain protocols (e.g. AM824). If they use padding packets for e.g. rate matching they can drop one of those to resync the streams. The amount of skips between two userspace wakeups is counted. This number is then propagated to userspace through the upper 16 bits of the 'dropped' parameter. This allows unmodified userspace applications due to the following: 1) libraw simply passes this dropped parameter to the user application 2) the meaning of the dropped parameter is: if it's nonzero, something bad has happened. The actual value of the parameter at this moment does not have a specific meaning. A libraw client can then retrieve the number of skipped cycles and account for them if needed. Signed-off-by: Pieter Palmers Signed-off-by: Stefan Richter commit e19166d5df10be0ea404c4e346cf6be93bfb1d63 Author: Jeff Garzik Date: Fri Apr 18 19:22:52 2008 -0400 [SCSI] aha152x, eata, u14-34f: minor irq handler cleanups - remove pointless casts from void* - remove needless references to 'irq' function argument, when that information is already stored somewhere in a driver-private struct. - where the 'irq' function argument is known never to be used, rename it to 'dummy' to make this more obvious - remove always-false tests for dev_id==NULL - remove always-true tests for 'irq == host_struct->irq' - replace per-irq lookup functions and tables with a direct reference to data object obtained via 'dev_id' function argument, passed from request_irq() This change's main purpose is to prepare for the patchset in jgarzik/misc-2.6.git#irq-remove, that explores removal of the never-used 'irq' argument in each interrupt handler. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 21f20b69a567ca8971fe643d2ebe5d680c9b43af Author: Uwe Kleine-König Date: Fri Apr 25 15:24:59 2008 +0200 ns9xxx: fix sparse warning The actual warning is arch/arm/mach-ns9xxx/irq.c:65:6: warning: symbol 'handle_prio_irq' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König commit a57a0b1d0f66da5ff5dc8f1a5a999f4d2f66090a Author: Uwe Kleine-König Date: Fri Apr 25 15:16:17 2008 +0200 ns9xxx: check for irq lockups When I copy-adapted handle_level_irq I skipped note_interrupt because I considered it unimportant. If I had understand its importance I would have saved myself some ours of debugging. Signed-off-by: Uwe Kleine-König commit a13c81952444d032ad3b5b7027b330150dbe2408 Author: Uwe Kleine-König Date: Fri Apr 25 15:03:18 2008 +0200 ns9xxx: fix handle_prio_irq to unmask irqs with lower priority When an irq is reported all lower prio irqs are masked until the current irq is acked. So never leave handle_prio_irq without acking. desc->status & IRQ_INPROGRESS should never become true because the current irq is masked until it is acked, too. Signed-off-by: Uwe Kleine-König commit f8f95702f0c4529b0f59488f4509608f0c160e77 Author: Al Viro Date: Wed Apr 23 20:38:10 2008 -0400 [PATCH] sanitize locate_fd() * 'file' argument is unused; lose it. * move setting flags from the caller (dupfd()) to locate_fd(); pass cloexec flag as new argument. Note that files_fdtable() that used to be in dupfd() isn't needed in the place in locate_fd() where the moved code ends up - we know that ->file_lock hadn't been dropped since the last time we calculated fdt because we can get there only if expand_files() returns 0 and it doesn't drop/reacquire in that case. * move getting/dropping ->file_lock into locate_fd(). Now the caller doesn't need to do anything with files_struct *files anymore and we can move that inside locate_fd() as well, killing the struct files_struct * argument. At that point locate_fd() is extremely similar to get_unused_fd_flags() and the next patches will merge those two. Signed-off-by: Al Viro commit 3b1253880b7a9e6db54b943b2d40bcf2202f58ab Author: Al Viro Date: Tue Apr 22 05:31:30 2008 -0400 [PATCH] sanitize unshare_files/reset_files_struct * let unshare_files() give caller the displaced files_struct * don't bother with grabbing reference only to drop it in the caller if it hadn't been shared in the first place * in that form unshare_files() is trivially implemented via unshare_fd(), so we eliminate the duplicate logics in fork.c * reset_files_struct() is not just only called for current; it will break the system if somebody ever calls it for anything else (we can't modify ->files of somebody else). Lose the task_struct * argument. Signed-off-by: Al Viro commit fd8328be874f4190a811c58cd4778ec2c74d2c05 Author: Al Viro Date: Tue Apr 22 05:11:59 2008 -0400 [PATCH] sanitize handling of shared descriptor tables in failing execve() * unshare_files() can fail; doing it after irreversible actions is wrong and de_thread() is certainly irreversible. * since we do it unconditionally anyway, we might as well do it in do_execve() and save ourselves the PITA in binfmt handlers, etc. * while we are at it, binfmt_som actually leaked files_struct on failure. As a side benefit, unshare_files(), put_files_struct() and reset_files_struct() become unexported. Signed-off-by: Al Viro commit 6b335d9c80d7f3c2a3f6545f664ae9007a0f3821 Author: Al Viro Date: Tue Apr 22 04:45:46 2008 -0400 [PATCH] close race in unshare_files() updating current->files requires task_lock Signed-off-by: Al Viro commit 42faad99658eed7ca8bd328ffa4bcb7d78c9bcca Author: Al Viro Date: Thu Apr 24 07:21:56 2008 -0400 [PATCH] restore sane ->umount_begin() API Signed-off-by: Al Viro commit 78d31a3a87f84cf56004b7bc154831f2ee1186e8 Author: Igor Mammedov Date: Thu Apr 24 12:56:07 2008 +0400 cifs: timeout dfs automounts +little fix. Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit e3dcc5a387fc38e9c3c6c4f857cd9a7f71a8553a Author: Milan Broz Date: Thu Apr 24 22:11:03 2008 +0100 dm crypt: add documentation Add description of dm-crypt to device-mapper documentation. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit cf13ab8e02d452e2236d0b5fda9972b3b7f503cb Author: Frederik Deweerdt Date: Thu Apr 24 22:10:59 2008 +0100 dm: remove md argument from specific_minor The small patch below: - Removes the unused md argument from both specific_minor() and next_free_minor() - Folds kmalloc + memset(0) into a single kzalloc call in alloc_dev() This has been compile tested on x86. Signed-off-by: Frederik Deweerdt Signed-off-by: Alasdair G Kergon commit 4fdfe401e9d7e30029972d568c667234c0c1d828 Author: Adrian Bunk Date: Thu Apr 24 22:10:56 2008 +0100 dm table: remove unused dm_create_error_table dm_create_error_table() was added in kernel 2.6.18 and never used... Signed-off-by: Adrian Bunk Signed-off-by: Alasdair G Kergon commit e8488d08586e6df7fab3db7881631bb13619311b Author: Adrian Bunk Date: Thu Apr 24 22:10:51 2008 +0100 dm table: drop void suspend_targets return void returning functions returned the return value of another void returning function... Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Alasdair G Kergon commit 7ff14a36159d947872870e7a3e9dcaebc46b23eb Author: Mikulas Patocka Date: Thu Apr 24 22:10:47 2008 +0100 dm: unplug queues in threads Remove an avoidable 3ms delay on some dm-raid1 and kcopyd I/O. It is specified that any submitted bio without BIO_RW_SYNC flag may plug the queue (i.e. block the requests from being dispatched to the physical device). The queue is unplugged when the caller calls blk_unplug() function. Usually, the sequence is that someone calls submit_bh to submit IO on a buffer. The IO plugs the queue and waits (to be possibly joined with other adjacent bios). Then, when the caller calls wait_on_buffer(), it unplugs the queue and submits the IOs to the disk. This was happenning: When doing O_SYNC writes, function fsync_buffers_list() submits a list of bios to dm_raid1, the bios are added to dm_raid1 write queue and kmirrord is woken up. fsync_buffers_list() calls wait_on_buffer(). That unplugs the queue, but there are no bios on the device queue as they are still in the dm_raid1 queue. wait_on_buffer() starts waiting until the IO is finished. kmirrord is scheduled, kmirrord takes bios and submits them to the devices. The submitted bio plugs the harddisk queue but there is no one to unplug it. (The process that called wait_on_buffer() is already sleeping.) So there is a 3ms timeout, after which the queues on the harddisks are unplugged and requests are processed. This 3ms timeout meant that in certain workloads (e.g. O_SYNC, 8kb writes), dm-raid1 is 10 times slower than md raid1. Every time we submit something asynchronously via dm_io, we must unplug the queue actually to send the request to the device. This patch adds an unplug call to kmirrord - while processing requests, it keeps the queue plugged (so that adjacent bios can be merged); when it finishes processing all the bios, it unplugs the queue to submit the bios. It also fixes kcopyd which has the same potential problem. All kcopyd requests are submitted with BIO_RW_SYNC. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon Acked-by: Jens Axboe commit a2aebe03be60ae4da03507a00d60211d5e0327c3 Author: Mikulas Patocka Date: Thu Apr 24 22:10:42 2008 +0100 dm raid1: use timer This patch replaces the schedule() in the main kmirrord thread with a timer. The schedule() could introduce an unwanted delay when work is ready to be processed. The code instead calls wake() when there's work to be done immediately, and delayed_wake() after a failure to give a short delay before retrying. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a765e20eeb423d0fa6a02ffab51141e53bbd93cb Author: Alasdair G Kergon Date: Thu Apr 24 22:02:01 2008 +0100 dm: move include files Publish the dm-io, dm-log and dm-kcopyd headers in include/linux. Signed-off-by: Alasdair G Kergon commit 2d1e580afe23287871529ce54429e249809525a1 Author: Alasdair G Kergon Date: Thu Apr 24 21:55:00 2008 +0100 dm kcopyd: rename Rename kcopyd.[ch] to dm-kcopyd.[ch]. Signed-off-by: Alasdair G Kergon commit 0da336e5fab75c712ba8c67f3135d5a20528465f Author: Alasdair G Kergon Date: Thu Apr 24 21:43:52 2008 +0100 dm: expose macros Make dm.h macros and inlines available in include/linux/device-mapper.h Signed-off-by: Alasdair G Kergon commit 945fa4d283a3a472186c11028f6fea1e77a91d14 Author: Mikulas Patocka Date: Thu Apr 24 21:43:49 2008 +0100 dm kcopyd: remove redundant client counting Remove client counting code that is no longer needed. Initialization and destruction is made globally from dm_init and dm_exit and is not based on client counts. Initialization allocates only one empty slab cache, so there is no negative impact from performing the initialization always, regardless of whether some client uses kcopyd or not. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 08d8757a4d52d21d825b9170af36f2696d1da1a8 Author: Mikulas Patocka Date: Thu Apr 24 21:43:46 2008 +0100 dm kcopyd: private mempool Change the global mempool in kcopyd into a per-device mempool to avoid deadlock possibilities. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 8c0cbc2f79bb222d21b466422fde71fcc9bd37e3 Author: Mikulas Patocka Date: Thu Apr 24 21:43:44 2008 +0100 dm kcopyd: per device Make one kcopyd thread per device. The original shared kcopyd could deadlock. Configuration: commit 2a23aa1ddb1f0c9eef2c929c89565c387f6bf68b Author: Jonathan Brassow Date: Thu Apr 24 21:43:41 2008 +0100 dm log: make module use tracking internal Remove internal module reference fields from the interface. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit b8206bc3de0b0665d47655d270c18ea46aff5372 Author: Alasdair G Kergon Date: Thu Apr 24 21:43:38 2008 +0100 dm log: move register functions Reorder a couple of functions in the file so the next patch is readable. Signed-off-by: Alasdair G Kergon commit 416cd17b1982217bca3dc41b9f00b0b38fdaadad Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:35 2008 +0100 dm log: clean interface Clean up the dm-log interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit eb69aca5d3370b81450d68edeebc2bb9a3eb9689 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:19 2008 +0100 dm kcopyd: clean interface Clean up the kcopyd interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit 22a1ceb1e6a7fbce95a1531ff10bb4fb036d4a37 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:17 2008 +0100 dm io: clean interface Clean up the dm-io interface to prepare for publishing it in include/linux. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit e01fd7eeb00f8078103f4ed3e8ef64474c11f300 Author: Alasdair G Kergon Date: Thu Apr 24 21:43:14 2008 +0100 dm io: rename error to error_bits Rename 'error' to 'error_bits' for clarity. Signed-off-by: Alasdair G Kergon commit 72727bad544b4ce0a3f7853bfd7ae939f398007d Author: Mikulas Patocka Date: Thu Apr 24 21:43:11 2008 +0100 dm snapshot: store pointer to target instance Save pointer to dm_target in dm_snapshot structure. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 769aef30f0f505c44bbe9fcd2c911a052a386139 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:09 2008 +0100 dm log: move dirty region log code into separate module Move the dirty region log code into a separate module so other targets can share the code. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit b7fd54a70f99061721e604d72d940541e5b2b168 Author: Heinz Mauelshagen Date: Thu Apr 24 21:43:06 2008 +0100 dm log: generalise name in messages Change dm-log.c messages from "mirror log" to "dirty region log" as a new dm target wants to share this code. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon commit c12bfc923ee02de5611730ddec087c11b3947038 Author: Robert P. J. Day Date: Thu Apr 24 21:42:44 2008 +0100 dm raid1: use list_split_init Use shorter list_splice_init() for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: Alasdair G Kergon commit 8ee2767a5903fde549fd3597690f64c8d951051a Author: Milan Broz Date: Thu Apr 24 21:42:36 2008 +0100 dm snapshot: reduce default memory allocation Limit the amount of memory allocated per snapshot on systems with a large page size. (The larger default chunk size on these systems compensates for the smaller number of pages reserved.) Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 924362629bf5645aee5f49f8a0d0d5b193e65997 Author: Mikulas Patocka Date: Thu Apr 24 21:41:50 2008 +0100 dm snapshot: fix chunksize sector conversion If a snapshot has a smaller chunksize than the page size the conversion to pages currently returns 0 instead of 1, causing: kernel BUG in mempool_resize. Signed-off-by: Mikulas Patocka Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: stable@kernel.org commit 2664ef44cf5053d2b7dff01cecac70bc601a5f68 Author: David S. Miller Date: Fri Apr 25 03:11:37 2008 -0700 [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). Otherwise all sorts of bad things can happen, including spurious softlockup reports. Other platforms have this same bug, in one form or another, just don't see the issue because they don't sleep as long as sparc64 can in NOHZ. Thanks to some brilliant debugging by Peter Zijlstra. Signed-off-by: David S. Miller commit 020cfb05f2c594c778537159bd45ea5efb0c5e0d Author: David S. Miller Date: Fri Apr 25 02:12:05 2008 -0700 [SPARC64]: Fix args to 64-bit sys_semctl() via sys_ipc(). Second and third arguments were swapped for whatever reason. Reported by Tom Callaway. Signed-off-by: David S. Miller commit 653252c2302cdf2dfbca66a7e177f7db783f9efa Author: Pavel Emelyanov Date: Fri Apr 25 01:49:48 2008 -0700 net: Fix wrong interpretation of some copy_to_user() results. I found some places, that erroneously return the value obtained from the copy_to_user() call: if some amount of bytes were not able to get to the user (this is what this one returns) the proper behavior is to return the -EFAULT error, not that number itself. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3887ed5231fb6f339f36c3a0297c996cd1a1dad9 Author: Michael Hennerich Date: Fri Apr 25 12:07:33 2008 +0800 [MTD] m25p80: Add Support for ATMEL AT25DF641 64-Megabit SPI Flash Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 2230b76b3838a37167f80487c694d8691248da9f Author: Bryan Wu Date: Fri Apr 25 12:07:32 2008 +0800 [MTD] m25p80: add FAST_READ access support to M25Pxx Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit afc4bca63941746f1d49394620d294074150e664 Author: Michael Hennerich Date: Fri Apr 25 12:07:31 2008 +0800 [MTD] [NAND] bf5xx_nand: Avoid crash if bfin_mac is installed. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4053 Singed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 2314488e81b6f8966d3ea607c4517a64bf58f283 Author: Atsushi Nemoto Date: Thu Apr 24 23:51:29 2008 +0900 [MTD] [NAND] at91_nand: control NCE signal This driver did not control NCE signal during normal operations (only enable NCE on probing and disable NCE on removing). This patch make NCE signal inactive on idle state. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 5a9d3225a0d7060bdf3a18018992dc8cef958425 Author: David Miller Date: Thu Apr 24 20:46:20 2008 -0700 sched: use alloc_bootmem() instead of alloc_bootmem_low() There is no guarantee that there is physical ram below 4GB, and in fact many boxes don't have exactly that. Signed-off-by: David S. Miller Signed-off-by: Ingo Molnar commit d43fa1499622e3e561380c34e076aade954e2c2c Author: Richard Genoud Date: Fri Apr 25 09:32:26 2008 +0200 [MTD] [NAND] AT91 hardware ECC compile fix for at91sam9263 / at91sam9260 The sam926x docs allegedly don't list an "ECC_PARITY" field, and the header files in the upstream kernel don't have it either. Masking with it was useless anyway, so just remove it. Signed-off-by: Richard Genoud Signed-off-by: David Woodhouse commit cc93d7d77d28d65d4f947dabc95a01c42d713ea3 Merge: 461e6c8... f946dff... Author: David S. Miller Date: Fri Apr 25 00:31:07 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 461e6c856faf9cdd8862fa4d0785974a64e39dba Author: Eric Dumazet Date: Fri Apr 25 00:29:00 2008 -0700 xfrm: alg_key_len & alg_icv_len should be unsigned In commit ba749ae98d5aa9d2ce9a7facde0deed454f92230 ([XFRM]: alg_key_len should be unsigned to avoid integer divides ) alg_key_len field of struct xfrm_algo was converted to unsigned int to avoid integer divides. Then Herbert in commit 1a6509d991225ad210de54c63314fd9542922095 ([IPSEC]: Add support for combined mode algorithms) added a new structure xfrm_algo_aead, that resurrected a signed int for alg_key_len and re-introduce integer divides. This patch avoids these divides and saves 64 bytes of text on i386. Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller commit f946dffed6334f08da065a89ed65026ebf8b33b4 Author: Jeff Garzik Date: Fri Apr 25 03:11:31 2008 -0400 [netdrvr] tehuti: move ioctl perm check closer to function start Noticed by davem. Signed-off-by: Jeff Garzik commit 5b3f129c5592ca35b3fe8916767c58b98710478c Author: Michael Beasley Date: Thu Apr 24 23:50:30 2008 -0700 ipv6: Fix typo in net/ipv6/Kconfig Two is used in the wrong context here, as you are connecting to an IPv6 network over IPv4; not connecting two IPv6 networks to an IPv4 one. Signed-off-by: Michael Beasley Signed-off-by: David S. Miller commit d4f73c8e459d355e10051174d859ffd0ef5764c0 Author: Francois Romieu Date: Thu Apr 24 23:32:33 2008 +0200 via-velocity: fix vlan receipt - vlans were using a single CAM register (see mac_set_vlan_cam) - setting the address filtering registers for vlans is not needed when there is no vlan The non-tagged interface is filtered out as soon as a tagged (!= 0) interface is created. Its traffic appears again when an zero-tagged interface is created. Tested on Via Epia SN (VT6130 chipset) with several vlans whose tag was above or beyond 255. Signed-off-by: Séguier Régis Acked-by: Francois Romieu Signed-off-by: Jeff Garzik commit 78c6146f16d45f52c33ddb6b48c10fc6cfc53659 Author: Eric Dumazet Date: Thu Apr 24 23:33:06 2008 -0700 tg3: sparse cleanup Fix the following sparse warning : drivers/net/tg3.c:4025:3: warning: context imbalance in 'tg3_restart_hw' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9f3f7910c67adfb520bbae3d8b16985439a97198 Author: Ayaz Abdulla Date: Wed Apr 23 14:37:30 2008 -0400 forcedeth: realtek phy crossover detection This patch fixes an issue seen with the realtek 8201 phy. This phy has a problem with crossover detection and it needs to be disabled. The problem only arises on certain switches. Therefore, a module parameter has been added to allow enabling crossover detection if needed. The default will be set to disabled. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit cca87c18ce3357e52facf6519f4ab0fbedd1279f Author: Benjamin Herrenschmidt Date: Wed Apr 23 15:17:14 2008 +1000 ibm_newemac: Increase MDIO timeouts This patch doubles the MDIO timeouts in EMAC as there are field cases where they are two short to communicate with some PHYs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 815b97c6b8861f2e539c9ecb44c02b7b8ac11ca4 Author: Andy Fleming Date: Tue Apr 22 17:18:29 2008 -0500 gianfar: Fix skb allocation strategy gianfar was unable to handle failed skb allocation for rx buffers, so we were spinning until it succeeded. Actually, it was worse--we were spinning for a long time, and then silently failing. Instead, we take Stephen Hemminger's suggestion to try the allocation earlier, and drop the packet if it failed. We also make a couple of tweaks to how buffer descriptors are set up. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 8d74849b91536b126c822968b0f5a1dfd658394d Author: Harvey Harrison Date: Tue Apr 22 11:48:35 2008 -0700 netxen: reduce stack usage of netxen_nic_flash_print Don't need to keep a struct netxen_new_user_info on the stack when we only are interested in printing the serial_num. Change to only reading the serial_num. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit db2961c5a13562503c82ae306af269fde4fea8f0 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 13:50:48 2008 -0700 smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt} When timeout reaches 0 the postfix decrement still subtracts, so the test fails. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Peter Korsgaard Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 72abb46101fb5c47a9592914adb221b430ff26bd Author: Kay Sievers Date: Fri Apr 18 13:50:44 2008 -0700 net drivers: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable network platform drivers, to re-enable auto loading. NOTE: didn't change drivers/net/fs_enet/fs_enet-main.c "old binding" support. That looks problematic in the first place (it even uses the ancient "struct device_driver" binding scheme for platform_bus!) and I suspect it will vanish soonish when arch/powerpc rules the world. Also, drivers/net/ne.c would have needed more thought to sort out. [akpm@linux-foundation.org: fix sgiseeq.c] [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Scott Wood Cc: Vitaly Bordug Cc: Dale Farnsworth Cc: Ben Dooks Cc: Ralf Baechle Cc: Andrew Victor Cc: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a433686c73bf63242475ef7e611114f43dd06581 Author: Ayaz Abdulla Date: Fri Apr 18 13:50:43 2008 -0700 forcedeth: new backoff implementation This patch adds support for a new backoff algorithm for half duplex supported in newer hardware. The old method is will be designated as legacy mode. Re-seeding random values for the backoff algorithms are performed when a transmit has failed due to a maximum retry count (1 to 15, where max is considered the wraparound case of 0). Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 22559c5d7488fe21f5f46117a4d275fc72066aa6 Author: Andrew Morton Date: Fri Apr 18 13:50:39 2008 -0700 ehea: make things static ehea_flush_sq() and ehea_purge_sq() should be static. Cc: Jeff Garzik Cc: Thomas Klein Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f62220d3a9ccb879c3f90f845ae57b724b7bbb62 Author: Andy Fleming Date: Fri Apr 18 17:29:54 2008 -0500 phylib: Add support for board-level PHY fixups Sometimes the specific interaction between the platform and the PHY requires special handling. For instance, to change where the PHY's clock input is, or to add a delay to account for latency issues in the data path. We add a mechanism for registering a callback with the PHY Lib to be called on matching PHYs when they are brought up, or reset. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 8ec7226a93dcd4a314e2387d1033aef01145061b Author: Chris Snook Date: Fri Apr 18 21:51:53 2008 -0400 [netdrvr] atlx: code movement: move atl1 parameter parsing Move some code from atlx.c to atl1.c to prevent build conflict with the upcoming atl2 code. No changes, just movement. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 3b49f0354561aefc5235b8dd6ee4ae779a26e06b Author: Chris Snook Date: Fri Apr 18 21:47:41 2008 -0400 atlx: remove flash vendor parameter There's no good reason to manually set the flash vendor in a module parameter, outside of an Atheros hardware lab. Remove it, so nobody accidentally bricks their board using it incorrectly. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit e3152ab901bcec132639d123b0e7c2b5ed237957 Author: Francois Romieu Date: Sun Apr 20 18:06:13 2008 +0200 korina: misc cleanup - useless initialization (korina_ope / korina_restart) - use a single variable for the status code in korina_probe and propagate the error status code from below - useless checks in korina_remove : the variables are necessarily set when korina_probe succeeds Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 751c2e4755027468a79349f8e9f4885a4518426e Author: Francois Romieu Date: Sun Apr 20 18:05:31 2008 +0200 korina: fix misplaced return statement The driver takes the error unwind path without condition. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit d753d82405ac3504ed69fb6be4d219d9702b8d64 Author: Krzysztof Halasa Date: Sun Apr 20 19:10:56 2008 +0200 WAN: Fix confusing insmod error code for C101 too. Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 7cda1edf029370d396fb610f7e41fad9a7123164 Author: Cédric Augonnet Date: Sun Apr 20 19:15:51 2008 +0200 Removing dead code in drivers/net/wan/hdlc_fr.c The local variable "prefix" is never used anymore, and the content of this string appears a bit later, directly in a call to "alloc_netdev" after doing exactly the same if/else test. So there seems to be no point keeping those 4 lines anymore. Signed-off-by: Cédric Augonnet Signed-off-by: Krzysztof Hałasa Signed-off-by: Jeff Garzik commit 6131a2601f42cd7fdbac0e960713396fe68af59f Author: Francois Romieu Date: Sun Apr 20 19:32:34 2008 +0200 tehuti: check register size Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 5a0e2cd51145748c4fd44d0c3a06d39eb87e8725 Author: Grant Grundler Date: Sun Apr 20 22:44:15 2008 -0600 [netdrvr] typhoon: typhoon_resume - remove call to start_queue While trying to fix http://bugzilla.kernel.org/show_bug.cgi?id=8952 I looked at a few other drivers to figure out what drivers _should_ be doing for suspend/resume. I noticed typhoon driver is likely doing more than it needs to. Patch below is untested since I don't have the HW. Suspend/resume code across NIC drivers is fairly inconsistent. And I couldn't find any documentation on what the canonical sequence NICs need to do for suspend or resume. Is there any? Barring contrary advice, I'm going model the tulip suspend/resume fixes after tg3.c since a number of "modern" (< 5 years old) laptops have that and I'm silly enough to assume it works. Signed-off-by: Jeff Garzik commit 11121e3008a9282fc185cb2e81eda2d5436d099b Author: Valentine Barshak Date: Tue Apr 22 10:46:48 2008 +1000 ibm_newemac: PowerPC 440EP/440GR EMAC PHY clock workaround This patch adds ibm_newemac PHY clock workaround for 440EP/440GR EMAC attached to a PHY which doesn't generate RX clock if there is no link. The code is based on the previous ibm_emac driver stuff. The 440EP/440GR allows controlling each EMAC clock separately as opposed to global clock selection for 440GX. BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff doesn't exist for MMIO type DCRs like Cell. Some future rework & improvements of the DCR infrastructure will make that cleaner but for now, this makes it work. Signed-off-by: Valentine Barshak Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 0925ab5d385b6cd1c435c82bfc01898c81f3d062 Author: Valentine Barshak Date: Tue Apr 22 10:46:46 2008 +1000 ibm_newemac: PowerPC 440GX EMAC PHY clock workaround The PowerPC 440GX Taishan board fails to reset EMAC3 (reset timeout error) if there's no link. Because of that it fails to find PHY chip. The older ibm_emac driver had a workaround for that: the EMAC_CLK_INTERNAL/EMAC_CLK_EXTERNAL macros, which toggle the Ethernet Clock Select bit in the SDR0_MFR register. This patch does the same for "ibm,emac-440gx" compatible chips. The workaround forces clock on -all- EMACs, so we select clock under global emac_phy_map_lock. BenH: Made that #ifdef CONFIG_PPC_DCR_NATIVE for now as dcri_* stuff doesn't exist for MMIO type DCRs like Cell. Some future rework & improvements of the DCR infrastructure will make that cleaner but for now, this makes it work. Signed-off-by: Valentine Barshak Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit be63c09afe9153be6ba4373d1b69848cf2b32268 Author: Josh Boyer Date: Tue Apr 22 10:46:44 2008 +1000 ibm_newemac Use status property for unused/unwired EMACs Convert ibm_newemac to use the of_device_is_available function when checking for unused/unwired EMACs. We leave the current check for an "unused" property to maintain backwards compatibility for older device trees. Newer device trees should simply use the standard "status" property in the EMAC node. Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 51d4a1cc2e20e2848c6141989f733f0e6548598b Author: Josh Boyer Date: Tue Apr 22 10:46:43 2008 +1000 ibm_newemac: Fix section mismatch warnings This patch fixes several section mismatch warnings in the ibm_newemac driver similar to: WARNING: vmlinux.o(.devinit.text+0x3a04): Section mismatch in reference from the function emac_probe() to the function .devexit.text:tah_detach() The function __devinit emac_probe() references a function __devexit tah_detach(). Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit afd1dee896e8b1cbd24258ac673aeccd803ff582 Author: Stefan Roese Date: Tue Apr 22 10:46:42 2008 +1000 ibm_newemac: Add support for 460EX/GT-type MAL rx-channel handling On some 4xx PPC's (e.g. 460EX/GT), the rx channel number is a multiple of 8 (e.g. 8 for EMAC1, 16 for EMAC2), but enabling in MAL_RXCASR needs the divided by 8 value for the bitmask. Signed-off-by: Stefan Roese Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit f34ebab68a8e3c80ff4364f4c61734faec5161d4 Author: Stefan Roese Date: Tue Apr 22 10:46:42 2008 +1000 ibm_newemac: Fix problem with jumbo frame support and EMAC V4.patch This fixes the jumbo frame support on EMAC V4 systems. Now the correct bit is set depending on the EMAC version configured. Tested on Kilauea (405EX) and Canyonlands (460EX). Signed-off-by: Stefan Roese Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit f014e97ec6a447184f48a9d43432ab2ad1ffc7d8 Author: Jesse Brandeburg Date: Wed Apr 23 11:09:39 2008 -0700 e1000e: Increment version to 0.2.1 Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c682fc238a9ed45633822f107e1e9de192059bcc Author: Auke Kok Date: Wed Apr 23 11:09:34 2008 -0700 igb: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. [after similar patches for ixgbe and e1000e from Wendy Xiong] Signed-off-by: Auke Kok Cc: Wendy Xiong Signed-off-by: Jeff Garzik commit aad32739641d3a75818fbe653d4b0d530e965f2f Author: Wendy Xiong Date: Wed Apr 23 11:09:29 2008 -0700 e1000e: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with 2ports and 4ports pci-express e1000e adapters. Signed-off-by: Wendy Xiong Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit fb3b27bc00ca2b6d69c3a22ff43b4d95fef47bed Author: Wendy Xiong Date: Wed Apr 23 11:09:24 2008 -0700 ixgbe: save and restore pcie/msi state to support EEH recovery To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with Intel 10G pci-express ixgbe adapter. Signed-off-by: Wendy Xiong Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7b1be1987c1e8163b3631dcd1ce4f03707d60c3b Author: Auke Kok Date: Wed Apr 23 11:09:19 2008 -0700 e1000e: lower ring minimum size to 64 The lower limit of 80 descriptors in the ring is only valid for one older 8254x chipset. All e1000e devices can use as low as 64 descriptors. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 2d9498f369706d6db174abd2e75b37732b9dbbde Author: David Graham Date: Wed Apr 23 11:09:14 2008 -0700 e1000e: Fix HW Error on es2lan, ARP capture issue by BMC Several components to this complex fix. The es2lan cards occasionally gave a "HW Error" especially when forcing speed. Some users also reported that the BMC stole ARP packets. The fixes include setting the proper SW_FW bits to tell the BMC that we're active and not do any un-initialization at all, so the setup routine is largely changed. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit de5b3077da8275e87196a1e34c5535f5279c5e1a Author: Auke Kok Date: Wed Apr 23 11:09:08 2008 -0700 e1000e: Add interrupt moderation run-time ethtool interface The ethtool -c / -C interface can now be used to modify the irq moderation algorithm. This change does not require an adapter reset and can thus be used at all times. The adapter only supports changing/reading rx-usecs which has special values for 0, 1 and 3: 0 - no irq moderation whatsoever 1 - normal moderation favoring regular mixed traffic (default) 3 - best attempt at low latency possible at cost of CPU For values between 10 and 10000 the rx-usecs defines "the minimum time between successive irqs" in usec, unlike the module parameter. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7c25769f88ff0b186766d6a9f9390a2e9fd4670f Author: Bruce Allan Date: Wed Apr 23 11:09:00 2008 -0700 e1000e: cleanup several stats issues Several stats registers are completely unused and we just waste pci bus time reading them. We also omit using the high 32 bits of the GORC/ GOTC counters. We can just read clear them and only read the low registers. Mii-tool can also break es2lan if it executes a MII PHY register ioctl while the device is in autonegotiation. Unfortunately it seems that several applications and installations still perform this ioctl call periodically and especially in this crucial startup time. We can fool the ioctl by providing fail safe information that mimics the "down" link state and only perform the dangerous PHY reads once after link comes up to fill in the real values. As long as link stays up the information will not change. Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c9fcbf4774d7a29b73078017af25d100f152a4af Author: Sreenivasa Honnur Date: Wed Apr 23 13:31:33 2008 -0400 S2io: Removed rx_lock and put_lock - Removed rx_lock and put_lock as the buffer replenishment and receive completion is handled serially. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 99993af6981aaf8d212a5efa888a19c9db152d58 Author: Sreenivasa Honnur Date: Wed Apr 23 13:29:42 2008 -0400 S2io: Removed receive buffer replenishment tasklet - Removed receive buffer replenishment tasklet s2io_tasklet and instead allocating the receive buffers in either the interrupt handler (no napi) or the napi handler (napi enabled). Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 10371b5e6ba22173425877ea6a7040619b005fa1 Author: Sreenivasa Honnur Date: Wed Apr 23 13:28:58 2008 -0400 S2io: Version update for memory leak fix during free_tx_buffers - Updated version number. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit b35b3b49fc6750806964048b31799c8782980ef9 Author: Sreenivasa Honnur Date: Wed Apr 23 13:28:08 2008 -0400 S2io: Fix memory leak during free_tx_buffers - Fix the memory leak during free_tx_buffers. Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit f38d1008b034e39397d3da67919e220c851db75e Author: Andy Fleming Date: Wed Apr 23 16:56:17 2008 -0500 ucc_geth: Fix sneaky merge conflict regarding bus_id The patch that changed mdio_bus to a string didn't conflict strongly enough with the patch that added fixed PHY support to UCC. Gather it back into the fold. Fixes this error: ... CC drivers/net/ucc_geth.o 'ucc_geth_probe': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/net/ucc_geth.c:3935: error: incompatible types in assignment make[3]: *** [drivers/net/ucc_geth.o] Error 1 Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit f9d42491723dbb77bdc9b9dc7e096ea57d535992 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 25 11:37:54 2008 +0800 pata_bf54x: decrease count first. When count reaches 0 the postfix decrement still subtracts (to -1), so bfin_reset_controller() returns as if the busy flag was cleared while it was not. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 85afb934575abdff1b2ac8ea4d522d1355f22a89 Author: Mark Lord Date: Sat Apr 19 14:54:41 2008 -0400 sata_mv: re-enable hotplug, update TODO list Re-enable hotplug, now that the interrupt/error handling are mostly sane. Also update the TODO list at the top. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8d07379d251ab24d937e6cb0748b71106dddbc74 Author: Mark Lord Date: Sat Apr 19 15:07:49 2008 -0400 sata_mv: leave SError bits untouched in mv_err_intr Here it is again, minus the checkpatch.pl complaint: Rework mv_err_intr() to leave the SError bits as-is, so that libata-eh has a chance to see/use them. We originally thought that clearing them here was necessary before writing back to edma_err_cause (per the Marvell datasheets), but we will end up reseting the chip regardless in those cases. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8f767f8a02e6c65d393fd0f2ca19a91c9898cc2d Author: Mark Lord Date: Sat Apr 19 14:53:07 2008 -0400 sata_mv: more interrupt handling rework Continue fixing the interrupt handling logic. Get rid of mv_intr_pio(), by using ata_sff_host_intr() for PIO.. Add a mv_unexpected_intr() catch-all for "impossible" scenarios, where we get an interrupt that shouldn't have happened (never seen in testing, but just in case..). Rearrange the logic so that we always process completed response queue entries before looking for other events, This avoids having to re-issue commands that had already succeeded. As part of this, we split out some duplicated functionality into a new function, mv_get_active_qc(). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a3718c1f230240361ed92d3e53342df0ff7efa8c Author: Mark Lord Date: Sat Apr 19 15:07:18 2008 -0400 sata_mv: tidy host controller interrupt handling Tidy up host controller interrupt handling, by moving the weirdo bit shifting from mv_interrupt() to mv_host_intr(). This lets us take advantage of the MV_PORT_TO_SHIFT_AND_HARDPORT() macro from an earlier patch to greatly simplify the port numbering logic. Also, defer reading the hc_irq_cause (one per hc) until it is actually proven to be needed. This may save a microsecond or so per interrupt, on average (a later patchset will further reduce unnecessary register reads throughout the driver). Apart from that, we still leave the actual IRQ handling logic alone. Subsequent patches in this series will address that. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit fcfb1f77cea81f74d865b4d33f2e452ffa1973e8 Author: Mark Lord Date: Sat Apr 19 15:06:40 2008 -0400 sata_mv: simplify request/response queue handling Try and simplify handling of the request/response queues. Maintain the cached copies of queue indexes in a fully-masked state, rather than having each use of them have to do the masking. Split off handling of a single crpb response into a separate function, to reduce complexity in the main mv_process_crpb_entries() routine. Ignore the rarely-valid error bits from the crpb status field, as we already handle that information in mv_err_intr(). For now, preserve the rest of the original logic. A later patch will deal with fixing that separately. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1cfd19aeb8c8b6291a9d11143b4d8f3dac508ed4 Author: Mark Lord Date: Sat Apr 19 15:05:50 2008 -0400 sata_mv: simplify freeze/thaw bit-shift calculations Introduce the MV_PORT_TO_SHIFT_AND_HARDPORT() macro, to centralize/simplify various scattered bits of logic for calculating bit shifts and the like. Some of the places that do this get it wrong, too, so consolidating the algorithm at one place will help keep the code correct. For now, we use the new macro in mv_eh_{freeze,thaw}. A subsequent patch will re-use this in the interrupt handlers Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f9f7fe014fc7197a5f36f9d9859cbb27c3bdd2ab Author: Mark Lord Date: Sat Apr 19 14:44:42 2008 -0400 sata_mv mask all interrupt coalescing bits Ignore *all* interrupt coalescing bits on all controllers, not just some of each. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 352fab701ca4753dd005b67ce5e512be944eb591 Author: Mark Lord Date: Sat Apr 19 14:43:42 2008 -0400 sata_mv more cosmetics More cosmetic cleanups prior to the interrupt/error handling logic changes. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 01ce2601e4ba354fe1e25bb940817570d0c8ed4f Author: Dan McGee Date: Sun Apr 20 22:03:27 2008 -0500 ata_piix: add Asus Eee 701 controller to short cable list The drive is directly soldered to the controller, so there is no cable at all. Remove the 40-wire assumption so the drive can operate at max speed. Before patch: $ dd if=/dev/sda of=/dev/null bs=2M count=64 iflag=direct 134217728 bytes (134 MB) copied, 5.29612 s, 25.3 MB/s After patch: $ dd if=/dev/sda of=/dev/null bs=2M count=64 iflag=direct 134217728 bytes (134 MB) copied, 3.94955 s, 34.0 MB/s Signed-off-by: Dan McGee Signed-off-by: Jeff Garzik commit a6116c9e60978a6deaa20691c67ffed727e50df1 Author: Mark Lord Date: Wed Apr 23 22:36:25 2008 -0400 libata-eh set tf flags in NCQ EH result_tf Fix mis-reporting of NCQ errors by ensuring that result_tf->flags is properly initialized in libata-eh. This allows ata_gen_ata_sense() to report the failed block number correctly to SCSI after a media error during NCQ. This patch may also be a candidate for backporting to earlier kernels. Without this fix, SCSI will fail I/O on the entire request rather than just the bad sector. That can be bad for a request that was merged from many independent read reads from different tasks. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1dc55e876182a13dcc5991c3aab893f38455d8a7 Author: Adrian Bunk Date: Mon Apr 21 11:51:17 2008 +0300 make sata_set_spd_needed() static sata_set_spd_needed() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 6bdb4fc9f9e5307012f6f2afb8642b52dad9c186 Author: Adrian Bunk Date: Mon Apr 21 11:51:11 2008 +0300 make sata_print_link_status() static sata_print_link_status() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 66a9099e02e3fca5198ab52b4bb7088f03dee42e Author: Adrian Bunk Date: Tue Apr 22 01:50:35 2008 +0300 libata-acpi.c: remove unneeded #if's These #if's are unneeded since they: - did anyway not handle the CONFIG_ACPI_DOCK_MODULE case correctly and - this is already handled in include/acpi/acpi_drivers.h and - it's now correctly handled in kconfig. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0b9f4bc1ec2ea25e47e7958e544fef0d122e012 Author: Tejun Heo Date: Wed Apr 23 12:14:05 2008 +0900 sata_nv: make hardreset return -EAGAIN on success sata_nv hardreset can't classify but was left out while unifying follow-up SRST request mechanism[1]. This caused detection failures on those controllers. Fix it. Reported and bisected by Roland Dreier, Petr Vandrovec and Marc Dionne. Thanks guys. [1] 305d2a1ab137d11d573319c315748a87060fe82d Signed-off-by: Tejun Heo Cc: Roland Dreier Cc: Petr Vandrovec Cc: Marc Dionne Signed-off-by: Jeff Garzik commit 15fe982e429e0e6b7466719acb6cfd9dbfe47f0c Author: Tejun Heo Date: Wed Apr 23 20:52:58 2008 +0900 ahci: retry enabling AHCI a few times before spitting out WARN_ON() Some chips need AHCI_EN set more than once to actually set it. Try a few times before giving up and spitting out WARN_ON(). Signed-off-by: Tejun Heo Cc: Peer Chen Cc: Volker Armin Hemmann Signed-off-by: Jeff Garzik commit 411cb3869afd91ed40e8f12df64cd9e315356305 Author: Tejun Heo Date: Wed Apr 23 20:48:36 2008 +0900 libata: make WARN_ON conditions in ata_sff_hsm_move() more strict WARN_ON()'s in ata_hsm_move() was too liberal and got triggerred when it shouldn't (e.g. hotplug events at the right moment). As the HSM only deals with device errors and state machine violations, make it check only against them. Signed-off-by: Tejun Heo Cc: Mark Lord Cc: Albert Lee Signed-off-by: Jeff Garzik commit 458622fcdc5b316de8d74efd7e610803f0308c14 Author: Kay Sievers Date: Fri Apr 18 13:41:57 2008 -0700 ATA/IDE: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable ATA and IDE platform drivers, to re-enable auto loading. NOTE: both ata/pata_platform.c and ide/legacy/ide_platform.c claim to provide "the" platform_pata driver, and there's no build-time mutual exclusion mechanism. This means that configs which enable both drivers will make some trouble when hotplugging... [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Tejun Heo Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1a98d05f59704d60be85b03f727964e15c77224c Author: YOSHIFUJI Hideaki Date: Thu Apr 24 21:30:38 2008 -0700 ipv6 RAW: Disallow IPPROTO_IPV6-level IPV6_CHECKSUM socket option on ICMPv6 sockets. RFC3542 tells that IPV6_CHECKSUM socket option in the IPPROTO_IPV6 level is not allowed on ICMPv6 sockets. IPPROTO_RAW level IPV6_CHECKSUM socket option (a Linux extension) is still allowed. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4953d141dc5db748475001cfbfdcc42e66cf900e Author: David Vrabel Date: Tue Apr 8 13:24:46 2008 -0700 usb: don't update devnum for wusb devices For WUSB devices, usb_dev.devnum is a device index and not the real device address (which is managed by wusbcore). Therefore, only set devnum once (in choose_address()) and never change it. Signed-off-by: David Vrabel Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit fc721f5194dc98c8108fb155a4fbae1cd746cf41 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: make ep0_reinit available for modules We need to be able to call ep0_reinit() [renamed to usb_ep0_reinit()] from the WUSB security code. The reason is that when we authenticate the device, it's address changes (from having bit 7 set to having it cleared). Thus, we need to signal the USB stack to reinitialize EP0, so the status with the previous address kept at the HCD layer is cleared and properly reinitialized. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 6c529cdca914ba2a08a4bba54f11dedc2d3a7c17 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: devices dont use a set address A WUSB device gets his address during the connection phase; later on, during the authenthication phase (driven from user space) we assign the final address. So we need to skip in hub_port_init() the actual setting of the address for WUSB devices. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 8af548dc8e36f845943ffcba07fafaa56c844221 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: teach choose_address() about wireless devices Modify choose_address() so it knows about our special scheme of addressing WUSB devices (1:1 w/ port number). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit b1d8dfb0e548543b1645362e80e1fff522645299 Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: add link wusb-usb device We need to tie the WUSB and USB devices; the USB stack doesn't need to know the details about the WUSB device, but needs to have a link to it. This is needed so that the notify call back for Remove Device can tie both and undo the device setup (sysfs files). We connect the devices together at the Add Device notifier callback (the wusb_dev references the usb_dev and stores it, the usb_dev references the wusb_dev and stores it); then we do create the WUSB sysfs files at the usb_dev sysfs directory. At Remove Device, we undo that (thus we need the usb_dev reference). Cross reference to functions in the WUSB substack: wusb_dev_{add,rm}_ncb(). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 3b52f128aeacc4b9e5992012c39ffc9508513bcd Author: Inaky Perez-Gonzalez Date: Tue Apr 8 13:24:46 2008 -0700 wusb: add authenticathed bit to usb_dev This bit indicates the system that the WUSB device has been crypto authenticated and thus can operate as normal. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit cdc97792289179974af6dda781c855696358d307 Author: Ming Lei Date: Sun Feb 24 18:41:47 2008 +0800 USB: remove unnecessary type casting of urb->context urb->context code cleanup Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit a5b6f60c5a30c494017c7a2d11c4067f90d3d0df Author: Alan Cox Date: Tue Apr 8 17:16:06 2008 +0100 usb serial: more fixes and groundwork for tty changes - If a termios change fails due to lack of memory we should copy the old settings back over as the device has not changed - Note various locking problems - kl5kusb105 had various remaining tty flag handling problems - Make safe_serial use tty_insert_flip_string not open coded loops - set termios speed properly in usb_serial Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 441b62c1edb986827154768d89bbac0ba779984f Author: Harvey Harrison Date: Mon Mar 3 16:08:34 2008 -0800 USB: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 14722ef4acedc643f0b78b7165ceff2d300dae4d Author: Alan Stern Date: Thu Apr 17 10:18:11 2008 -0400 USB: usbfs: export the URB_NO_INTERRUPT flag to userspace This patch (as1079) cleans up the way URB_* flags are exported in usbfs. The URB_NO_INTERRUPT flag is now exported (this is the only behavioral change). USBDEVFS_URB_* macros are added for URB_NO_FSBR, URB_ZERO_PACKET, and URB_NO_INTERRUPT, making explicit the fact that the kernel accepts them. The flag matching takes into account that the URB_* values may change as the kernel evolves, whereas the USBDEVFS_URB_* values must remain fixed since they are a user API. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit aff6d18f95bb81b2d07994372c8edcc2c2b41180 Author: Alan Stern Date: Fri Apr 18 11:11:26 2008 -0400 USB: fix compile problems in ehci-hcd This patch (as1072) fixes some recently-introduced compile problems that show up in ehci-hcd when CONFIG_PM is turned off. PORT_WAKE_BITS needs to be defined always. ehci_port_power() is called during initialization by all the EHCI variants other than the PCI version, in which it is "defined but not used". So add a call to it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4f6676274fb6303a8e8100d086ea8c2c00c0d8e3 Author: David Brownell Date: Sat Apr 12 08:32:05 2008 -0700 USB: ehci: qh_completions cleanup and bugfix Simplify processing of completed qtds, and correct handling of short reads, by removing two state variables: - "qtd_status" wasn't needed. The current URB's status is either OK (-EINPROGRESS) or some fault status. Once a fault appears, the queue halts and any later QTDs are immediately removed, so no temporary status is needed. (Or for typical short reads, it's not treated as a fault, so no queue halt is needed.) - "do_status" was erroneous. Because of how the queue is set up, short control reads can (and should!) be treated like full size reads, and cleaned up the usual way. The status stage will be executed transparently, and usbcore handles the choice of whether to report this status as unexected. The "do_status" problem caused a rather perplexing timing-dependent problem with usbtest case 10. Sometimes it would make the controller skip a dozen transactions while (wrongly) trying to clean up after a short transfer. Fortunately, removing a dcache contention issue made this become trivial to reproduce (on one test rig), so enough clues finally presented themselves ... I think this has been around for a very long time, but was worsened by recent urb->status changes. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c6dbf554bc8a79c9caab3dbf891a33c19068f646 Author: David Brownell Date: Sun Apr 13 14:00:44 2008 -0700 USB: cdc-acm: signedness fix Fix bogus assignment of "unsigned char *" to "char *": preserve unsignedness. These values are used directly as descriptor lengths when iterating through the buffer, so this *could* cause oddness that potentially includes oopsing. (IMO not likely, except as part of a malicious device...) Fix the bogus warning in CDC ACM which highlighted this problem (by showing a negative descriptor type). It uses the undesirable legacy err() for something that's not even an error; switch to use dev_dbg, and show descriptor types in hex notation to match the convention for such codes. Signed-off-by: David Brownell Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 08177e12b7b4c3d59060f829e5c151d06f9a08d6 Author: Oliver Neukum Date: Wed Apr 16 15:46:37 2008 +0200 USB: add documentation about callbacks Add Documentation about callbacks in USB. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e872154921a6b5256a3c412dd69158ac0b135176 Author: Alan Stern Date: Mon Apr 14 12:17:56 2008 -0400 USB: don't explicitly reenable root-hub status interrupts This patch (as1069b) changes the way OHCI root-hub status-change interrupts are enabled. Currently a special HCD method, hub_irq_enable(), is called when the hub driver is finished using a root hub. This approach turns out to be subject to races, resulting in unnecessary polling. The patch does away with the method entirely. Instead, the driver automatically enables the RHSC interrupt when no more status changes are present. This scheme is safe with controllers using level-triggered semantics for their interrupt flags. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5f47493cdf90b8afe5353e59de30e449e775ea8b Author: Alan Stern Date: Mon Apr 14 12:17:49 2008 -0400 USB: OHCI: turn off RD when remote wakeup is disabled This patch (as1068b) disables the RD interrupt flag when an OHCI root hub is suspended with remote wakeup disabled. Although the spec clearly states that this flag permits the controller to issue an interrupt when a resume request from downstream is detected and not when a local status change occurs, some controllers mistakenly use it for both types of event. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 58a97ffeb2297f154659f339d77eb3f32c4d8b3e Author: Alan Stern Date: Mon Apr 14 12:17:10 2008 -0400 USB: HCDs use the do_remote_wakeup flag When a USB device is suspended, whether or not it is enabled for remote wakeup depends on the device_may_wakeup() setting. The setting is then saved in the do_remote_wakeup flag. Later on, however, the device_may_wakeup() value can change because of user activity. So when testing whether a suspended device is or should be enabled for remote wakeup, we should always test do_remote_wakeup instead of device_may_wakeup(). This patch (as1076) makes that change for root hubs in several places. The patch also adjusts uhci-hcd so that when an autostopped controller is suspended, the remote wakeup setting agrees with the value recorded in the root hub's do_remote_wakeup flag. And the patch adjusts ehci-hcd so that wakeup events on selectively suspended ports (i.e., the bus itself isn't suspended) don't turn on the PME# wakeup signal. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b950bdbc67041412cb042e404938667204c7902c Author: Alan Stern Date: Mon Apr 14 11:45:29 2008 -0400 USB: g_file_storage: ignore bulk-out data after invalid CBW This patch (as1061) makes g_file_storage more compliant with the Bulk-Only Transport specification. After an invalid CBW is received, the gadget must ignore any further bulk-OUT data until it is reset. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9aebfd6bda789891e6d296bb49b5fb32d1057f18 Author: Greg Kroah-Hartman Date: Wed Apr 16 09:17:38 2008 -0700 USB: serial: remove endpoints setting checks from core and header Remove the unused check for num_interrupt and friends as well as remove them from the header file because no usb-serial drivers no longer reference them. Signed-off-by: Greg Kroah-Hartman commit 0ba4034e20abf372dae6c6cabeeeab600acb5889 Author: Greg Kroah-Hartman Date: Wed Apr 16 09:17:38 2008 -0700 USB: serial: remove unneeded number endpoints settings The usb-serial core no longer checks these fields so remove them from all of the individual drivers. They will be removed from the usb-serial core in a patch later in the series. Signed-off-by: Greg Kroah-Hartman commit 5f760040bcb4cc0498d4c662c4ea305290198ef3 Author: Chris Collins Date: Thu Apr 10 10:15:53 2008 +0200 USB: option.c: correct DTR behaviour Setting DTR et al. should work for all interfaces if you actually pass the interface number. :-P This should help with devices that have important pseudo-serial ports that aren't on the first interface in the device. Signed-off-by: Chris Collins Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit e6a79f1f07fc88a2efd6d0e8f0ccf591cb93cd34 Author: Oliver Neukum Date: Wed Apr 9 15:37:34 2008 +0200 USB: add Documentation about usb_anchor This adds documentation about the new usb anchor infrastructure. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a082b5c7882bdbd8a86ace8470ca2ecda796d5a7 Author: David Brownell Date: Thu Apr 10 14:21:06 2008 -0700 USB: ehci: qh/qtd cleanup comments Provide better comments about qh_completions() and QTD handling. That code can be *VERY* confusing, since it's evolved over a few years to cope with both hardware races and silicon quirks. Remove two unlikely() annotations that match the GCC defaults (and are thus pointless); add an "else" to highlight code flow. This patch doesn't change driver behavior. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6427f7995338387ddded92f98adec19ddbf0ae5e Author: Alan Stern Date: Thu Apr 10 12:45:34 2008 -0400 USB: log an error message when USB enumeration fails This patch (as1077) logs an error message whenever the kernel is unable to enumerate a new USB device. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7ef4f0600df3dc2beff838b3f03652677ed28311 Author: Oliver Neukum Date: Thu Apr 10 15:15:37 2008 +0200 USB: update comments about usb driver's header Comments here are so outdated that they are plain wrong. We cannot expect people to write correct drivers if the headers have incorrect comments. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51c159e7a8310f7272154fdd096315ae86bd36c2 Author: Robert P. J. Day Date: Sun Apr 6 08:00:30 2008 -0400 USB: Remove superfluous "depends on USB_SERIAL" from Kconfig. Given that most of drivers/usb/serial/Kconfig is wrapped inside: if USB_SERIAL ... endif # USB_SERIAL remove the consequently redundant dependencies on USB_SERIAL. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit eda769593bbae8aee4e336b0732f6016353301a3 Author: Oliver Neukum Date: Thu Apr 10 14:07:37 2008 +0200 USB: add extension of anchor API, usb_unlink_anchored_urbs This adds the ability to trigger asynchronous unlinks of anchored URBs. This is needed for error handling in the comntext of completion handlers, which cannot sleep. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9424ea29658ce5bcdcf527ddf9617b9507ddf1aa Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:58 2008 +0900 USB: r8a66597-hcd: Add support for SH7366 USB host R8A66597 is similar to SH7366 USB 2.0 Host/Function module. It can support SH7366 USB host by changing several R8A66597 code. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 29fab0cd897519be9009ba8c898410ab83b378e9 Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:55 2008 +0900 USB: r8a66597-hcd: fix usb device connection timing Fix the problem that enumeration of a USB device was slow. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 6d8791076c7742c65dd796ae0ac260ab22e85517 Author: Yoshihiro Shimoda Date: Thu Apr 10 21:05:47 2008 +0900 USB: r8a66597-hcd: fix interrupt transfer interval This driver ignored the value of bInterval and revised the problem that performed interrupt transfer. ASIX USB Ethernet adapter comes to work with this host controller by applying this patch. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 97af0a911bfb1e798c395c6ebabb4731f821736f Author: Paulius Zaleckas Date: Thu Apr 10 14:20:08 2008 +0300 USB: oti6858: fix TCFLSH ioctl handling Removes unimplemented TCFLSH handling from oti6858, because it was preventing TCFLSH handling by upper layer (line discipline) drivers (see drivers/char/tty_io.c line 3450). Signed-off-by: Paulius Zaleckas Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 21da84a89312dd8d014ca3352d1ab5c2279ec548 Author: Sarah Sharp Date: Tue Apr 8 14:30:18 2008 -0700 USB: ehci shutdown refactored This patch refactors some shutdown code so it can be shared between ehci_stop() and ehci_shutdown(). This also fixes a couple potential bugs: - ehci_shutdown() was not locking ehci->lock before halting the HC. - ehci_shutdown() didn't disable the watchdog and IAA timers. - ehci_stop() was resetting the host controller when it may have been running, which the EHCI spec says "may result in undefined behavior". ehci_stop() was calling port_power() to turn off the ports, which waited 20ms after applying the port change. The msleep was for the case where the HC might take 20ms to turn the ports on; since we're shutting them off, we can avoid the msleep and just use ehci_turn_off_ports(). ehci_stop() doesn't need to clear the intr_enable register or revert ownership of the companion controllers to the BIOS, because the host controller reset should have done that. There might be a buggy host controller that doesn't follow the reset rules, but for now we assume it's redundant code and remove it. [ A subsequent patch will cancel the timers later ... this version carries forward existing bugs where timers could get re-armed after they're canceled. ] Signed-off-by: Sarah Sharp Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3cf2723432dd27402a4a4941ad2d04eae5dd639c Author: David Brownell Date: Sun Apr 6 23:32:55 2008 -0700 USB: at91_udc can prefetch data The at91sam9 chip are ARMv5 so they support preload instructions. Use preloading to load the FIFO a bit faster. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a89a2cd396b20c46a37fa8db4b652fb00f29d0a4 Author: Alan Stern Date: Mon Apr 7 15:03:25 2008 -0400 USB: dummy-hcd: use dynamic allocation for platform_devices This patch (as1075) changes dummy-hcd to dynamically allocate its platform_device structures, using the core platform_device_alloc() interface. This is what it should have done all along, because the dynamically-allocated structures have a release method in the driver core and are therefore immune to being released after the module has been unloaded. Thanks to Richard Purdie for pointing out the need for this change. Signed-off-by: Alan Stern Cc: Richard Purdie Signed-off-by: Greg Kroah-Hartman commit 0e530b45783f75a29bde20bbf9e287c915a4f68b Author: David Brownell Date: Sat Apr 5 14:17:14 2008 -0700 USB: gadget section fixes Restore some section annotations: they were switched to "__devinit" while they should have been "__init", because of bogus warnings. The warnings are now fixed, so the runtime footprint of various drivers can now shrink a bit. On ARMv5, it's about 600 bytes except for the Ethernet gadget, where it can save a bit more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 61a5c657892a43653d6189972159590751a0673e Author: Alan Stern Date: Fri Apr 4 23:46:59 2008 -0400 USB: rework sysfs removal of interface files Removing an interface's sysfs files before unregistering the interface doesn't work properly, because usb_unbind_interface() will reinstall altsetting 0 and thereby create new sysfs files. This patch (as1074) removes the files after the unregistration is finished. It's not quite as clean, but at least it works. Also, there's no need to check if an interface has been registered before removing its sysfs files. If it hasn't been registered then the files won't have been created, so usb_remove_sysfs_intf_files() will simply do nothing. Signed-off-by: Alan Stern Tested-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 96e12fced365262e185a8e935db23973337b8a2a Author: Harvey Harrison Date: Fri Apr 4 14:28:01 2008 -0700 usb: replace remaining __PRETTY_FUNCTION__ occurrences The kernel is written in C, not C++, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 43bbb7e015c4380064796c5868b536437b165615 Author: Alan Stern Date: Thu Apr 3 18:03:17 2008 -0400 USB: OHCI: host-controller resumes leave root hub suspended Drivers in the ohci-hcd family should perform certain tasks whenever their controller device is resumed. These include checking for loss of power during suspend, turning on port power, and enabling interrupt requests. Until now these jobs have been carried out when the root hub is resumed, not when the controller is. Many drivers work around the resulting awkwardness by automatically resuming their root hub whenever the controller is resumed. But this is wasteful and unnecessary. To simplify the situation, this patch (as1066) adds a new core routine, ohci_finish_controller_resume(), which can be used by all the OHCI-variant drivers. They can call the new routine instead of resuming their root hubs. And ohci-pci.c can call it instead of using its own special-purpose handler. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7be7d7418776a41badce7ca00246e270d408e4b9 Author: Alan Stern Date: Thu Apr 3 18:03:06 2008 -0400 USB: clarify usage of hcd->suspend/resume methods The .suspend and .resume method pointers in struct usb_hcd have not been fully understood by host-controller driver writers. They are meant for use with PCI controllers; other platform-specific drivers generally should not refer to them. To try and clarify matters, this patch (as1065) renames those methods to .pci_suspend and .pci_resume. It eliminates corresponding dead code and bogus references in the ohci-ssb and u132-hcd drivers. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7329e211b987a493cbcfca0e98c60eb108ab42df Author: Alan Stern Date: Thu Apr 3 18:02:56 2008 -0400 USB: root hubs don't lie about their number of TTs Currently EHCI root hubs enumerate with a bDeviceProtocol code indicating that they possess a Transaction Translator. However the vast majority of controllers do not; they rely on a companion controller to handle full- and low-speed communications. This patch (as1064) changes the root-hub device descriptor to match the actual situation. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6fc88f53aaa4ff8ee621353ac27269b4a656d721 Author: Oliver Neukum Date: Thu Apr 3 21:40:59 2008 +0200 USB: convert away from urb->status in xpad driver USB is moving to transfering status as a parameter. To ease the transition urb->status is to be touched only once in a function. The xpad driver has been overlooked. Dmitry wants this to go through the USB tree. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0d22f65515307c878ddd20b1305cce925ca9516c Author: Alan Stern Date: Thu Apr 3 11:35:26 2008 -0400 USB: OHCI: fix bug in controller resume This patch (as1063) fixes a bug in the way ohci-hcd resumes its controllers. It leaves the Master Interrupt Enable bit turned off. If the root hub is resumed immediately this won't matter. But if the root hub is suspended (say because no devices are plugged in), it won't ever wake up by itself. Signed-off-by: Alan Stern CC: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9063ff44f081a0297085952f6760dfe1f8ca840e Author: Ingo van Lil Date: Fri Mar 28 14:50:26 2008 -0700 USB: gadget: dummy_hcd.c: fix nested switch statements Fix a messed up combination of two nested switch statements in drivers/usb/gadget/dummy_hcd.c. According to the USB spec (section 5.8.3) the maximum packet size for bulk endpoints can be 512 for high-speed devices and 8, 16, 32 or 64 for full-speed devices. Low-speed devices must not have bulk endpoints. Signed-off-by: Ingo van Lil Cc: David Brownell Signed-off-by: Andrew Morton Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 73d79aaba9ee21aaa1a6676f568ef7b3bdf993ea Author: Jesper Juhl Date: Fri Mar 28 14:50:27 2008 -0700 USB: mem leak fixes for AMD 5536 UDC high/full speed USB device controller driver In drivers/usb/gadget/amd5536udc.c::udc_pci_probe(), sizeof(struct udc) storage is allocated for 'dev'. There are many exit points from the function where 'dev' is not free'd but has also not yet been used for anything. The following patch free's 'dev' at the return points where it has not yet been used. Signed-off-by: Jesper Juhl Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 148d9fe4c91a6356dae1b05b76b8133586c26be4 Author: Alan Stern Date: Thu Mar 27 14:52:57 2008 -0400 USB: usb-storage: use adaptive DMA mask This patch (as1060) makes usb-storage set the DMA alignment mask for SCSI slaves to match the maxpacket size of the bulk-IN endpoint, rather than always setting it to 511. For full-speed devices that mask is too restrictive, and wireless USB devices can have maxpacket sizes larger than 512. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cc901bbb2e2a4e4f96da3d70dae332882c10054b Author: Craig W. Nadler Date: Thu Mar 20 14:46:26 2008 -0700 USB: g_printer bugfixes G_PRINTER: Bug fix for blocking reads and a fix for a memory leak. This fixes bugs in blocking IO calls. When the poll() entry point is called receive transfers will be setup if they have not already been. Another bug fix is that the poll() entry point now checks the current receive buffer for data when reporting if any data had been received. A memory leak was fixed that could have occurred when a USB reset happened. Signed-off-by: Craig W. Nadler Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 119fc8c9acde650fb92b44c34ea6fc84feb0f6dd Author: Jesper Juhl Date: Fri Mar 21 22:55:45 2008 +0100 USB: test for NULL return from platform_get_resource() in ohci_hcd_sm501_drv_remove() platform_get_resource() may return null, so although it seems it will never do so here unless there's a bug elsewhere, it does no harm to be defensive and test. Signed-off-by: Jesper Juhl Acked-by: David Brownell Acked-by: Magnus Damm Signed-off-by: Greg Kroah-Hartman commit e04d80b03d2a116ddd6eb9140c8c83760c315b94 Author: Matti Linnanvuori Date: Sun Mar 23 04:08:01 2008 -0700 USB: serial: Remove obsolete contact addresses Remove obsolete contact addresses. Signed-off-by: Matti Linnanvuori Signed-off-by: Greg Kroah-Hartman commit 44a29fd715a017183e83377b297ab3f792995467 Author: Ming Lei Date: Sun Mar 23 20:58:28 2008 +0800 USB: fix comments of 2 functions in hcd.c Remove useless @type note for rh_string() and @r note for usb_hcd_irq() since this two parameters were removed. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 50d8ca9b5624bf50cc3ff624fe9ababf0c789bd2 Author: Daniel Walker Date: Sun Mar 23 00:00:02 2008 -0700 usb: u132-hcd driver: semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Greg Kroah-Hartman commit b40f8d3980d3eef26b3bd77da5314728a5b30aea Author: Daniel Walker Date: Sun Mar 23 00:00:01 2008 -0700 usb: u132-hcd driver style clean up I was converting a semaphore in this file to a mutex when I noticed that this file has some fairly rampant style problems. Practically every line has spaces instead of tabs .. Once I cleared that up, checkpatch.pl showed a number of other problem.. I think this file might be a good one to review for new style checks that could be added.. Below are the only two remaining which I didn't remove. #5083: FILE: drivers/usb/host/u132-hcd.c:2907: + error: WARNING: labels should not be indented #5087: FILE: drivers/usb/host/u132-hcd.c:2911: + stall: These labels are actually inside a switch statement, and they are right under "default:". "default:" appears to be exempt and these other label should be too, or default shouldn't be exempt. I also deleted a few lines due to single statements inside { } , if (is_error()) { return; } becomes, if (is_error()) return; with one line deleted. Signed-off-by: Daniel Walker Signed-off-by: Greg Kroah-Hartman commit 619a6f1d1423d08e74ed2b8a2113f12ef18e4373 Author: Greg Kroah-Hartman Date: Thu Feb 7 23:59:03 2008 +0100 USB: add usb-serial spcp8x5 driver Original version of the driver done by Linxb, changes by Harald, and lots of cleanups by me in order to get it into a mergable state. Cc: Linxb Cc: Harald Klein Signed-off-by: Greg Kroah-Hartman commit 7106967ecc0a33a7d7e2e04798eb9f45377f448b Author: Kevin Lloyd Date: Wed Apr 2 11:24:56 2008 -0700 usb/usb-serial-sierra-add-new-dev-group This patch is for the sierra driver and adds support for a new group of devices that have a new USB configuration. This targets kernel 2.6.25-rc7 Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 69a90f8189960f37cc73f5da6c331b23227e2197 Author: Kevin Lloyd Date: Mon Mar 31 10:20:54 2008 -0700 USB: Serial: Sierra: C597 fix This patch is for the sierra driver and fixes a Compass 597 bug that allows users to access the SD-Card. This targets kernel 2.6.25-rc7 Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit f3564de4f5ee3e205227691401d875a57b76906d Author: Kevin Lloyd Date: Fri Mar 28 10:05:08 2008 -0700 USB: Serial: Sierra: Clean up This patch cleans up some of the sierra driver code. Please package this with the other patches in this group as I would like the driver version to reflect their changes as well. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit e4cf3aa8f9cd6ee4d583b5d445b5c152acefcde4 Author: David Engraf Date: Thu Mar 20 10:01:34 2008 +0100 USB: increase cdc-acm write throughput the following patch uses 16 write urbs and a writsize of wMaxPacketSize * 20. With this patch I get the maximum througput from my linux system with 20MB/sec read and 15 MB/sec write (full speed 1 MB/sec both) I also deleted the flag URB_NO_FSBR for the writeurbs, because this makes my full speed devices significant slower. Signed-off-by: David Engraf Signed-off-by: Greg Kroah-Hartman commit 28d1dfadd3ca07e7ec1c3de4f82ac2b8ece4be91 Author: David Engraf Date: Thu Mar 20 10:53:52 2008 +0100 USB: cdc-acm tell tty layer not to split things up. It ensures that the tty level do not split the send buffer into 2KB blocks. Signed-off-by: David Engraf Signed-off-by: Greg Kroah-Hartman commit 454459b02ea9c8e850fd0b4e770037daf9a7b758 Author: Pete Zaitcev Date: Wed Mar 19 22:29:51 2008 -0700 usbmon: restore mmap Paolo asked to enable the mmap. I kept it off because I'm do not entirely understand how it workse these days after ->nopage etc. But it seems like working somewhat at least. Signed-Off-By: Pete Zaitcev Cc: Paolo Abeni Signed-off-by: Greg Kroah-Hartman commit d43a05fdc2b5675efc45c32d427ff987a10b617a Author: Robert P. J. Day Date: Sun Mar 9 13:55:01 2008 -0400 USB: Fix "cut and paste" booboo in usbmon Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 9ec249a658e85fbb3e510c6208fb0c1a1d19c059 Author: Robert P. J. Day Date: Sat Mar 8 03:27:44 2008 -0500 USB: Remove EXPERIMENTAL designation from USB_EHCI_ROOT_HUB_TT. According to David Brownell, this feature doesn't require an experimental designation any longer. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit b67199967c777cf1aa42949f2bda00a7b937243e Author: Robert P. J. Day Date: Sat Mar 8 03:12:44 2008 -0500 USB: Remove EXPERIMENTAL from dynamic USB minor allocation. Since this USB feature seems non-experimental, remove that dependency. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 528e4c12a7c141ce46641537fe7e3d7c29f68b8c Author: Robert P. J. Day Date: Sat Mar 8 03:04:05 2008 -0500 USB: Remove EXPERIMENTAL designation from USB MDC800 support. Since support for the USB Mustek MDC800 Digital Camera has apparently been around since the beginning of the git repository, it's safe to assume it's no longer experimental. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 1b75dc4de94e4e11ab22e284fc0853e21d1ac07a Author: Robert P. J. Day Date: Sat Mar 8 03:00:04 2008 -0500 USB: Remove EXPERIMENTAL designation from USB serial/ Kconfig entries Since nothing under the USB serial/ directory seems to be obviously experimental, remove the EXPERIMENTAL dependency from all of those Kconfig entries. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit bce62c263ab3742365dc1ac919cef732379e354a Author: Robert P. J. Day Date: Sat Mar 8 02:46:57 2008 -0500 USB: Remove EXPERIMENTAL designation from USB misc/ Kconfig entries Since nothing under the USB misc/ seems to be obviously experimental, remove the EXPERIMENTAL dependency from those Kconfig entries. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit afd0e0f2d499a832c3ef17a6872d6244d65cbe17 Author: Robert P. J. Day Date: Mon Mar 10 15:09:51 2008 -0400 USB: Remove EXPERIMENTAL tags from some USB gadget Kconfig entries. Based on a recent discussion on the Linux USB mailing list, remove the designation of EXPERIMENTAL from some USB gadget entries, and tag some of them as DEVELOPMENT. just for fun, i added a bit of help for gadgetfs, explaining the race condition. Signed-off-by: Robert P. J. Day Acked-by: David Brownell commit 726627f341beeedba948643c766a6786d75bbf9d Author: Robert P. J. Day Date: Sat Mar 8 02:17:55 2008 -0500 USB: Remove EXPERIMENTAL designation from USB storage Kconfig entries. Since there seems to be little reason to mark the current USB storage features as "EXPERIMENTAL," remove that dependency. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit d277064e7e16d02e0078a6bc1820764ae00dea87 Author: matthieu castet Date: Wed Mar 19 19:40:52 2008 +0100 USB: mass storage: emulation of sat scsi_pass_thru with ATACB I have got a cypress usb-ide bridge and I would like to tune or monitor my disk with tools like hdparm, hddtemp or smartctl. My controller support a way to send raw ATA command to the disk with something call atacb (see http://download.cypress.com.edgesuite.net/design_resources/datasheets/contents/cy7c68300c_8.pdf). Atacb support can be added for each application, but there is some disadvantages : - all application need to be patched - A race is possible if there other accesses, because the emulation can be split in 2 atacb scsi transactions. One for sending the command, one for reading the register (if ck_cond is set). I have implemented the emulation in usb-storage with a special proto_handler, and an unsual entry. Signed-off-by: Matthieu CASTET Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit dda43a0e03a33dd716fb34f812b1af614f74daff Author: Robert P. J. Day Date: Fri Mar 7 13:45:32 2008 -0500 USB: Standardize inclusion protection and add where missing. For the header files in include/linux/usb, add missing multiple inclusion protection and standardize what's already there. The apparent standards: * macro name of __LINUX_USB_headerfile_H * inclusion protection placed after leading comment block * macro name added as a comment on the final #endif * any obvious trivial whitespace cleanup associated with the above Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit f66396b55d4016bdc7a5298db7a681c63b649bf4 Author: Tilman Schmidt Date: Thu Mar 13 19:51:42 2008 +0100 USB: usb.h: reduce syslog clutter [v3] The the err() / info() / warn() macros in usb.h inserted __FILE__ at the beginning of the message, which expands to the complete pathname of the source file within the kernel tree, frequently taking up half of an 80 character screen line before the actual message even begins. Use the module name instead. Signed-off-by: Tilman Schmidt Signed-off-by: Greg Kroah-Hartman commit ff66e3ce3524125106be3ff18104ecde0849b85c Author: Andrew Morton Date: Wed Mar 12 13:32:24 2008 -0700 drivers/usb/core/devio.c: suppress warning with 64k PAGE_SIZE drivers/usb/core/devio.c: In function 'proc_control': drivers/usb/core/devio.c:657: warning: comparison is always false due to limited range of data type Cc: Alan Stern Cc: Pete Zaitcev Cc: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8873aaa6e574d85c020a1c472d6d159cd1ec8aef Author: Alan Cox Date: Mon Mar 10 21:59:28 2008 +0000 USB: cypress_m8: Speed handling The recent changes to this driver cleaned it up a lot, follow that up by sorting the speed side of things out as well Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 25b70a8665e9854504b9196c3098dadd37c721aa Author: David Brownell Date: Tue Mar 4 15:11:07 2008 -0800 USB: ehci: paranoia, reject large control transfers Some EHCI fault paths with large control transfers aren't coded. Avoid problems by rejecting transfers that may need two qTDs (16+ KB). This is mostly paranoia; even 4 KB transfers are rare, and most HCDs use lower limits (so it's unlikely anyone would ever try such a thing). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70a1c9e086c2e267fbc4533cb870f34999b531d6 Author: Alan Stern Date: Thu Mar 6 17:00:58 2008 -0500 USB: remove dev->power.power_state power.power_state is scheduled for removal. This patch (as1053) removes all uses of that field from drivers/usb. Almost all of them were write-only, the most significant exceptions being sl811-hcd.c and u132-hcd.c. Part of this patch was written by Pavel Machek. Signed-off-by: Alan Stern Cc: David Brownell Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit e1879b19b0abdb387e4aeb0b935a486cc75042fb Author: Matthias Geissert Date: Thu Mar 6 22:00:33 2008 +0100 USB: ipaq: fix devices having more than one endpoint The ipaq module supports devices with one endpoint only. Some devices, e.g. Yakumo Delta 300, have more than one endpoint. This patch fixes support for devices having up to 2 endpoints which used to work on older kernel versions. Signed-off-by: Matthias Geissert Signed-off-by: Greg Kroah-Hartman commit d1b1842c393cf322712b669ec887397b89ed2312 Author: David Brownell Date: Wed Mar 5 23:37:52 2008 -0800 USB: ehci: remove obsolete workaround for bogus IRQs It was pointed out that we found and fixed the cause of the "bogus" fatal IRQ reports some time ago ... this patch removes the code which was working around that bug ("status" got clobbered), and a comment which needlessly confused folk reading this code. This also includes a minor cleanup to the code which fixed that bug. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 22552b286b44b8988e08fb74379507a9b32521b0 Author: Robin Getz Date: Wed Mar 5 23:17:38 2008 -0800 USB: partial USB embedded host support This provides better support for USB "Embedded Host" functionality, which is a subset of the USB OTG options: * External hub support can be disabled; * USB peripherals not whitelisted in "otg_whitelist.h" will be rejected during enumeration. These options can allow some savings in software and support. Signed-off-by: Robin Getz Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b56394bf325820e9f338eaef2941f18b17b98098 Author: Ray Lee Date: Tue Mar 4 15:25:12 2008 -0800 USB: io_ti.c: remove unneeded null tty check The Coverity checker (and Adrian Bunk) spotted an inconsistent NULL check of port->tty (it's blindly dereferenced later without the check). Alan Cox confirmed the check can go. Signed-off-by: Ray Lee Cc: Adrian Bunk Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dfa5ec79d28300b0d1fdeafbeebf0a6b721edc38 Author: Julia Lawall Date: Tue Mar 4 15:25:11 2008 -0800 USB: use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3d71fe0bb29a3fbffdbe69dd0696927b6a23dd4e Author: Alan Cox Date: Wed Feb 20 21:38:32 2008 +0000 USB: io_ti: lock mcr and msr shadows properly Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 04ca89d4948ad4b6ec3b33e9588ae1885643148c Author: Alan Cox Date: Wed Feb 20 21:41:40 2008 +0000 USB: ti_usb_3410_5052: Extend locking to msr and shadow mcr Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a40d8540f4b7874ef674428cf757e8f466d271ca Author: Alan Cox Date: Wed Feb 20 21:40:34 2008 +0000 USB: kobil_sct: Get rid of unneeded priv->line_state Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7b1fc8bc6d6881ff7f8876cbe665b3ad5271bc03 Author: Alan Cox Date: Wed Feb 20 21:39:25 2008 +0000 USB: iuu_phoenix: lock priv->tiostatus properly Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e298449401463dd18f24a87c48f9b0ec62bad936 Author: Alan Cox Date: Wed Feb 20 20:51:45 2008 +0000 USB: serial: Note mos7480 and option don't lock modem status Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9b0f2582d57d4c9081307c86e11afc9169de7d3e Author: Alan Cox Date: Wed Feb 20 20:49:53 2008 +0000 USB: ftdi_sio: Note missing locking The ftdi_sio driver has no internal locking on the dtr/rts state. Flag that up for someone to fix. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2097890c43a8fe90763f31b0010fd6963f5512c8 Author: Alan Cox Date: Wed Feb 20 20:47:56 2008 +0000 USB: usb-serial: Prepare for BKL push down Take the lock in usb-serial instead. As it relies on the BKL internally we can't push it any deeper yet. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3d01f0fe6b66dd34511eaf35e06764b8997187bc Author: Karsten Wiese Date: Tue Feb 19 12:31:49 2008 -0800 USB: minor ehci xITD simplifications Remove two (or one) conditional tests in per-urb isochronous transfer setup code paths. Signed-off-by: Karsten Wiese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fadec78bd93ede132c34ab94dce0e65a5ae56054 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:36 2008 +0100 USB: auerswald: Convert ccp->mutex in a mutex The semaphore ccp->mutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit 8a0f46b92fcab6652b8e62c006d015d562302d08 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:35 2008 +0100 USB: auerswald: Convert ccp->readmutex in a mutex The semaphore ccp->readmutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit b994d7f70ae59b874843fa2bc9a28b17b41febd5 Author: matthias@kaehlcke.net Date: Mon Feb 18 20:45:34 2008 +0100 USB: auerswald: Convert stats_sem in a mutex The semaphore cp->mutex is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Cc: Wolfgang Mües Signed-off-by: Greg Kroah-Hartman commit 92983c2121fb46f234add1c36b5e596779899d56 Author: Mike Isely Date: Sun Feb 10 20:23:32 2008 -0600 USB: cypress_m8: Limit baud rate to <=4800 for USB low speed devices The cypress app note for the M8 states that for the USB low speed version of the part, throughput is effectively limited to 800 bytes/sec. So if we were to try a faster baud rate in such cases then we risk overrun errors on receive. Best to just identify this case and limit the rate to 4800 baud or less (by ignoring any request to set a faster rate). The old baud rate setting code was somewhat fragile; this change also hopefully makes it easier in the future to better checking / limiting. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 6768306c3d9568bc66dc22f8b863bfbda3e7c4d2 Author: Mike Isely Date: Sun Feb 10 20:23:28 2008 -0600 USB: cypress_m8: Get rid of pointless NULL check Remove a NULL check in cypress_m8; the check is useless in this context because it is referenced earlier in the same code path thus the kernel would be oops'ed before reaching this point anyway. (And it's really pointless here anyway; if this pointer somehow is NULL the driver is going to have serious problems in many other places.) Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 3d6aa3206540e1e68bda9e8ea11ec71444f1ac71 Author: Mike Isely Date: Sun Feb 10 20:23:24 2008 -0600 USB: cypress_m8: Don't issue GET_CONFIG for certain devices Earthmate LT-20 devices (both "old" and "new" versions) can't tolerate a GET_CONFIG command. The original Earthmate has no trouble with this. Presumably other non-Earthmate devices are still OK as well. This change disables the use of GET_CONFIG for cases where it is known not to work. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 3416eaa1f8f8d516b77de514e14cf8da256d28fb Author: Mike Isely Date: Sun Feb 10 20:23:19 2008 -0600 USB: cypress_m8: Packet format is separate from characteristic size cypress_m8: Packet format is separate from characteristic size The Cypress app note states that when using an 8 byte packet buffer size that the packet format is modified (to be more compact). However I have since discovered that newer DeLorme Earthmate LT-20 devices (those that are low speed USB with 8 byte packet size) STILL use the format that is really supposed to correspond to 32 byte packets. Further confusing things is the subsequent discovery that there are actually two different types of LT-20 - older LT-20's use 32 byte packets which is probably why this issue wasn't originally encountered. The solution here is to flag the packet format separately from the buffer size. Then at initialization time, identify the correct combination and set it up. This is a critical fix for anyone with a newer LT-20. Older devices and non-Earthmate devices should remain unaffected by this change. (If other devices behave in this, uh, unexpected manner, it's now just a simple 1 line change to fix them as well (change the pkt_fmt member for that device). Default behavior with this patch is still to drive the format as per the app-note; of course for Earthmate devices this is overridden. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 93075544d6c6e9aaa14c44edb6eb3f71144bdeeb Author: Mike Isely Date: Sun Feb 10 20:23:14 2008 -0600 USB: cypress_m8: Feature buffer fixes cypress_m8: Feature buffer fixes From: Mike Isely Don't hardcode the feature buffer size; use sizeof() instead. That way we can easily specify the size in a single spot. Speaking of the feature buffer size, the Cypress app note (and further testing with a DeLorme Earthmate) suggests that this size should be 5 not 8 bytes. Signed-off-by: Mike Isely Signed-off-by: Greg Kroah-Hartman commit 9544e833f977d1d3e102a070718d613cd234ce8d Author: Andrew Morton Date: Mon Feb 4 23:57:50 2008 -0800 USB: io_ti.c: remove pointless eye-candy in debug statements These strings always come up as false positives whenever I'm doing git-conflict fixups (ie: about 1000 times/day). I don't think the zillion "<" and ">" characters are very useful and removing them makes my life that little bit easier. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4208978ec4f0d6001facf95be9defccf1a0bf313 Author: Savin Zlobec Date: Fri Feb 15 13:42:01 2008 +0100 USB: gadget: Hangup tty on g_serial disconnect On USB cable disconnect g_serial doesn't hangup the port tty, which results in an endless read on the tty device. With the following patch the read and select behave correctly when the cable is unplugged. Tested on at91rm9200 Signed-off-by: Savin Zlobec Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c765d4cad977f7e454a53d5bca5a942156b2d94c Author: Karsten Wiese Date: Sat Feb 16 13:44:42 2008 -0800 USB: EHCI: Refactor "if (handshake()) state = HC_STATE_HALT" Refactor the EHCI "if (handshake()) state = HC_STATE_HALT" idiom, which appears 4 times, by replacing it with calls to a new function called handshake_on_error_set_halt(). Saves a few bytes too. Signed-off-by: Karsten Wiese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 96f9bc373c83a67922dc32f358e8a3b3dd4e18a0 Author: Paul Mundt Date: Wed Feb 13 17:02:33 2008 +0900 USB: m66592-udc: reduce size of data structure. Poking around with pahole, we see that m66592 handily shoves a u16 in between larger types on 2 separate occasions leaving us with 2 2-byte holes: struct m66592 { ... /* size: 1196, cachelines: 38 */ /* sum members: 1192, holes: 2, sum holes: 4 */ /* last cacheline: 12 bytes */ }; /* definitions: 1 */ Pairing them gets back 4-bytes: struct m66592 { ... /* size: 1192, cachelines: 38 */ /* last cacheline: 8 bytes */ }; /* definitions: 1 */ Unfortunately it's not enough to save a cacheline with this massive structure, but every byte helps. Signed-off-by: Paul Mundt Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 135db0485cdfa808d69420889ca4a2fad8aed9df Author: David Brownell Date: Mon Feb 11 18:40:46 2008 -0800 USB: ehci minor SOC bus glue fixes Various minor fixes to some SOC bus glue for EHCI: - Remove a bogus copyright (by "me"!) which someone added to the FSL driver, and an irrelevant comment. - Un-break MODULE_ALIAS() directives after platform_bus hotplugging acquired a backwards-incompatible change. (Which didn't fix ANY of the in-tree drivers it prevented from hotplugging -- sigh.) - Remove some bogus assignments of platform_bus_type; that's done by the platform_bus code. - Add some FIXMEs for drivers with that pointless two-level idiom for probe() and remove() routines. ("Obfuscation" is a non-goal.) That should help avoid future bus glue which copies that idiom. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit caa9ef672a045ba0b19184cd3f872b583f066771 Author: David Brownell Date: Fri Feb 8 15:08:44 2008 -0800 USB: ehci tolerates some buggy devices This teaches EHCI how to to work around bugs in certain high speed devices, by accomodating "bulk" packets that exceed the 512 byte constant value required by the USB 2.0 specification. (Have a look at section 5.8.3, paragraphs 1 and 3.) It also makes the descriptor parsing code warn when it encounters such bugs. (We've had reports of maybe two or three such devices, all pretty recent.) Such devices are nonconformant. The proper fix is have the vendors of those devices do the simple, obvious, and correct thing ... which will let them be used with USB hosts that don't have workarounds for this particular vendor bug. But unless/until they do, we can at least have one of the high speed HCDs work with such buggy devices. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e01e7fe3886715f083313da409c5850472455d06 Author: David Brownell Date: Sat Feb 2 02:42:52 2008 -0800 USB: ohci: port reset paranoia timeout This limits how long the OHCI port reset loop waits for the hardware to do its job, if the controller either (a) dies, or (b) can't finish the reset. Such limits are always a good idea. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9776afc8b3dc487557f3f576002520f59be334e6 Author: David Brownell Date: Fri Feb 1 11:42:05 2008 -0800 USB: ehci: minor cleanups Minor cleanups to the EHCI code: revision history is what source code repositories should have. Switch to a more standard way to kick in verbose debugging -- don't be EHCI-specific. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dbe0dbb7dfda52140d3469d7035a08dfa874fca2 Author: David Brownell Date: Sun Feb 10 12:24:00 2008 -0800 USB: defines for USB "Link Power Management" (LPM) ECN There's a new PM-related change notice for the USB 2.0 specification called "Link Power Management" (LPM). It defines a new "L1 Suspend" state which resembles the current (L2) suspend state, except that it can be entered and exited much more quickly. It should thus be more useful for runtime PM, even though it doesn't mandate reduced power draw from VBUS. This patch provides the relevant #defines for usbcore. Actually implementing these mechanisms requires host silicon that can generate new USB packets, plus hubs handling some new requests and peripherals which understand the new packets. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c4504a7eb9c4c491e6f31b28169dd49e9bacc8ec Author: Pavel Emelyanov Date: Mon Feb 11 15:26:09 2008 +0300 USB: usbatm: convert heavy init dances to kthread API This is an attempt to kill two birds with one stone. First, we kill one more user of kernel_thread, which is scheduled for removal. Second - we kill one of the last users of kill_proc - the function which is also to be removed, because it uses a pid_t which is not safe now. Signed-off-by: Pavel Emelyanov Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman commit 1409e8e0e4dae15735727d7e2814b62aff609d31 Author: Andrew Morton Date: Mon Feb 4 23:57:48 2008 -0800 USB: usb-ohci-sm501-driver: use the conventional convention for suspend and resume Cc: Alan Stern Cc: Magnus Damm Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5ddeac117f869c0da85e41e89dd5ed1199dab7dd Author: Adrian Bunk Date: Mon Feb 4 23:57:45 2008 -0800 USB: make USB_STORAGE_ONETOUCH available with PM As Torsten Kaiser pointed out, it seems the dependency of USB_STORAGE_ONETOUCH on !PM should have been removed in commit 7931e1c6f8007d5fef8a0bb2dc71bd97315eeae9. Signed-off-by: Adrian Bunk Cc: Matthew Dharm Cc: Alan Stern Cc: Greg Kroah-Hartman Cc: Torsten Kaiser Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 75c43b6ec6eb114e875e43fb151987c1a558e4f4 Author: Daniel Walker Date: Mon Feb 4 23:57:42 2008 -0800 USB: libusual: locking cleanup I converted the usu_init_notify semaphore to normal mutex usage, and it should still prevent the request_module before the init routine is complete. Before it acted more like a complete, now the mutex protects two distinct section from running at the same time. Signed-off-by: Daniel Walker Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d99388aa0a504f69532db353a976ec133361bb4f Author: Daniel Walker Date: Mon Feb 4 23:57:42 2008 -0800 USB: microtek: remove unused semaphore No current references, so removing it. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f476fbaba7b2051bafdb527eea1a8bed649187d4 Author: Randy Dunlap Date: Wed Feb 13 18:33:15 2008 -0800 USB: convert usb.h struct usb_device to kernel-doc Convert struct usb_device to use kernel-doc notation. Please especially check the @filelist and @usb_classdev descriptions. Signed-off-by: Randy Dunlap Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c27a4b717cfb597e2e383350c152ed0781041052 Author: Greg Kroah-Hartman Date: Tue Apr 8 13:24:46 2008 -0700 USB: add USB_DT_CS_RADIO_CONTROL define to ch9.h This is needed by the wireless usb developers, and is part of the USB spec. Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit c2010a3b9e5e98efb7f70d4d73ce4f15508ffa7b Author: Greg Kroah-Hartman Date: Mon Apr 14 14:17:29 2008 -0700 checkpatch: usb_free_urb() can take NULL usb_free_urb() can take a NULL, so let's check and warn about that. Signed-off-by: Greg Kroah-Hartman commit 9214d1d80c19016172e685ce7bde0ea757c49097 Author: Alan Stern Date: Thu Mar 6 11:04:13 2008 -0500 USB: enable USB-PERSIST by default This patch (as1052) enables USB-PERSIST for all devices by default. The user won't have to remember to enable it explicitly for devices containing mounted filesystems. Eventually userspace tools like hal may be able to set the persist attribute automatically when a filesystem is mounted on a USB device. When that time comes this patch can be reverted, if people think it matters. This approach has the advantage of giving the user the ability to turn off USB-PERSIST for devices with mounted filesystems, rather than making the kernel always assume it should be on. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit eb764c4be1e5db3ee34df5745e98cf2f148c7320 Author: Alan Stern Date: Mon Mar 3 15:16:04 2008 -0500 USB: check serial-number string after device reset This patch (as1048) extends the descriptor checking after a device is reset. Now the SerialNumber string descriptor is compared to its old value, in addition to the device and configuration descriptors. As a consequence, the kmalloc() call in usb_string() is now on the error-handling pathway for usb-storage. Hence its allocation type is changed to GFO_NOIO. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit feccc30d90155bcbc937f87643182a43d25873eb Author: Alan Stern Date: Mon Mar 3 15:15:59 2008 -0500 USB: remove CONFIG_USB_PERSIST setting This patch (as1047) removes the USB_PERSIST Kconfig option, enabling it permanently. It also prevents the power/persist attribute from being created for hub devices; there's no point in having it since USB-PERSIST is always turned on for hubs. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5e6effaed6da94e727cd45f945ad2489af8570b3 Author: Alan Stern Date: Mon Mar 3 15:15:51 2008 -0500 USB: make USB-PERSIST work after every system sleep This patch (as1046) makes USB-PERSIST work more in accordance with the documentation. Currently it takes effect only in cases where the root hub has lost power or been reset, but it is supposed to operate whenever a power session was dropped during a system sleep. A new hub_restart() routine carries out the duties required during a reset or a reset-resume. It checks to see whether occupied ports are still enabled, and if they aren't then it clears the enable-change and connect-change features (to prevent interference by khubd) and sets the child device's reset_resume flag. It also checks ports that are supposed to be unoccupied to verify that the firmware hasn't left the port in an enabled state. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3eb14915a300f539f271e3716f2421bb0697ed48 Author: Alan Stern Date: Mon Mar 3 15:15:43 2008 -0500 USB: reorganize code in hub.c This patch (as1045) reorganizes some code in the hub driver. hub_port_status() is moved earlier in the file, and a new hub_stop() routine is created to do the work currently in hub_preset() (i.e., disconnect all child devices and quiesce the hub). There are no functional changes. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3bb1af5243d41af9518728445e9c9bd30dd47237 Author: Alan Stern Date: Mon Mar 3 15:15:36 2008 -0500 USB: EHCI: carry out port handover during each root-hub resume This patch (as1044) causes EHCI port handover for non-high-speed devices to occur during every root-hub resume, not just in cases where the controller lost power or was reset. This is necessary because: When some machines go into suspend, they remove power from on-board USB devices while retaining suspend current for USB controllers. The user might well unplug a USB device while the system is suspended and then plug it back in before resuming. A corresponding change is made to the core resume routine; now high-speed root hubs will always be resumed when the system wakes up, even if they were suspended before the system went to sleep. If this weren't done then EHCI port handover wouldn't work, since it is called when the EHCI root hub is resumed. Finally, a comment is added to the hub driver explaining the khubd has to be freezable; if it weren't frozen then it could interfere with port handover. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8f7f85e9f9561507b009d26395c53e70758695ec Author: Stefan Seyfried Date: Thu Apr 17 07:47:34 2008 +0200 USB: Add HP hs2300 Broadband Wireless Module to sierra.c Add the HP hs2300 Broadband Wireless Module (relabeled MC8775) USB IDs Signed-off-by: Stefan Seyfried Cc: stable Signed-off-by: Greg Kroah-Hartman commit d4062fcb9e6164cbbcef773f6b6602e30c4b6007 Author: Ming Lei Date: Mon Apr 14 21:27:00 2008 +0800 USB: Fix memory leak in mon_stat_release Fix the leak of the snap structure allocated in mon_stat_open(). Signed-off-by: Ming Lei Acked-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 59fba744daadaaa85e07a5db96ac3618bc45a9ad Author: Craig Shelley Date: Sat Apr 12 16:15:54 2008 +0100 USB: CP2101 Add new device IDs Signed-off-by: Greg Kroah-Hartman commit 8d390efd903485923419584275fd0c2aa4c94183 Author: Tom Quetchenbach Date: Thu Apr 24 21:11:58 2008 -0700 tcp: tcp_probe buffer overflow and incorrect return value tcp_probe has a bounds-checking bug that causes many programs (less, python) to crash reading /proc/net/tcp_probe. When it outputs a log line to the reader, it only checks if that line alone will fit in the reader's buffer, rather than that line and all the previous lines it has already written. tcpprobe_read also returns the wrong value if copy_to_user fails--it just passes on the return value of copy_to_user (number of bytes not copied), which makes a failure look like a success. This patch fixes the buffer overflow and sets the return value to -EFAULT if copy_to_user fails. Patch is against latest net-2.6; tested briefly and seems to fix the crashes in less and python. Signed-off-by: Tom Quetchenbach Signed-off-by: David S. Miller commit a5d6ab56daa439d681aab29955498486e452224d Author: Matheos Worku Date: Thu Apr 24 21:09:20 2008 -0700 niu: Add support for Neptune FEM/NEM cards for C10 server blades [ Minor coding style and whitespace corrections, also bump driver version and release date. -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 7f7c4072ea552f97a0898331322f71986a97299c Author: Matheos Worku Date: Thu Apr 24 21:02:37 2008 -0700 niu: Determine the # of ports from the card's VPD data [ Fix minor whitespace and coding style stuff... -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit c5835df9716bdb1af8e25e9a452f717e54e02ed0 Author: Mandeep Singh Baines Date: Thu Apr 24 20:55:56 2008 -0700 ethtool: EEPROM dump no longer works for tg3 and natsemi In the ethtool user-space application, tg3 and natsemi over-ride the default implementation of dump_eeprom(). In both tg3_dump_eeprom() and natsemi_dump_eeprom(), there is a magic number check which is not present in the default implementation. Commit b131dd5d ("[ETHTOOL]: Add support for large eeproms") snipped the code which copied the ethtool_eeprom structure back to user-space. tg3 and natsemi are over-writing the magic number field and then checking it in user-space. With the ethtool_eeprom copy removed, the check is failing. The fix is simple. Add the ethtool_eeprom copy back. Signed-off-by: Mandeep Singh Baines Signed-off-by: David S. Miller commit 8e5443a09851d99084098ecc4066805aa2610d92 Author: Tejun Heo Date: Thu Apr 24 10:52:44 2008 +0900 sata_sis: SCR accessors return -EINVAL when requested SCR isn't available sis_scr_cfg_read() can't access SError and was incorrectly returning -1 instead of -EINVAL. This went unnoticed because SError used to be cleared in @postreset() and it didn't care about how scr_read() failed but commit ac371987 moved SError clearing into sata_link_resume() and SCR access failure other than -EINVAL is considered an error condition and exposes the incorrect return value bug as detection failure. Fix it. Also, scsi_scr_cfg_write() was incorrectly returning 0 after it ignored the request to write to SError. Make it also return -EINVAL. This was bisected and reported by Patrick McHardy. Signed-off-by: Tejun Heo Cc: Patrick McHardy Signed-off-by: Jeff Garzik commit 2b4221bb545899b05872e7b51f55567c10b3894b Author: Harvey Harrison Date: Thu Apr 24 18:37:34 2008 -0700 libata: functions with definition should not be extern Noticed by sparse drivers/ata/libata-core.c:3380:12: warning: function 'ata_wait_after_reset' with external linkage has definition Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 2db3e47e7080fde2a43d6312190d8229826b8e42 Author: Brian Haley Date: Thu Apr 24 20:38:31 2008 -0700 af_key: Fix af_key.c compiler warning net/key/af_key.c: In function ‘pfkey_spddelete’: net/key/af_key.c:2359: warning: ‘pol_ctx’ may be used uninitialized in this function When CONFIG_SECURITY_NETWORK_XFRM isn't set, security_xfrm_policy_alloc() is an inline that doesn't set pol_ctx, so this seemed like the easiest fix short of using *uninitialized_var(pol_ctx). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 308f0a5898033691d050374a949bbfe173987a16 Merge: 0035a1d... b345dc7... Author: Dmitry Torokhov Date: Thu Apr 24 23:37:52 2008 -0400 Merge branch 'master' into for-linus commit b345dc7da026016b65162b1ca7cfcd2c7212a285 Author: Ping Cheng Date: Thu Apr 24 23:34:05 2008 -0400 Input: wacom - add support for Cintiq 20WSX Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 47df1793171771ff9b1622d30433ef6edf0eb280 Author: Steve French Date: Fri Apr 25 02:01:44 2008 +0000 [CIFS] Update cifs version number Signed-off-by: Steve French commit 0fda6b403f0eca66ad8a7c946b3996e359100443 Author: Venkatesh Pallipadi Date: Wed Apr 9 21:31:46 2008 -0400 2.6.25 regression: powertop says 120K wakeups/sec Patch to fix huge number of wakeups reported due to recent changes in processor_idle.c. The problem was that the entry_method determination was broken due to one of the recent commits (bc71bec91f987) causing C1 entry to not to go to halt. http://lkml.org/lkml/2008/3/22/124 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 204470272c3b055b352d5f127d5d5c7dce5fa597 Author: Alexey Starikovskiy Date: Tue Mar 11 17:17:08 2008 -0400 ACPI: GPE enabling should happen after EC installation GPE could try to access EC region, so should not be enabled before EC is installed http://bugzilla.kernel.org/show_bug.cgi?id=9916 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f360bf0015e5b3e82be61c68e0863b3f98852ee2 Author: Kumar Gala Date: Fri Apr 25 02:39:22 2008 +1000 [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 060856c799191ffc360105cac49f3f9e68d526b7 Author: Nick Forbes Date: Fri Apr 25 00:06:52 2008 +0100 leds: Add default-on trigger Add a trigger which allows LEDs to default to the full brightness state. Signed-off-by: Nick Forbes Signed-off-by: Richard Purdie commit 2e214e0fa21465cf2749ca7d5a072cf8591f3213 Author: Richard Purdie Date: Thu Apr 24 23:49:30 2008 +0100 leds: Document the context brightness_set needs Make sure there is no confusion about the contexts brightness_set can be called under by documenting it. Signed-off-by: Richard Purdie commit 3b2e46f8c4a5f2d7856c490ab5f0c46b65e2cb99 Author: Rod Whitby Date: Thu Apr 24 23:43:09 2008 +0100 leds: Add new driver for the LEDs on the Freecom FSG-3 The LEDs on the Freecom FSG-3 are connected to an external memory-mapped latch on the ixp4xx expansion bus, and therefore cannot be supported by any of the existing LEDs drivers. Signed-off-by: Rod Whitby Signed-off-by: Richard Purdie commit 29d76dfa29fe22583aefddccda0bc56aa81035dc Author: Henrique de Moraes Holschuh Date: Tue Mar 18 09:47:48 2008 +0000 leds: Add support to leds with readable status Some led hardware allows drivers to query the led state, and this patch adds a hook to let the led class take advantage of that information when available. Without this functionality, when access to the led hardware is not exclusive (i.e. firmware or hardware might change its state behind the kernel's back), reality goes out of sync with the led class' idea of what the led is doing, which is annoying at best. Behaviour for drivers that do not or cannot read the led status is unchanged. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Richard Purdie commit ca3259b3603539e72faacc6821050ee889a52103 Author: Herbert Valerio Riedel Date: Sun Mar 9 23:48:25 2008 +0000 leds: enable support for blink_set() platform hook in leds-gpio Enhance leds-gpio to provide hardware-based led flashing by passing through the blink_set() call to a optionally set platform-specific function pointer. Signed-off-by: Herbert Valerio Riedel Signed-off-by: Richard Purdie commit 4d404fd5c51772720e9c72aa3185bd5119bc6e69 Author: Németh Márton Date: Sun Mar 9 20:59:57 2008 +0000 leds: Cleanup various whitespace and code style issues Break the lines which were more than 80 characters into more lines; replace SPACEs with TABs; correct ident at switch-case; change character encoding from ISO-8859-2 to UTF-8. The order of the functions in led-triggers.c changed in order the similar functions can still be together under titles "Used by LED Class", "LED Trigger Interface" and "Simple LED Tigger Interface" as was grouped before when exported with EXPORT_SYMBOL. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 0013b23d66a2768f5babbb0ea9f03ab067a990d8 Author: Németh Márton Date: Sun Mar 9 20:54:37 2008 +0000 leds: disable triggers on brightness set Disable any active triggers when the brightness attribute is set to zero. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit b3ba31f84ea041c0945b5904d4c407ce14b2b72c Author: Mrton Nmeth Date: Sun Mar 9 20:47:59 2008 +0000 leds: Add mail LED support for "Clevo D400P" The leds-clevo-mail module also works with model "Clevo D400P", add this model to the white list. Signed-off-by: Mrton Nmeth Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 3f5087a2bae5d1ce10a3d698dec8f879a96f5419 Author: Peter Zijlstra Date: Fri Apr 25 00:25:08 2008 +0200 sched: fix share (re)distribution fix __aggregate_redistribute_shares() related lockup reported by David S. Miller. The problem this code tries to solve is 'accurately' calculating the 'fair' share of the group weight for each cpu. The current code falls back to a global group rebalance in case the sched_domain's span it looks at has no shares, but does have tasks. The reason it gets stuck here, is because its inherently racy - if someone steals the last task after we compute the agg->rq_weight, but before we rebalance, we'll never get out of the loop. We could of course go fix that, but while looking at this issue I found that this 'fallback' wasn't nearly as rare as I'd hoped it to be. In fact its quite common - and given it walks the whole machine, thats very bad. The new approach is simple (why didn't I think of it before?), we set the aggregate shares to the full task group weight, and each larger sched domain that encounters an aggregate shares larger than the weight, clips it (it already re-distributes anyway). This nicely converges to the desired global picture where the sum of all shares equals the task group weight. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 126e01bf92dfc5f0ba91e88be02c473e1506d7d9 Author: Ingo Molnar Date: Fri Apr 25 00:25:08 2008 +0200 softlockup: fix NOHZ wakeup David Miller reported: |---------------> the following commit: | commit 27ec4407790d075c325e1f4da0a19c56953cce23 | Author: Ingo Molnar | Date: Thu Feb 28 21:00:21 2008 +0100 | | sched: make cpu_clock() globally synchronous | | Alexey Zaytsev reported (and bisected) that the introduction of | cpu_clock() in printk made the timestamps jump back and forth. | | Make cpu_clock() more reliable while still keeping it fast when it's | called frequently. | | Signed-off-by: Ingo Molnar causes watchdog triggers when a cpu exits NOHZ state when it has been there for >= the soft lockup threshold, for example here are some messages from a 128 cpu Niagara2 box: [ 168.106406] BUG: soft lockup - CPU#11 stuck for 128s! [dd:3239] [ 168.989592] BUG: soft lockup - CPU#21 stuck for 86s! [swapper:0] [ 168.999587] BUG: soft lockup - CPU#29 stuck for 91s! [make:4511] [ 168.999615] BUG: soft lockup - CPU#2 stuck for 85s! [swapper:0] [ 169.020514] BUG: soft lockup - CPU#37 stuck for 91s! [swapper:0] [ 169.020514] BUG: soft lockup - CPU#45 stuck for 91s! [sh:4515] [ 169.020515] BUG: soft lockup - CPU#69 stuck for 92s! [swapper:0] [ 169.020515] BUG: soft lockup - CPU#77 stuck for 92s! [swapper:0] [ 169.020515] BUG: soft lockup - CPU#61 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#85 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#101 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#109 stuck for 92s! [swapper:0] [ 169.112554] BUG: soft lockup - CPU#117 stuck for 92s! [swapper:0] [ 169.171483] BUG: soft lockup - CPU#40 stuck for 80s! [dd:3239] [ 169.331483] BUG: soft lockup - CPU#13 stuck for 86s! [swapper:0] [ 169.351500] BUG: soft lockup - CPU#43 stuck for 101s! [dd:3239] [ 169.531482] BUG: soft lockup - CPU#9 stuck for 129s! [mkdir:4565] [ 169.595754] BUG: soft lockup - CPU#20 stuck for 93s! [swapper:0] [ 169.626787] BUG: soft lockup - CPU#52 stuck for 93s! [swapper:0] [ 169.626787] BUG: soft lockup - CPU#84 stuck for 92s! [swapper:0] [ 169.636812] BUG: soft lockup - CPU#116 stuck for 94s! [swapper:0] It's simple enough to trigger this by doing a 10 minute sleep after a fresh bootup then starting a parallel kernel build. I suspect this might be reintroducing a problem we've had and fixed before, see the thread: http://marc.info/?l=linux-kernel&m=119546414004065&w=2 <---------------| touch the softlockup watchdog when exiting NOHZ state - we are obviously not locked up. Signed-off-by: Ingo Molnar commit 88a411c07b6fedcfc97b8dc51ae18540bd2beda0 Author: Ingo Molnar Date: Thu Apr 3 09:06:13 2008 +0200 seqlock: livelock fix Thomas Gleixner debugged a particularly ugly seqlock related livelock: do not process the seq-read section if we know it beforehand that the test at the end of the section will fail ... Signed-off-by: Ingo Molnar commit 1775826ceec51187aa868406585799b7e76ffa7d Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:13 2008 -0700 xen: add balloon driver The balloon driver allows memory to be dynamically added or removed from the domain, in order to allow host memory to be balanced between multiple domains. This patch introduces the Xen balloon driver, though it currently only allows a domain to be shrunk from its initial size (and re-grown back to that size). A later patch will add the ability to grow a domain beyond its initial size. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af7ae3b9c4a4c1337903f31131d58e3c0d2b6d55 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:12 2008 -0700 xen: allow compilation with non-flat memory There's no real reason we can't support sparsemem/discontigmem, so do so. This is mostly useful to support hotplug memory. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b77797fb2bf31bf076e6b69736119bc6a077525b Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:11 2008 -0700 xen: fold xen_sysexit into xen_iret xen_sysexit and xen_iret were doing essentially the same thing. Rather than having a separate implementation for xen_sysexit, we can just strip the stack back to an iret frame and jump into xen_iret. This removes a lot of code and complexity - specifically, another critical region. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2bd50036b5dfc929390ddc48be7f6314447b2be3 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:10 2008 -0700 xen: allow set_pte_at on init_mm to be lockless The usual pagetable locking protocol doesn't seem to apply to updates to init_mm, so don't rely on preemption being disabled in xen_set_pte_at on init_mm. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41e332b2a2dfe514cd441ed0ce1096ed1863e378 Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:09 2008 -0700 xen: disable preemption during tlb flush Various places in the kernel flush the tlb even though preemption doens't guarantee the tlb flush is happening on any particular CPU. In many cases this doesn't seem to matter, so don't make a fuss about it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ee36dc08e5c4d16d078f59acd6d9d536f9718dd Author: Markus Armbruster Date: Wed Apr 2 10:54:07 2008 -0700 xen pvfb: Para-virtual framebuffer, keyboard and pointer driver This is a pair of Xen para-virtual frontend device drivers: drivers/video/xen-fbfront.c provides a framebuffer, and drivers/input/xen-kbdfront provides keyboard and mouse. The backends run in dom0 user space. The two drivers are not in two separate patches, because the intermediate step (one driver, not the other) is somewhat problematic: the backend in dom0 needs both drivers, and will refuse to complete device initialization unless they're both present. Signed-off-by: Markus Armbruster Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f93f09b72d6ff47b2399b79ed6d1cbc7dbf991b Author: Mark McLoughlin Date: Wed Apr 2 10:54:06 2008 -0700 xen: Add compatibility aliases for frontend drivers Before getting merged, xen-blkfront was xenblk and xen-netfront was xennet. Temporarily adding compatibility module aliases eases upgrades from older versions by e.g. allowing mkinitrd to find the new version of the module. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d2f0c52bec954460e72dee48f3a29c6f310d76be Author: Mark McLoughlin Date: Wed Apr 2 10:54:05 2008 -0700 xen: Module autoprobing support for frontend drivers Add module aliases to support autoprobing modules for xen frontend devices. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d78d7055629e3f6300d6b8d7028259ee2bffc0e Author: Christian Limpach Date: Wed Apr 2 10:54:04 2008 -0700 xen blkfront: Delay wait for block devices until after the disk is added When the xen block frontend driver is built as a module the module load is only synchronous up to the point where the frontend and the backend become connected rather than when the disk is added. This means that there can be a race on boot between loading the module and loading the dm-* modules and doing the scan for LVM physical volumes (all in the initrd). In the failure case the disk is not present until after the scan for physical volumes is complete. Taken from: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/11483a00c017 Signed-off-by: Christian Limpach Signed-off-by: Mark McLoughlin Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53f0e8afcb0d57cfaff06b89eb8b5302f167577e Author: Jeremy Fitzhardinge Date: Wed Apr 2 10:54:03 2008 -0700 xen/blkfront: use bdget_disk info->dev is never initialized to anything, so bdget(info->dev) is meaningless. Get rid of info->dev, and use bdget_disk on the gendisk. Signed-off-by: Jeremy Fitzhardinge Cc: Al Viro Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22c36d18c668db1a8d92a9a47e09857974f6a49b Author: Jonathan Corbet Date: Wed Apr 23 10:34:52 2008 -0600 Document SEQ_SKIP 2.6.26 adds a SEQ_SKIP return value for the seq_file show() function; update the documentation to match. Signed-off-by: Jonathan Corbet commit 3e334239d89d4a71610be5a3e8432464d421d9ec Author: Markus Armbruster Date: Wed Apr 2 10:54:02 2008 -0700 xen: Make xen-blkfront write its protocol ABI to xenstore Frontends are expected to write their protocol ABI to xenstore. Since the protocol ABI defaults to the backend's native ABI, things work fine without that as long as the frontend's native ABI is identical to the backend's native ABI. This is not the case for xen-blkfront running 32-on-64, because its ABI differs between 32 and 64 bit, and thus needs this fix. Based on http://xenbits.xensource.com/xen-unstable.hg?rev/c545932a18f3 and http://xenbits.xensource.com/xen-unstable.hg?rev/ffe52263b430 by Gerd Hoffmann Signed-off-by: Markus Armbruster Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b15993fcc1bf15f717fb4414b32e4a11534dfdc4 Author: Isaku Yamahata Date: Wed Apr 2 10:54:01 2008 -0700 xen: import arch generic part of xencomm On xen/ia64 and xen/powerpc hypercall arguments are passed by pseudo physical address (guest physical address) so that it's necessary to convert from virtual address into pseudo physical address. The frame work is called xencomm. Import arch generic part of xencomm. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8d3d2106c19f4e69f208f59fe484ca113fbb48b3 Author: Isaku Yamahata Date: Wed Apr 2 10:54:00 2008 -0700 xen: make grant table arch portable split out x86 specific part from grant-table.c and allow ia64/xen specific initialization. ia64/xen grant table is based on pseudo physical address (guest physical address) unlike x86/xen. On ia64 init_mm doesn't map identity straight mapped area. ia64/xen specific grant table initialization is necessary. Signed-off-by: Isaku Yamahata Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f0ababbf49f12330effab932a18055a50f4c0a1 Author: Isaku Yamahata Date: Wed Apr 2 10:53:59 2008 -0700 xen: replace callers of alloc_vm_area()/free_vm_area() with xen_ prefixed one Don't use alloc_vm_area()/free_vm_area() directly, instead define xen_alloc_vm_area()/xen_free_vm_area() and use them. alloc_vm_area()/free_vm_area() are used to allocate/free area which are for grant table mapping. Xen/x86 grant table is based on virtual address so that alloc_vm_area()/free_vm_area() are suitable. On the other hand Xen/ia64 (and Xen/powerpc) grant table is based on pseudo physical address (guest physical address) so that allocation should be done differently. The original version of xenified Linux/IA64 have its own allocate_vm_area()/free_vm_area() definitions which don't allocate vm area contradictory to those names. Now vanilla Linux already has its definitions so that it's impossible to have IA64 definitions of allocate_vm_area()/free_vm_area(). Instead introduce xen_allocate_vm_area()/xen_free_vm_area() and use them. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 20e71f2edb5991de8f2a70902b4aa5982f67c69c Author: Isaku Yamahata Date: Wed Apr 2 10:53:58 2008 -0700 xen: make include/xen/page.h portable moving those definitions under asm dir The definitions in include/asm/xen/page.h are arch specific. ia64/xen wants to define its own version. So move them to arch specific directory and keep include/xen/page.h in order not to break compilation. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 642e0c882cd5369429c833d97e4804c8be473e8a Author: Isaku Yamahata Date: Wed Apr 2 10:53:57 2008 -0700 xen: add resend_irq_on_evtchn() definition into events.c Define resend_irq_on_evtchn() which ia64/xen uses. Although it isn't used by current x86/xen code, it's arch generic so that put it into common code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e849c3e9e0b786619c451d89ef0c47ac9a28fbc1 Author: Isaku Yamahata Date: Wed Apr 2 10:53:56 2008 -0700 Xen: make events.c portable for ia64/xen support Remove x86 dependency in drivers/xen/events.c for ia64/xen support introducing include/asm/xen/events.h. Introduce xen_irqs_disabled() to hide regs->flags Introduce xen_do_IRQ() to hide regs->orig_ax. make enum ipi_vector definition arch specific. ia64/xen needs four vectors. Add one rmb() because on ia64 xchg() isn't barrier. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e04d0d0767a9c272d3c7300fb7a5221c5e3a71eb Author: Isaku Yamahata Date: Wed Apr 2 10:53:55 2008 -0700 xen: move events.c to drivers/xen for IA64/Xen support move arch/x86/xen/events.c undedr drivers/xen to share codes with x86 and ia64. And minor adjustment to compile. ia64/xen also uses events.c Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af711cda4f94b5fddcdc5eb4134387ae026e3171 Author: Isaku Yamahata Date: Wed Apr 2 10:53:54 2008 -0700 xen: move features.c from arch/x86/xen/features.c to drivers/xen ia64/xen also uses it too. Move it into common place so that ia64/xen can share the code. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2724426924a471dc9fd8989dae56ab4d79519e34 Author: Isaku Yamahata Date: Wed Apr 2 10:53:53 2008 -0700 xen: add missing definitions in include/xen/interface/vcpu.h which ia64/xen needs Add xen handles realted definitions for xen vcpu which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address. The xen guest handle represents such arguments. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 87e27cf6288c6bf089ed34a72213d9ad16e82d84 Author: Isaku Yamahata Date: Wed Apr 2 10:53:52 2008 -0700 xen: add missing definitions for xen grant table which ia64/xen needs Add xen handles realted definitions for grant table which ia64/xen needs. Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical address (guest physical address) so that it is required to convert guest kernel virtual address into pseudo physical address right before issuing hypercall. The xen guest handle represents such arguments. Define necessary handles and helper functions. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2eb6d5eb48fd6aedf5787b30e5c41693e8c91fa3 Author: Isaku Yamahata Date: Wed Apr 2 10:53:51 2008 -0700 xen: definitions which ia64/xen needs Add xen VIRQ numbers defined for arch specific use. ia64/xen domU uses VIRQ_ARCH_0 for virtual itc timer. Although all those constants aren't used yet by ia64 at this moment, add all arch specific VIRQ numbers. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a9db275b02e91fba837750ccfc82411ada834b8 Author: Isaku Yamahata Date: Wed Apr 2 10:53:50 2008 -0700 xen: definisions which ia64 needs Add xen hypercall numbers defined for arch specific use. ia64/xen domU uses __HYPERVISOR_arch_1 to manipulate paravirtualized IOSAPIC. Although all those constants aren't used yet by IA64 at this moment, add all arch specific hypercall numbers. Signed-off-by: Isaku Yamahata Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0f2c87695219b1129ccf93e0f58acdcdd49724b9 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:22 2008 -0700 xen: jump to iret fixup Use jmp rather than call for the iret fixup, so its consistent with the sysexit fixup, and it simplifies the stack (which is already complex). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbe9e994c99ac9ac12d2b66ea42f44558f54fa52 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:21 2008 -0700 xen: no need for domU to worry about MCE/MCA Mask MCE/MCA out of cpu caps. Its harmless to leave them there, but it does prevent the kernel from starting an unnecessary thread. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 229664bee6126e01f8662976a5fe2e79813b77c8 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:20 2008 -0700 xen: short-cut for recursive event handling If an event comes in while events are currently being processed, then just increment the counter and have the outer event loop reprocess the pending events. This prevents unbounded recursion on heavy event loads (of course massive event storms will cause infinite loops). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee8fa1c67f0b873a324960f0ca9fa1d7e49aa86b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:19 2008 -0700 xen: make sure retriggered events are set pending retrigger_dynirq() was incomplete, and didn't properly set the event to be pending again. It doesn't seem to actually get used. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee523ca1e456d754d66be6deab910131e4e1dbf8 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:18 2008 -0700 xen: implement a debug-interrupt handler Xen supports the notion of a debug interrupt which can be triggered from the console. For now this is implemented to show pending events, masks and each CPU's pending event set. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e2a81baf6604a2e08e10c7405b0349106f77c8af Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:17 2008 -0700 xen: support sysenter/sysexit if hypervisor does 64-bit Xen supports sysenter for 32-bit guests, so support its use. (sysenter is faster than int $0x80 in 32-on-64.) sysexit is still not supported, so we fake it up using iret. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa380c82b83252754a8c11bfc92359bd87cbf710 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:15 2008 -0700 xen: add support for callbackops hypercall Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85958b465c2e0de315575b1d3d7e7c2ce7126880 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:14 2008 -0700 x86: unify pgd ctor/dtor All pagetables need fundamentally the same setup and destruction, so just use the same code for everything. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 68db065c845bd9d0eb96946ab104b4c82d0ae9da Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:13 2008 -0700 x86: unify KERNEL_PGD_PTRS Make KERNEL_PGD_PTRS common, as previously it was only being defined for 32-bit. There are a couple of follow-on changes from this: - KERNEL_PGD_PTRS was being defined in terms of USER_PGD_PTRS. The definition of USER_PGD_PTRS doesn't really make much sense on x86-64, since it can have two different user address-space configurations. I renamed USER_PGD_PTRS to KERNEL_PGD_BOUNDARY, which is meaningful for all of 32/32, 32/64 and 64/64 process configurations. - USER_PTRS_PER_PGD was also defined and was being used for similar purposes. Converting its users to KERNEL_PGD_BOUNDARY left it completely unused, and so I removed it. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Zach Amsden Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 90e9f53662826db3cdd6d99bd394d727b05160c1 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:12 2008 -0700 xen: make sure iret faults are trapped Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9666e9d44b83755c53615fb89c0787b6846786a1 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:11 2008 -0700 xen: unify pte operations on machine frames Xen's pte operations on mfns can be unified like the kernel's pfn operations. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b4724b0e60cdfdc2679ee7135f3a234c74c2b83 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:10 2008 -0700 xen: use phys_addr_t when referring to physical addresses Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 947a69c90c0d07ac7f214e46dabbe49f2a230e00 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:09 2008 -0700 xen: unify pte operations We can fold the essentially common pte functions together now. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 430442e38e7f049841c5838f8c7027bd9e170045 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:08 2008 -0700 xen: make use of pte_t union pte_t always contains a "pte" field for the whole pte value, so make use of it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit abf33038ffa65097939d86d2a90f93adc6115aa0 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:07 2008 -0700 xen: use appropriate pte types Convert Xen pagetable handling to use appropriate *val_t types. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 286cd49456ef980c4b9904064ef34c36017b8351 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:06 2008 -0700 x86: demacro pgalloc paravirt stubs Turn paravirt stubs into inline functions, so that the arguments are still typechecked. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c20311e165eb94f5ef12b15e452cc6ec24bd7813 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:05 2008 -0700 x86/pgtable.h: demacro ptep_clear_flush_young Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9fbf1a36a6bb6a639459802bccee01185ee3220 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:04 2008 -0700 x86/pgtable.h: demacro ptep_test_and_clear_young Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee5aa8d3ba65d76157f22b7afedd089d8acfe524 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:03 2008 -0700 x86/pgtable.h: demacro ptep_set_access_flags Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2761fa0920756dc471d297843646a4a9bca6656f Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:02 2008 -0700 x86: add pud_alloc for 4-level pagetables Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6944a9c8945212a0cc1de3589736d59ec542c539 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:01 2008 -0700 x86: rename paravirt_alloc_pt etc after the pagetable structure Rename (alloc|release)_(pt|pd) to pte/pmd to explicitly match the name of the appropriate pagetable level structure. [ x86.git merge work by Mark McLoughlin ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Mark McLoughlin Signed-off-by: Thomas Gleixner commit 394158559d4c912cc58c311b6346cdea0ed2b1de Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:37:00 2008 -0700 x86: move all the pgd_list handling to one place Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5a5f8f42241cf09caec5530a7639cfa8dccc3a7b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:59 2008 -0700 x86: move pgalloc pud and pgd operations into common place Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 170fdff7057d4247e3f28cca96d0db1fbc854e3b Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:58 2008 -0700 x86: move pmd functions into common asm/pgalloc.h Common definitions for 3-level pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 397f687ab7f840dbe50353c4b60108672b653d0c Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:57 2008 -0700 x86: move pte functions into common asm/pgalloc.h Common definitions for 2-level pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d262d3a4932b5ae7222c8d9900696650ee95188 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:56 2008 -0700 x86: put paravirt stubs into common asm/pgalloc.h Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ec1fe73dfb711f9ea5a0ef8a7e3af5b6ac8b653 Author: Ingo Molnar Date: Wed Mar 19 20:30:40 2008 +0100 x86: xen unify x86 add common mm pgtable c fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f76cd382213b29dd3658e3e1ea47c0c2be06f3c Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:55 2008 -0700 x86: add common mm/pgtable.c Add a common arch/x86/mm/pgtable.c file for common pagetable functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79bf6d66abb5a20813a19dd365dfc49104f0bb88 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:54 2008 -0700 x86: convert pgalloc_64.h from macros to inlines Convert asm-x86/pgalloc_64.h from macros into functions (#include hell prevents __*_free_tlb from being inline, but they're probably a bit big to inline anyway). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b69d3987f4360a5e7e9e55465b3cdd0cc204b79e Merge: 57675e6... a4928cf... Author: Linus Torvalds Date: Thu Apr 24 14:41:20 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: "make namespacecheck" fixes x86: fix compilation error in VisWS x86: voyager fix x86: Drop duplicate from setup.c intel-iommu.c: dma ops fix commit 1526a756fba5b1f2eb5001b8e8de2a0ea1bd2c66 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:24 2008 -0700 generic: add ioremap_wc() interface wrapper x86 has ioremap_wc for wc remap. Also introduce a generic ioremap_wc aliased to ioremap_uc so that drivers can use this interface transparently. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 1f56cf1c58c81f7ecf16f5e99ac4a333d9dc9aea Author: Ingo Molnar Date: Fri Apr 18 21:42:36 2008 +0200 /dev/mem: make promisc the default default to the old semantics. Signed-off-by: Ingo Molnar commit 28eb559b5b0b9b51b9165a9b8faa75b0bb91ca8d Author: Ingo Molnar Date: Thu Apr 3 10:14:33 2008 +0200 pat: cleanups Signed-off-by: Ingo Molnar commit e7f260a276f2c9184fe753732d834b1f6fbe9f17 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:21 2008 -0700 x86: PAT use reserve free memtype in mmap of /dev/mem Use reserve_memtype and free_memtype wrappers for /dev/mem mmaps. The memtype is slightly complicated here, given that we have to support existing X mappings. We fallback on UC_MINUS for that. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit f0970c13b6a5b01189aeb196ebb573cf87d95839 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:20 2008 -0700 x86: PAT phys_mem_access_prot_allowed for dev/mem mmap Introduce phys_mem_access_prot_allowed(), which checks whether the mapping is possible, without any conflicts and returns success or failure based on that. phys_mem_access_prot() by itself does not allow failure case. This ability to return error is needed for PAT where we may have aliasing conflicts. x86 setup __HAVE_PHYS_MEM_ACCESS_PROT and move x86 specific code out of /dev/mem into arch specific area. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit e045fb2a988a9a1964059b0d33dbaf18d12f925f Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:15 2008 -0700 x86: PAT avoid aliasing in /dev/mem read/write Add xlate and unxlate around /dev/mem read/write. This sets up the mapping that can be used for /dev/mem read and write without aliasing worries. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit e2beb3eae627211b67e456c53f946cede2ac10d7 Author: Venki Pallipadi Date: Thu Mar 6 23:01:47 2008 -0800 devmem: add range_is_allowed() check to mmap of /dev/mem Earlier patch that introduced CONFIG_NONPROMISC_DEVMEM, did the range_is_allowed() check only for read and write. Add range_is_allowed() check to mmap of /dev/mem as well. Changes the paramaters of range_is_allowed() to pfn and size to handle more than 32 bits of physical address on 32 bit arch cleanly. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit ae531c26c5c2a28ca1b35a75b39b3b256850f2c8 Author: Arjan van de Ven Date: Thu Apr 24 23:40:47 2008 +0200 x86: introduce /dev/mem restrictions with a config option This patch introduces a restriction on /dev/mem: Only non-memory can be read or written unless the newly introduced config option is set. The X server needs access to /dev/mem for the PCI space, but it doesn't need access to memory; both the file permissions and SELinux permissions of /dev/mem just make X effectively super-super powerful. With the exception of the BIOS area, there's just no valid app that uses /dev/mem on actual memory. Other popular users of /dev/mem are rootkits and the like. (note: mmap access of memory via /dev/mem was already not allowed since a really long time) People who want to use /dev/mem for kernel debugging can enable the config option. The restrictions of this patch have been in the Fedora and RHEL kernels for at least 4 years without any problems. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 03970f065d9b4b156d0e879f82989440f7045396 Author: Mike Travis Date: Tue Apr 22 10:04:26 2008 -0700 [PATCH] Build fix for CONFIG_NUMA=y && CONFIG_SMP=n Regression caused by 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Signed-off-by: Mike Travis Signed-off-by: Tony Luck commit 472613b961affef0c73f1c797993678312e7c666 Author: Russ Anderson Date: Thu Apr 24 13:16:59 2008 -0500 [IA64] fix bootmem regression on Altix A recent change prevents SGI Altix from booting. This patch fixes the problem. The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit a4928cffe6435caf427ae673131a633c1329dbf3 Author: Ingo Molnar Date: Wed Apr 23 13:20:56 2008 +0200 "make namespacecheck" fixes Signed-off-by: Ingo Molnar commit f8dc5a186c19a029f8eac0b1d2c426690e58efdb Author: Alexey Starikovskiy Date: Mon Apr 21 13:32:01 2008 +0400 x86: fix compilation error in VisWS Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fcbc04c0ab345f6e9cabc92a15f35031a10fde9f Author: Ingo Molnar Date: Mon Apr 21 13:39:53 2008 +0200 x86: voyager fix Reported-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 4d33bdb7688de7a61859dafc783eb9b6bca279fc Author: Alexey Starikovskiy Date: Mon Apr 21 13:31:55 2008 +0400 x86: Drop duplicate from setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 6865f0d19306daf3a3bf28cfcfe74639d1bc0df4 Author: Ingo Molnar Date: Tue Apr 22 11:09:04 2008 +0200 intel-iommu.c: dma ops fix Stephen Rothwell noticed that: Commit 2be621498d461b63ca6124f86e3b9582e1a8e722 ("x86: dma-ops on highmem fix") in Linus' tree introduced a new warning (noticed in the x86_64 allmodconfig build of linux-next): drivers/pci/intel-iommu.c:2240: warning: initialization from incompatible pointer type Which points at an instance of map_single that needs updating. Fix it to the new prototype. Signed-off-by: Ingo Molnar commit e12177073f28419f1f7eb8dbb93aab6b712c7c04 Author: Mark Brown Date: Wed Apr 23 10:28:18 2008 +0100 [ARM] 5017/1: pxa3xx: Report unsupported wakeup sources in pxa3xx_set_wake() pxa3xx_set_wake() silently accepts unsupported wake sources, causing users to believe that they have succesfully configured sources that they haven't. Fail the operation instead. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit e03e0590b2b29b62f0480524090e469baa13d5f5 Author: Philipp Zabel Date: Thu Apr 24 18:10:46 2008 +0100 [ARM] 5020/1: magician: remove __devinit marker from pasic3_leds_info Platform data must not be marked with __devinit. Even __devinitdata would be wrong as the platform driver can be compiled as a module. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 57675e6e75c18f279b944dc2397cc9fd0053845e Merge: 02f3705... a7f796a... Author: Linus Torvalds Date: Thu Apr 24 13:47:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix typo in previous commit [CIFS] Fix define for new proxy cap to match documentation [CIFS] Fix UNC path prefix on QueryUnixPathInfo to have correct slash [CIFS] Reserve new proxy cap for WAFS [CIFS] Add various missing flags and defintions [CIFS] make cifs_dfs_automount_list_static [CIFS] Fix oops when slow oplock process races with unmount [CIFS] Fix acl length when very short ACL being modified by chmod [CIFS] Fix looping on reconnect to Samba when unexpected tree connect fail on reconnect [CIFS] minor update to change log commit 02f370506822cbff60bbf5b685053fa2e8640811 Author: David Howells Date: Thu Apr 24 20:38:56 2008 +0100 RxRPC: Fix a regression in the RXKAD security module Fix a regression in the RXKAD security module introduced in: commit 91e916cffec7c0153c5cbaa447151862a7a9a047 Author: Al Viro Date: Sat Mar 29 03:08:38 2008 +0000 net/rxrpc trivial annotations A variable was declared as a 16-bit type rather than a 32-bit type. Signed-off-by: David Howells Acked-with-apologies-by: Al Viro Signed-of-by: Linus Torvalds commit f764e51421d66fa0b58cba6a75355fa6e60f3a37 Author: Sebastian Siewior Date: Thu Apr 24 21:32:28 2008 +0200 Remove -numa from EXTRAVERSION This snuck in through 919ee677b656c52c5f86d3d916786891220d5452 ("[SPARC64]: Add NUMA support") Signed-off-by: Sebastian Siewior Cc: David S. Miller Signed-off-by: Linus Torvalds commit 563307b2fa15d687abc54bd980b9847ebf0e3231 Merge: 10c993a... 233607d... Author: Linus Torvalds Date: Thu Apr 24 11:46:16 2008 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (80 commits) SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request make nfs_automount_list static NFS: remove duplicate flags assignment from nfs_validate_mount_data NFS - fix potential NULL pointer dereference v2 SUNRPC: Don't change the RPCSEC_GSS context on a credential that is in use SUNRPC: Fix a race in gss_refresh_upcall() SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests SUNRPC: Remove the unused export of xprt_force_disconnect SUNRPC: remove XS_SENDMSG_RETRY SUNRPC: Protect creds against early garbage collection NFSv4: Attempt to use machine credentials in SETCLIENTID calls NFSv4: Reintroduce machine creds NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid() nfs: fix printout of multiword bitfields nfs: return negative error value from nfs{,4}_stat_to_errno NLM/lockd: Ensure client locking calls use correct credentials NFS: Remove the buggy lock-if-signalled case from do_setlk() NLM/lockd: Fix a race when cancelling a blocking lock NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel ... commit 10c993a6b5418cb1026775765ba4c70ffb70853d Merge: c328d54... ca45625... Author: Linus Torvalds Date: Thu Apr 24 11:45:00 2008 -0700 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: (52 commits) knfsd: clear both setuid and setgid whenever a chown is done knfsd: get rid of imode variable in nfsd_setattr SUNRPC: Use unsigned loop and array index in svc_init_buffer() SUNRPC: Use unsigned index when looping over arrays SUNRPC: Update RPC server's TCP record marker decoder SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle NLM: don't let lockd exit on unexpected svc_recv errors (try #2) NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2) Use a zero sized array for raw field in struct fid nfsd: use static memory for callback program and stats SUNRPC: remove svc_create_thread() nfsd: fix comment lockd: Fix stale nlmsvc_unlink_block comment NFSD: Strip __KERNEL__ testing from unexported header files. sunrpc: make token header values less confusing gss_krb5: consistently use unsigned for seqnum NFSD: Remove NFSv4 dependency on NFSv3 SUNRPC: Remove PROC_FS dependency NFSD: Use "depends on" for PROC_FS dependency nfsd: move most of fh_verify to separate function ... commit b9e4f176665d732928b92106f2041dde66e6c896 Author: Grant Likely Date: Fri Apr 25 03:33:44 2008 +1000 [POWERPC] bootwrapper: fix build error on virtex405-head.S virtex405-head.S is an assembler file, not a C file; therefore BOOTAFLAGS is the correct place to set the needed -mcpu=405 flag. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit acb0142bf01c0ebe18f09e37814451ee6a873e27 Author: Stefan Roese Date: Sat Apr 19 19:57:33 2008 +1000 [POWERPC] 4xx: Fix 460GT support to not enable FPU The AMCC 460GT doesn't have an FPU so let's not enable support for it. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 5020231bf73a30a7d9244f1675002fffcdc10ceb Author: Stefan Roese Date: Sat Apr 19 19:57:18 2008 +1000 [POWERPC] 4xx: Add NOR FLASH entries to Canyonlands and Glacier dts This patch adds default NOR entries to the AMCC Canyonlands (460EX) and Glacier (460GT) dts files. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit b912b5e2cfb35c02c9c79d3f6e31753f3be4dd83 Author: John Linn Date: Thu Apr 3 10:22:19 2008 +1100 [POWERPC] Xilinx: of_serial support for Xilinx uart 16550. The Xilinx 16550 uart core is not a standard 16550 because it uses word-based addressing rather than byte-based addressing. With additional properties it is compatible with the open firmware 'ns16550' compatible binding. This code updates the of_serial driver to handle the reg-offset and reg-shift properties to enable this core to be used. Signed-off-by: John Linn Acked-by: Arnd Bergmann Signed-off-by: Josh Boyer commit 2f0b45f846735b486c0383740d3959941c4721a4 Author: John Linn Date: Thu Apr 3 03:52:14 2008 +1100 [POWERPC] Xilinx: boot support for Xilinx uart 16550. The Xilinx 16550 uart core is not a standard 16550 because it uses word-based addressing rather than byte-based adressing. With additional properties it is compatible with the open firmware 'ns16550' compatible binding. This code updates the ns16550 driver to use the reg-offset property so that the Xilinx UART 16550 can be used with it. The reg-shift was already being handled. Signed-off-by: John Linn Acked-by: Grant Likely Signed-off-by: Josh Boyer commit c328d54cd4ad120d76284e46dcca6c6cf996154a Merge: 346ad4b... b0166ab... Author: Linus Torvalds Date: Thu Apr 24 11:21:08 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (452 commits) V4L/DVB (7731): tuner-xc2028: fix signal strength calculus V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800 V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2 V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure V4L/DVB (7719): pvrusb2: Implement input selection enforcement V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx V4L/DVB (7716): pvrusb2: clean up global functions V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__ V4L/DVB (7714): pvrusb2: Fix hang on module removal V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown V4L/DVB (7712): pvrusb2: Close connect/disconnect race V4L/DVB (7711): pvrusb2: Fix race on module unload V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices ... commit 233607dbbc823caf685e778cabc49fb7f679900b Merge: 3dc5063... b48633b... Author: Trond Myklebust Date: Thu Apr 24 14:01:02 2008 -0400 Merge branch 'devel' commit b48633bd086d21f4a2a5bea96c7e6c7ba58eb60c Author: Trond Myklebust Date: Tue Apr 22 16:47:55 2008 -0400 SUNRPC: Invalidate the RPCSEC_GSS session if the server dropped the request RFC 2203 requires the server to drop the request if it believes the RPCSEC_GSS context is out of sequence. The problem is that we have no way on the client to know why the server dropped the request. In order to avoid spinning forever trying to resend the request, the safe approach is therefore to always invalidate the RPCSEC_GSS context on every major timeout. Signed-off-by: Trond Myklebust commit 942bb7b5d67dcfb19d7340038feb7caa666830e7 Merge: 48bdce4... 34d2785... Author: Dmitry Torokhov Date: Thu Apr 24 13:25:42 2008 -0400 Merge branch 'wm97xx' commit 48bdce4a2e0b1d3be6ed6da14d25adfe9385d2dc Author: Vernon Sauder Date: Mon Apr 21 12:13:21 2008 -0400 Input: ucb1400_ts - IRQ probe fix The UCB1400 driver IRQ probe code fails to find an interrupt if all the interrupts in the range 0-31 are nonprobe-able. This patch removes the check of the return value so interrupts above 31 can be detected. Tested on InHand Fingertip4 PXA270 board. Signed-off-by: Vernon Sauder Acked-by: Nicolas Pitre Signed-off-by: Dmitry Torokhov commit a22b4b2f408f7958ffb3a9e62defc5168db1e15e Author: Hans-Christian Egtvedt Date: Mon Apr 21 10:00:46 2008 -0400 Input: at32psif - update MODULE_AUTHOR with new email Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 8fd76c4506817a93718fab0d6b3a55b9becc9f2c Author: Peter Zijlstra Date: Fri Apr 18 00:25:38 2008 -0400 Input: mac_hid - add lockdep annotation to emumousebtn The mouse button emulation calls input device methods from an input device. This causes funny lock nesting which is harmless as each device has its own locks. Give the nesting device its own lock classes so that lockdep will not consider them the same. Signed-off-by: Peter Zijlstra Signed-off-by: Dmitry Torokhov commit 8c6deb9c8fd29feaeae3aae500608beac777ea9e Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 00:25:18 2008 -0400 Input: i8042 - fix incorrect usage of strncpy and strncat Fix incorrect length argument for strncpy and strncat by replacing them with strlcpy and strlcat Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Dmitry Torokhov commit d0478d0ad7a58f36afa03e57afe14955c2943466 Author: Michael Hennerich Date: Fri Apr 18 00:25:00 2008 -0400 Input: bf54x-keys - add infrastructure for keypad wakeups Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit d7b5247bbcfba2bc96d4b3dec9086a4f1a31363b Author: Kay Sievers Date: Fri Apr 18 00:24:42 2008 -0400 Input: add MODULE_ALIAS() to hotpluggable platform modules Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "input" platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit b39b04403bba4f807ee6e57ae2f4407187588fcd Author: Julia Lawall Date: Thu Apr 17 09:28:25 2008 -0400 Input: drivers/char/keyboard.c - use time_after The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 81e329cdddd63d66e2b3c3dc51d429ba074cdbb8 Author: Jiri Kosina Date: Mon Mar 10 13:43:05 2008 +0100 Input: fix ordering in joystick Makefile Make entries in drivers/input/joystick/Makefile properly alphabetically ordered. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit b0166ab3a6ae6d7af8d9a21a7836154963c69a11 Author: Mauro Carvalho Chehab Date: Thu Apr 24 11:19:55 2008 -0300 V4L/DVB (7731): tuner-xc2028: fix signal strength calculus Signed-off-by: Mauro Carvalho Chehab commit c21f1e2e39a1012f57c33d21af5c909cf2ae3b9a Author: Mauro Carvalho Chehab Date: Thu Apr 24 10:56:41 2008 -0300 V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares There are different tables for MTS firmwares. This should be taken into account while selecting the proper firmware. While at tuner-xc2028.h, improve some comments. Thanks to Edward J. Sheldrake for helping to diagnose such troubles with PAL/I standard. Signed-off-by: Mauro Carvalho Chehab commit d2b213f7b76f187c4391079c7581d3a08b940133 Author: Alan Cox Date: Sun Apr 20 11:27:36 2008 -0300 V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv Frank Bennett reported that ivtv was causing skype to crash. With help from one of their developers he showed it was a kernel problem. VIDIOCGCAP copies a name into a fixed length buffer - ivtv uses names that are too long and does not truncate them so corrupts a few bytes of the app data area. Possibly the names also want trimming but for now this should fix the corruption case. Signed-off-by: Alan Cox Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 867e835f4db4eba6d49072382cc05fc210c4ed1c Author: Mauro Carvalho Chehab Date: Wed Apr 23 17:27:27 2008 -0300 V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken Signed-off-by: Mauro Carvalho Chehab commit a589b66546d3d81e28dd95d3463c9e9da3d68728 Author: Steven Toth Date: Sun Jan 13 23:44:47 2008 -0300 V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800 cx23885: Enable cx23417 support on the HVR1800 Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b1b81f1db73f00e595585b16aa31293a791964c0 Author: Steven Toth Date: Sun Jan 13 23:42:44 2008 -0300 V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support cx23885: Add generic cx23417 hardware encoder support. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e57b1c80065f7922e3ba464f54254c7ce983a3a4 Author: Mike Isely Date: Mon Apr 21 03:52:34 2008 -0300 V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface Change how list of possible pvrusb2 inputs is generated to include only those interfaces that make sense for the interface instance. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1df59f0b908bfcdc35d1ea2319290ece272bf576 Author: Mike Isely Date: Mon Apr 21 03:50:39 2008 -0300 V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2 Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 21684ba921d7758dc9264e0de64475b8a636ee95 Author: Mike Isely Date: Mon Apr 21 03:49:33 2008 -0300 V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 17a7b6642da13f789471895677c98736ac85f43a Author: Mike Isely Date: Mon Apr 21 03:48:41 2008 -0300 V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1cb03b76d09d20accfa5c1664c16ba6566f539a0 Author: Mike Isely Date: Mon Apr 21 03:47:43 2008 -0300 V4L/DVB (7719): pvrusb2: Implement input selection enforcement In the pvrusb2 driver, different interfaces (e.g. V4L, DVB) have Signed-off-by: Mauro Carvalho Chehab commit d3f8d8fb304a8b9a81eae16ff7b50f5379f2437e Author: Michael Krufky Date: Sun Apr 20 02:42:55 2008 -0300 V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections These changes are required with the addition of digital television support for the Hauppauge HVR1900 & HVR1950, the OnAir Creator and Sasem USB HDTV Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 95814bc2b792dced5296a710704de7d5ecec2776 Author: Michael Krufky Date: Sat Apr 19 15:36:51 2008 -0300 V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f55a871241899ea2ecc85670d7c9a83e4de29637 Author: Adrian Bunk Date: Fri Apr 18 05:38:56 2008 -0300 V4L/DVB (7716): pvrusb2: clean up global functions This patch contains the following cleanups: - make the following needlessly global function static: - pvr2_hdw_set_cur_freq() - #if 0 the following unused global functions: - pvr2_hdw_get_state_name() - pvr2_hdw_get_debug_info_unlocked() - pvr2_hdw_get_debug_info_locked() Signed-off-by: Adrian Bunk Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 49844c291a02a8630215f779fa44b3198d0a4f5b Author: Mike Isely Date: Wed Apr 9 05:44:57 2008 -0300 V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__ Apparently the kernel developers no longer consider it proper etiquette to use __FUNCTION__; everyone must instead use __func__ (even though it breaks with older compilers). And worse still, actual effort is being expended to sweep this change throughout the kernel source tree. Don't these people have better things to do? So... Completely clean out all use of __FUNCTION__ from the pvrusb2 driver (it was just in the sysfs interface). I'm not going to use __func__ either. So there. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 18ecbb4771eb0ecf297e996966b3c42f69cd6c02 Author: Mike Isely Date: Wed Apr 9 05:14:11 2008 -0300 V4L/DVB (7714): pvrusb2: Fix hang on module removal The pvrusb2 driver was getting had by this scenario: 1. Task A calls kthread_stop() for task B. 2. Before exiting, then Task B calls kthread_stop() for task C. The problem is, kthread_stop() wants to allocate an internal resource to itself (i.e. acquire a lock), which won't be released until kthread_stop() returns. But kthread_stop() won't return until task B is dead. But task B won't die until it finishes its call to kthread_stop() for task C, and that will block waiting on the resource already allocated inside task A. Deadlock. With the pvrusb2 driver, task A is the caller to pvr_exit(), task B is the control thread run inside of pvrusb2-context.c, and task C is any worker thread run inside of pvrusb2-hdw.c. This problem got introduced by the previous threading setup change, which was itself an attempt to fix a module tear-down race (which it actually did fix). The lesson here is that a task being waited on as part of a kthread_stop() simply cannot be allow to also issue a kthread_stop() - or we make sure not to issue the enclosing kthread_stop() until we know that the inner kthread_stop() has completed first. The solution for the pvrusb2 driver is some hackish code which changes the main control thread tear down into a two step process. This then makes it possible to delay issuing the kthread_stop() on the control thread until after we know that everything has been torn down first. (And yes, we really need that kthread_stop() because it's the only way to safely guarantee that a module-referencing kernel thread has safely returned back out of the module before we finally remove the module.) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 13e027a8bf2a507334fa0d30246ce619ff581cbb Author: Mike Isely Date: Mon Apr 7 02:57:13 2008 -0300 V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown Earlier fix to handle DVB feed thread aborts was overly-aggressive. We can take better advantage of what kthread_stop() can do. This change simplifies things. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 97f26ff6049a7fff5460cebe392ad1d699dc434c Author: Mike Isely Date: Mon Apr 7 02:22:43 2008 -0300 V4L/DVB (7712): pvrusb2: Close connect/disconnect race If a disconnect happens before initialization is completed, the pvrusb2 driver can accidentally touch dangling pointers. The whole initialization function must be protected by the big_lock, and once inside that lock, the initialization function should abort if it is discovered that a disconnect has already taken place. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e5be15c63804e05b5a94197524023702a259e308 Author: Mike Isely Date: Mon Apr 7 02:22:04 2008 -0300 V4L/DVB (7711): pvrusb2: Fix race on module unload The pvrusb2 driver - for basically forever - was not enforcing a proper module tear-down. Kernel threads are used inside the driver and all must be gone before the module can be safely removed. This changeset reimplements a chunk of pvrusb2-context.c to enforce this correctly. Unfortunately this is not a simple fix. The new implementation also cuts back on kernel thread usage; instead of there being 1 control thread per instance now it's just 1 control thread shared by all instances. (By dropping to a single thread then the module exit function can block on its shutdown and the thread itself can monitor and cleanly shut down all of the other instances first.) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d913d6303072ca194919d851e6743ad8c3a7563d Author: Mike Isely Date: Sun Apr 6 04:04:35 2008 -0300 V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices Implement timed measurement of encoder operation for the first time it is run. This allows the driver to note when the encoder has been run successfully for at least 1/4 second. On top of that implement various bits to ensure that the encoder has been run once before digital streaming for OnAir devices. This is done via several core state machine tweaks. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 72998b71096e364002269a8cacc0524937d479c6 Author: Mike Isely Date: Thu Apr 3 04:51:19 2008 -0300 V4L/DVB (7709): pvrusb2: New device attribute for encoder usage in digital mode Some tuners seem to not work in digital mode unless the encoder is healthy. Implement a device attribute to represent this flag and modify the core state machines to enforce this requirement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 07b80264c3ede47593e83189cce82b31100053f6 Author: Mike Isely Date: Sun Mar 30 20:36:31 2008 -0300 V4L/DVB (7708): pvrusb2-dvb: Fix stuck thread on streaming abort If the device fails to stream, the feed thread will block forever waiting for buffers. But while in this state it was not looking for an exit condition from the driver DVB interface. This caused the thread to jam. Implement a new stop flag (which will be set appropriately) to tell the thread to stop. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 087886eb111fde9659d69c030ea618b3c242e39c Author: Michael Krufky Date: Fri Mar 28 05:49:36 2008 -0300 V4L/DVB (7707): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 750xx Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c881284151e35479ffee26a571b6e9769c351095 Author: Michael Krufky Date: Fri Mar 28 05:48:44 2008 -0300 V4L/DVB (7706): pvrusb2: create a separate pvr2_device_desc structure for 751xx models Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 906a495741bf63a7448ca4c452d70f937549e9ad Author: Michael Krufky Date: Fri Mar 28 05:47:47 2008 -0300 V4L/DVB (7705): pvrusb2: Enable OnAir digital operation Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1b1b8d7841684d9d6273c479abe39d517dfb8cb8 Author: Mike Isely Date: Fri Mar 28 05:43:45 2008 -0300 V4L/DVB (7704): pvrusb2: Fix slop involving use of struct which might not be defined When the DVB interface is not compiled, the pvr2_dvb_props struct is not available - so it really should be ifdef'ed out as well. This didn't cause an error because in this context its usage was as an opaque pointer. But it really shouldn't be present at all if DVB is not enabled. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 694dca2b80d5e17f5edddacf4fcdacc1091623f2 Author: Mike Isely Date: Fri Mar 28 05:42:10 2008 -0300 V4L/DVB (7703): pvrusb2: Fix minor problem involving ARRAY_SIZE confusion Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bb0c2fe0c423d6501395e626501dd8747823cafb Author: Mike Isely Date: Fri Mar 28 05:41:19 2008 -0300 V4L/DVB (7702): pvrusb2: Rework USB streaming start/stop execution The commands to start / stop USB streaming for an analog device are fairly standard, owing to the fact that all supported devices apparently started from the same common reference design. However with digital mode, the commands seem to vary by vendor. This change makes that variance more explicit. It also cleans up a related problem for OnAir devices which prevented digital mode from working at all. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1c9d10d4d2e791a9eacd9f919dec78c5bc6737e8 Author: Mike Isely Date: Fri Mar 28 05:38:54 2008 -0300 V4L/DVB (7701): pvrusb2: Centralize handling of simple FX2 commands Numerous places in the driver need to issue simple commands to the FX2 microcontroller (e.g. only 1 or 2 bytes, no reply needed). Previously each place that did this, had to take lock, set up a central buffer, and call the function to perform the handshake. This change puts these steps into a single spot. This also has the effect of removing the need to mess with the control lock from numerous places in the code. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 448cb48e6e2fcd3a948cc549c5c6ab7f84440a54 Author: Mike Isely Date: Fri Mar 28 05:36:25 2008 -0300 V4L/DVB (7700): pvrusb2: Make FX2 command codes unsigned constants Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ad0992e97c5416e431e19dcfd4f6c84448dc1bc2 Author: Mike Isely Date: Fri Mar 28 05:34:45 2008 -0300 V4L/DVB (7699): pvrusb2: Implement statistics for USB I/O performance / tracking Implement a mechanism in the pvrusb2 driver for gathering statistics on the stream buffering, including bytes transferred, buffers handled, buffers in flight, etc. This is useful for debugging certain classes of streaming issues and for determining if the buffer pool size is generally correct for the driver. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit be9cbb7c559eddea19604abafb89faf9c8666715 Author: Mike Isely Date: Fri Mar 28 05:32:23 2008 -0300 V4L/DVB (7698): pvrusb2: Remove never-reached break statements (trivial) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b9a37d9124dc834f2448558dbbe766eee077b954 Author: Mike Isely Date: Fri Mar 28 05:31:40 2008 -0300 V4L/DVB (7697): pvrusb2: Fix misleading bit of debug output (trivial) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 38d9a2cf2db30b37dde81ec5f8b4de0fd9843ccc Author: Mike Isely Date: Fri Mar 28 05:30:48 2008 -0300 V4L/DVB (7696): pvrusb2: state control tweak Don't trigger a pathway state change if it's already been triggered (eliminates some wasted processing and some debug output noise) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 98e184d978c9fdd294c169e468ab4a3e51a8be2d Author: Mike Isely Date: Fri Mar 28 05:28:20 2008 -0300 V4L/DVB (7695): pvrusb2: Make associativity of == and && explicit (cosmetic) Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ce52f81138512dc9c4b0ab00f11806000b597a45 Author: Mike Isely Date: Sun Mar 16 02:12:12 2008 -0300 V4L/DVB (7694): pvrusb2: Fix compilation goof when CONFIG_VIDEO_PVRUSB2_DVB is off Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e6d1186543784222024da9c688766effd2ca3163 Author: Mike Isely Date: Sat Feb 9 19:47:52 2008 -0300 V4L/DVB (7693): pvrusb2-dvb: Change usage of 0 --> NULL Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c5317b17f6ca74531a6c707873dc5d25f1877ac3 Author: Mike Isely Date: Sat Feb 9 19:47:07 2008 -0300 V4L/DVB (7692): pvrusb2-dvb: Further clean up dvb init/tear-down Move pvr2_dvb_adapter usage out of the pvrusb2 driver core - it's really private to the pvrusb2-dvb module and nothing outside of the dvb implementation should care about it. Creation / destruction of the pvr2_dvb_adapter instance is now contained entirely within pvrusb2-dvb.c. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 129a2f5efd95959c44a2bfeea8ee8b7c17252db6 Author: Mike Isely Date: Sat Feb 9 16:29:52 2008 -0300 V4L/DVB (7691): pvrusb2-dvb: Don't initialize if device lacks a digital side In the end we'd like the dvb interface to always be present - even for analog devices (via the mpeg encoder). However right now pvrusb2-dvb won't operate correctly if the hardware doesn't have a digital tuner, so don't initialize the DVB interface unless we know we have a digital tuner. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7dcc48fb55d18258e7db039f44a031e6828e6bad Author: Mike Isely Date: Sat Feb 9 15:55:54 2008 -0300 V4L/DVB (7690): pvrusb2-dvb: Remove digital_up flag Other pvrusb2-dvb changes have made the digital_up flag obsolete. So kill it. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 891d99efc5be16d2762bdbb9d0486f7250990eee Author: Mike Isely Date: Sat Feb 9 15:44:30 2008 -0300 V4L/DVB (7689): pvrusb2-dvb: Rework module tear-down Rather than making an explicit call to tear down the pvrusb2-dvb module, use the callback in the pvr2_channel structure. This has the advantage that now tear-down only happens when it makes sense. The previous implementation had scenarios where it was possible for the tear-down call to happen without a prior initialization. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a36416d0a70899d3724d2e69e378062e06252a41 Author: Mike Isely Date: Wed Feb 6 06:59:48 2008 -0300 V4L/DVB (7688): pvrusb2: Clean up dvb streaming start/stop Eliminate the need for a separate pvr2_dvb_fh; since in the DVB context there can only ever be a single instance then there is no need for a separate instance to handle streaming state. This simplifies the module. Also move streaming start/stop out of the feed thread and into the driver's main context - which makes it possible for streaming start up failures to be detected by the DVB core. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ceb4340deb9bf5f8371d47ef906a83e6784345b0 Author: Mike Isely Date: Wed Feb 6 04:24:51 2008 -0300 V4L/DVB (7687): pvrusb2: Fix oops in pvrusb2-dvb The pvrusb2-dvb feed thread cannot be allowed to exit by itself without first waiting for kthread_should_stop() to return true. Otherwise the driver will have a dangling task_struct context, which will cause a very nasty kernel oops. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e2780fb41102f9844ae6182c03908f03c3cb9163 Author: Mike Isely Date: Mon Feb 4 04:22:21 2008 -0300 V4L/DVB (7686): pvrusb2: Fix broken debug interface build Fix pvrusb2 kbuild typo introduced when pvrusb2-dvb was added. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 48e5329fe8dea9ce88074a10787b619a3fe7175f Author: Mike Isely Date: Mon Feb 4 01:00:33 2008 -0300 V4L/DVB (7685): pvrusb2: Fix really bad typo if DVB config option description Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bc4b02caa875f8e2146c724a931f32b087d7e9b0 Author: Mike Isely Date: Mon Feb 4 00:12:16 2008 -0300 V4L/DVB (7684): pvrusb2: Add VIDEO_PVRUSB2_DVB config variable Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bde316a4f1094f9a3da402c44f7315e1a94fb332 Author: Michael Krufky Date: Sun Feb 10 05:33:37 2008 -0300 V4L/DVB (7683): pvrusb2-dvb: set to DTV mode before attaching frontend Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bb8ce9d9143c0fe2b5cdf65fa41250446805a4be Author: Mike Isely Date: Mon Feb 4 00:00:19 2008 -0300 V4L/DVB (7682): pvrusb2-dvb: finish up stream & buffer handling Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d8abe97d0063cf77e9bbbee076181e4657c7e09c Author: Michael Krufky Date: Sun Feb 3 23:55:07 2008 -0300 V4L/DVB (7681): pvrusb2-dvb: start working on streaming / buffer handling code start work on streaming / buffer handling code to feed the software demux Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 99443ae04f7002530f666ba0747f7b1ecafb3002 Author: Michael Krufky Date: Sun Feb 3 23:48:09 2008 -0300 V4L/DVB (7680): pvrusb2-dvb: add pvr2_dvb_bus_ctrl to allow frontends to negotiate bus access This function is just a skeleton for now - a placeholder to remind us to fix it. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 04910bdc5c172af9bc937a8869e7f2907db4443f Author: Michael Krufky Date: Sun Feb 3 23:46:16 2008 -0300 V4L/DVB (7679): pvrusb2: add DVB API framework Add basic framework for the DVB API. This is enough to control the tuner & demod of the digital frontend, but the stream & buffer handling is still missing. Additional note from Mike Isely - also, since these changes are still very experimental arrange for DVB changes to be compiled in via new CONFIG_VIDEO_PVRUSB2_DVB option, for now. Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e7f677f33664200b3d75ffc625d218b84ac43875 Author: Mike Isely Date: Sun Mar 16 01:13:17 2008 -0300 V4L/DVB (7678): pvrusb2: Fix stupid string typo that has been reproducing wildly Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit b34dddbe4b88bf59e7607d1fc504eee43570c6a4 Author: Dmitry Belimov Date: Wed Apr 23 14:09:08 2008 -0300 V4L/DVB (7677): saa7134: Add/fix Beholder entries Beholder TV/FM tuners: Changes: Add support Beholder Columbus PCMCIA card. Add key map for remote control of Beholder Columbus PCMCIA card. Fix gpiomask for all Beholder tuners. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 8fb737b7dc94e495be02c775afe1e7de0e06f3f5 Author: Dmitry Belimov Date: Wed Apr 23 14:07:09 2008 -0300 V4L/DVB (7676): saa7134: fix: Properly handle busy states on i2c bus There are two conditions, reported by saa7134 that indicates that the I2C bus is busy: TO_SCL and TO_ARB. On both states, it needs to wait for I2C release, before using the bus. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 548899c76e101bdf6228569d6ee6992e8c20da76 Author: Dmitry Belimov Date: Wed Apr 23 14:01:52 2008 -0300 V4L/DVB (7675): tea5767 autodetection is not working on some saa7134 boards Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit d5b3d9ff368dee5e87d9987161ff258d87ecc7c0 Author: Steven Toth Date: Tue Apr 22 22:52:01 2008 -0300 V4L/DVB (7674): tda10048: Adding an SNR table Trying to improve the SNR reporting. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6676237398d0c2e61e5a3a27e0951f60d6ef6fe3 Author: Steven Toth Date: Tue Apr 22 15:38:26 2008 -0300 V4L/DVB (7673): cx23885: Add support for the Hauppauge HVR1400 DVB-T mode is now supported using the DiBcom dib7000p demodulator and the Xceive xc3028L silicon tuner. Analog mode is not supported. Signed-off-by: Steven Toth Reviewed-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a38d6e37c0bc073bae5eff37c939978974ea9712 Author: Steven Toth Date: Tue Apr 22 15:37:01 2008 -0300 V4L/DVB (7672): dib7000p: Add output mode param to the attach struct This allows future drivers to select the most appropriate output mode. Signed-off-by: Steven Toth Reviewed-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5aa2110f3f33feb4a0c67a4996dc400dc594bc1d Author: Guennadi Liakhovetski Date: Tue Apr 22 10:40:23 2008 -0300 V4L/DVB (7671): pxa-camera: fix DMA sg-list coalescing for more than 2 buffers Currently the pxa-camera driver has a bug, visible when the user requests more than 2 video buffers. When the third buffer is queued, it is not appended to the DMA-descriptor list of the second buffer, but is again appended to the first buffer. Fix it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e7c506881973d0c762d660005be54c4095219c59 Author: Guennadi Liakhovetski Date: Tue Apr 22 10:37:49 2008 -0300 V4L/DVB (7670): pxa-camera: handle FIFO overruns FIFO overruns are not seldom on PXA camera interface FIFOs. Handle them by dropping the corrupted frame, waiting for the next start-of-frame, and restarting capture. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a5462e5be3c1cec7e00e6af9985ff31bf4ef8aa0 Author: Mike Rapoport Date: Tue Apr 22 10:36:32 2008 -0300 V4L/DVB (7669): pxa_camera: Add support for YUV modes This patch adds support for YUV packed and planar capture for pxa_camera. Signed-off-by: Mike Rapoport Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 587df9fca6496f4236c526b2c83f068a63cfd769 Author: Guennadi Liakhovetski Date: Tue Apr 22 10:33:39 2008 -0300 V4L/DVB (7668): soc-camera: Remove redundant return This obviously redundant return has been in the driver from the very first version. Remove it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6ec6e0ced1bb9d85e29302e76f5340e3e49bd0b9 Author: Douglas Schilling Landgraf Date: Thu Apr 10 02:07:14 2008 -0300 V4L/DVB (7666): meye: Replace meye_do_ioctl to use video_ioctl2 Convert meye to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 130ca945d83637046bde4943629f011e22831fd3 Author: Douglas Schilling Landgraf Date: Thu Apr 10 01:18:56 2008 -0300 V4L/DVB (7665): videodev: Add default vidioc handler Added default vidioc handler for other private ioctls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 87dd965f101bafea7c5e507f686814a0f0057417 Author: Oliver Endriss Date: Sun Apr 20 22:34:57 2008 -0300 V4L/DVB (7663): budget: Support for Activy budget card with BSBE1 tuner Add support for Activy budget card with BSBE1 tuner, subsystem id 0x1131:0x4f60. Low band and DiSEqC support should work now (BSBE1 and BSRU6 tuner). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit da2c7f66174d082e6b8e1b0c9c0576833abfe866 Author: Oliver Endriss Date: Sun Apr 20 22:13:37 2008 -0300 V4L/DVB (7662): stv0299: Fixed some typos Fixed some typos. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e84b133e329ddad725907844c285efcd35dae39d Author: Oliver Endriss Date: Sun Apr 20 21:57:34 2008 -0300 V4L/DVB (7661): stv0299: Add flag to turn off OP0 output Add flag to turn off OP0 output. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 94ad6de7051a9eb6beda096144c5b409538eab86 Author: Oliver Endriss Date: Sun Apr 20 20:41:42 2008 -0300 V4L/DVB (7660): bsbe1: Use settings recommended by the manufacturer Reworked the BSBE1 tuner support in bsbe1.h to follow the ALPS-recommended parameters more closely. Tested with BSBE1-based Activy cards and TT DVB-S rev 2.3. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit a095be4b030cd7eb5ac2a7dcb86e803db149a8db Author: Andrea Odetti Date: Sun Apr 20 19:14:51 2008 -0300 V4L/DVB (7659): dvb-core: Implement DMX_SET_BUFFER_SIZE for dvr Implementation of DMX_SET_BUFFER_SIZE for dvr. Synchronization of the code of DMX_SET_BUFFER_SIZE for demux and dvr. Signed-off-by: Andrea Odetti Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 48c01a9c2d245b229f8b709040cb1776b00dc683 Author: Andrea Odetti Date: Sun Apr 20 18:37:45 2008 -0300 V4L/DVB (7658): dvb-core: Fix DMX_SET_BUFFER_SIZE in case the buffer shrinks This patch fixes the bug in DMX_SET_BUFFER_SIZE for the demux. Basically it resets read and write pointers to 0 in case they are beyond the new size of the buffer. Signed-off-by: Andrea Odetti Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 3ff9a81b21c673fd91ad8456242ca68922f77ac4 Author: Hartmut Hackmann Date: Sun Apr 13 22:41:19 2008 -0300 V4L/DVB (7656): tda826x: Calculate cut off fequency from symbol rate This patch makes the tuner work with transonders providing higher symbol rates. It was contributed by Oliver Endriss. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b1c54fe2aed3e2812f5b42916894f15e84b484b5 Author: Hartmut Hackmann Date: Sun Apr 13 21:09:11 2008 -0300 V4L/DVB (7655): tda10086 coding stlye fixes This patch replaces the c++ style comments. No functional changes Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 9a1b04e461fc8127c902a988cd9a082ba0680b11 Author: Hartmut Hackmann Date: Wed Apr 9 23:07:11 2008 -0300 V4L/DVB (7654): tda10086: make the xtal frequency a configuration option Some DVB-S boards, i.e. with the SD1878 tuner, use a 4 MHz reference frequency. This reqires a different setup of the clock PLL. This patch adds an enum to the tda10086_config struct and sets the proper values for the boards. This patch also fixes the DVB-S section of the MD7134_BRIDGE_2 Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b37f2d6a31fc8e80c79a0a214d83b128aa796543 Author: Devin Heitmueller Date: Mon Apr 21 07:02:09 2008 -0300 V4L/DVB (7653): tuner-xc2028: drop the severity of version reporting tuner-xc2028.c - Drop the severity level of the xc3028 version reporting, since it's only of interest to developers and user's don't need to have it show up in their dmesg output every time they change the channel. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4269a8eed210d143298baf80185317fc1dcb25ca Author: Devin Heitmueller Date: Mon Apr 21 07:01:09 2008 -0300 V4L/DVB (7652): em28xx: Drop the severity level of the "urb resubmit failed" em28xx-core.c - Drop the severity level of the "urb resubmit failed" to debug, since it occurs every time a stream disconnects, which fills the dmesg log Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 33e5316113b1a472f54579f014739e4a4a53d704 Author: Mauro Carvalho Chehab Date: Mon Apr 21 06:58:48 2008 -0300 V4L/DVB (7651): tuner-xc2028: Several fixes to SCODE This patch fixes several issues on SCODE: 1) The extracting tool weren't generating the proper tags for SCODE. This has almost no effect, since those tags shouldn't be used; 2) DIBCOM52 were using a wrong IF. It should be 5200, instead of 5700; 3) seek_firmware were wanting an exact match for firmware type. This is wrong. As result, no SCODE firmware were loaded; 4) A few files were including the wrong file for seeking demod firmwares; 5) XC3028_FE_DEFAULT can be used, if user doesn't want to load a firmware. However, this weren't documentated. This feature require more testing. Signed-off-by: Mauro Carvalho Chehab commit d1e0b57162f45bb9c6bff25aa33b6e8424556422 Author: Andrew Morton Date: Thu Apr 17 22:16:31 2008 -0300 V4L/DVB (7650): git-dvb: Kconfig fix Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ce89cfb4908bcebba3fb0cd2956d676e06043ef1 Author: Steven Toth Date: Sat Apr 19 01:36:06 2008 -0300 V4L/DVB (7648): cx23885: Load any module dependencies accordingly For boards that require the avcore (cx25840) to be active, ensure it gets loaded. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a780a31cee55e01e7b479244e7907ba842c120a0 Author: Steven Toth Date: Sat Apr 19 01:25:52 2008 -0300 V4L/DVB (7647): Add support for the Hauppauge HVR-1700 digital mode This adds support for DVB-T mode only, analog is not supported. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2770b7d7136f9c6a51ae7fd1d29fa58caf2bcf1c Author: Steven Toth Date: Sat Apr 19 01:18:47 2008 -0300 V4L/DVB (7646): cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b3ea01668907bdb32b0c690d28f9f2b1298bd258 Author: Steven Toth Date: Sat Apr 19 01:14:19 2008 -0300 V4L/DVB (7645): Add support for the Hauppauge HVR-1200 This adds support for DVB-T mode only, analog mode is not supported. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7bbb1ce4f3e517666ad27f3307d49bb2da69ffec Author: Steven Toth Date: Sat Apr 19 01:06:25 2008 -0300 V4L/DVB (7644): Adding support for the NXP TDA10048HN DVB OFDM demodulator Adding support for the NXP TDA10048HN DVB OFDM demodulator Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6b92b3bd7ac91b7e255541f4be9bfd55b12dae41 Author: Steven Toth Date: Sat Apr 5 16:45:57 2008 -0300 V4L/DVB (7642): cx88: enable radio GPIO correctly cx88: enable radio GPIO correctly. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ce96d0a44a4f8d1bb3dc12b5e98cb688c1bc730d Author: Kay Sievers Date: Thu Apr 17 22:55:29 2008 -0300 V4L/DVB (7641): V4L: ov511 - use usb_interface as parent, not usb_device The current code creates a bogus DEVPATH: /devices/pci0000:00/0000:00:1d.0/usb1/1-2/video4linux/video0 while it should be: /devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/video4linux/video0 Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit 353a2761ffb3c4f43ec0c9c99bbe64629646b347 Author: Mauro Carvalho Chehab Date: Fri Apr 18 22:24:01 2008 -0300 V4L/DVB (7639): au8522: fix a small bug introduced by Checkpatch cleanup Signed-off-by: Mauro Carvalho Chehab commit 18d73c58b5ea7425db05b666408f6f682d837b73 Author: Mauro Carvalho Chehab Date: Fri Apr 18 22:12:52 2008 -0300 V4L/DVB (7638): CodingStyle fixes for au8522 and au0828 Signed-off-by: Mauro Carvalho Chehab commit bbdf855b0e98ba576b3577522af5e5c7503c4ed0 Author: Steven Toth Date: Thu Apr 17 22:30:22 2008 -0300 V4L/DVB (7637): au0828: Typo au0828: Typo Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 805caff5a83679a6be6c90787462cb3e4b58e374 Author: Steven Toth Date: Thu Apr 17 21:47:11 2008 -0300 V4L/DVB (7636): au0828: Add HVR850 model number au0828: Add HVR850 model number Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 37be1ea40e42c0de63cedbe65d35cbe6c2a81c0a Author: Steven Toth Date: Thu Apr 17 21:45:08 2008 -0300 V4L/DVB (7635): au8522: Cleanup au8522: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a9c36aad59a06df199cdbb365d0b05663f8008f1 Author: Steven Toth Date: Thu Apr 17 21:41:28 2008 -0300 V4L/DVB (7634): au0828: Cleanup au0828: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0daa5de740c65de7c9554071eec84c6731370065 Author: Michael Krufky Date: Thu Apr 10 04:24:56 2008 -0300 V4L/DVB (7633): au8522: consolidate mse2snr_lookup functions consolidate au8522_qam256_mse2snr_lookup, au8522_qam64_mse2snr_lookup and au8522_vsb_mse2snr_lookup into a single function, au8522_mse2snr_lookup. Pass the mse2snr table into au8522_mse2snr_lookup depending on the modulation type. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f01699b482875bf224a907a45d58e8e3739d554b Author: Steven Toth Date: Thu Apr 10 02:01:48 2008 -0300 V4L/DVB (7632): au8522: Added SNR support and basic cleanup au8522: Added SNR support and basic cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit fb8152cb01dc2bca04a6ee561920d0a02af6c73b Author: Michael Krufky Date: Sat Apr 5 23:13:05 2008 -0300 V4L/DVB (7631): au8522: add function au8522_read_mse add function au8522_read_mse, which will be used to compute snr TO DO: mse2snr Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8973dc4b70c5506596207da3fddab03002357178 Author: Michael Krufky Date: Sat Apr 5 23:08:08 2008 -0300 V4L/DVB (7630): au8522: fix au8522_read_ucblocks for qam ucblocks are reported in separate registers for vsb & qam Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ce1719a61c7c0ac40c6244e6b354181dde27062d Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7629): au8522: replace __FUNCTION__ with __func__ replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e059b0fac7d9df8bf759d7092a16221f0fd250e8 Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7628): au8522: codingstyle cleanups Fixed some checkpatch.pl warnings Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f07e8e4bb790f6cb462d5d5425193cad874ac0de Author: Michael Krufky Date: Fri Apr 18 21:42:30 2008 -0300 V4L/DVB (7627): au0828: replace __FUNCTION__ with __func__ replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fdfc7452f17eb65eb29a143cf992ea2b8d262c7a Author: Michael Krufky Date: Wed Apr 2 18:59:48 2008 -0300 V4L/DVB (7626): Kconfig: VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000 VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc3c613cef903e73e7365986a1943b0124350018 Author: Steven Toth Date: Fri Apr 18 21:39:11 2008 -0300 V4L/DVB (7625): au0828: Cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9c26de555dd3c2cb9833b4d324150aa6b5547b91 Author: Steven Toth Date: Wed Apr 2 01:10:40 2008 -0300 V4L/DVB (7624): Avoid an oops if the board is not fully defined Avoid an oops if the board is not fully defined. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c32d4d7510ae4da4e83bbd6e6471b04e9c9108ea Author: Steven Toth Date: Tue Apr 1 01:27:41 2008 -0300 V4L/DVB (7623): Scripts to maintain the CARDLIST file Scripts to maintain the CARDLIST file. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 28930fa9af9be77abe3d8bce3193908bf266efc6 Author: Steven Toth Date: Sat Mar 29 19:53:07 2008 -0300 V4L/DVB (7622): HVR950Q Hauppauge eeprom support HVR950Q Hauppauge eeprom support. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 265a6510629ab39f33ece43a857089dd37978184 Author: Steven Toth Date: Fri Apr 18 21:34:00 2008 -0300 V4L/DVB (7621): Add support for Hauppauge HVR950Q/HVR850/FusioHDTV7-USB Including support for the AU0828 USB Bridge. Including support for the AU8522 ATSC/QAM Demodulator. Including support for the AU8522 ATSC/QAM Demodulator. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c8234ea37fb8b7a904223672edf36d269ea569a2 Author: Steven Toth Date: Sat Mar 29 18:15:33 2008 -0300 V4L/DVB (7620): Adding support for a new i2c bridge type Adding support for a new i2c bridge type Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e77ebdaa927a9e1b6a2e46086f6ca9a445cd0b88 Author: Mauro Carvalho Chehab Date: Fri Apr 18 18:37:25 2008 -0300 V4L/DVB (7619): em28xx: adds proper demod IF for HVR-900 Thanks to Aidan Thornton for helping to test this firmware Signed-off-by: Mauro Carvalho Chehab commit e54318e5a41cfe10325ae2f817d337beb84e79aa Author: Mauro Carvalho Chehab Date: Fri Apr 18 18:34:31 2008 -0300 V4L/DVB (7618): em28xx: make some symbols static Signed-off-by: Mauro Carvalho Chehab commit e9888a1330402050e596b2553e7009fe371c42be Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:49:59 2008 -0300 V4L/DVB (7617): Removes a manual mode setup The setup is already done at open(). Signed-off-by: Mauro Carvalho Chehab commit e3569abc1c51d24f9c64b214f85477e490b156e3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:49:20 2008 -0300 V4L/DVB (7616): em28xx-dvb: Properly selects digital mode at the right place The driver should be switched to digital mode, when trying to access the frontend or when streaming. This patch provides the correct code to support this feature. Signed-off-by: Mauro Carvalho Chehab commit c67ec53f8f4e90ebd482789e2f6d121f41a0bd90 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:48:00 2008 -0300 V4L/DVB (7615): em28xx: Provide the proper support for switching between analog/digital Before this patch, HVR900/HVR950 were incorreclty going back to analog. The result is that only digital were working. This patch provides the proper setup for analog/digital and tuner callback. It also properly resets analog into a sane state at open(). Thanks to Steven Toth and Michael Krufky for helping to set the proper parameters to GPO/GPIO em2883 ports. Signed-off-by: Mauro Carvalho Chehab commit 82ac4f876505615ba9dc6a73cd9a584bad8fe23f Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:46:14 2008 -0300 V4L/DVB (7614): em28xx-core: fix some debug printk's that wrongly received KERN_INFO Those printk's were adding more info to a line that were already being printed. Signed-off-by: Mauro Carvalho Chehab commit 41facaa4b63cc1a0ff5a900149a29942d47e1491 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:44:58 2008 -0300 V4L/DVB (7613): em28xx: rename registers Now, all registers will follow the same convension: EM28XX_R_ This allows to associate a register with its value, and also with a canonical name. Also, registers that are specific to a given chip were renamed accordingly, as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started to appear on em2880). Signed-off-by: Mauro Carvalho Chehab commit 7e26ca8012a8392c5e53055b8ff3d9512faee6c6 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:43:38 2008 -0300 V4L/DVB (7612): em28xx-cards: use register names for GPIO/GPO Before this patch, registers 0x04 and 0x08 were referenced by its value. This is bad, since makes harder for someone to understand what this is doing. This patch renames those two registers into an appropriate name. Signed-off-by: Mauro Carvalho Chehab commit 2ba890ec0849b222a6dabb5192ccd8fd1696d6d3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:42:58 2008 -0300 V4L/DVB (7611): em28xx: Move registers to a separate file em28xx.h contains lots of different stuff inside. The better is to break it on some files. This patch removes the register names, moving them to a separate file. Signed-off-by: Mauro Carvalho Chehab commit 89b329ef9d7cc16ed46fc991b21b2d45e7bf452c Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:42:14 2008 -0300 V4L/DVB (7610): em28xx: Select reg wait time based on chip ID This is more conservative than just removing the msleep() from em28xx_write_regs_req(), since some old hardware may still need it. So, it will remove the sleep time only for those chips where this removal were tested. Signed-off-by: Mauro Carvalho Chehab commit 7640ea99339c687864f6131598e2eee2ca73cb9c Author: Devin Heitmueller Date: Thu Apr 17 21:41:23 2008 -0300 V4L/DVB (7609): em28xx-core: speed-up firmware load em28xx-core.c: - Remove sleep in i2c message routine which slows down i2c by a factor 10x. Load time for BASE firmware went from 13s to .973s Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 83244025e70aadd7e8baad520decf5d53d534d8f Author: Devin Heitmueller Date: Thu Apr 17 21:41:16 2008 -0300 V4L/DVB (7608): em28xx-dvb: Some cleanups and fixes em28xx-dvb.c: - Remove unneeded xc3028_ctrl structure. The driver automatically preserves the previous value tuner-xc2028.c: - Make the return type for xc2028_get_reg signed, since all of the callers are looking for "< 0" to detect errors. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6ea54d938b6f81baa0952a8b15d3e67e6c268b8f Author: Douglas Schilling Landgraf Date: Thu Apr 17 21:41:10 2008 -0300 V4L/DVB (7607): CodingStyle fixes Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e6a353b0dc2686ae04805919e7a22430d2f1e29e Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:41:00 2008 -0300 V4L/DVB (7606): em28xx-dvb: Program GPO as well Signed-off-by: Mauro Carvalho Chehab commit 92b75ab0752636802da9a63093dcbbe296ec1fef Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:40:53 2008 -0300 V4L/DVB (7605): tuner-xc3028: Avoids too much firmware reloads xc3028_sleep function is being used with a different meaning. This should be called only before doing S1/S3 sleep. Signed-off-by: Mauro Carvalho Chehab commit 102a0b0879a01a413ed5f667f7db9c2085ca8474 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:40:45 2008 -0300 V4L/DVB (7604): em28xx-dvb: Fix analog mode The analog entries are wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab commit 3421b7787a2cf41ac5edce9b5766bddd1e1d9986 Author: Aidan Thornton Date: Thu Apr 17 21:40:36 2008 -0300 V4L/DVB (7603): em28xx-dvb: don't use videobuf-dvb Modifies em28xx-dvb not to use videobuf-dvb, but instead to include the code for registering dvb devices locally and use the URB management code in the em28xx driver directly. DVB data streaming should now work. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 579f72e44fb1c991352f44c20b471c3001357f68 Author: Aidan Thornton Date: Thu Apr 17 21:40:16 2008 -0300 V4L/DVB (7602): em28xx: generalise URB setup code Move the URB setup and management code to em28xx-core.c and generalise it slighlty so that the DVB code can use it. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 7e6388a1b97cca57a1906df6104feb4001721576 Author: Aidan Thornton Date: Thu Apr 17 21:40:03 2008 -0300 V4L/DVB (7601): em28xx-dvb: add support for the HVR-900 Adds the correct GPIOs and demod attach code for the HVR-900 Signed-off-by: Mauro Carvalho Chehab commit d2d9fbfd732f49999a2a94f2479934488fe3ea9d Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:38:53 2008 -0300 V4L/DVB (7600): em28xx: Sets frequency when changing to analog mode This will make tuner-xc2028 to change to analog, if needed. Signed-off-by: Mauro Carvalho Chehab commit 52284c3e47bf502aaff72ab2ede509193b628b1b Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:38:38 2008 -0300 V4L/DVB (7599): em28xx-dvb: videobuf callbacks are waiting for em28xx_fh Thanks to Devin Heitmueller for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit bdfbf9520372daf2b4d6941474c92310848ccb27 Author: Devin Heitmueller Date: Thu Apr 17 21:38:27 2008 -0300 V4L/DVB (7598): em28xx: several fixes on gpio programming em28xx-cards.c: - Fix reversed val/rst values in both analog_gpio and digital_gpio vectors - Fix crash that would was occurring during every analog startup while looping over gpio_ctl - Remove what appears to be a redundant setting of gpio_ctl->val - Don't use OREN538 demodulation for the HVR-950 (prevents ATSC scanning from working) em28xx-dvb.c: - Tuner should be in digital mode when issuing the reset - Add copyright - Change struct definition (corresponds to fix in em28xx-cards.c for gpio_ctl looping) Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 3ca9c09379e8f3be0744c47f72769457fa46e9f3 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:53 2008 -0300 V4L/DVB (7597): em28xx: share the same xc3028 setup for analog and digital modes Thanks to Devin Heitmueller and Aidan Thornton" for pointing some errors with the previous scenario. Signed-off-by: Mauro Carvalho Chehab commit 227ad4ab9058ef2624934183e8083886cf64bf56 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:40 2008 -0300 V4L/DVB (7596): em28xx-dvb: Add support for HVR950 This patch adds DVB support for Hauppauge HVR950. Thanks to Michael Krufky for getting those values. Signed-off-by: Mauro Carvalho Chehab commit ee6e3a865a469c78daa93a1e6cdbaca3a102f9c8 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:31 2008 -0300 V4L/DVB (7595): Improve generic support for setting gpio values em28xx based devices with xc3028 may require some specific gpio values. This patch adds a generic handling for such values. Signed-off-by: Mauro Carvalho Chehab commit acaa4b609fbab25e09459cd8e842e292b27f5ecb Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:37:18 2008 -0300 V4L/DVB (7594): em28xx: Fix Kconfig Some devices have msp3400 audio decoder chip. Selects it, if em28xx. Signed-off-by: Mauro Carvalho Chehab commit 3aefb79af8d41c85e11da7109d62038849421bb6 Author: Mauro Carvalho Chehab Date: Thu Apr 17 21:36:41 2008 -0300 V4L/DVB (7593): em28xx: add a module to handle dvb This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and saa7134-dvb. This code currently loads and unloads successfully. However, some changes are needed to properly support the mpeg streams and to setup em28xx to work on DVB mode. Signed-off-by: Mauro Carvalho Chehab commit 168c626cb8f85df17585af99e14403904641c7ac Author: Julia Lawall Date: Wed Apr 16 16:13:15 2008 -0300 V4L/DVB (7591): drivers/media/video: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9e05c0f0d84c25f7f576ebc22a9a3a2cf962cc58 Author: Ivan Bobyr Date: Wed Apr 16 16:01:55 2008 -0300 V4L/DVB (7590): ir-common: Adds 3 missing IR keys for FlyVIdeo2000 The patch extends the default keymap of FlyVIdeo2000 IR remote control so that this remote may also serve movie & music players in a better way. I bought a SAA7130 TV tuner with a remote control having 3 additional button as the default layout, exactly as: 1) labeled "<<<" : key code 0x19, may be used as "backward"in MPlayer,XMMS etc 2) labeled ">>>" : key code 0x1f, may be used as "forward"... 3) not labeled : key code 0x0a, may be used as "pause"... Once have added these code definitions to the kernel, me got all these operations available for viewing movies & listening music. Signed-off-by : Ivan Bobyr Signed-off-by: Mauro Carvalho Chehab commit 1d3104b819979784df1da6ad76acef33cd9736e4 Author: David Hilvert Date: Wed Apr 16 04:27:09 2008 -0300 V4L/DVB (7589): ibmcam: improve support for the IBM PC Camera Pro This patch modifies Dmitri's original ibmcam driver for Linux to improve support for the IBM PC Camera Pro. It may also offer improved support for other models classified by the driver as 'Model 3', such as the IBM PC Camera Pro Max. See http://auricle.dyndns.org/xvp610/ Signed-off-by: David Hilvert Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 17de9a4e53567912735105e189535f5d83e74a81 Author: Mauro Carvalho Chehab Date: Tue Apr 15 18:11:50 2008 -0300 V4L/DVB (7584): Fix build that occurs when CONFIG_VIDEO_PMS=y and VIDEO_V4L2_COMMON=m This patch removes zoran checks for VIDEO_V4L2, since this API is always present, when V4L is selected. Signed-off-by: Mauro Carvalho Chehab commit 0b9c2b7a413c0e79254f17bbe095cee24885cd4b Author: Alexey Dobriyan Date: Thu Apr 10 21:34:39 2008 -0300 V4L/DVB (7582): proc: switch /proc/driver/radio-typhoon to seq_file interface Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9faa2d75822e1950b3aacc8ccbdf0cdb595e47de Author: Alexey Dobriyan Date: Sun Apr 13 08:48:43 2008 -0300 V4L/DVB (7580): Fix concurrent read from /proc/videocodecs Observation one: ->write_proc and ->data assignments aren't needed. Removed. Observation two: codecs lists are unprotected. Patch doesn't fix this. Observation three: /proc/videocodecs printout is done to temporary _global_ buffer which is freed in between. Consequently, two users hitting this file can screwup each other. Steps to reproduce: modprobe videocodec while true; do cat /proc/videocodecs &>/dev/null; done & while true; do cat /proc/videocodecs &>/dev/null; done & The fix is switching to seq_files, this removes code, especially some line-length "logic". Signed-off-by: Alexey Dobriyan Acked-by: Jan Kara Signed-off-by: Mauro Carvalho Chehab commit b9bc07a006ae94d7b3dd5db873bcf10ceb749253 Author: Robert Fitzsimons Date: Thu Apr 10 09:40:31 2008 -0300 V4L/DVB (7579): bttv: Fix memory leak in radio_release Fix the leak of the bttv_fh structure allocated in radio_open which was introduced by commit 5cd3955cb8adfc1edf481e9e1cb2289db50ccacb. Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit a53a45567cb4879c46bb019757cdeb1b1ecabbd5 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:47:03 2008 -0300 V4L/DVB (7575a): Revert changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075 Due to the patch order change, pvrusb2 were broken. So, changeset 4c3b01f71181a52ab7735a7c52b1aa2232826075 were applied at mainstream to fix. After the pvrusb2 changes, this patch is no longer required and should be reverted. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ca19aaa510b150ca358166b29eb2bb62ad971f76 Author: Patrick Boettcher Date: Sun Apr 13 15:49:22 2008 -0300 V4L/DVB (7569): Added support for SkyStar2 rev2.7 and ITD1000 DVB-S tuner This patches adds support for the SkyStar2 rev2.7 with the PN1010/ITD1000 Frontend. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c9dd82c2f978e4ebac1cbb7cee8d379d1090154b Author: Patrick Boettcher Date: Sat Mar 29 21:28:07 2008 -0300 V4L/DVB (7471): SkyStar2: preparing support for the rev2.8 Support is prepared, but the CX24113-driver .c-file is missing. After sorting out the NDA problems, the file will be there immediatly. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 11d3f323930ef625c1018ed13adeb04127c356e0 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:50 2008 -0300 V4L/DVB (7575): mt312: add attach-time setting to invert lnb-voltage Add a setting to config struct for inversion of lnb-voltage. Needed for support of Avermedia A700 cards. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6a5cbd591c703491b62892682adc124ece67f3a9 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:49 2008 -0300 V4L/DVB (7574): mt312: Add support for zl10313 demod Add zl10313 support to mt312 driver. zl10313 uses 10.111MHz xtal. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 111221fb676176dc90638d6004f1c26164ddd5ae Author: Matthias Schwarzott Date: Sat Apr 12 15:04:48 2008 -0300 V4L/DVB (7573): mt312: Supports different xtal frequencies Do not hardcode xtal frequency but allow different values for future zl10313 support. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 82cd2dff4a5562a081c8bbf449a1ae7b9ecb5b1b Author: Matthias Schwarzott Date: Sat Apr 12 15:04:47 2008 -0300 V4L/DVB (7572): mt312: Fix diseqc Correct the frequency of the emitted diseqc signal to 22kHz. Adds sleep(100) to wait for message to be transmitted. For now the only user of mt312 is b2c2-flexcop, and it does overwrite all diseqc related functions with own code. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 1881ee89e0fe03ac5bba9045acb3bea1818f9466 Author: Matthias Schwarzott Date: Sat Apr 12 15:04:46 2008 -0300 V4L/DVB (7571): mt312: Cleanup buffer variables of read/write functions Change type of buffer variables from void* to u8* to save some casts. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit dbad108bdcb30629c850f5606949510da010a686 Author: Patrick Boettcher Date: Sun Apr 13 15:47:53 2008 -0300 V4L/DVB (7568): Support for DVB-S demod PN1010 (clone of S5H1420) added This device is a clone of the PN1010 used by SkyStar2 rev2.7 . This patch adds support for the flexcop-device and makes the driver look a little bit nicer. It needs to be checked whether the driver is still ok for the budget-cards. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 44dc733cd9edac53402d705cd2f720accd0b3e2c Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:11:08 2008 -0300 V4L/DVB (7567): em28xx: Some cleanups Removes some fields from data structs. There are some fields that are just caching some calculus for buffer size. The calculus were moved to the places it were needed and the now unused fields were removed. Signed-off-by: Mauro Carvalho Chehab commit 59d3448995a4c0ca98cbe82f6dac9460323377c1 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:10:00 2008 -0300 V4L/DVB (7566): videobuf-dvb: allow its usage with videobuf-vmalloc videobuf-dvb were still using a function that were videobuf-dma-sg dependent. This patch creates a generic handler for this function. This way, videobuf-dvb can now work with all videobuf implementations. Signed-off-by: Mauro Carvalho Chehab commit 3b5fa928a6b2971ec65571745defc5d9758b4bc1 Author: Aidan Thornton Date: Sun Apr 13 15:09:36 2008 -0300 V4L/DVB (7565): em28xx: fix buffer underrun handling This patch fixes three related issues and a fourth trivial one: - Use buffers even if no-one's currently waiting for them (fixes underrun issues); - Don't return incomplete/mangled frames at the start of streaming and in the case of buffer underruns; - Fix an issue which could cause the driver to write to a buffer that's been freed after videobuf_queue_cancel is called (exposed by the previous two fixes - for some reason, ignoring buffers that weren't being waited on worked around the issue); - Fix a bug which could cause only one field to be filled in the first buffer (or first few buffers) after streaming is started. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit b4916f8ca1da71bb97fb6dcf1e8da3f9c64cf80e Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:09:14 2008 -0300 V4L/DVB (7564): em28xx: Some fixes to display logic Signed-off-by: Mauro Carvalho Chehab commit dbecb44c11d9517d604240b53581951ac4e3b5e6 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:08:55 2008 -0300 V4L/DVB (7563): em28xx: Add missing checks There are some cases where nobody is waiting for a buffer. Due to the lack of check, if you try to abort the userspace app, machine were hanging, since IRQ were trying to use a buffer that were disallocated. Signed-off-by: Mauro Carvalho Chehab commit 0cf4daee31d88086cf3508d1d8d1f4e451c27906 Author: Brandon Philips Date: Fri Mar 28 10:18:33 2008 -0700 V4L/DVB (7562): videobuf: Require spinlocks for all videobuf users A spinlock is necessary for queue_cancel to work with every driver in the tree. Otherwise a race exists between IRQ handlers removing buffers from the queue and queue_cancel invalidating the queue. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit aa9479ed508d78dcd06479dc6274c9b02d1398df Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:07:56 2008 -0300 V4L/DVB (7561): videobuf-vmalloc: stop streaming before unmap Before the patch, there were a risk of freeing and unmapping userspace memory, while there were pending requests. Signed-off-by: Mauro Carvalho Chehab commit d6849652628d3479859ca10bdd4b21024466df5f Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:07:16 2008 -0300 V4L/DVB (7560): videodev: Some printk fixes Signed-off-by: Mauro Carvalho Chehab commit cb7847249f1b2bad201e38c770ef4401c61c022a Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:06:52 2008 -0300 V4L/DVB (7559): em28xx: Fills the entire buffer, before getting another one Signed-off-by: Mauro Carvalho Chehab commit 5e28e00964cdc90dec5ebb4c00dfa2fc1ecf36fa Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:06:24 2008 -0300 V4L/DVB (7558): videobuf: Improve command output for debug purposes Signed-off-by: Mauro Carvalho Chehab commit e9e6040df6c96678d7b776b3902e3b2c6bbfc5a3 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:05:47 2008 -0300 V4L/DVB (7557): em28xx: honour video_debug modprobe parameter Signed-off-by: Mauro Carvalho Chehab commit 0ea13e6e59853cab9e8ed3ac231ec5d44d8386a6 Author: Aidan Thornton Date: Sun Apr 13 15:02:24 2008 -0300 V4L/DVB (7556): em28xx: fix locking on vidioc_s_fmt_cap Currently, vidioc_s_fmt_cap is allowed even if streaming is running on some other fh. This is likely to cause issues. Block use of vidioc_s_fmt_cap if someone else has claimed access to the device. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit b957dfdc3161d00b01b52154eb2d53580c8911e5 Author: Mauro Carvalho Chehab Date: Sun Apr 13 15:01:12 2008 -0300 V4L/DVB (7555): em28xx: remove timeout It seems that we don't need a timeout for em28xx. Signed-off-by: Mauro Carvalho Chehab commit a9dbbeb7d615761a82fcd4f00ec290a07be7d8a2 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:59:29 2008 -0300 V4L/DVB (7554): videobuf-dma-sg: Remove unused flag Signed-off-by: Mauro Carvalho Chehab commit aaea56afc31345e7b0456ebb01586ba627ecd0f8 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:58:43 2008 -0300 V4L/DVB (7553): videobuf-vmalloc: fix STREAMOFF/STREAMON There were a small bug on videobuf-vmalloc that were preventing STREAMOFF to work. The issue is that vmalloc'ed mmaped memory should only be freed after being sure that there aren't any mmap usage. Otherwise, the memory remap will stop working, and the userspace won't receive any frames. This bug were affecting some userspace applications, like tvtime. After this patch, tvtime started to work again with the drivers that use videobuf-vmalloc. Signed-off-by: Mauro Carvalho Chehab commit 968ced78a53509a996708a14e8b9269d1dc6a61c Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:58:21 2008 -0300 V4L/DVB (7552): videbuf-vmalloc: Corrects mmap code There were some bugs on videobuf-vmalloc. Basically, remap were called with a wrong parameter. Due to that, a later remap were needed, generating the need of some hacks on videobuf-vmalloc and videobuf-core. This patch fixes the remap and removes the hacks. TODO: - V4L2_MEMORY_USERPTR is not implemented yet. This method should be properly implemented, in order to work with a few userspace applications. - The driver also doesn't implement V4L2_MEMORY_OVERLAY. This method is used only by a few applications, and are becaming obsolete, due to the increment of cpu performance. So, most apps prefer to retrieve data to an internal buffer, doing some processing like de-interlacing. Signed-off-by: Mauro Carvalho Chehab commit fbde31d54b729e4aac1d06375d4365318fd88675 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:57:44 2008 -0300 V4L/DVB (7551): vivi: Add a missing \n Signed-off-by: Mauro Carvalho Chehab commit 0561297501842b5d7e0ca8805084f4d3f97c1078 Author: Brandon Philips Date: Sun Apr 13 14:57:01 2008 -0300 V4L/DVB (7550): em28xx: Fix a possible memory leak I did notice a possible memory leak since iolock is could possibly be called before a buffer has been freed. This ensure s_fmt isn't called while the queue is busy thereby avoiding iolock on already allocated buffers. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 78bb3949a965e8a28e20988e28868429606b3639 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:56:25 2008 -0300 V4L/DVB (7549): em28xx: some small cleanups - Remove dead code; - Fix a few CodingStyle issues; - Prints frame number, if debug is enabled. Signed-off-by: Mauro Carvalho Chehab commit e0fadfd34dda2205b296b8826acfaaf4df2e022f Author: Aidan Thornton Date: Sun Apr 13 14:56:02 2008 -0300 V4L/DVB (7548): Various fixes for the em28xx videobuf code - Aborting buffer_filled if no-one's waiting on the waitqueue probably isn't what we want, since just because no-one's waiting for it now doesn't mean they wouldn't dequeue it in time. (vivi gets away with this, possibly because it can fill each buffer much faster.) - The first BUG_ON(lencopy <= 0); really isn't worth causing a kernel panic over, especially since there are some reasons why it could trigger in normal use. - The top and botom frames are actually the wrong way around. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit e74153d44a57d9445fb1dfad7c3accbec6d4a873 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:55:38 2008 -0300 V4L/DVB (7547): em28xx: Fix a broken lock Signed-off-by: Mauro Carvalho Chehab commit f245e549f0d1fb43fd6d7759d31cd763e6d914b6 Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:41:23 2008 -0300 V4L/DVB (7545): em28xx: Fix CodingStyle errors and most warnings introduced by videobuf The last videobuf changes introduced several CodingStyle errors. Fixes all those errors, as reported by checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit ca21d2dc945c224c3f121f6b5f2436877f029eed Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:40:36 2008 -0300 V4L/DVB (7544): em28xx: Fix timeout code Signed-off-by: Mauro Carvalho Chehab commit 47625da2ab5e98728cdefbd344fb1493c26769ad Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:40:10 2008 -0300 V4L/DVB (7543): Fix capture start/stop and timeout Also removes the dead restart_video_queue() function Signed-off-by: Mauro Carvalho Chehab commit ea8df7e09d2226c321c234a8f736fdb167a046cb Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:39:29 2008 -0300 V4L/DVB (7542): em28xx: Fix some warnings Signed-off-by: Mauro Carvalho Chehab commit d7aa80207babe694b316a48200b096cf0336ecb3 Author: Aidan Thornton Date: Sun Apr 13 14:38:47 2008 -0300 V4L/DVB (7541): em28xx: Some fixes to videobuf It fixes a couple of minor bugs, comments out a bogus BUG_ON, sets fh->type correctly, uses dev->width and dev->height for now, and adds a missing spinlock init (nasty - caused a system lockup). It also adds some debug code which probably isn't all that useful. I haven't tested this version of the patch yet, though, so I'm not sure what you can expect if you try it. Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit ad0ebb96c220c461386e9a765fca3daf5590d01e Author: Mauro Carvalho Chehab Date: Sun Apr 13 14:37:52 2008 -0300 V4L/DVB (7540): em28xx: convert to use videobuf-vmalloc The usage of videobuf-vmalloc allows to cleanup em28xx logic. Also, it reduced its size by about 5.42% on i386 arch (and about 7.5% on x86_64): 39113 4876 40 44029 abfd old/em28xx.ko 36731 4868 40 41639 a2a7 /home/v4l/master/v4l/em28xx.ko Also, the preliminary tests, made on a single core 1.5 MHz Centrino showed that CPU usage reduced from 42%-75% to 28%-33% (reports from "top") command. A test with time command presented an even better result: This is the performance tests I did, running code_example to get 1,000 frames @29.995 Hz (about 35 seconds of stream), tested on a i386 machine, running at 1,5GHz: The old driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:34.21: 8.22s User time, 25.16s Kernel time, 97% CPU used The videobuf-based driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:35.36: 0.01s User time, 0.05s Kernel time, 0% CPU used Conclusion: The time consumption to receive the stream where reduced from about 33.38 seconds to 0.05 seconds. Signed-off-by: Mauro Carvalho Chehab commit 78e92006f410a4044f8c1760c25ac9d11d259aa2 Author: Janne Grunau Date: Wed Apr 9 19:13:13 2008 -0300 V4L/DVB (7538): Adds selectable adapter numbers as per module option The adapter_nr module options can be used to allocate static adapter numbers on a driver level. It avoids problems with changing DVB apapter numbers after warm/cold boot or device unplugging and repluging. Each driver holds DVB_MAX_ADAPTER long array of the preferred order of adapter numbers. options dvb-usb-dib0700 adapter_nr=7,6,5,4,3,2,1,0 would result in a reversed allocation of adapter numbers. With adapter_nr=2,5 it tries first to get adapter number 2 and 5. If both are already in use it will allocate the lowest free adapter number. Signed-off-by: Janne Grunau Acked-by: Hermann Pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9950c1b5b4b86d4aae12853c2f0a0ef11d976764 Author: Mauro Carvalho Chehab Date: Fri Apr 11 11:29:44 2008 -0300 V4L/DVB (7537): cx88/saa7134: Fix: avoid OOPS on module unload If frontend is not attached, both cx88-dvb and saa7134-dvb don't register DVB. However, dvb unregister were inconditionally called. Due to that, an OOPS is generated. Signed-off-by: Mauro Carvalho Chehab commit fb7b37cf913c19dbdbb9bf3e653924e126b4007e Author: Hans Verkuil Date: Wed Apr 9 06:26:17 2008 -0300 V4L/DVB (7535): saa717x: add new audio/video decoder i2c driver Added the last remaining out-of-tree kernel driver from the ivtv project. The saa717x is used in several Japanese cards and a Russian card. The driver is not complete in that only NTSC is supported and no PAL/SECAM. Hopefully this will be added in the future. Signed-off-by: Takahiro Adachi Signed-off-by: Kyuma Ohta Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b38bf410fed223a48482e499150d4b554526a13a Author: Hans Verkuil Date: Mon Apr 7 08:32:14 2008 -0300 V4L/DVB (7534): ivtv: the upd* modules have to be probed to properly autodetect some cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit faea4d2ab2d4710f87739fd53b5c13ca7a7d34aa Author: Oliver Endriss Date: Wed Apr 9 17:49:55 2008 -0300 V4L/DVB (7532): budget: Add support for Fujitsu Siemens DVB-T Activy Budget Implement support for Fujitsu Siemens DVB-T Activy Budget, sub-system id 0x1131:0x5f61. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c4e3bcb688dd561ae219a957e0d924f718335cab Author: Christoph Pfister Date: Wed Apr 9 17:37:36 2008 -0300 V4L/DVB (7531): budget-av: Fix CI interface on (some) KNC1 DVBS cards Quoting the commit introducing reinitialise_demod (3984 / by adq): "These cards [KNC1 DVBT and DVBC] need special handling for CI - reinitialising the frontend device when the CI module is reset." Apparently my 1894:0010 also needs that fix, because once you initialise CI/CAM you lose lock. Signed-off-by: Christoph Pfister Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 8727073beff795ec0c9cb18833431d0b606f8264 Author: Christoph Pfister Date: Wed Apr 9 17:34:09 2008 -0300 V4L/DVB (7530): budget-av: Fix support for certain cams The current ci implementation doesn't accept 0xff when reading data bytes (address == 0), thus breaks cams which report a buffer size of 0x--ff like my orion one. Remove the 0xff check altogether, because validation is really the job of a higher layer. Signed-off-by: Christoph Pfister Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit d5a50e498603f5fa78e0373c389e2d2c3c13d709 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7529): media/video/zc0301 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4126a8f5c209ba8138619311c1c8e73d361d9700 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7528): media/video/usbvideo replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a79d13b3aa0226630ee639e6a2e98a4bda1afd4d Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7527): media/video/sn9c102 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5016381c33d63f23c43416b9c8421b1eeaa1b515 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7526): media/video/saa7134 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 645635b002311fafffd1b8f4e2e8200639fb7629 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7525): media/video/pwc replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 12aa67a63d2bf4e6500af6b2de40d18fa0bc1360 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7524): media/video/ovcamchip replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22cc065bad19b0a19adecdc753ded7a7b0c752fa Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7523): media/video/et61x251 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d80e134dc8e7e078248f7966a6884858f7ab185f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7522): media/video/em28xx replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 32d83efc1c9e290b3d4627c6ec40529eafa89b46 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7521): media/video/cx88 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22b4e64f0a119e94090ef45285a5c311f1f6855f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7520): media/video/cx23885 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 94205c7a48b637ae60bd69ac4cc16743a6dddd09 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7519): media/video/cpia2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e28adb2497f6b873516163e2d29210c11777613 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7518): media/video/ replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e9815ceea9733dfb236629f5b72f2e6486f66242 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7517): media/dvb/ttusb-dec replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb9393b519fb27714d14625bc3042b669933e81a Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7516): media/dvb/ttusb-budget replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3ca7fc84e37c5cf446fe4137f885f74e71373d7f Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7515): media/dvb/ttpci replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 271ddbf702c3a4e6b18f6464180eda0f62efd9a5 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7514): media/dvb/frontends replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 708bebdd3922c6f346b8540f93c73f006d2b947b Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7513): media/dvb/dvb-usb replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 46b4f7c176a2dd4c60ddb7c80bd09ea2f3220674 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7512): media/dvb/dvb-core replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0592e8d3485c4976eaa6db8084e00b0132a34d7e Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7511): media/dvb/cinergyT2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b2e62e7cdb8022087ae2def06f8023c9f5d3b411 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7510): media/dvb/bt8xx replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7bca4498f6ec331c2ace79824da8687ad35cd65c Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7509): media/dvb/b2c2 replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 536a0b119527c8af8e3a70b18f7640a21039a0a7 Author: Harvey Harrison Date: Tue Apr 8 23:20:00 2008 -0300 V4L/DVB (7508): media/common/ replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Acked-by: Oliver Endriss Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fc9d8ed418619da915ad8a225fa974d813d0ca34 Author: Matthias Schwarzott Date: Tue Apr 8 21:45:08 2008 -0300 V4L/DVB (7507): saa7134: add analog support for Avermedia A700 cards Add support for composite and s-video inputs on Avermedia DVB-S Pro and DVB-S Hybrid+FM cards (both labled A700) to the saa7134 driver. XC2028 support for Hybrid+FM is still missing. Signed-off-by: Matthias Schwarzott Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit ba928034df7e8b603152c896a2f84f9b12e8c290 Author: Dâniel Fraga Date: Tue Apr 8 19:56:44 2008 -0300 V4L/DVB (7506): Powercolor Real Angel 330 (remote control support) The attached patch adds complete remote control support for Powercolor Real Angel 330. Signed-off-by: Daniel Fraga Signed-off-by: Mauro Carvalho Chehab commit ab364983087152e53676d914141f30e83ead12ff Author: Dâniel Fraga Date: Tue Apr 8 19:54:49 2008 -0300 V4L/DVB (7505): Powercolor Real Angel 330 (fixes gpio references) The attached patch fixes gpio references for Powercolor Real Angel 330. Signed-off-by: Daniel Fraga Signed-off-by: Mauro Carvalho Chehab commit df18c3196a1ec1db7a20997d3246a5a8cf535a77 Author: Thierry MERLE Date: Fri Apr 4 21:00:57 2008 -0300 V4L/DVB (7503): usbvision: rename __PRETTY_FUNCTION__ occurrences __PRETTY_FUNCTION__ has no sense in C lang context. Rename it as __func__ Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d2db42dd4eb53b86a40b96b0b12a7b2d12377bdd Author: Harvey Harrison Date: Fri Apr 4 20:50:07 2008 -0300 V4L/DVB (7502): v4l: video/usbvision replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 1a0063a9852380190a7172c1a1cb79e934b06cd4 Author: Guennadi Liakhovetski Date: Fri Apr 4 13:46:34 2008 -0300 V4L/DVB (7501): soc-camera: use a spinlock for videobuffer queue All drivers should provide a spinlock to be used in videobuf operations. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit b8d9904c3525c0a149976ffaad48fcb03e8703f7 Author: Guennadi Liakhovetski Date: Fri Apr 4 13:41:25 2008 -0300 V4L/DVB (7500): soc-camera: extract function pointers from host object into operations Function pointers and the driver owner are not expected to change throughout soc-camera host's life. Extract them into an operations struct. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ce54093cefd64c1a2cb6b8c5ed1d68d2bd7a34ab Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7494): videobuf-dma-sg.c: Avoid NULL dereference and add comment about backwards compatibility Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 137d1cb19d9da163ce6cb57a6fa1e6a3468af6a4 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue Add a waitqueue to wait on when there are no buffers in the buffer queue. DQBUF waits on this queue without holding vb_lock to allow a QBUF to happen. Once a buffer has been queued we recheck that the queue is still streaming and wait on the new buffer's waitqueue while holding the vb_lock. The driver should come along in a timely manner and put the buffer into its next state finishing the DQBUF. By implementing this waitqueue it also brings the videobuf DQBUF up to spec and it now blocks on O_NONBLOCK even when no buffers have been queued via QBUF: "By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue." - V4L2 spec Signed-off-by: Brandon Philips CC: Trent Piepho CC: Carl Karsten CC: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 78718e5d44cd450431d5b16ee36d3a7de1db6dfa Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7492): vivi: Simplify the vivi driver and avoid deadlocks vivi previously had a very complex queuing system and held spinlocks while doing copy_to_user, kmalloc, etc. This caused the driver to easily deadlock when a multi-threaded application used it and revealed bugs in videobuf too. This replaces the copy_to_user with memcpy since we were never copying to user space addresses. And makes the kmalloc atomic. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit aa9dbac426d263b5b86d1684993d18ae187d7588 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7491): vivi: make vivi openable only once vivi currently doesn't have the infrastructure to handle being opened more than one time and will crash if it is. So, make it openable only once. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit cbcb565f74cf01d680f83af531490bb2c5375af0 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7489): videobuf-vmalloc.c: Remove buf_release from videobuf_vm_close Remove the buf_release on vm_close because it will lead to a buffer being released multiple times since all buffers are already freed under the two possible cases: device close or STREAMOFF. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 009a90597e177320e47154dd0817d201f52bcd46 Author: Brandon Philips Date: Wed Apr 2 18:10:59 2008 -0300 V4L/DVB (7488): videobuf: Simplify videobuf_waiton logic and possibly avoid missed wakeup Possible missed wakeup- use kernel helpers for wait queues http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg27983.html Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit b608f4323a0e0440d18fa13aea3db98351137487 Author: Brandon Philips Date: Wed Apr 2 18:10:57 2008 -0300 V4L/DVB (7487): videobuf: Wakeup queues after changing the state to ERROR The waitqueues must be woken up every time state changes. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 8eb8ff3870ede23b2328ef376023a3542efcb9a5 Author: Michael Krufky Date: Sun Mar 30 17:00:45 2008 -0300 V4L/DVB (7483): tuner-simple: fix broken build dependency tuner-simple is the only module that uses tuner-types - these will be merged to a single module in the future. For now, build both of them if TUNER_SIMPLE is selected. This fixes the following build warning, if tuner-simple is selected without tuner-types: WARNING: "tuner_count" [tuner-simple.ko] undefined! WARNING: "tuners" [tuner-simple.ko] undefined! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c735372f5df2dc7b67080881bdc613d199173abf Author: Michael Krufky Date: Sun Mar 30 19:40:20 2008 -0300 V4L/DVB (7481): tda18271: fix standard map debug Show IF level and rf agc top settings in standard map dumps. Dump standard map during attach if DBG_MAP or DBG_ADV is set. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 762250f884cb927c7f1da4e24052ec43e000d53f Author: Adrian Bunk Date: Sun Mar 30 23:29:02 2008 -0300 V4L/DVB (7480): make sn9c102_i2c_try_write() static This patch makes the needlessly global sn9c102_i2c_try_write() static. Signed-off-by: Adrian Bunk CC: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit d9aedf1fe88c04500fec269557a968e3320dd4b8 Author: Adrian Bunk Date: Sun Mar 30 23:28:59 2008 -0300 V4L/DVB (7479): proper prototype for zoran_device.c:zr36016_write() This patch adds a proper prototype for zr36016_write() in drivers/media/video/zoran_card.h Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 5da4e2c645e4324f63fd87a0f93e3d0ad6619798 Author: Darryl Green Date: Sat Mar 29 21:47:43 2008 -0300 V4L/DVB (7476): New USB ID for Leadtek DVB-T USB Detect Leadtek Winfast USB DTV Dongle with ID of 0x6f01 Signed-off-by: Darryl Green Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit dc88807ed61ed0fc0d57bd80a92508b9de638f5d Author: Alexander Simon Date: Sat Mar 29 21:37:54 2008 -0300 V4L/DVB (7475): Added support for Terratec Cinergy T USB XXS Alexander Simon found out that the Terratec Cinergy T USB XXS is just a clone of another DiB7070P-based device. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 58e6f95e613b37372a58fd504646ae1b1964c2ed Author: Patrick Boettcher Date: Sat Mar 29 21:37:01 2008 -0300 V4L/DVB (7474): support key repeat with dib0700 ir receiver This patch enables support for repeating last event when a key is holded down with dib0700 devices. It works with rc5 and nec remotes. It also fixes an annoying bug that floods kernel log with "Unknown key" messages after each keypress. This happened because the driver was not resetting infrared register after each poll so it kept polling last key even if nothing was being pressed. Fixing this, (calling rc_setup after each poll), permits to implement key repeat. Signed-off-by: Filippo Argiolas Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6ca8f0b97473dcef3a754bab5239dcfcdd00b244 Author: Albert Comerma Date: Sat Mar 29 21:35:57 2008 -0300 V4L/DVB (7473): PATCH for various Dibcom based devices This patch introduces support for dvb-t for the following DiBcom based cards: - Terratec Cinergy HT USB XE (USB-ID: 0ccd:0058) - Terratec Cinergy HT Express (USB-ID: 0ccd:0060) - Pinnacle 320CX (USB-ID: 2304:022e) - Pinnacle PCTV72e (USB-ID: 2304:0236) - Pinnacle PCTV73e (USB-ID: 2304:0237) - Yuan EC372S (USB-ID: 1164:1edc) Signed-off-by: Hans-Frieder Vogt Signed-off-by: Felix Apitzsch Signed-off-by: Antti Palosaari Signed-off-by: Albert Comerma Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8c899bce2a5540b19e86dd3b355e5699657da144 Author: Andre Weidemann Date: Sat Mar 29 21:30:49 2008 -0300 V4L/DVB (7472): reworked patch to support TT connect S-2400 Added support for Technotrend connect S-2400. Signed-off-by: Andre Weidemann Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ca06fa79a5babc21f0240979e5b1dd34dcc3c6e4 Author: Patrick Boettcher Date: Sat Mar 29 21:01:12 2008 -0300 V4L/DVB (7470): CX24123: preparing support for CX24113 tuner To support a new device based on CX24123 (using the CX24113-tuner) the following was done: - added two parameters to de-select the internal PLL-driver (for CX24108) and a AGC-function callback. - added a virtual i2c-adapter which allow simple access behind the i2c-gate - cleanup up some code Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 6394cf53abc0b3a2db9e8b947ef5c77b16861ec8 Author: Patrick Boettcher Date: Sat Mar 29 20:49:57 2008 -0300 V4L/DVB (7469): Preparation for supporting new devices, cleanup and saneness To prepare the support for new device to the flexcop-family some preparation and cleanups was done + some saneness: - created an i2c-adapter for each i2c-port available. Easier usage for devices with several device on different i2c-busses - initialize i2c before doing the eeprom read - changed the way to attach the different frontends, easier to read now - enabled support for i2c-devices having no register address (1-byte access) Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0b5afdd2ea5f52d260d1e42d43fb0fa09ec0da2f Author: Frej Drejhammar Date: Sun Mar 23 22:43:25 2008 -0300 V4L/DVB (7463): cx88: Enable color killer by default An enabled color killer will not degrade picture quality for color input signals, only suppress bogus color information on black-and-white input. Therefore enable it by default. Signed-off-by: Frej Drejhammar Signed-off-by: Mauro Carvalho Chehab commit d69b2e41a5f6d934d01cc62f314697a60356b466 Author: Mauro Carvalho Chehab Date: Tue Apr 1 20:30:24 2008 -0300 V4L/DVB (7462): bttv: Fix some API non-compliances for some audio/input V4L2 calls Thanks to Cyrill Gorcunov for pointing this Signed-off-by: Mauro Carvalho Chehab commit 7bf9746d936740f9797c810ad75411a6cdeb9f2f Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 27 23:51:05 2008 -0300 V4L/DVB (7459): Test cmd, not definition in decoder_command(), drivers/media/video/zoran_device.c include/linux/video_decoder.h: 34:#define DECODER_SET_NORM _IOW('d', 3, int) 35:#define DECODER_SET_INPUT _IOW('d', 4, int) untested, please confirm it's right. Test cmd value, not definition of DECODER_SET_INPUT Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 95a2fdb6f78c020026b4fa82be506ef92961a9f6 Author: Mauro Carvalho Chehab Date: Fri Mar 28 17:52:44 2008 -0300 V4L/DVB (7458): saa7134: Adds analog support for Avermedia A16D Thanks to timf , "Richard (MQ)" and gian luca rasponi for their tests. Signed-off-by: Mauro Carvalho Chehab commit cf8267ff100dd8466fe631f7172969945b654e3f Author: Mauro Carvalho Chehab Date: Fri Mar 28 17:45:51 2008 -0300 V4L/DVB (7456): vivi: Add 32bit compatibility to the module Thanks to Jiri Slaby for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit 0b86755f57bd2cc92d05ba3a613ab6ff44f09980 Author: Mauro Carvalho Chehab Date: Fri Mar 28 14:21:04 2008 -0300 V4L/DVB (7455): cx88_dvb: qam doesn't apply on Kword ATSC 120 Thanks to Michael Krufky for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 1b879c43811933514130421548fff7640e84d8e5 Author: Frej Drejhammar Date: Sun Mar 23 22:43:24 2008 -0300 V4L/DVB (7454): cx88: Add user control for color killer The cx2388x family has a color killer. This patch implements the V4L2_CID_COLOR_KILLER control for the cx2388x family. By default the color killer is disabled, as in previous versions of the driver. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit a8ac688938b89ab0fa8ffe16da0facdc73a70588 Author: Frej Drejhammar Date: Sun Mar 23 22:43:23 2008 -0300 V4L/DVB (7453): v4l2-api: Define a standard control for color killer functionality Define a pre-defined control ID for color killer functionality. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 87a1738919ef028d16c462437e1480fc67338cd3 Author: Frej Drejhammar Date: Sun Mar 23 22:43:22 2008 -0300 V4L/DVB (7452): cx88: Enable chroma AGC by default for all non-SECAM modes An enabled chroma AGC will not degrade picture quality if enabled on a color PAL or NTSC signal with nominal signal levels. It will give a significant color reproduction improvement if the chroma signals diverge from nominal levels. Therefore enable chroma AGC by default for PAL and NTSC standards. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 6d04203c7f49a4d93304b5754de5457297fa04eb Author: Frej Drejhammar Date: Sun Mar 23 22:43:21 2008 -0300 V4L/DVB (7451): cx88: Add user control for chroma AGC The cx2388x family has support for chroma AGC. This patch implements a the V4L2_CID_CHROMA_AGC control for the cx2388x family. By default chroma AGC is disabled, as in previous versions of the driver. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit 1c412d1236b98bfc59fc694238cd26e6ed7f4f4b Author: Frej Drejhammar Date: Sun Mar 23 22:43:20 2008 -0300 V4L/DVB (7450): v4l2-api: Define a standard control for chroma AGC Define a pre-defined control ID for chroma automatic gain control. Signed-off-by: "Frej Drejhammar " Signed-off-by: Mauro Carvalho Chehab commit b12203d253732d282dd97909a1424016694183e9 Author: Marton Balint Date: Wed Mar 26 02:07:35 2008 -0300 V4L/DVB (7449): cx88: fix oops on module removal caused by IR worker If the IR worker is not stopped before the removal of the cx88xx module, an OOPS may occur, because the worker function cx88_ir_work gets called. So stop the ir worker. Signed-off-by: Marton Balint Signed-off-by: Mauro Carvalho Chehab commit 99e09eac25f752b25f65392da7bd747b77040fea Author: Mauro Carvalho Chehab Date: Thu Mar 27 23:18:30 2008 -0300 V4L/DVB (7448): Add support for Kworld ATSC 120 This board has a s5h1409 demod, plus a xc30x8 tuner (probably, xc3018). This patch adds proper support for radio, video, s-video, composite and ATSC. However, support for radio and video depends on having s5h1409 i2c gate open, otherwise, xc30x8 chip won't be visible. For a better support, some rework is needed on cx88 driver, to allow adding xc30x8 to i2c bus without sending i2c 0 byte reading to 0xc2 address. Thanks to Vanessa Ezekowitz for helping to figure out the proper parameters for s5h1409 and the GPIO pins used by each configuration. Signed-off-by: Mauro Carvalho Chehab commit a2401d9eed955d90e682b911c343d7fb4ad22436 Author: Mike Isely Date: Sat Mar 8 04:02:20 2008 -0300 V4L/DVB (7447): pvrusb2: Fix compilation warning Fix use of a non-int (size_t) being passed in a printf width field. This benign issue has apparently been around for a long time, but went undetected until now. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2c4963d4fb6103c0589db411fccf5e4f8531f173 Author: Michael Krufky Date: Tue Apr 22 14:46:25 2008 -0300 V4L/DVB (7441): kconfig fixes for tuner-simple Update Kconfig for the hybrid devices recently converted to use tuner-simple rather than dvb-pll. dvb-bt8xx no longer uses dvb-pll at all, so remove all references to dvb-pll within that driver. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a03402d8ad1638a0a88c5091a189be146c1ee261 Author: Michael Krufky Date: Tue Apr 22 14:46:25 2008 -0300 V4L/DVB (7440): dvb-bt8xx: fix build error Fix the following build error: In file included from dvb-bt8xx.c:35: dvb-bt8xx.h:42:26: error: tuner-simple.h: No such file or directory dvb-bt8xx.c: In function 'frontend_init': dvb-bt8xx.c:612: error: 'simple_tuner_attach' undeclared (first use in this function) dvb-bt8xx.c:612: error: (Each undeclared identifier is reported only once dvb-bt8xx.c:612: error: for each function it appears in.) dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of '__a' dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:612: warning: cast from pointer to integer of different size dvb-bt8xx.c:612: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:612: warning: cast from pointer to integer of different size dvb-bt8xx.c:612: error: called object '__a' is not a function dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of '__a' dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:696: warning: cast from pointer to integer of different size dvb-bt8xx.c:696: warning: type defaults to 'int' in declaration of 'type name' dvb-bt8xx.c:696: warning: cast from pointer to integer of different size dvb-bt8xx.c:696: error: called object '__a' is not a function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5c913c0571034fc08d9a27f4aa3175142352acf6 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:24 2008 -0300 V4L/DVB (7439): tuner-xc2028: Adds an option to allow forcing to load an specific firmware name There are a number of different firmware versions and variants, shipped together with boards. This patch adds an extra parameter to the tuner-xc2028 to allow specifying for an specific firmware name to be loaded. This helps to test for a firmware that better fits some board. Signed-off-by: Mauro Carvalho Chehab commit 5ec96b0c80eced33e7bf69a2d29c044d6dbe9bf5 Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7437): tda18271: increment module version minor Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 868f5ccd64113d070f09ecf2827a69b81c95ed9d Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7436): tda18271: add basic support for slave tuner configurations Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4efb0ca5d00f2c7a8bf9632556a4b4330cf409c5 Author: Michael Krufky Date: Tue Apr 22 14:46:23 2008 -0300 V4L/DVB (7435): tda18271: add function tda18271_charge_pump_source Force the main pll charge pump or cal pll charge pump to source current to the main pll loop filter or cal pll loop filter, respectively. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 40194b2b1bdd01358c1e9b5a9b8dd78390cc05f7 Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7434): tda18271: set rfagc modes during channel configuration Set rfagc to high speed mode before setting the pll. Set rfagc to normal speed mode at the end of the function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e7809a07663f868f596b5f08a63db9a32240502c Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7433): tda18271: fix comparison bug in tda18271_powerscan Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c0dc0c1122b585193dd6650c749e919542dd3e23 Author: Michael Krufky Date: Tue Apr 22 14:46:22 2008 -0300 V4L/DVB (7432): tda18271: allow device-specific configuration of rf agc top allow device-specific configuration of rf agc rf top and if top Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 14c74b23b6b5a8259c25c8f825e3036f595518d0 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7431): tda18271: allow device-specific configuration of IF level Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ae07d042f626caa13d5a8a15ac7297b2873f7622 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7430): tda18271: fix typo in tda18271_calibrate_rf The internal calibration signal must be set on the cal pll. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e83ebb64eff4636a5eab06a6cc493ab51e900ed0 Author: Michael Krufky Date: Tue Apr 22 14:46:21 2008 -0300 V4L/DVB (7429): tda18271: write EP3 thru MD3 for image rejection low band initialization Both the tda18271 c1 and c2 parts only need EP3 through MD3 to be written for the image rejection calibration's low band initialization. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0c3ea9941c4957e4a9c229878bd13a39ac4d0e4b Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7427): dvb-pll: remove rf input module options The ability to select RF input was a supported feature only available on Philips TUV1236d and Philips FCV1236d. This feature, along with support for the tuners that used it, was moved into the tuner-simple module. This can now be removed from dvb-pll. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b6fd549e50e11d91057dc367fa8f9d1352b145be Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7426): dvb-pll: renumber remaining description id's Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5e8556de79c509ea2ff3c3be19d3930f9ab5af54 Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7425): dvb-pll: remove dead code remove #if 0'd support for: Philips TUV1236D Philips TD1316 Philips FMD1216ME LG TDVS-H06xF Philips FCV1236D Thomson FE6600 Microtune 4042 FI5 Thomson dtt761x Support for these tuners has been moved into the 'tuner-simple' module. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b7f81b2058625b6fe90c9265aabbf0d3bdc15874 Author: Michael Krufky Date: Tue Apr 22 14:46:20 2008 -0300 V4L/DVB (7424): dvb-pll: remove support for Philips TUV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ad561caafaa02b2e1dfe25f6bae03806051992eb Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7423): dvb-pll: remove support for Philips TD1316 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 92d1069f3cfbe4da07d9cf5b1cb29930e6277def Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7422): dvb-pll: remove support for Philips FMD1216ME Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 75a791925da909d489ef323e3a540ad1f1bca54f Author: Michael Krufky Date: Tue Apr 22 14:46:19 2008 -0300 V4L/DVB (7421): dvb-pll: remove support for LG TDVS-H06xF Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89418750f71b5b9bed7bd2bd8572fc54b049e1d5 Author: Michael Krufky Date: Tue Apr 22 14:46:18 2008 -0300 V4L/DVB (7420): dvb-pll: remove support for Philips FCV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7b844d75dcbf48f22838df41b47d7b387533170f Author: Michael Krufky Date: Tue Apr 22 14:46:18 2008 -0300 V4L/DVB (7419): dvb-pll: remove support for Thomson FE6600 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 53f2dd33147c3040e56d4d7a99a876e07b2bc6ac Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7418): dvb-pll: remove support for Microtune 4042 FI5 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 15b3feb73556208aec71569a6ccf9d8147ae6147 Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7417): dvb-pll: remove support for Thomson dtt761x Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 24d3980c3a4e073ade5e053d79864bf906c1e481 Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7416): dvb-pll: remove support for Thomson dtt7610 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 62ff817a04a5a08074c0391bdbf7bab48bdaa80e Author: Michael Krufky Date: Tue Apr 22 14:46:17 2008 -0300 V4L/DVB (7415): use tuner-simple for Philips TUV1236D digital tuning support Convert cx88-dvb and saa7134-dvb to use tuner-simple instead of dvb-pll for Philips TUV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb147e9755055b1b73b22c3efe87bec075ad3caa Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7414): use tuner-simple for Philips TD1316 digital tuning support Convert saa7134-dvb to use tuner-simple instead of dvb-pll for Philips TD1316 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cb89cd332d2f160623c92473945f729d43a70af0 Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7413): use tuner-simple for Philips FMD1216ME digital tuning support Convert cxusb, cx88-dvb and saa7134-dvb to use tuner-simple instead of dvb-pll for Philips FMD1216ME Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 827855d39761889aecc7c29385d9c4989b43d01d Author: Michael Krufky Date: Tue Apr 22 14:46:16 2008 -0300 V4L/DVB (7412): use tuner-simple for LG TDVS-H06xF digital tuning support Convert cx88-dvb, dvb-bt8xx, b2c2-flexcop, cxusb and cx23885 to use tuner-simple instead of dvb-pll for LG TDVS-H06xF Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 967be9a9cd2de3f87dbf960620860143a50c1b64 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7411): use tuner-simple for Philips FCV1236D digital tuning support Convert dvb-bt8xx to use tuner-simple instead of dvb-pll for Philips FCV1236D Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0efad8127ac4b32af780d722258b42cfae02cdf2 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7410): use tuner-simple for Thomson FE6600 digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Thomson FE6600 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e35c9ff1362aa4deb0b0a803d661920dcdd6f48 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7409): use tuner-simple for Microtune 4042 FI5 digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Microtune 4042 FI5 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0df31f8330bdaebde5411018f0142cca06ca23a3 Author: Michael Krufky Date: Tue Apr 22 14:46:13 2008 -0300 V4L/DVB (7408): use tuner-simple for Thomson DTT 761X digital tuning support Convert cx88-dvb to use tuner-simple instead of dvb-pll for Thomson DTT 761X Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 65511611dd0a5219b431a8a08cff6f8f7ab83aa5 Author: Michael Krufky Date: Tue Apr 22 14:46:12 2008 -0300 V4L/DVB (7407): tuner-simple: add module options to specify rf input Add module options to tuner-simple, called "atv_input" and "dtv_input" to specify which rf input to use on devices with multiple rf inputs. If the module option is not specified, then the driver will autoselect the rf input, as per previous behavior. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26f1b942156766c6ff1a70fb2ac463c6fce31309 Author: Guennadi Liakhovetski Date: Mon Mar 24 12:18:36 2008 -0300 V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device In case of muliple cameras, handled by the same driver, they can support Signed-off-by: Mauro Carvalho Chehab commit 8be38c815e181402c777e033f40971a7be19cf8b Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:46:12 2008 -0300 V4L/DVB (7404): saa7134.h: Remove unnecessary validation Removed unnecessary VIDIOC_G_PRIORITY validation. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 078ff7953448163d8779e489bd0119dd9a9b4732 Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7402): add macro validation for v4l_compat_ioctl32 Added macro CONFIG_COMPAT for v4l_compat_ioctl32. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 03dea86de2243d5b3932604b799be26efeff010d Author: Tobias Lorenz Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7401): radio-si470x: unplugging fixed This patch fixes several kernel oops, when unplugging device while it is in use: Basically the patch delays freeing of the internal variables in si470x_usb_driver_disconnect, until the the last user closed the device in si470x_fops_release. This was implemented a while ago with the help of Oliver Neukum. I tested the patch five times (unplugging while in use) without oops coming from the radio-si470x driver anymore. A remaining oops was coming from the usbaudio driver, but this is someone else task. Hopefully this fixed all unplugging issues. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit b412ba781adcb484e8d9b19b30ae1d3a6b8c7d29 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:11 2008 -0300 V4L/DVB (7399): Removes video_dev from tuner-xc2028 config struct The video_dev parameter, on tuner-xc2028 were used to pass i2c private data to tuner_callback. Since the driver already have a pointer to i2c_adap->algo_data, uses this instead. This parameter were used also as a magic number to idenfity if two drivers are trying to register the same xc3028 tuner. This occurs with boards with DVB support, where both DVB and V4L drivers will share the same tuner. Instead of using the algo_data as a private number, after this patch, the driver will use i2c_adap->dev, with seems more consistent. Signed-off-by: Mauro Carvalho Chehab commit 0be51b4671b3ae3ae544a0bb3d15b55478b55e72 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7398): Adds an error if priv argument of tuner_callback is NULL Adds a consistency check to avoid OOPS, if tuner_callback priv argument is NULL. Also, simplifies callback codes on cx88. Signed-off-by: Mauro Carvalho Chehab commit 0fea03fbd3aeaa9b4a4de8409e5ef3aca43a6d0b Author: Hartmut Hackmann Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7396): saa7134: fixed pointer in tuner callback The pointer transferred directly points to the saa7134_dev structure Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit e9c1ac9d8d75eaf15126e38cc7d09db03d1a3fd6 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:10 2008 -0300 V4L/DVB (7395): saa7134: start 2nd LND supply of Medion cards only if needed The ISL6405 LNB supply is used on several Creatix / Medion cards. But only the MD8800 needs its second section. So don't start it unless it is needed. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit a4df8e1d6ae460546dfa3b4f23a85cb5a4255109 Author: Alan McIvor Date: Tue Apr 22 14:46:09 2008 -0300 V4L/DVB (7394): saa7134: add number of devices check This patch fixes reported problems when trying to add a 9th device into a system. Signed-off-by: Alan McIvor Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7bff4b4d3ad2b9ff42b4087f409076035af1d165 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7393): tda827x: fixed support of tuners with LNA Tuner refactoring broke support of tuners with LNA configurations 1 and 2 for both, analog TV and DVB-T. Additionally, this patch initializes the saa713x gpios defined by the gpiomask at driver init to avoid undefined stated at dvb. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 5823b3a63c7661272ea7fef7635955e2a50d17eb Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7392): saa7134: support 2nd DVB-S section of the MD8800 There are some restrictions: - The 2nd DVB-S section will only work if the 1st is configured for DVB-S too. so "options saa7134-dvb use_frontend=0,1" won't work. - Currently it is not possible to set the higher LNB supply voltages, so 14V instead of 13V in the 2nd section. - It is not possibe to turn off the 2nd LNB supply independently. This comes from the problem that the 2nd section can't access the i2c interface of the LNB supply chip. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 637afdb563a0801b6983650f889c64c074111776 Author: Hartmut Hackmann Date: Tue Apr 22 14:46:08 2008 -0300 V4L/DVB (7391): saa7134: Add DVB-S support for the MD 1734 cards with 2 saa7134 Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 867bc6cccc511ccbf40609ccb6ede2aafdeb922e Author: Hartmut Hackmann Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7390): saa7134: clear audio DSP interface after access error In the case of an access error to the high latency registers of the audio DSP, the interface needs to be cleared, otherwise a cascade of errors occurs. This patch is closely modeled after a proposal by Mirek Slugen Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit c1e6393e24e0fcc8047db18dce05758c3fd54515 Author: Andrew Morton Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7389): git-dvb: drivers/media/video/bt8xx/bttv-cards.c: fix warnings drivers/media/video/bt8xx/bttv-cards.c:3030:38: warning: "/*" within comment drivers/media/video/bt8xx/bttv-cards.c:3032:20: warning: "/*" within comment Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 6e741713913fd28f8291fddb3d32d9353f1f0472 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:07 2008 -0300 V4L/DVB (7388): saa7134: fix radio entry for xc2028/3028 boards If left in blank, the driver will use value 0 (Temic PAL) Signed-off-by: Mauro Carvalho Chehab commit d9ae6dd76325d26a68068f7d8c78e0c7ec7e8f3e Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7387): saa7134: Fix xc3028 entries Tuner addresses were incorrect. Fix the entries. Signed-off-by: Mauro Carvalho Chehab commit 7f7203df3f7d056e5f3c4419c6ab3835f44b288c Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7385): tda18271: store agc_mode configuration independently of std_bits Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c293d0a72ecb9dd09037cdf4a9089e455404cf4a Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7384): tda18271: store FM_RFn setting in struct tda18271_std_map_item All standard related configuration is stored within struct tda18271_std_map_item. Pass a pointer to this structure rather than its individual members. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5555309c9adcf9bb7f6b449ef45b09d5c26ef4ae Author: Michael Krufky Date: Tue Apr 22 14:46:06 2008 -0300 V4L/DVB (7383): tda18271: add attach-time parameter to limit i2c transfer size Add attach-time parameter, "small_i2c" to limit i2c transfer size to write at most 16 registers at a time during initialization. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ab8b870e430d3e2cfb299f81e0ae0aef7fe5bfda Author: Michael Krufky Date: Tue Apr 22 14:46:05 2008 -0300 V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D TUNER_PHILIPS_ATSC is an ambiguous name for a tuner. Rename it to TUNER_PHILIPS_FCV1236D to be more descriptive. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e827931e37295329be0bc0e6c0283bfa4807b8f9 Author: Michael Krufky Date: Tue Apr 22 14:46:05 2008 -0300 V4L/DVB (7380): tuner-simple: warn if tuner can't be probed during attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cac2b0eb18e140e2f63146d0f97691e9238570b6 Author: Michael Krufky Date: Tue Apr 22 14:46:04 2008 -0300 V4L/DVB (7379): tuner: prevent instance sharing if i2c adapter is NULL We currently do not have a method to enable instance staring if i2c adapter is NULL, in the cases of dvb demods that write to the tuner directly using calc_regs. Prevent possible wrong instance sharing for these cases until a better solution can be found. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7daa4a8897e79911f524ddac065adea05c7e9b16 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:03 2008 -0300 V4L/DVB (7378): cleanup variable initialization flags used for spinlocks don't need to be initialized, except where the compiler has no way to see, that the spin_unlock_irqrestore is only called if the spin_lock_irqsave has been called before. Local variable initialization doesn't have to be protected. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b2cb200f0d0d5e801b47635554519f6e1b64e847 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:03 2008 -0300 V4L/DVB (7377): radio-sf16fmr2.c: fix volume handling As reported by Roel Kluin <12o3l@tiscali.nl>: in drivers/media/radio/radio-sf16fmr2.c:319: for (i = 0; i < ARRAY_SIZE(radio_qctrl); i++) { if ((fmr2->card_type != 11) && V4L2_CID_AUDIO_VOLUME) radio_qctrl[i].step = 65535; ... I don't understand this '&& V4L2_CID_AUDIO_VOLUME' While fixing this issue, I've revisited the volume control code and fixed CodingStyle on the changed procedures. Signed-off-by: Mauro Carvalho Chehab commit e9bcf6675d6da1a1e9925b2bdfc21f8d2330a1c5 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7376): Improve compile-time type-checking in videobuf Make the dev member of the struct videobuf_queue of type "struct device *" to avoid future problems. Also change the prototype of the videobuf_queue_core_init() function. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 50407f99a1fd7fcca74e53b1852dc70deb5114db Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7375): cx88/saa7134: fix magic number for xc3028 reusage detection tuner-xc2028 needs to know when a DVB module is sharing the same analog tuner. This is done by comparing a magic number that needs to be the same on analog and on digital. To make easier, this magic number is a pointer to some data struct. With the previous code, two different pointers were using, causing a miss-detection. Signed-off-by: Mauro Carvalho Chehab commit a920e42f61bdfe9974f3e2f3715d3a6d319eeaba Author: Guennadi Liakhovetski Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7374): Fix left-overs from the videobuf-dma-sg.c conversion to generic DMA The dev element of the struct videobuf_queue is now of type struct device implicitly. Fix left-over casts. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 33b4af918a1ad73db47efec3cd23184d58f6ab31 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 22 14:46:02 2008 -0300 V4L/DVB (7373): logical-bitwise & confusion in se401_init() logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 7f0dd17913eda77961fc8213b64cb8af4a155d3e Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:01 2008 -0300 V4L/DVB (7372): cx88: Add IR support for Pixelview MPEG 8000GT Signed-off-by: Mauro Carvalho Chehab commit ceb63a4fda646faea60e34fa4c3abf8455add013 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:01 2008 -0300 V4L/DVB (7371): cx88: Fix audio on Prolink Pixelview Mpeg 8000GT This board works only with non-mts firmware Signed-off-by: Mauro Carvalho Chehab commit 2422a9b3f47c75d3915e6af78ebe25b7d2540262 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:46:00 2008 -0300 V4L/DVB (7370): Add basic support for Prolink Pixelview MPEG 8000GT TV reception ok. S-video and Composite not tested. Audio not tested. IR not implemented yet. Signed-off-by: Mauro Carvalho Chehab commit aba360d8cc086e12c3eb832f32d9e9813514e295 Author: Andrew Morton Date: Tue Apr 22 14:45:59 2008 -0300 V4L/DVB (7369): drivers/media/video/soc_camera.c: reads return size_t Signed-off-by: Andrew Morton CC: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e80faad3d7a332b7fe5a72dd64a81d28dd5c2e44 Author: Mauro Lacy Date: Tue Apr 22 14:45:58 2008 -0300 V4L/DVB (7368): bttv: added support for Kozumi KTV-01C card Signed-off-by: Mauro Lacy Signed-off-by: Mauro Carvalho Chehab commit 97275ac514c7f1131f42f8b06e073b144c744e78 Author: Ernesto Hernández-Novich Date: Tue Apr 22 14:45:58 2008 -0300 V4L/DVB (7366): Support for a 16-channel bt878 card I have what looks like a Geovision GV-600 (or 650) card. It has a large chip in the middle labeled CONEXANT FUSION 878A 25878-13 E345881.1 0312 TAIWAN It has an audio connector coming out from a chip labeled ATMEL 0242 AT89C2051-24PI It is identified as follows on my Debian GNU/Linux Etch (kernel 2.6.18) ... 01:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) 01:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) ... 01:0a.0 0400: 109e:036e (rev 11) Subsystem: 008a:763c Flags: bus master, medium devsel, latency 64, IRQ 58 Memory at dfffe000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 01:0a.1 0480: 109e:0878 (rev 11) Subsystem: 008a:763c Flags: bus master, medium devsel, latency 64, IRQ 58 Memory at dffff000 (32-bit, prefetchable) [size=4K] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 It was being detected as a GENERIC UNKNOWN CARD both by the 2.6.18 kernel and the latest v4l-dvb drivers, but it did not work at all. The card has sixteen (16) BNC video inputs, four of them on the board itself and twelve on three daughter-cards. It has a single bt878 chip, no tuner and what looks like and audio input. After doing some research I managed to get only eight channels working by forcing card=125 and those DID NOT match channels 0-7 on the card, and no audio. Based on what was working for card=125, I added the card definition block, added a specific muxsel routine and got the card working fully with xawtv, where the sixteen channels show up as Composite0 to Composite15, matching the channel labels in the card and daughter-cards. I have made no efforts yet to get audio working, but would appreciate any pointers. Signed-off-by: Ernesto Hernández-Novich Signed-off-by: Mauro Carvalho Chehab commit 76e41e4851e0c8b642e348d8489d7645b8dae21e Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7365): reduce stack usage of v4l1_compat_sync poll_one allocated on stack struct poll_wqueues which is pretty big structure (>500 bytes on x86_64). v4l1_compat_sync invokes poll_one in a loop, so allocate struct poll_wqueues in v4l1_compat_sync (with kmalloc) and pass it to poll_one. Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit b524f7b02d70204444441e4805fb3a71981e9018 Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7364): reduce stack usage of v4l_compat_translate_ioctl v4l_compat_translate_ioctl used 1376 bytes of stack (x86_64), so split this 800 lines long function into ~20 small noinline functions; the biggest function takes now 712 bytes (v4l1_compat_sync) fix VIDIOCSWIN handler which printked wrong errors Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 8b3b90aca293418171297ae14efac5817ba02bd3 Author: Marcin Slusarz Date: Tue Apr 22 14:45:57 2008 -0300 V4L/DVB (7363): fix coding style violations in v4l1-compat.c fix most coding style violations found by checkpatch Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit a2a7f84b7908c6dba998b43a1ed343aff1d2fd98 Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7360): tuner-simple: fix return value of simple_dvb_configure simple_dvb_configure returns the actual tuned frequency to its caller, so it must be declared as a u32 rather than an int. As a result, we will return 0 to indicate a failure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26cd8972fb5cf673489005bf9b7d16e6f273422b Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7359): tuner-simple: enable digital tuning support for Thomson FE6600 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e5d383b0aca78c70c46b378f6b0e9d03a28c1af Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7358): tuner-simple: enable digital tuning support for Philips TD1316 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a33b42c6bbe6c5b9067489df9e5650de751b798e Author: Michael Krufky Date: Tue Apr 22 14:45:56 2008 -0300 V4L/DVB (7357): tuner-simple: enable digital tuning support for Microtune 4042 FI5 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0db5fd4b063e8ea746c08f8630fd6f64cb511a55 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7356): tuner-simple: enable digital tuning support for Thomson DTT 7610 Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 02f5f4448464fea9c19e6b5ff5c67e874c898834 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7355): tuner-simple: use separate inputs for vsb and qam on tuv1236d & fcv1236d Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f4173d0f75e55091d8b52145005bee11bc26c046 Author: Michael Krufky Date: Tue Apr 22 14:45:55 2008 -0300 V4L/DVB (7354): tuner-simple: enable digital tuning support for Philips FCV1236D Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbe3127d72b42a81749efb48aa315bbacfbf89b8 Author: Michael Krufky Date: Tue Apr 22 14:45:54 2008 -0300 V4L/DVB (7353): tuner-simple: enable digital tuning support for Philips TUV1236D Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 23a88108cf6d5fa8073a3b2af804fff7305e86e3 Author: Michael Krufky Date: Tue Apr 22 14:45:53 2008 -0300 V4L/DVB (7352): tuner-simple: enable digital tuning support for Philips FMD1216ME Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f4a57292f4f0a0fef5e4e39cb394fedcf2acf9f Author: Michael Krufky Date: Tue Apr 22 14:45:53 2008 -0300 V4L/DVB (7351): tuner-simple: add init and sleep methods taken from dvb-pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22ef8fc945b28398d93a5d362e54915b66eba23f Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7350): tuner-simple: enable digital tuning support for Thomson DTT 761X Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bed6d189b965974a13c8c13313f9ebce06c12c3c Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7349): tuner-simple: enable digital tuning support for LG TDVS-H06xF Enable digital tuning support within tuner-simple. This will allow for a single tuner module to manage the hardware, without having dvb-pll loaded. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a81df363554fb6439b5eb4ada06ad546a1df5ce3 Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7348): tuner-simple: do not send i2c commands if there is no i2c adapter if (priv->i2c_props.adap == NULL) then exit any function that would send commands over the i2c bus. We allow drivers to attach without an i2c adapter for cases where the dvb demod accesses the tuner directly via calc_regs. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 62325497db6ef3b13cae41d5038e2693997d7d3e Author: Michael Krufky Date: Tue Apr 22 14:45:52 2008 -0300 V4L/DVB (7347): tuner-simple: add basic support for digital tuning of hybrid devices Add entry points used for digital tuning via the dvb_frontend. Share state data between multiple instances of the driver for hybrid tuners. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ac8b63b30a320699e602a18af6101528b408d41d Author: Michael Krufky Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7346): tda9887: allow multiple driver instances for the same hardware to share state Convert tda9887 to use the new hybrid_tuner_request_state and hybrid_tuner_release_state macros to manage state sharing between hybrid tuner instances. Some ATSC/DVB cards need to put the analog demodulator into standby before tuning digital. This patch allows us to attach the tda9887 driver to the digital side of the bridge driver and be able to put it into standby without jeopardizing the analog demod driver's state. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 081b496a75fec134657f036f585738a1ca869047 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7344): cx25840: better PAL-M and NTSC-KR handling Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2fd3c14cf53c379602d1a8a1a0aed7737a48c5c6 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7343): msp3400: fix SECAM D/K handling The 6.5 MHz carrier was interpreted as SECAM-L even if SECAM-D/K was selected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e0028027c6e4a8aa8b3b77001b982a97ac35bbd7 Author: Hans Verkuil Date: Tue Apr 22 14:45:51 2008 -0300 V4L/DVB (7342): saa7115: fix PAL-Nc handling Fsc 3.58 refers to Combination PAL-N (aka PAL-Nc), not to plain PAL-N (that uses Fsc 4.43). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 11305d590895f22c30545ee0ff3fb434128fefb0 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7341): ivtv: rename tunerhz to tunertype There are two tuner types: those for M/N standards and those for all others. However, M/N standards are not always 60 Hz (PAL-N/Nc are 50 Hz), so rename the module option accordingly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cd9fa026606848b2238a56e37b2c4aa4f371e152 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7340): ivtv: fix tunerhz bug: PAL-N(c) is 50 Hz, not 60 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d00573bbe9ce97798e08e6718f3459c2c2ceacc0 Author: Hans Verkuil Date: Tue Apr 22 14:45:50 2008 -0300 V4L/DVB (7339): ivtv: add support for Japanese variant of the Adaptec AVC-2410 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c0038ce025e1d70076894e6a206a73fd37ad493d Author: Hans Verkuil Date: Tue Apr 22 14:45:49 2008 -0300 V4L/DVB (7338): ivtv: improve pal/secam module options, add tunerhz module option Allow options like pal=bgh, improve description of those options. Add tunerhz option: 50=card has 50Hz tuner, 60=card has 60Hz tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0358d7c580370c5eaf081ac42a41c6e347709051 Author: Hans Verkuil Date: Tue Apr 22 14:45:48 2008 -0300 V4L/DVB (7337): ivtv: fix polling bug The q_io queue was never taken into account by the poll function. Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ad5f2e859d76dccb7eb1aa942171b1a32211efc2 Author: Guennadi Liakhovetski Date: Fri Mar 7 21:57:18 2008 -0300 V4L/DVB (7336): soc-camera: streamline hardware parameter negotiation Improve hardware parameter negotiation between the camera host driver and camera drivers. Parameters like horizontal and vertical synchronisation, pixel clock polarity shall be set depending on capabilities of the parties. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1c659689fe9959c017bfaaa8301243f7d99f1a46 Author: Andrew Morton Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7335): usb-video: checkpatch fixes Please run checkpatch prior to sending patches Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit d6f34d7adddb144c3b450e15df3749f0e0a651c6 Author: Jean Delvare Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7332): ir-kbd-i2c: Minor optimization in ir_probe This saves an initialization and a comparison. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 2c4a07b2da61bcd33f18195ff7f355c5bb285904 Author: Sascha Sommer Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7331): Fix em2800 altsetting selection Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 4a24ce3a17ee713056db0a24cf558bd595211302 Author: Andreas Oberritter Date: Tue Apr 22 14:45:47 2008 -0300 V4L/DVB (7329): add flag to allow software demux to recognize the output type Previously, the macro DVR_FEED, which is used to recognize and filter out duplicate packets going to the DVR device, used the TS_PAYLOAD_ONLY flag to identify a packet's destination. This kind of filtering was introduced by the following two changesets: Now, that it is possible to record TS PIDs using the demux device by setting the output type to DMX_OUT_TSDEMUX_TAP, checking TS_PAYLOAD_ONLY is not sufficient anymore. Therefore another flag, TS_DEMUX, is added to specify the output type of a feed. This allows multiple clients to filter the same TS PID on a demux device simultaneously. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit a9317abfba0850b006aed000e2acc4bee150410a Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7327): cx88: Fix memset for tuner-xc3028 control Fix a cut-and-paste error Signed-off-by: Mauro Carvalho Chehab commit 000e27a639f16e2df70a3b0bec7edfab79e5e717 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7326): Fix bad whitespaces Signed-off-by: Mauro Carvalho Chehab commit ddd5441df4127d5af45f6b2c58c2020b60bd52de Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:46 2008 -0300 V4L/DVB (7325): cx88-dvb: fix an OOPS for xc3028 devices, when dvb_attach fails If dvb_attach fails, dev->dvb.frontend is NULL. This will produce an OOPS, as reported. Thanks to Vanessa Ezekowitz Signed-off-by: Mauro Carvalho Chehab commit f0910c744324e3e853d7a80da876784319d9a1c8 Author: Michael Krufky Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7323): pvrusb2: set default video standard to NTSC for OnAir HDTV / Creator The pvrusb2 driver normally picks up the default video standard from the eeprom on Hauppauge devices, but the OnAir HDTV and OnAir Creator are not Hauppauge devices, and do not store this information in any eeprom. These devices support NTSC/ATSC, so we should use NTSC by default when in analog mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ebff033039b654b7b5493499babe22c7c1b0d36e Author: Tobias Klauser Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7322): pvrusb2: Fix storage-class as per C99 spec The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 794b16072e00d0a40a8c773dd4319fb1e460a632 Author: Mike Isely Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7321): pvrusb2: Rework context handling and initialization This change significantly rearranges pvr2_context level initialization and operation: 1. A new kernel thread is set up for management of the context. 2. Destruction of the pvr2_context instance is moved into the kernel thread. No other context is able to remove the instance; doing this simplifies lock handling. 3. The callback into pvrusb2-main, which is used to trigger initialization of each interface, is now issued from this kernel thread. Previously it had been indirectly issued out of the work queue thread in pvr2_hdw, which led to deadlock issues if the interface needed to change a control setting (which in turn requires dispatch of another work queue entry). 4. Callbacks into the interfaces (via the pvr2_channel structure) are now issued strictly from this thread. The net result of this is that such callback functions can now also safely operate driver controls without deadlocking the work queue. (At the moment this is not actually a problem, but I'm anticipating issues with this in the future). 5. There is no longer any need for anyone to enter / exit the pvr2_context structure. Implementation of the kernel thread here allows this all to be internal now, simplifying other logic. 6. A very very longstanding issue involving a mutex deadlock between the pvrusb2 driver and v4l should now be solved. The deadlock involved the pvr2_context mutex and a globals-protecting mutex in v4l. During initialization the driver would take the pvr2_context mutex first then the v4l2 interface would register with v4l and implicitly take the v4l mutex. Later when v4l would call back into the driver, the two mutexes could possibly be taken in the opposite order, a situation that can lead to deadlock. In practice this really wasn't an issue unless a v4l app tried to start VERY early after the driver appeared. However it still needed to be solved, and with the use of the kernel thread relieving need for pvr2_context mutex, the problem should be finally solved. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 8f59100a42576c49e2170e9dc04f8b7ac922a74d Author: Mike Isely Date: Tue Apr 22 14:45:45 2008 -0300 V4L/DVB (7320): pvrusb2: Eliminate timer race during tear-down The pvrusb2 tear-down logic was clearing two timers before stopping its internal work queue. That left a tiny window open where the work queue might run after the timers are stopped, possibly starting them again. This could lead to dangling pointers and an oops. Solution: Kill the work queue first, then delete the timers. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c4a8828ddbf5fb445d2679ab006d5743540fc41a Author: Mike Isely Date: Tue Apr 22 14:45:44 2008 -0300 V4L/DVB (7319): pvrusb2: Close potential race condition during initialization There is a callback that is issued to into pvr2_context from pvr2_hdw after initialization is done. There was a probability that this callback could get missed. Fixed. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ee9ca4b24f03b4da04cae1a24ea445ceb8a1f3d2 Author: Mike Isely Date: Tue Apr 22 14:45:43 2008 -0300 V4L/DVB (7318): pvrusb2: Remove dead code Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a00199fb3fe41c8190c38e548a178e965f582cda Author: Mike Isely Date: Tue Apr 22 14:45:43 2008 -0300 V4L/DVB (7317): pvrusb2: Increase buffer size for printing video standard strings Buffer size for printing pvrusb2 video standard strings was too small before. This is cosmetic; the printing logic is not able to overrun a too-short buffer. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ef7c37009225776e92979f464bfbf5d796d3a5ea Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits The pvrusb2 driver dynamically generates an enumeration of support video standard combinations based on which video standard bits are set. ATSC modes don't fall into this since they are by nature not analog. The pvrusb2 driver has been warning about an inability to classify ATSC standards. This change causes the classification algorithm to ignore any ATSC standards (such things are better handled elsewhere anyway). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fd1da7897999826d7491cdfd5b882ca8e9a965cb Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7315): pvrusb2: Add Gotview USB 2.0 DVD Deluxe to supported devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5fd782af71876562c098aab0b240ceef2779d888 Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7314): pvrusb2: Make device attribute structure more compact Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 40381cb02fb7fc0b46c55e3a71325b5d930580fa Author: Mike Isely Date: Tue Apr 22 14:45:42 2008 -0300 V4L/DVB (7313): pvrusb2: Make LED control into a device-specific attribute The pvrusb2 driver has used hardcoded logic to control the LED on the device. However this is really Hauppauge-specific behavior. This change defines a new device attribute for LED control and sets things up appropriately for Hauppauge devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c55a97d7538d5f3abbee5486e37e56e896478fbd Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7312): pvrusb2: Indicate streaming status via LED Most of this originates from Michael Krufky ; these changes move LED control into separate functions. This is the first step in new work to make LED control a device-specific attribute. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1b9c18c54d68cc22f090948fc47890c56d22153d Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7311): pvrusb2: Allow digital streaming without encoder firmware The encoder is not a part of the pipeline when in digital mode, so streaming is OK in this case even when the encoder's firmware is not loaded. Modify the driver core handling of this scenario to permit streaming. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e9db1ff23507d3e430db2bd130bd7861baa8c87e Author: Mike Isely Date: Tue Apr 22 14:45:41 2008 -0300 V4L/DVB (7310): pvrusb2: trace print cosmetic cleanup / improvements Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 62433e312076d4ff4f2df357b2a6fac29974344a Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7309): pvrusb2: Enhance core logic to also control digital streaming This is a major pvrusb2 change. The driver core has an algorithm that is used to cleanly sequence the changes needed to enable / disable video streaming. The algorithm had originally been written for analog streaming, but when in digital mode the pipeline is considerably Signed-off-by: Mauro Carvalho Chehab commit e8f5bacfcf2ba9a98674f3cd51b63020920e16aa Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7308): pvrusb2: Define digital control scheme device attributes Unlike analog control, control of the digital side is not nearly as uniform among different devices. So we have to specify the correct digital control scheme as a new device attribute. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 84147f3dd9187cd0c9810801be1282419a8ea00a Author: Mike Isely Date: Tue Apr 22 14:45:40 2008 -0300 V4L/DVB (7307): pvrusb2: New functions for additional FX2 digital-related commands This code is actually part of a larger set from Mike Krufky , to support ATSC streaming from within the pvrusb2 driver. More to come... Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 99a6acf9a7a80da49e85be964b15ffed9ab7643e Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7306): pvrusb2: Fix oops possible when claiming a NULL stream Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7f421fe475726f0de55588a22c870e5cf35dc4f5 Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7305): pvrusb2: whitespace fixup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e1edb19a001b25c0ce2e52a669cba6b6eb31883c Author: Michael Krufky Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7304): pvrusb2: add function pvr2_hdw_cmd_powerdown Call pvr2_hdw_cmd_powerdown to power down the device Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit dbc40a0e582a88d2561d13d1fea4f3496bff9650 Author: Mike Isely Date: Tue Apr 22 14:45:39 2008 -0300 V4L/DVB (7303): pvrusb2: Ensure that default input selection is actually valid Previously the pvrusb2 driver just started with the default input to be "television". But if the device doesn't support an analog tuner then this default must be different. New logic here selects a reasonable default based on the actual valid set of available inputs. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fdf256f3374d5060e3714651b45b8450b7dc4349 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7302): pvrusb2: Improve control validation for enumerations When an enumeration control is changed, the pvrusb2 driver assumed that the enumeration values were continuous. That is no longer true; this change allows for properly input validation even when not all enumeration values are legal (which can happen with input selection based on what the hardware supports). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit bedbbf8be2f28c9f8a8cf1e2ead4fda8b5f47103 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7301): pvrusb2: Implement addition sysfs tracing Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit beb0ecd7f02f1a2da174b450d096e00530b3e8e8 Author: Mike Isely Date: Tue Apr 22 14:45:38 2008 -0300 V4L/DVB (7300): pvrusb2: v4l2 implementation fixes for input selection Now that the pvrusb2 driver can dynamically choose which inputs to make available depending on the hardware, the enumeration of input choices is no longer a contiguous range of integers. Unfortunately this causes a problem in the v4l2 implementation since the input enumeration requires continuity in the API. This change implements a mapping in order to preserve the v4l2 interface requirement. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7fb20fa38caaf5c9d1b1d60b181c99ca30122520 Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7299): pvrusb2: Improve logic which handles input choice availability Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 895c3e8bfec9738251da9a2a8592dab15ec3a1bd Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7298): pvrusb2: Account for dtv choice (a bit) in v4l2 implementation The v4l2 implementation in pvru2b2 must produce a sane answer when asked, when the input choice is set to dtv. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 29bf5b1d754a9a64f68c37938e1a0b7b63b724ba Author: Mike Isely Date: Tue Apr 22 14:45:37 2008 -0300 V4L/DVB (7297): pvrusb2: Dynamically control range of input selections This follows from defining the available inputs as device attributes. This change causes the driver to adjust its list of inputs based on those attributes. Now, for example, the FM radio will appear as a choice only if the hardware supports an FM radio. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1aaac60fec0d3ba8043838c6eac86de987cfe5c1 Author: Mike Isely Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7296): pvrusb2: Define device attributes for all input modes Different devices support different input types. Up until now we've really been assuming that everyone has an analog tuner, an FM radio, composite, and s-video inputs. But as we add other devices, these assumptions are no longer true. The way to deal with this is to define the available inputs as additional device attributes, so that the driver can adjust its internal behavior accordingly. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d068c6eec94c370a445a32f2f092c90798d47ca3 Author: Mike Isely Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7295): pvrusb2: add device attributes for fm radio and digital tuner Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 27dea3eb667c058eebf2eb8a090f0e20333386e9 Author: Wojciech Migda Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV card The PixelView PlayTV card definition structure was missing initialization of the tuner_addr and radio_addr fields. As a result it was impossible to have the tuner initialized using parameters specified while loading the bttv.ko module. This regression became visible after the v4l rearrangements introduced somewhere around 2.6.15 kernel version. The root cause for the tuner initialization failure is located in the attach_inform function in the bttv-i2c.c file. There at the very beginning the addr variable holding the tuner device address is initialized with the value taken from the bttv_tvcards array. For the PixelView PlayTV card the tuner address field (and the radio address as well) was uninitialized, and thus equal 0. Later in that function execution of the TUNER_SET_TYPE_ADDR tuner command is guarded with check for the tuner address either equal ADDR_UNSET, or client->addr. Since both are non-zero (the latter in case of the card owned by me at the runtime is equal 0x61) the TUNER_SET_TYPE_ADDR command is not executed, and consequently in the tuner_attach function in the tuner-core.c file call to i2c_attach_client does not result in assigning the tuner type variable with the requested value. Providing initialization of the tuner_addr and radio_addr with ADDR_UNSET values as it is already done for other tv cards defined in bttv-cards.c ensures that the tuner initialization is done correctly, just as it used to be in the 2.6.14 kernel. Signed-off-by: Wojciech Migda Signed-off-by: Mauro Carvalho Chehab commit b01cd937895ad4114a07114cfb6b8b5d2be52241 Author: Peter Hartley Date: Tue Apr 22 14:45:36 2008 -0300 V4L/DVB (7293): DMX_OUT_TSDEMUX_TAP: record two streams from same mux, resend Currently (in linux-2.6.24, but linux-dvb hg looks similar), the dmx_output_t in the dmx_pes_filter_params decides two things: whether output is sent to demux0 or dvr0 (in dmxdev.c:dvb_dmxdev_ts_callback), *and* whether to depacketise TS (in dmxdev.c:dvb_dmxdev_filter_start). As it stands, those two things can't be set independently: output destined for demux0 is depacketised, output for dvr0 isn't. This is what you want for capturing multiple audio streams from the same multiplex simultaneously: open demux0 several times and send depacketised output there. And capturing a single video stream is fine not what you want: you want multi-open (so demux0, not dvr0), but you want the TS nature preserved (because that's what you want on output, as you're going to re-multiplex it with the audio). At least one existing solution -- GStreamer -- sends all its streams simultaneously via dvr0 and demuxes again in userland, but it seems a bit of a shame to pick out all the PIDs in kernel, stick them back together in kernel, and send them to userland only to get unpicked again, when the alternative is such a small API addition. The attached patch adds a new value for dmx_output_t: DMX_OUT_TSDEMUX_TAP, which sends TS to the demux0 device. With this patch and a dvb-usb-dib0700 (and UK Freeview from Sandy Heath), I can successfully capture an audio/video PID pair into a TS file that mplayer can play back. Signed-off-by: Peter Hartley Acked-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 3c66e4e18b250f4524f24fd5b4ccdcd12bef9cc2 Author: Michael Krufky Date: Tue Apr 22 14:45:35 2008 -0300 V4L/DVB (7289): cx88: enable IR receiver and real time clock on FusionHDTV7 Gold Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76464d412a5a51633881078d4109212e4463e8d4 Author: Michael Krufky Date: Tue Apr 22 14:45:35 2008 -0300 V4L/DVB (7288): cx88: fix GPIO for FusionHDTV 7 Gold input selection Fix GPIO for FusionHDTV 7 Gold tv / s-video / composite input selection. Fix card textual name to match other FusionHDTV device names. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1117d6ba1313b8821b10403de114c38764008c45 Author: Steven Toth Date: Tue Apr 22 14:45:34 2008 -0300 V4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a58858556deb03ea4a464f84fe888692867ce377 Author: Marcin Slusarz Date: Tue Apr 22 14:45:33 2008 -0300 V4L/DVB (7286): limit stack usage of ir-kbd-i2c.c ir_probe allocated struct i2c_client on stack; it's pretty big structure, so allocate it with kzalloc make checkstack output without this patch: x059d ir_probe [ir-kbd-i2c]: 1000 Signed-off-by: Marcin Slusarz Signed-off-by: Mauro Carvalho Chehab commit 1c3bf598cf794558694c8beb0c8c7056a81dbe04 Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:45:33 2008 -0300 V4L/DVB (7283): videobuf-dma-sg: Remove unused variable Removed warning message: - videobuf-dma-sg.c: In function 'videobuf_dma_unmap': - videobuf-dma-sg.c:281: warning: unused variable 'dev' Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit e43d76b40d3fda146b9cd1192c5504a257603b70 Author: Brandon Philips Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7281): v4l: Deadlock in videobuf-core for DQBUF waiting on QBUF Avoid a deadlock where DQBUF is holding the vb_lock while waiting on a QBUF which also needs the vb_lock. Reported by Hans Verkuil . Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 9dc4e48fbea5412127ce2eb30d688c4fc55f5565 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7276): soc-camera: deactivate cameras when not used Only attach cameras to the host interface for probing, then detach until open. This allows platforms with several cameras on an interface, physically supporting only one camera, to handle multiple cameras and activate them selectively after initial probing. The first attach during probe is needed to activate the host interface to be able to physically communicate with cameras. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6f2896756c4f1d4df5bd30599e6444c9513cfe8d Author: Harvey Harrison Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7274): dabusb: fix shadowed variable warning in dabusb.c drivers/media/video/dabusb.c:208:6: warning: symbol 'buffers' shadows an earlier one drivers/media/video/dabusb.c:63:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Mauro Carvalho Chehab commit 1744a7770c27a709c464ce51617c2b31721db165 Author: Harvey Harrison Date: Tue Apr 22 14:45:32 2008 -0300 V4L/DVB (7273): suppress compound statement warning in dvb-bt8xx.c Prevailing kernel style seems to prefer always using braces for do {} while (). Add braces to dprintk to suppress the sparse warnings: drivers/media/dvb/bt8xx/dvb-bt8xx.c:73:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:93:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:529:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:614:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:629:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:639:4: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:883:2: warning: do-while statement is not a compound statement drivers/media/dvb/bt8xx/dvb-bt8xx.c:917:2: warning: do-while statement is not a compound statement Signed-off-by: Harvey Harrison Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b573ea0a936eb2a7c6c57cdacb0d02bd358495a7 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:31 2008 -0300 V4L/DVB (7271): cx88-cards: Fix powerangel gpio1 With this gpio, audio works properly. Thanks to Daniel Fraga for helping on fixing the code for Powerangel Real board. Signed-off-by: Mauro Carvalho Chehab commit c4a3ce1cd0c0ac394d1d56d8e0980b6836661341 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:31 2008 -0300 V4L/DVB (7270): cx88-dvb: Renames pci_nano callback This callback is specific to pci_nano, since supports only dvb. Renames it to avoid future mistakes. Signed-off-by: Mauro Carvalho Chehab commit 8cd7bf333671196e191bda62907b3b26e21da395 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7269): cx88: Powercolor Angel works only with firmware version 2.5 Signed-off-by: Mauro Carvalho Chehab commit 23fb348d00da9c1558b4a9b234b9ac941091b0f1 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7266): cx88-dvb: convert attach_xc3028 into a function Signed-off-by: Mauro Carvalho Chehab commit 64016330b60e44db1383122a11611073fe98f261 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:30 2008 -0300 V4L/DVB (7265): cx88: prints an info when xc2028 is set or is attached Signed-off-by: Mauro Carvalho Chehab commit 0f19e65bc5dcd30f1c5d72f56f6a9a2dc01698f3 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:29 2008 -0300 V4L/DVB (7264): cx88-cards: always use a level on printk messages Signed-off-by: Mauro Carvalho Chehab commit c450e50e8d6a0876431a744f1df9fdd5c2732b07 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:28 2008 -0300 V4L/DVB (7263): Some cleanups at cx88 callback methods Signed-off-by: Mauro Carvalho Chehab commit bc36a686a65dd9b941463ff894a3868c62851186 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:27 2008 -0300 V4L/DVB (7262): Add support for xc3028-based boards This patch adds support for the following saa7134 xc3028 based boards: 132 -> AVerMedia Cardbus TV/Radio (E506R) [1461:f436] 133 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936] 134 -> Avermedia M115 [1461:a836] 135 -> Compro VideoMate T750 [185b:c900] This is based on a original patch thanks to Markus Rechberger that added xc3028 gpio init code for the above boards. This patch moves saa7134_tuner_callback to saa7134-cards, originally used only by tda8290 DVB-S boards. The callback was made more generic to support other tuners. Currently, it supports both tda8290 and xc2028/xc3028 tuners. Added also the basis for xc5000 tuner callback. Signed-off-by: Mauro Carvalho Chehab commit 446018d80736ab16a117ce0db5a20467c91a0f90 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:20 2008 -0300 V4L/DVB (7261): Use the same callback argument as xc3028 and xc5000 Signed-off-by: Mauro Carvalho Chehab commit 1fe8736955515f5075bef05c366b2d145d29cd44 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:20 2008 -0300 V4L/DVB (7260): tuner-xc3028: Don't check return code for clock reset Only tm6000 needs to be aware when a frequency is being changed. This seems to improve channel change detection. Other bridges don't need this. So, better to discard any errors if this fails, and proceed changing the channels. Signed-off-by: Mauro Carvalho Chehab commit 8765561fc88131bbc9a6246010c15b63595ec35e Author: Chris Pascoe Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7259): FusionHDTV DVB-T Pro tuning problem fixes It seems that on this board, the demodulator provides the pullup on the I2C bus, which means that calling i2c_gate_ctrl crashes the bus. Turn this off and the xc3028 can talk OK. Also fix some GPIO related settings that became more clear through working on this. Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b3fb91d20ca111316854a166ff88b0c8c0f2388b Author: Chris Pascoe Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7258): Support DVB-T tuning on the DViCO FusionHDTV DVB-T Pro Add support for tuning DVB-T channels on DViCO's FusionHDTV DVB-T Pro board. The IR remote and analog tuner are not supported at this time. Some changes made by Mauro Chehab to allow merging it with some other xc3028 patches. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 9507901ef329b2dd3417372c7c9b2abcfd5c1885 Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:15 2008 -0300 V4L/DVB (7257): cx88: Add xc2028/3028 boards This patch ports a patch from Markus Rechberger to work with tuner-xc2028. It adds entries for several cx88 boards with xc2038/3028 tuners. Signed-off-by: Mauro Carvalho Chehab commit c2cb8fcc006ce59255de67e3fe9f65fb79db633b Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7256): cx88: Add support for tuner-xc3028 Callback gpio's based on Markus Rechberger, Christopher Pascoe and Steven Toth patches. Signed-off-by: Mauro Carvalho Chehab commit 8efd2e28265ca031072d8d94cdbdd53904ce9b2d Author: Michael Krufky Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7254): cx88: fix FusionHDTV 5 PCI nano name and enable IR support load ir-kbd-i2c for IR remote control support on DViCO FusionHDTV 5 PCI nano Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5c00fac0bab95a378e60c1a67e3d3c5ac44df412 Author: Steven Toth Date: Tue Apr 22 14:45:14 2008 -0300 V4L/DVB (7252): cx88: Add support for the Dvico PCI Nano ATSC is known to work. SVideo / Composite should work (I have no cable to test). Analog tuner support does not work. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7102b773d538c1f064da22ae9a1fb86704747388 Author: Guennadi Liakhovetski Date: Tue Apr 15 02:57:48 2008 -0300 V4L/DVB (7250): Clean up pxa-camera driver, remove non-functional and never tested pm-support This patch addresses most issues pointed out by Russell and Erik, moves recently introduced into pxa-regs.h camera-specific defines into pxa_camera.c, removes dummy power-management functions, improves function-naming, etc. Signed-off-by: Guennadi Liakhovetski Acked-by: Russell King Signed-off-by: Mauro Carvalho Chehab commit bb55de3b0e3523469491a48c51dcf7c6738162b2 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:45:13 2008 -0300 V4L/DVB (7249): Fix advertised pixel formats in mt9m001 and mt9v022 Only advertise pixel formats, that we actually can support in the present configuration. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b1daf7e1233845db556ace20f80c7c531143498c Author: maximilian attems Date: Tue Apr 22 14:45:13 2008 -0300 V4L/DVB (7248): dabfirmware.h add missing license Received written ack from the dabusb author that the firmware is BSD licensed. As bonus clarify copyright holder. Signed-off-by: maximilian attems Acked-by: Deti Fliegl Signed-off-by: Mauro Carvalho Chehab commit 9b2e5c6bea4e2ddd5d66d23341f9763cbcad8de6 Author: Hans Verkuil Date: Tue Apr 22 14:42:16 2008 -0300 V4L/DVB (7245): ivtv: start timer for each DMA transfer The DMA timeout timer was started once for each set of DMA transfers, but it should be started for each single DMA transfer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c9aec06f4a6029edd84022276e2bfadab5e85ade Author: Hans Verkuil Date: Tue Apr 22 14:42:15 2008 -0300 V4L/DVB (7244): ivtv: CROP is not supported for video capture CROPCAP suggests that video capture supports cropping, but this is not the case. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 88ab075aee974f70b7b0273a964810698c8a5b95 Author: Ian Armstrong Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7243): ivtv: yuv framebuffer tracking The existing yuv code limits output to the display area occupied by the framebuffer. This patch allows the yuv output to be 'detached' via V4L2_FBUF_FLAG_OVERLAY. By default, the yuv output window will be restricted to the framebuffer dimensions and the output position is relative to the top left corner of the framebuffer. This matches the behaviour of previous versions. If V4L2_FBUF_FLAG_OVERLAY is cleared, the yuv output will no longer be linked to the framebuffer. The maximum dimensions are either 720x576 or 720x480 depending on the current broadcast standard, with the output position relative to the top left corner of the display. The framebuffer itself can be resized, moved and panned without affecting the yuv output. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 520ebe5f72ff450d7a73e8f669190254a5836093 Author: Tyler Trafford Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7241): cx25840: code cleanup - Use min() - Eliminate extraneous variables Signed-off-by: Tyler Trafford Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 491215d81049bfda749ebda007ecd3ae8bee19e3 Author: Hans Verkuil Date: Tue Apr 22 14:42:14 2008 -0300 V4L/DVB (7240): tveeprom: remove obsolete i2c driver code The i2c driver code was once added for the out-of-tree ivtv driver, but the ivtv driver hasn't used that for a long time so this code can now be removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4d34dccd5e8af3db8dbb594d6cd1ea74446dbf20 Author: Adrian Bunk Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7238): make stk_camera_{suspend,resume}() static This patch makes the needlessly global stk_camera_{suspend,resume}() static. Signed-off-by: Adrian Bunk Acked-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 0705135e59f8503e4dade4b3580fed77b1743b7c Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API videobuf-dma-sg does not need to depend on PCI. Switch it to using generic DMA API, convert all affected drivers, relax Kconfig restriction, improve compile-time type checking, fix some Coding Style violations while at it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f13613acfb1a71895ac886dc831d6ae4e20e241a Author: Mauro Carvalho Chehab Date: Tue Apr 22 14:42:13 2008 -0300 V4L/DVB (7235): tuner-simple: fix a buffer overflow simple_set_tv() creates a buffer with 4 elements, and calls simple_std_setup(), passing &buffer[1]. This makes the 5th element of buffer to be initialized to 0, overriding some area outside the buffer. Also, simple_std_setup() receives a buffer as parameter, but the buffer is just overriden after the call, so, it doesn't make much sense to pass it as a parameter. This patch removes buffer[] from the function call, creating, instead, a local var to be used internally. Thanks to Axel Rometsch for pointing the issue. Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6a6179b6db401acde5798b4da0fdff32b126ee15 Author: Russell Kliese Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7230): saa7134: add support for the MSI TV@nywhere A/D v1.1 card Signed-off-by: Russell Kliese Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7b5b3f1765c9773ec9b10c3e5299ac001211a80d Author: Hermann Pitton Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7229): saa7134: add support for the Creatix CTX953_V.1.4.3 Hybrid Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 1b1cee35defe792da9aab2757c28338731c46e84 Author: Hartmut Hackmann Date: Tue Apr 22 14:42:12 2008 -0300 V4L/DVB (7227): saa7134: fixed DVB-S support for Medion/Creatix CTX948 The I2C bus interface of the LNB supply sits behind the i2c gate of the tda10086, so wrappers were necessary for the set_voltage functions. For the time being, the board will show up as MD8800 Many thanks to Hermann Pitton for his help Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 6ab465a821756691009e58a51f1b4543cf1ae21a Author: Hartmut Hackmann Date: Tue Apr 22 14:42:11 2008 -0300 V4L/DVB (7226): saa7134: add support for the NXP Snake DVB-S reference design Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 4b1431ca1c98e26569c9b6cd6d06265cef9495ec Author: Hartmut Hackmann Date: Tue Apr 22 14:42:09 2008 -0300 V4L/DVB (7224): Initial DVB-S support for MD8800 /CTX948 Support is not complete yet and untested. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 26ec394e7c528e6f71e53a1335846328b8453ef5 Author: Hartmut Hackmann Date: Tue Apr 22 14:42:09 2008 -0300 V4L/DVB (7223): Add support for the ISL6405 dual LNB supply chip The chip can control 2 LNBs independently. The driver distinguishes them by evaluating the MSB of the override_set parameter of the isl6405_attach function. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 05b207924d558935080ac08776236e42aca1708c Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7220): drivers/media/video/sn9c102/sn9c102_core.c Fix Unlikely(x) == y Fix Unlikely(x) == y Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Reviewed-by: Luca Risolia Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ef6ad5c35ed7233e7aafcc5645a1470199b10cc7 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7218): Fix breakage in mt9m001 and mt9v022 driver if "CONFIG_GENERIC_GPIO is not set" Both camera drivers can function without GPIO support, in which case they will only support the 10 bit data width mode. But the two respective switch have to depend on CONFIG_GENERIC_GPIO. Additionally remove redundant gpio_is_valid tests - they are repeated in bus_switch_request() functions. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b4333a3baecfeee35317c03cf08952cc04bd149a Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:08 2008 -0300 V4L/DVB (7217): Replace NO_GPIO with gpio_is_valid() Upon suggestion by David Brownell use a gpio_is_valid() predicate instead of an explicit NO_GPIO macro. The respective patch to include/asm-generic/gpio.h has been accepted upstream. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 12afe3781870cad7b6bbe83a2f8c4dd9ec7bf214 Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7214): tda18271: move init functions to directly above tda18271_tune Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d1c53424f3ba9cc46bf3dbc550a916dc1b8355ee Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7213): tda18271: consolidate tune functions combine tda18271c1_tune and tda18271c2_tune into a single function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4d2d42bcd8c73273f22d16ef4e619ce3f07f07d0 Author: Michael Krufky Date: Tue Apr 22 14:42:07 2008 -0300 V4L/DVB (7212): tda18271: move rf calibration code from tda18271c1_tune into a new function move rf calibration code from tda18271c1_tune into a new function, tda18271c1_rf_tracking_filter_calibration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a60b866567001e97b5bdc9811aee155ae759e48f Author: Michael Krufky Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7211): tda18271: remove duplicated channel configuration code from tda18271c1_tune remove duplicated channel configuration code from tda18271c1_tune, instead call function tda18271_channel_configuration Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e723ee00893f242cbccf5ef2faffdaa6afb8f244 Author: Brandon Philips Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7204): remove V4L2_CID_SHARPNESS from meye.h and report private control as DISABLED - Continue to support the V4L2_CID_PRIVATE_BASE + 1 control in the ABI - Report the same control as V4L2_CID_SHARPNESS - Report the private control disabled via QUERYCTRL Signed-off-by: Brandon Philips Acked-by: Stelian Pop Signed-off-by: Mauro Carvalho Chehab commit 6d43cec87f9d9679a5c4adca7935dc8cf207f6ce Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:06 2008 -0300 V4L/DVB (7196): Lift videobuf-dma-sg's PCI dependency, until it is fixed videobuf-dma-sg.c should be converted to the generic DMA API to make it also useful for non-PCI configurations. Even now it can be used thanks to compatibility macros in include/asm-generic/pci-dma-compat.h. This has been verified to work on PXA270 CPU with the pxa_camera.c soc-camera driver. For this the following temporary work-around is needed. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit ab6c46e24a3c89c1e2d0d3959e119583e1bc92d9 Author: Michael Krufky Date: Tue Apr 22 14:42:05 2008 -0300 V4L/DVB (7184): make hybrid_tuner_request_state tolerant of devices without i2c adapters Some dvb demodulators access the tuner directly without using i2c. In these cases, i2c_adap may be NULL. This patch fixes hybrid_tuner_request_state to allow for NULL i2c_adapters. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bdb0aace95d42571ea054a56ed053f868336e13a Author: Steven Whitehouse Date: Tue Apr 22 14:42:05 2008 -0300 V4L/DVB (7178): Add two new fourcc codes for 16bpp formats This adds two new fourcc codes (as per info at fourcc.org) for 16bpp mono and 16bpp Bayer formats. Signed-off-by: Steven Whitehouse Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 7397bfbe10b52a47f1f6c69aa87192d97ffa1910 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:04 2008 -0300 V4L/DVB (7174): Add support for the MT9V022 camera This driver supports Micron MT9V022 colour camera. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f523dd0da985ef618d6f986217f0dd0975072515 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:04 2008 -0300 V4L/DVB (7173): Add support for the MT9M001 camera This driver supports Micron MT9M001 monochrome and colour cameras. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 3bc43840c3fbffaf8216883a37b336a41050d7f7 Author: Guennadi Liakhovetski Date: Sun Apr 6 21:24:56 2008 -0300 V4L/DVB (7578a): V4L: V4L2 soc_camera driver for PXA270 This patch adds a driver for the Quick Capture Interface on the PXA270. It is based on the original driver from Intel, but has been re-worked multiple times since then, now it also supports the V4L2 API. This patch depends on a complementary patch, submitted to the ARM tree, providing PXA270 camera platform bindings. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e55222ef27a2390d8abce27a3ce2d4c719ad5f1b Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:03 2008 -0300 V4L/DVB (7170): soc_camera V4L2 driver for directly-connected SoC-based cameras This driver provides an interface between platform-specific camera busses and camera devices. It should be used if the camera is connected not over a "proper" bus like PCI or USB, but over a special bus, like, for example, the Quick Capture interface on PXA270 SoCs. Later it should also be used for i.MX31 SoCs from Freescale. It can handle multiple cameras and / or multiple busses, which can be used, e.g., in stereo-vision applications. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a7c7402f68cf97c9a021466c04029f039f9f4f27 Author: Guennadi Liakhovetski Date: Tue Apr 22 14:42:03 2008 -0300 V4L/DVB (7169): Add chip IDs for Micron mt9m001 and mt9v022 CMOS cameras Add V4L2_IDENT chip IDs for mt9m001 and mt9v022 cameras, will be used by future patches, primarily to implement the g_chip_ident ioctl. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit f9bd5843658e18a7097fc7258c60fb840109eaa8 Author: Brandon Philips Date: Tue Apr 22 14:42:02 2008 -0300 V4L/DVB (7167): [v4l] Add camera class control definitions Add all of the recently proposed camera class controls. These controls should appear in the next version of the v4l2spec. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 26d507fcfef7f7d0cd2eec874a87169cc121c835 Author: Brandon Philips Date: Tue Apr 22 14:42:02 2008 -0300 V4L/DVB (7166): [v4l] Add new user class controls and deprecate others These changes should appear in the next update of the v4l2spec. HCENTER and VCENTER are unused in the tree so I added a _DEPRECATED postfix so applications can remove their use. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 27a643b1a9eded6a1b54df2743a7fb4383fd0cf9 Author: Jan Engelhardt Date: Tue Apr 22 14:42:01 2008 -0300 V4L/DVB (7140): constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Mauro Carvalho Chehab commit c1b4d92789ada9ea6b7f1156ede7022eab309eab Author: Michael Krufky Date: Tue Apr 22 14:42:00 2008 -0300 V4L/DVB (7137): tuner: return number of instances remaining after hybrid_tuner_release_state Assign the number of instances remaining as the return value of hybrid_tuner_release_state, in case there is any extra cleanup that the tuner driver needs to do after an instance has been destroyed. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9e315a16a5536120bac09a6d4217b8381c73c5c Author: Michael Krufky Date: Tue Apr 22 14:41:54 2008 -0300 V4L/DVB (7136): tda18271: use hybrid_tuner_request_state to manage tuner instances Convert tda18271 to use the new hybrid_tuner_request_state and hybrid_tuner_release_state macros to manage state sharing between hybrid tuner instances. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2756665c28a7d2e25d92745195b5171866e12da9 Author: Michael Krufky Date: Tue Apr 22 14:41:53 2008 -0300 V4L/DVB (7135): remove PREFIX from users of tuner_foo printk macros Store a pointer to the device name in the name field of struct tuner_i2c_props, so that we can remove the printk macros defined in tuner-i2c.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3c2a0865d06df23f755a7d36a1076965500e1228 Author: Michael Krufky Date: Tue Apr 22 14:41:52 2008 -0300 V4L/DVB (7134): tuner: create a macro for sharing state between hybrid tuner instances Create a macro implementing a standard method to share state amongst multiple instances of a hybrid tuner object. Also, prepare tuner_foo printk macros for the removal of PREFIX Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e43c953bfd31f0104f916b2f39e6d3d8b1a3099 Author: Michael Krufky Date: Tue Apr 22 14:41:52 2008 -0300 V4L/DVB (7130): tuner: remove emacs c-basic-offset override block I'd prefer to leave this here, but official CodingStyle doesn't care what I think :-/ Remove the emacs format override block to comply with Kernel CodingStyle. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c7a9f3aa1e1b6c7ade5208b30683bec3553c3079 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7129): tuner-simple: move device-specific code into three separate functions Move the switch..case blocks with device-specific code from functions simple_set_tv_freq and simple_set_radio_freq ...into three new functions: simple_std_setup, simple_post_tune and simple_radio_bandswitch Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b65aa2605683d90966a16abc68112c1fd9e3f3d8 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7128): tuner: properly handle failed calls to simple_tuner_attach If simple_tuner_attach fails, set t->type to TUNER_ABSENT, set t->mode_mask to T_UNINITIALIZED, and exit the set_type function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 060a5bd764a1d798c20eceeaac5399c672334960 Author: Michael Krufky Date: Tue Apr 22 14:41:51 2008 -0300 V4L/DVB (7127): tuner: remove dependency of tuner-core on tuner-types This patch fully removes the dependency of tuner-core on tuner-types. There is no longer any need to pass struct tunertype in attach-time config structure - instead pass the tuner type ID. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 65e8d29f7a37faaf9c73c633447bebd4b31b2c89 Author: Michael Krufky Date: Tue Apr 22 14:41:50 2008 -0300 V4L/DVB (7126): tuner: move tuner type ID check to simple_tuner_attach Move tuner type ID check from tuner-core::set_type to simple_tuner_attach. Since tuner-core forwards all attach requests to tuner-simple as the default case, unless a specific attach function is specified in set_type, this change is an appropriate cleanup. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 82b3083d2673e5fe8ac508071038b2b4c10bbf9c Author: Michael Krufky Date: Tue Apr 22 14:41:49 2008 -0300 V4L/DVB (7125): tuner: build tuner-types independently of tuner-core tuner-types is needed for tuner-simple, and does not need to be bound to tuner-core. Any caller of tuner-simple, including tuner-core, needs to pass a structure from tuner-types into tuner-simple at attach-time. Export the two needed symbols from tuner-types for now, so that card-level drivers can attach tuner-simple for hybrid dvb_frontend devices. We will remove this dependency altogether as tuner refactoring phase 3 progresses. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7f8447d13d3abaeb46d0e6ae2890a843aa09561f Author: Michael Krufky Date: Tue Apr 22 14:41:49 2008 -0300 V4L/DVB (7124): tuner-simple: display frequency in MHz fix debug in simple_config_lookup to display frequency in MHz Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit be71f7dc73d3afe6d6998a04d5c46d415c3bc62c Author: Michael Krufky Date: Tue Apr 22 14:41:48 2008 -0300 V4L/DVB (7123): tuner-simple: create separate t_params and ranges lookup functions Move some reuseable code out of simple_set_tv_freq into separate functions. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ff699e6bd02eb1c6d02c7c2b576c2ee6caab201c Author: Douglas Schilling Landgraf Date: Tue Apr 22 14:41:48 2008 -0300 V4L/DVB (7094): static memory - Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 29bec0bff50d8f8b108ed22e9981eb4635efc566 Author: Adrian Bunk Date: Tue Apr 22 14:41:45 2008 -0300 V4L/DVB (7114): tuner-xc2028.c: make a function static dump_firm_type_and_int_freq() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 763896c4b4d030b71880f5cb0ea0dfa7bb5ab96f Author: Adrian Bunk Date: Tue Apr 22 14:41:45 2008 -0300 V4L/DVB (7107): frontends/xc5000.c: make a struct static struct XC5000_Standard[] can become static. Signed-off-by: Adrian Bunk Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5eedc466758b5743512d38b5d1eab6f799a39e00 Author: Adrian Bunk Date: Tue Apr 22 14:41:44 2008 -0300 V4L/DVB (7105): ivtv-yuv.c: make 3 functions static This patch makes the following needlessly global functions static: - ivtv_yuv_next_free() - ivtv_yuv_setup_frame() - ivtv_yuv_udma_frame() Signed-off-by: Adrian Bunk Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9ba0a3c0e8147e5c8d04f2b284c44222af517307 Author: Michael Krufky Date: Tue Apr 22 14:41:44 2008 -0300 V4L/DVB (7087): tuner-simple: whitespace / comments / codingstyle cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a7f796a60bb5dcdc154c3ae04d484a395a60809f Author: Steve French Date: Thu Apr 24 16:39:07 2008 +0000 [CIFS] Fix typo in previous commit Signed-off-by: Steve French commit 346ad4b7fe392571f19314f153db9151dbc1d82b Merge: 845199f... 2dc63a8... Author: Linus Torvalds Date: Thu Apr 24 09:33:34 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (85 commits) Blackfin char driver for Blackfin on-chip OTP memory (v3) Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer. Blackfin Serial Driver: the uart break anomaly has been given its own number, so switch to it Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port. Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on bf537 when booting u-boot and linux on uart 1 Blackfin Serial Driver: punt unused lsr variable Blackfin Serial Driver: Enable IR function when user application (irattach /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA [Blackfin] arch: add include/boot .gitignore files [Blackfin] arch: Functional power management support: Add support for cpu frequency scaling [Blackfin] arch: Functional power management support: Remove broken cpu frequency scaling drivers [Blackfin] arch: Equalize include files: Add PLL_DIV Masks [Blackfin] arch: Add a warning about the value of CLKIN. [Blackfin] arch: take DDR DEVWD into consideration as well for BF548 [Blackfin] arch: Remove the circular buffering mechanism for exceptions [Blackfin] arch: lose unnecessary dependency on CONFIG_BFIN_ICACHE for MPU [Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first. [Blackfin] arch: add Blackfin on-chip SIR IrDA driver support [Blackfin] arch: BF54x memsizes are in mbits, not mbytes [Blackfin] arch: try to remove condition that causes double fault, by checking current before it gets dereferenced [Blackfin] arch: Update anomaly list. ... commit 2dc63a84b2db23b9680646aff93917211613bf1a Author: Mike Frysinger Date: Fri Apr 25 08:04:56 2008 +0800 Blackfin char driver for Blackfin on-chip OTP memory (v3) initial char driver for otp memory (only read supported atm ... needs real examples/docs for write support) v2-v3: - fixup __initdata with __initconst, as we are heading for 2.6.26 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jiri Slaby commit 0a2784233785226fe5882c8af15118476f89e98e Author: Sonic Zhang Date: Fri Apr 25 04:36:47 2008 +0800 Blackfin Serial Driver: fix bug - use mod_timer to replace only add_timer. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=4045 If adding timer in both timer handler and rx interrupt, a timer may be added when it is till in the pending list. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 50e2e15afaac59c955f43d78d0a1e53cf8a76370 Author: Mike Frysinger Date: Fri Apr 25 03:03:03 2008 +0800 Blackfin Serial Driver: the uart break anomaly has been given its own number, so switch to it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2ade972996feb8f81d7cf2deaf8321e33770c91a Author: Graf Yang Date: Fri Apr 25 02:55:49 2008 +0800 Blackfin Serial Driver: use BFIN_UART_NR_PORTS to help SIR driver in uart port. Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit ee4987ab5cc9d00be38cfeec90174229565211be Author: Steve French Date: Thu Apr 24 16:31:12 2008 +0000 [CIFS] Fix define for new proxy cap to match documentation The transport encryption capability and new SetFSInfo level were missing, and the new proxy capability (which Samba server is implementing) and proxy setfsinfo needed to be moved down to not collide with Samba's transport encryption capability. CC: Jeremy Allison CC: Sam Liddicott Signed-off-by: Steve French commit 845199f194306dbd69ca42d3b40a5125cdb50b89 Merge: 38ccc19... 0d62623... Author: Linus Torvalds Date: Thu Apr 24 08:42:21 2008 -0700 Merge branch 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: arm/mach-integrator/time.c, mwave: revert portions of recent irq cleanups commit 38ccc197eb85cad594eb5863ba5a408655da0062 Merge: d02aacf... 3a841d5... Author: Linus Torvalds Date: Thu Apr 24 08:41:44 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits) [ALSA] ice1724 - Fix IRQ lock-up with MPU access [ALSA] Define MPU401 registers in sound/mpu401_uart.h [ALSA] pcsp: fix wording in DEBUG_PAGEALLOC warning [ALSA] pcsp - Fix dependency in Kconfig [ALSA] soc - ac97 - Clean up checkpatch warnings [ALSA] soc - wm8750 - Clean up checkpatch warnings [ALSA] soc - wm8731 - Clean up checkpatch warnings [ALSA] soc - pxa2xx-pcm - Fix checkpatch warnings [ALSA] soc - spitz - Fix checkpatch warnings [ALSA] soc - poodle - Fix checkpatch warnings [ALSA] soc - corgi - Fix checkpatch warnings [ALSA] soc - s3c24xx-i2s - Add missing spaces [ALSA] soc - s3c24xx-i2s - Fix tab/space breakage [ALSA] soc - s3c24xx-i2s - Use linux/io.h [ALSA] hda - Fix Thinkpad X300 digital mic pcsp - Don't build pcspkr when snd-pcsp is enabled [ALSA] hda - Fix model for Acer Aspire 5720z [ALSA] soc - s3c24xx - Declare suspend and resume static [ALSA] soc - s3c24xx - Improve diagnostic output [ALSA] Fix possible races at free_irq in PCI drivers ... commit d02aacff4467806ee56f147ac8eff6911d95811a Merge: e270b51... 9edb74c... Author: Linus Torvalds Date: Thu Apr 24 08:40:34 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits) tun: Multicast handling in tun_chr_ioctl() needs proper locking. [NET]: Fix heavy stack usage in seq_file output routines. [AF_UNIX] Initialise UNIX sockets before general device initcalls [RTNETLINK]: Fix bogus ASSERT_RTNL warning iwlwifi: Fix built-in compilation of iwlcore (part 2) tun: Fix minor race in TUNSETLINK ioctl handling. ppp_generic: use stats from net_device structure iwlwifi: Don't unlock priv->mutex if it isn't locked wireless: rndis_wlan: modparam_workaround_interval is never below 0. prism54: prism54_get_encode() test below 0 on unsigned index mac80211: update mesh EID values b43: Workaround DMA quirks mac80211: fix use before check of Qdisc length net/mac80211/rx.c: fix off-by-one mac80211: Fix race between ieee80211_rx_bss_put and lookup routines. ath5k: Fix radio identification on AR5424/2424 ssb: Fix all-ones boardflags b43: Add more btcoexist workarounds b43: Fix HostFlags data types b43: Workaround invalid bluetooth settings ... commit e270b51df657011983241ec61a1fc7de186e16cd Merge: 8fa8279... 227739b... Author: Linus Torvalds Date: Thu Apr 24 08:37:29 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (23 commits) sparc: sunzilog uart order [SPARC64]: Detect trap frames in stack backtraces. [SPARC64]: %l6 trap return handling no longer necessary. [SPARC64]: Use trap type stored in pt_regs to handle syscall restart. [SPARC64]: Store magic cookie and trap type in pt_regs. [SPARC64]: PROM debug console can be CON_ANYTIME. sparc64: cleanup after SunOS/Solaris binary emulation removal sparc: cleanup after SunOS binary emulation removal [SPARC64]: Add NUMA support. [SPARC64]: Allocate TSB node-local. [SPARC64]: NUMA device infrastructure. [SPARC64]: Kill pci_iommu_table_init() declaration. [SPARC64]: Once we have the boot cmdline, call parse_early_param() [SPARC64]: Remove unused asm-sparc64/numnodes.h [SPARC64]: Decrease SECTION_SIZE_BITS to 30. [SPARC64]: Initialize MDESC earlier and use lmb_alloc() [SPARC64]: Use lmb_alloc() for PROM device tree. [SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc(). [SPARC64]: Fully use LMB information in bootmem_init(). [SPARC64]: Start using LMB information in bootmem_init(). ... commit 8fa82790fb9dfe57aeafc8de6b6a5c1df63efa06 Merge: 2444e56... 4a1fd55... Author: Linus Torvalds Date: Thu Apr 24 08:36:11 2008 -0700 Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] fix 48d7927bdf071d05cf5d15b816cf06b0937cb84f [ARM] 5010/1: htc-pasic3: remove unused defines and includes [ARM] pxa: fix 0e623941bec7e80c97b076d346327b31ae17d84a [ARM] fix lh7a40x/kev7a400 build commit 2444e56b0c08e6f3e3877583841a1213e3263d98 Author: Ivan Kokshaysky Date: Thu Apr 24 16:54:50 2008 +0400 alpha: unbreak OSF/1 (a.out) binaries OSF/1 brk(2) was broken by following one-liner in sys_brk() (commit 4cc6028d4040f95cdb590a87db478b42b8be0508): - if (brk < mm->end_code) + if (brk < mm->start_brk) goto out; The problem is that osf_set_program_attributes() does update mm->end_code, but not mm->start_brk, which still contains inappropriate value left from binary loader, so brk() always fails. Signed-off-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 72cff12397cd6648b8b5abfaeb00502f45b76cb8 Author: Ivan Kokshaysky Date: Thu Apr 24 16:51:55 2008 +0400 alpha: fix legacy mode PCI IDE controllers Legacy IDE resources were never properly allocated on most alpha platforms, so IDE expectedly stopped working after commit 10f000a2fd805e8ccfe988e8615545467bb7f7df (generic pci_enable_resources). Always allocate "fixed" PCI resources before doing anything else; remove Cypress IDE quirk, as it's a generic problem which is handled in common PCI probe code. Signed-off-by: Ivan Kokshaysky Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 36d99df2fb474222ab47fbe8ae7385661033223b Merge: 076d842... 3dc5063... Author: Steve French Date: Thu Apr 24 15:26:50 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8911c9e3343c647b59727b47b10feca7ee9ac9c3 Author: Sergei Shtylyov Date: Fri Apr 18 23:39:03 2008 +0400 [SCSI] aic79xx: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'u_long' variable before calling ioremap_nocache() on it. This warrants kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: James Bottomley commit 448504130f18bc9d8d10ba045775c906abd01438 Author: Sergei Shtylyov Date: Fri Apr 18 23:30:45 2008 +0400 [SCSI] aic7xxx: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'u_long' variable before calling ioremap_nocache() on it. This warrants kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that helps create an illusion that the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: James Bottomley commit be0d67680d524981dd65c661efe3c9cbd52a684f Author: Denys Vlasenko Date: Sun Mar 23 04:41:22 2008 +0100 [SCSI] aic7xxx, aic79xx: deinline functions Deinlines and moves big functions from .h to .c files. Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files. Signed-off-by: Denys Vlasenko Signed-off-by: James Bottomley commit d3930614e68bdf83a120d904c039a64e9f75dba1 Author: Dmitry Baryshkov Date: Mon Apr 21 11:54:13 2008 +0100 [ARM] 5014/1: Cleanup reset state before entering suspend or resetting. The kernel should clean stale bits from reset status, so that they won't confuse the bootloader. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 406b1ea441cb86671c5b57d2ce722d217914d524 Author: Mike Rapoport Date: Mon Apr 21 10:56:32 2008 +0100 [ARM] 5013/1: Change ITE8152 interrupt numbers The patch kills the use of IRQ_GPIO() and adds #if NR_IRQS < (IT8152_LAST_IRQ+1) statement. Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 5826042d3c550522e49a8a55db64d9c47b43a8f9 Author: Philipp Zabel Date: Sun Apr 20 17:42:59 2008 +0100 [ARM] 5011/1: htc-pasic3: fix bug in resource pipe-through to ds1wm The newly created DS1WM platform device should get a copy of the PASIC3 platform devices' resources. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 0d626239ffe515a64a6b53c70896796f621c635c Author: Jeff Garzik Date: Thu Apr 24 08:35:37 2008 -0400 arm/mach-integrator/time.c, mwave: revert portions of recent irq cleanups The recent irq cleanups for arch/arm/mach-integrator/time.c and drivers/char/mwave/tp3780i.c changed the request_irq() dev_id parameter, but neglected to change the matching free_irq() parameter, thus creating a bug upon irq de-registration. Given that the impetus for the changes is not yet accepted upstream, it is best to revert the irq cleanups. Mostly. A comment is added to time.c to reduce future confusion, of type that led to my time.c cleanup in the first place. Signed-off-by: Jeff Garzik commit 884d04cd8d7bba3dc885227ad400f8aea5623cdc Author: Ishizaki Kou Date: Thu Apr 24 20:27:39 2008 +1000 [POWERPC] celleb: Add support for PCI Express This adds support for PCI Express port on Celleb. I/O space of this PCI Express port is not mapped in memory space. So we use the io-workaround mechanism to make accesses indirect. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ad2c6987978d17b58204926e9be776955935f8b1 Author: Ishizaki Kou Date: Thu Apr 24 19:31:40 2008 +1000 [POWERPC] celleb: Move miscellaneous files for Beat This moves miscellaneous files for Beat into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c11dde85b62f9811eb2db656d9b0b4ad23d94871 Author: Ishizaki Kou Date: Thu Apr 24 19:29:50 2008 +1000 [POWERPC] celleb: Move a file for SPU on Beat This moves SPU support code on Beat into platforms/cell/. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8ae6e30d2d6b4a7a45bb0d4fa4ecd56e65d24740 Author: Ishizaki Kou Date: Thu Apr 24 19:28:48 2008 +1000 [POWERPC] celleb: Move files for Beat mmu and iommu This moves files for mmu and iommu on Beat into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5a96dfe84b53cc05abe8c7f4d1dfd7b03a3e314a Author: Ishizaki Kou Date: Thu Apr 24 19:27:32 2008 +1000 [POWERPC] celleb: Move files for Beat hvcall interfaces This moves files for Beat hvcall interfaces into platforms/cell/. All files in this patch are used by celleb-beat only. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 11eef455c2834e192c6ffe9f3ffd09af70fafe81 Author: Ishizaki Kou Date: Thu Apr 24 19:26:28 2008 +1000 [POWERPC] celleb: Move the SCC related code for celleb This moves the SCC (Super Companion Chip) related code for celleb into platforms/cell/. All files in this patch are used by celleb-beat and celleb-native commonly. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 116bdc425c7e01e97cff2f3e6d0134511e8f13e3 Author: Ishizaki Kou Date: Thu Apr 24 19:25:16 2008 +1000 [POWERPC] celleb: Move the files for celleb base support This moves the base code for celleb support into platforms/cell/. All files in this patch are used by celleb-beat and celleb-native commonly. Signed-off-by: Kou Ishizaki Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6ec859e1b21ab42bfc36bb3b51db275480165c8a Author: Ishizaki Kou Date: Thu Apr 24 19:24:13 2008 +1000 [POWERPC] celleb: Consolidate io-workarounds code Now, we can use generic io-workarounds mechanism and the workaround code for spider-pci. This changes Celleb PCI code to use spider-pci code. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7cfb62a2e820b6032c08835dbd996d8518af14a3 Author: Ishizaki Kou Date: Thu Apr 24 19:21:10 2008 +1000 [POWERPC] cell: Generalize io-workarounds code This splits cell io-workaround code into spider-pci dependent code and a generic part, and also moves io-workarounds initialization into cell_setup_phb. Signed-off-by: Kou Ishizaki Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 36f8a2c4c61e3559a95190e457b431c6900859b4 Author: Michael Ellerman Date: Thu Apr 24 15:13:21 2008 +1000 [POWERPC] Add CONFIG_PPC_PSERIES_DEBUG to enable debugging for platforms/pseries Add a DEBUG config setting which turns on all (most) of the debugging under platforms/pseries. To have this take effect we need to remove all the #undef DEBUG's, in various files. We leave the #undef DEBUG in platforms/pseries/lpar.c, as this enables debugging printks from the low-level hash table routines, and tends to make your system unusable. If you want those enabled you still have to turn them on by hand. Also some of the RAS code has a DEBUG block which causes a functional change, so I've keyed this off a different (non-existant) debug #define. This is only enabled if you have PPC_EARLY_DEBUG enabled also. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit f7ebf352b2e04ee89efb426e33dd450d8f1cfcd5 Author: Michael Ellerman Date: Thu Apr 24 15:13:19 2008 +1000 [POWERPC] Convert from DBG() to pr_debug() in platforms/pseries/ In pseries/lpar.c, fix some printf specifier mismatches, and add a newline to one printk. In pseries/rtasd.c add "rtasd" to some messages to make it clear where they're coming from. In pseries/scanlog.c remove the hand-rolled runtime debugging support in there. This file has been largely unchanged for eons, if we need to debug it in future we can recompile. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit cb1e2ab45a92b31114dfe6e34832a084f9b0b263 Author: Michael Ellerman Date: Thu Apr 24 15:13:17 2008 +1000 [POWERPC] Register udbg console early on pseries LPAR On pseries LPAR we can call the udbg routines, and the udbg console very early. So mark the udbg console as safe to call early in boot, and register the udbg console as soon as the udbg routines are hooked up. This allows platforms/pseries code to use printk() and pr_debug() rather than needing to call udbg_printf() directly for early debugging. This is nice because a) it's standard, b) it goes via the printk buffer, and c) you can get printk time stamps. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit f336632f191ebf157aeea0f1e65eb1b263655ffc Author: Michael Ellerman Date: Thu Apr 24 15:13:14 2008 +1000 [POWERPC] Mark udbg console as CON_ANYTIME, ie. callable early in boot The udbg console should be safe to call basically at any time after boot. It does not need any per-cpu resources or for the cpu to be online, as long as there is a udbg_putc routine hooked up it should work. So mark it as CON_ANYTIME. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit c7afb4e22961b5ec88eb6f7b81260dafa9f287c7 Author: Michael Ellerman Date: Thu Apr 24 15:13:13 2008 +1000 [POWERPC] Set udbg_console index to 0 Because the udbg_console has CON_ENABLED set, it's possible that when we register it with the console code the index won't be set. This leads to slightly confusing boot messages like: [ 0.000000] console [udbg-1] enabled We could remove CON_ENABLED, but we don't want to do that, we always want the udbg console to be activated, even if the user specified some other console on the command line. The simplest fix seems to be just to set the index to 0 by hand. There is no issue with duplicate udbg consoles, as we guard against registering multiple times in register_early_udbg_console(). Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 90035fe378c7459ba19c43c63d5f878284224ce4 Author: Tony Breeds Date: Thu Apr 24 13:43:49 2008 +1000 [POWERPC] Raise the upper limit of NR_CPUS and move the pacas into the BSS This adds the required functionality to fill in all pacas at runtime. With NR_CPUS=1024 text data bss dec hex filename 137 1704032 0 1704169 1a00e9 arch/powerpc/kernel/paca.o :Before 121 1179744 524288 1704153 1a00d9 arch/powerpc/kernel/paca.o :After Also remove unneeded #includes from arch/powerpc/kernel/paca.c Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 9cb82f2f4692293a27c578c3038518ce4477de72 Author: Tony Breeds Date: Thu Apr 24 13:43:49 2008 +1000 [POWERPC] Make iSeries spin on __secondary_hold_spinloop, like pSeries Currently all iSeries secondary CPUs spin directly on the cpu_start field in their paca. Make them spin on the global __secondary_hold_spinloop until after the pacas have been initialised. As Stephen Rothwell points out, this works at the moment because __secondary_hold_spinloop is being set already, but iSeries isn't looking at it :) Signed-off-by: Tony Breeds Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4ae2dcb633c751cfd27deeea5a8b13db35a84d9a Author: Kumar Gala Date: Thu Apr 24 13:20:16 2008 +1000 [POWERPC] Clean up misc_64.S * Removed get_msr(), get_srr0(), and get_srr1() - not used anywhere * Use STACK_FRAME_OVERHEAD instead of magic number Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 988479ebccc44e141d06ac55e4438d6b473008b5 Author: Michael Ellerman Date: Thu Apr 24 12:08:54 2008 +1000 [POWERPC] Use of_get_next_parent() in platforms/cell/axon_msi.c Replace two open-coded occurences of the of_get_next_parent() logic. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 5c02cd2fb83bd4a11270eeb6682e507f04897837 Author: Michael Ellerman Date: Thu Apr 24 12:08:22 2008 +1000 [POWERPC] Discourage people from fiddling with kernel data from prom_init As BenH said the other day, it is an "accident" that prom_init.o is linked with the rest of the kernel. The truth is a little more subtle, prom_init isn't truly bootloader, it does access kernel data in a few places. What we can do is discourage people from adding new code that accesses data outside of prom_init. And hence this patch; from the script: # This script checks prom_init.o to see what external symbols it # is using, if it finds symbols not in the whitelist it returns # an error. The point of this is to discourage people from # intentionally or accidentally adding new code to prom_init.c # which has side effects on other parts of the kernel. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d9e9d82c24e55b8a0fcc89032fdf9f58f1fb56d7 Author: Timur Tabi Date: Thu Apr 24 08:45:26 2008 +1000 [POWERPC] Add Timur Tabi to the MAINTAINERS file Add Timur Tabi as the maintainer for the Freescale QE library, the Freescale QE UART device driver, the Freescale SOC sound drivers, and the Crystal Semiconductor CS4270 device driver. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit 91120cc8e07f39078e9a60f1feac7cf665b17c2b Author: Kumar Gala Date: Thu Apr 24 06:33:49 2008 +1000 [POWERPC] Cleanup asm-offsets.c * Removed TI_EXECDOMAIN define as its not used anywhere * Use STACK_INT_FRAME_SIZE to allow common define of INT_FRAME_SIZE * Define TI_CPU on both ppc32 & ppc64 (removes an ifdef). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit f608600e74404c5c8f017af45294074282911ae9 Author: Kumar Gala Date: Thu Apr 24 06:29:36 2008 +1000 [POWERPC] Clean up access to thread_info in assembly Use (31-THREAD_SHIFT) to get to thread_info from stack pointer. This makes the code a bit easier to read and more robust if we ever change THREAD_SHIFT. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 885aa35c9669ce7919d203036a87a7e1a4ebd25f Author: Christoph Hellwig Date: Thu Apr 24 00:32:29 2008 +1000 [POWERPC] Fix new warnings arising from stacktrace patch Remove the inclusion of asm-offsets.h from stacktrace.c. It isn't supposed to be included in C code and it causes problems with multiple definitions of things. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 2c419bdeca1d958bb02228b5141695f312d8c633 Author: Kumar Gala Date: Wed Apr 23 23:05:20 2008 +1000 [POWERPC] Port fixmap from x86 and use for kmap_atomic The fixmap code from x86 allows us to have compile time virtual addresses that we change the physical addresses of at run time. This is useful for applications like kmap_atomic, PCI config that is done via direct memory map, kexec/kdump. We got ride of CONFIG_HIGHMEM_START as we can now determine a more optimal location for PKMAP_BASE based on where the fixmap addresses start and working back from there. Additionally, the kmap code in asm-powerpc/highmem.h always had debug enabled. Moved to using CONFIG_DEBUG_HIGHMEM to determine if we should have the extra debug checking. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 2fd53e02be9a73cc49d69e0ff8860daa7b5bf8ab Author: Adrian Bunk Date: Wed Apr 23 19:51:38 2008 +1000 [POWERPC] char/xilinx_hwicap/ section fix This patch fixes the following build error: <-- snip --> ... CC [M] drivers/char/xilinx_hwicap/xilinx_hwicap.o ... /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c:806: error: hwicap_of_match causes a section type conflict /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c:806: error: hwicap_of_match causes a section type conflict make[4]: *** [drivers/char/xilinx_hwicap/xilinx_hwicap.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 138decf83f6a973951ce7faf39094d964de7853a Author: Adrian Bunk Date: Wed Apr 23 19:51:34 2008 +1000 [POWERPC] drivers/of/of_i2c.c: Add MODULE_LICENSE After commit 585468e5d5962660867c269e26f0a4b89a599473 ([POWERPC] i2c: Fix build breakage introduced by OF helpers) drivers/of/of_i2c.c needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 37dd2badcfcec35f5e21a0926968d77a404f03c3 Author: Kumar Gala Date: Tue Apr 22 04:22:34 2008 +1000 [POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero) Added support to allow an 85xx kernel to be run from a non-zero physical address (useful for cooperative asymmetric multiprocessing situations and kdump). The support can be configured at compile time by setting CONFIG_PAGE_OFFSET, CONFIG_KERNEL_START, and CONFIG_PHYSICAL_START as desired. Alternatively, the kernel build can set CONFIG_RELOCATABLE. Setting this config option causes the kernel to determine at runtime the physical addresses of CONFIG_PAGE_OFFSET and CONFIG_KERNEL_START. If CONFIG_RELOCATABLE is set, then CONFIG_PHYSICAL_START has no meaning. However, CONFIG_PHYSICAL_START will always be used to set the LOAD program header physical address field in the resulting ELF image. Currently we are limited to running at a physical address that is a multiple of 256M. This is due to how we map TLBs to cover lowmem. This should be fixed to allow 64M or maybe even 16M alignment in the future. It is considered an error to try and run a kernel at a non-aligned physical address. All the magic for this support is accomplished by proper initialization of the kernel memory subsystem and use of ARCH_PFN_OFFSET. The use of ARCH_PFN_OFFSET only affects normal memory and not IO mappings. ioremap uses map_page and isn't affected by ARCH_PFN_OFFSET. /dev/mem continues to allow access to any physical address in the system regardless of how CONFIG_PHYSICAL_START is set. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 96f1bb8a412aec3fc16306ef07c5bdb426edb615 Author: Josh Boyer Date: Tue Apr 22 10:50:27 2008 +1000 [POWERPC] Add strncmp to arch/ppc Commit 0119536cd314ef95553604208c25bc35581f7f0a added an assembly version of strncmp to PowerPC. However, it changed a common header file between arch/ppc and arch/powerpc without adding strncmp to arch/ppc. This fixes that omission so that arch/ppc links again. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit e91d7119ba8031f57cee5814e31c893487844011 Author: Josh Boyer Date: Tue Apr 22 10:49:34 2008 +1000 [POWERPC] 4xx: Fix duplicate phys_addr_t definition Commit d04ceb3fc294ea2c4f538a04343f3a473953a3b0 moved phys_addr_t definitions to include/asm-powerpc/types.h. However, arch/ppc 440 builds had a duplicate definition in include/asm-ppc/mmu.h that caused the build to fail. This removes the duplicate definition in arch/ppc. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit df40a57ef16219e5dee75238559960b1dd459c65 Author: Remi Machet Date: Tue Apr 22 07:02:56 2008 +1000 [POWERPC] Fix mv64x60 early console code to use cell-index property The MPSC driver and prpmc2800.dts have been modified to use property 'cell-index' as the serial port number, but the early serial console driver for the mv64x60 has not been modified to use this new property. This fixes it. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit ff114b669b45480688198f28d6aad1a61223335d Author: Remi Machet Date: Tue Apr 22 04:46:12 2008 +1000 [POWERPC] Initialize all mv64x60 devices even if one fails If one of the devices of the mv64x60 init fails, the remaining devices are not initialized. This changes the code to display an error and continue the initialization. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Signed-off-by: Paul Mackerras commit 21dbfd291fe704986fab63a129f89ed2de471329 Author: Remi Machet Date: Tue Apr 22 03:36:48 2008 +1000 [POWERPC] Use default values if necessary in mv64x60 I2C initialization I2C parameters freq_m and freq_n are assigned defaults in the code, but if properties for those parameters are not found in the open firmware description the init routine returns an error and doesn't create the platform device. This changes the code so that it doesn't return an error if the properties are not found but instead uses the default values. Signed-off-by: Remi Machet (rmachet@slac.stanford.edu) Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 839ad62e75ee1968438d1b72261304cd47fc961e Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:18 2008 +1000 [POWERPC] Use __weak macro for smp_setup_processor_id Use the __weak macro instead of the longer __attribute__ ((weak)) form in one place in init/main.c. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton -- init/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit f6a616800e68b61807d0f7bb0d5dc70665ef8046 Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:17 2008 +1000 [POWERPC] Fix kernel stack allocation alignment The powerpc kernel stacks need to be naturally aligned, as they contain the thread info at the bottom, which is obtained by clearing the low bits of the stack pointer. However, when using 64K pages, the stack is smaller than a page, so we use kmalloc to allocate it, but that doesn't provide the alignment guarantee we need. It appeared to work so far... until one enables SLUB debugging which then returns unaligned pointers. Ooops... This fixes it by using a slab cache with enforced alignment. It relies on my previous patch that adds a thread_info_cache_init() callback. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8c9843e57a7d9d7a090d6467a0f1f3afb8031527 Author: Benjamin Herrenschmidt Date: Fri Apr 18 16:56:15 2008 +1000 [POWERPC] Add thread_info_cache_init() weak hook Some architectures need to maintain a kmem cache for thread info structures. The next commit adds that to powerpc to fix an alignment problem. There is no good arch callback to use to initialize that cache that I can find, so this adds a new one in the form of a weak function whose default is empty. Signed-off-by: Benjamin Herrenschmidt Acked-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1d32e21889b96e594e8b63b193bf7d2a51ab93ec Author: Geoff Levand Date: Thu Apr 10 07:01:53 2008 +1000 [POWERPC] PS3: Fix gelic net module dependency The PS3 gelic network driver depends on the wake-on-lan support provided by the PS3 sys manager driver. Add that dependency to the GELIC_NET Kconfig option. Prevents these build errors: ps3_gelic_net.c:1277: undefined reference to `.ps3_sys_manager_get_wol' ps3_gelic_net.c:1337: undefined reference to `.ps3_sys_manager_set_wol' CC: Masakazu Mokuno CC: Jeff Garzik Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e988a13960c61be426feca46bbc124c4126f1edc Author: Michael Ellerman Date: Thu Feb 14 11:37:50 2008 +1100 [POWERPC] Add include of linux/of.h to os-area.c os-area.c requires routines declared in linux/of.h, so should include it. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 6df1646e314de0ef8dc2a38f04eb6110b9134e65 Author: Michael Ellerman Date: Thu Feb 14 11:37:49 2008 +1100 [POWERPC] Add include of linux/of.h to numa.c numa.c requires routines declared in linux/of.h, so should include it. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 36a23fc8aa0c72ecafe7aaee0a823b03b301e1df Merge: 23386fe... fc215fe... Author: Paul Mackerras Date: Thu Apr 24 20:57:20 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit 23386fe572028ca0f9249fb3c71ed31b54cf1665 Author: Kay Sievers Date: Fri Apr 18 13:33:53 2008 -0700 [POWERPC] macintosh/windfarm: Fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "macintosh" platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 9edb74cc6ccb3a893c3d40727b7003c3c16f85a0 Author: David S. Miller Date: Thu Apr 24 03:44:43 2008 -0700 tun: Multicast handling in tun_chr_ioctl() needs proper locking. Since these operations don't go through the normal device calls, we have to ensure we synchronize with those paths. Noticed by Alan Cox. Signed-off-by: David S. Miller commit 3a841d519f91463361bbbe7addc24a0c1b2e9f99 Author: Takashi Iwai Date: Wed Apr 23 17:47:28 2008 +0200 [ALSA] ice1724 - Fix IRQ lock-up with MPU access The sound boards with VT1724 and compatible chips may lock up when MPU401 is accessed together with the PCM streaming. This patch fixes the problem. Signed-off-by: Takashi Iwai commit b415ed45f4db9f8365daac84cf2518642a174dc0 Author: Takashi Iwai Date: Wed Apr 23 17:47:28 2008 +0200 [ALSA] Define MPU401 registers in sound/mpu401_uart.h Define some MPU401 registers in sound/mpu401_uart.h so that other drivers can refer to them. Signed-off-by: Takashi Iwai commit efd89d9dcf75ab0a31b200db0ae4ae19cad25e48 Author: Stas Sergeev Date: Wed Apr 23 17:16:38 2008 +0200 [ALSA] pcsp: fix wording in DEBUG_PAGEALLOC warning Signed-off-by: Stas Sergeev (fixed invalid KERN_WARNING by tiwai) Signed-off-by: Takashi Iwai commit 73bdd2ad7aac70456494c4a1d93f99fe88184dba Author: Takashi Iwai Date: Wed Apr 23 17:08:58 2008 +0200 [ALSA] pcsp - Fix dependency in Kconfig Added the proper dependency to Kconfig for snd-pcsp driver. Signed-off-by: Takashi Iwai commit 227739bf4c110bbd02d0c0f13b272c32de406e4c Author: Robert Reif Date: Thu Apr 24 03:37:51 2008 -0700 sparc: sunzilog uart order I have a sparcstation 20 clone with a lot of on board serial ports. The serial core code assumes that uarts are assigned contiguously and that may not be the case when there are multiple zs devices present. This patch insures that uart chips are placed in front of keyboard/mouse chips in the port table. ffd37420: ttyS0 at MMIO 0xf1100000 (irq = 44) is a zs (ESCC) Console: ttyS0 (SunZilog zs0) console [ttyS0] enabled ffd37420: ttyS1 at MMIO 0xf1100004 (irq = 44) is a zs (ESCC) ffd37500: Keyboard at MMIO 0xf1000000 (irq = 44) is a zs ffd37500: Mouse at MMIO 0xf1000004 (irq = 44) is a zs ffd3c5c0: ttyS2 at MMIO 0xf1100008 (irq = 44) is a zs (ESCC) ffd3c5c0: ttyS3 at MMIO 0xf110000c (irq = 44) is a zs (ESCC) ffd3c6a0: ttyS4 at MMIO 0xf1100010 (irq = 44) is a zs (ESCC) ffd3c6a0: ttyS5 at MMIO 0xf1100014 (irq = 44) is a zs (ESCC) ffd3c780: ttyS6 at MMIO 0xf1100018 (irq = 44) is a zs (ESCC) ffd3c780: ttyS7 at MMIO 0xf110001c (irq = 44) is a zs (ESCC) Signed-off-by: Robert Reif Signed-off-by: David S. Miller commit 77c664fa58624079f7a0fc29b46e8a32883633a5 Author: David S. Miller Date: Thu Apr 24 03:28:52 2008 -0700 [SPARC64]: Detect trap frames in stack backtraces. Now that we have a magic cookie in the pt_regs, we can properly detect trap frames in stack bactraces. Signed-off-by: David S. Miller commit 7697daaa894ca2bc5cd652269c316bcdc3ec441b Author: David S. Miller Date: Thu Apr 24 03:15:22 2008 -0700 [SPARC64]: %l6 trap return handling no longer necessary. Now that we indicate the "restart system call" in the trap type field of pt_regs->magic, we don't need to set the %l6 boolean in all of the trap return paths. And we therefore don't need to pass it to do_notify_resume(). Signed-off-by: David S. Miller commit 238468b2ac76020c192a7402c92df5097916bf4a Author: David S. Miller Date: Thu Apr 24 03:01:48 2008 -0700 [SPARC64]: Use trap type stored in pt_regs to handle syscall restart. Now that we can check the trap type directly, we don't need the funny restart_syscall indication from the trap return paths. Signed-off-by: David S. Miller commit 24c053e755f2f77d9c9d9a9250ca1132eae280e7 Author: Mark Brown Date: Wed Apr 23 15:26:45 2008 +0200 [ALSA] soc - ac97 - Clean up checkpatch warnings Also change some if (x == NULL) to if (!x). Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 42f3030f0cac474fc3232c8028b97f54b985718c Author: Mark Brown Date: Wed Apr 23 15:17:12 2008 +0200 [ALSA] soc - wm8750 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d454aee9be72472ee18b5397fda2c673f40a1e69 Author: Mark Brown Date: Wed Apr 23 15:16:46 2008 +0200 [ALSA] soc - wm8731 - Clean up checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit b32432e3f2d386d9563669c8cfdeaa473bfd8572 Author: Mark Brown Date: Wed Apr 23 15:14:18 2008 +0200 [ALSA] soc - pxa2xx-pcm - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 22cd630285b6a12a50f02dfb23c531f151be5499 Author: Mark Brown Date: Wed Apr 23 15:13:33 2008 +0200 [ALSA] soc - spitz - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 29e36e49bdb7f24ca7cc0fb980fab2c407a8a2c9 Author: Mark Brown Date: Wed Apr 23 15:13:04 2008 +0200 [ALSA] soc - poodle - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 1bfcd361461f25be7d6d180a8da30d02bc124046 Author: Mark Brown Date: Wed Apr 23 15:12:19 2008 +0200 [ALSA] soc - corgi - Fix checkpatch warnings Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 0fe564a564922465ec3c483cee0e3dc6b368d879 Author: Mark Brown Date: Wed Apr 23 15:10:28 2008 +0200 [ALSA] soc - s3c24xx-i2s - Add missing spaces Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 0015e7d1e2b09443ac76573a2fb886854aa1ca15 Author: Mark Brown Date: Wed Apr 23 15:09:57 2008 +0200 [ALSA] soc - s3c24xx-i2s - Fix tab/space breakage Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 40efc15fc637cff22cf9c4f02c63f3f398320f83 Author: Mark Brown Date: Wed Apr 23 15:09:31 2008 +0200 [ALSA] soc - s3c24xx-i2s - Use linux/io.h Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 05808ecc45802c1b533f42ed701a132d4c949034 Author: Takashi Iwai Date: Wed Apr 23 13:50:08 2008 +0200 [ALSA] hda - Fix Thinkpad X300 digital mic TP X300 digital mic requires additional init verbs with magic COEFs. Signed-off-by: Takashi Iwai commit 5bae4199522c56110d33e6fd925c052bc5ae36a1 Author: Stas Sergeev Date: Wed Apr 23 10:50:32 2008 +0200 pcsp - Don't build pcspkr when snd-pcsp is enabled - Update CREDITS with the pc-speaker driver authors. - Prevent pcspkr from being built together with snd-pcsp. Both pcspkr and snd-pcsp use the same platform driver name "pcspkr". Signed-off-by: Stas Sergeev commit a0b8f7d89b8de0cc79999b9fdd3a303912f3b2a3 Author: Takashi Iwai Date: Tue Apr 22 19:39:49 2008 +0200 [ALSA] hda - Fix model for Acer Aspire 5720z Set the proper model=acer for Acer Aspire 5720z with ALC268 codec. ALSA bug#3550: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3550 Signed-off-by: Takashi Iwai commit d8ed061a9fb2ab1f4bd90b5c30f4dc98b9c2085b Author: Mark Brown Date: Tue Apr 22 18:27:22 2008 +0200 [ALSA] soc - s3c24xx - Declare suspend and resume static Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 409203074e9f3c423cdc7c38f984ce24ae261556 Author: Tim Niemeyer Date: Tue Apr 22 18:26:59 2008 +0200 [ALSA] soc - s3c24xx - Improve diagnostic output Add some debug messages for suspend/resume and to add a clear prefix to s3c24xx-i2s and s3c24xx-pcm. Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit ebf029da38829ede6b53ac8a5ad45b149064ea16 Author: Takashi Iwai Date: Tue Apr 22 17:28:11 2008 +0200 [ALSA] Fix possible races at free_irq in PCI drivers The irq handler of PCI drivers must be released before releasing other resources since the handler for a shared irq can be still called and may access the freed resource again. Signed-off-by: Takashi Iwai commit 6b9a9b329640b7e8143df7b2782884ea758650f7 Author: Tim Niemeyer Date: Tue Apr 22 17:10:23 2008 +0200 [ALSA] soc - neo1973_wm8753 - Fix module unload Signed-off-by: Tim Niemeyer Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 815c1be320fd51e5981c007f737aca410707baf8 Author: Mark Brown Date: Tue Apr 22 17:09:49 2008 +0200 [ALSA] pxa2xx-ac97: Support PXA3xx AC97 Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 7a22323b231fe5d47804f98f31a70eb34c6104a9 Author: Mark Brown Date: Tue Apr 22 17:08:52 2008 +0200 [ALSA] soc - Support PXA3xx AC97 The PXA3xx does not support the use of interrupts during reset and access to the GPIO status requires similar handling to that for PXA27x. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit d80fd0935e2c177ae58d85cb736684ff6c00314d Author: Peter Lienig Date: Tue Apr 22 17:05:07 2008 +0200 [ALSA] ice1712 - Add Terrasoniq TS88 support Added the support of Terrasonq TS88. Signed-off-by: Peter Lienig Signed-off-by: Takashi Iwai commit f000fd80937c0d94c67f9f3e7026f1fbc8ef8873 Author: Jeff Garzik Date: Tue Apr 22 13:50:34 2008 +0200 [ALSA] Fix synchronize_irq() bugs, redundancies free_irq() calls synchronize_irq() for you, so there is no need for drivers to manually do the same thing (again). Thus, calls where sync-irq immediately precedes free-irq can be simplified. However, during this audit several bugs were noticed, where free-irq is preceded by a "irq >= 0" check... but the sync-irq call is not covered by the same check. So, where sync-irq could not be eliminated completely, the missing check was added. Signed-off-by: Jeff Garzik Signed-off-by: Takashi Iwai commit 8a87c9cf999542db846c3ab93c1065d446427f37 Author: Karsten Wiese Date: Tue Apr 22 12:53:12 2008 +0200 [ALSA] Audiophile 192: Fix ad converter initialization Correct some arguments in calls to snd_ice1712_gpio_write_bits() from ap192_set_rate_val(). Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 775c199e6af5e4212bfa7ebeadee09563c14694b Author: Karsten Wiese Date: Tue Apr 22 12:52:45 2008 +0200 [ALSA] Don't set gpio mask register in snd_ice1712_gpio_write_bits() Some calls to snd_ice1712_gpio_write() go wrong, if snd_ice1712_gpio_write_bits() ran before and changed the gpio mask register. Read the actual gpio value and combine it with the to be set bits in the cpu instead. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 988f0664779674c7c06252a6d549eee8debd5d76 Author: Karsten Wiese Date: Tue Apr 22 12:52:15 2008 +0200 [ALSA] ice1724.c: toggle "chip reset" and "eeprom based setup" sequence Let "chip reset" become first. Increasement of the "chip reset" related timeout leads to correctly read eeprom's contents here. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai commit 0d52cea487c0213d6d7bca9c951210081e7b653b Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Apr 18 12:25:41 2008 +0200 OSS: dmabuf: fix negative DMAbuf_get_buffer_pointer() check Since unsigned active_offs < 0 is even true when DMAbuf_get_buffer_pointer() returns negative Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit e34ba212225a27cdf5f974be22cc539ae7ee7ca5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 18:58:34 2008 +0200 [ALSA] SOC: fix tests in cs4270_hw_params() cs4270_hw_params does several times: ret = snd_soc_write() if (ret < 0) ... This only works when ret is signed. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit 9eb70e68f38bbc5996a2193e7b7dc0b5487a08cb Author: Takashi Iwai Date: Thu Apr 17 12:53:26 2008 +0200 [ALSA] usb-audio - Fix race in reconnection Fix the race at reconnection of the device. The disconnected usb_chip[] must be cleared before the next probe call properly. Signed-off-by: Takashi Iwai commit f18638dcf0c481eca2430206ebcdc7295aec8623 Author: Takashi Iwai Date: Thu Apr 17 12:52:02 2008 +0200 [ALSA] Clean up snd_card_free*() A little clean up of snd_card_free*(). Removed snd_card_free_prepare() since it's actually almost identical with snd_card_disconnect(). Signed-off-by: Takashi Iwai commit 73d38b13ffb105ab633bd91969c8d218b2de38d4 Author: Takashi Iwai Date: Thu Apr 17 12:50:47 2008 +0200 [ALSA] Fix the race of card instance unregistration Move the call of device_unregister() for the card instance in snd_card_disconnect() to avoid the race of sysfs card entry, which can be typically found on usb-audio reconnection. Signed-off-by: Takashi Iwai commit 20861fa7b20a40ca045393df634d4d51e61efa58 Author: Risto Suominen Date: Wed Apr 16 19:45:51 2008 +0200 [ALSA] snd-powermac: style burgundy.c Coding style corrections for burgundy.c. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 44deee129c9af3759d3e5e772b82012742dc57a0 Author: Risto Suominen Date: Wed Apr 16 19:45:31 2008 +0200 [ALSA] snd-powermac: Burgundy mixers for B&W and iMac Add mixer controls and correct headphone detection bits for PowerMac G3 B&W and iMac G3 Tray-loading, both having Burgundy chipset. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 7ae44cfa7ab29b277691327e8de790d7b880722f Author: Risto Suominen Date: Wed Apr 16 19:39:27 2008 +0200 [ALSA] snd-powermac: style awacs.s and awacs.h Coding style corrections for awacs.c and awacs.h. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit a8c2a6bf464d983c642c8b8b001a57aabbf76673 Author: Risto Suominen Date: Thu Apr 17 17:55:30 2008 +0200 [ALSA] snd-powermac: AWACS and Screamer mixers for PM7500, Beige, and iMac SL Add mixer controls and correct headphone detection bits for PowerMacs 7300/7500 (AWACS) and G3 Beige (Screamer), and iMac G3 Slot-loading (Screamer). Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 946cda7d64b81053beac5d31148996f3e379e89e Author: Risto Suominen Date: Wed Apr 16 13:16:05 2008 +0200 [ALSA] snd-powermac: style pmac.c Coding style corrections for pmac.c. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 9a4f20fcbd9cd89d8e4cfcaece81802c19d467ae Author: Risto Suominen Date: Wed Apr 16 13:15:38 2008 +0200 [ALSA] snd-powermac: enable headphone detection Enable port change interrupt while initialising AWACS, Screamer, and Burgundy chipsets. Signed-off-by: Risto Suominen Signed-off-by: Takashi Iwai commit 369b240d6391aef41d376c9e8769fd939c7c6c4d Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 16 19:30:30 2008 +0200 [ALSA] sound/drivers/dummy.c: fix negative snd_pcm_format_width() check bps is unsigned, a negative snd_pcm_format_width() return value is not noticed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Takashi Iwai commit 7943a8aba93ab439bdfbd9b92221720a4a4d8153 Author: Takashi Iwai Date: Wed Apr 16 17:29:09 2008 +0200 [ALSA] hda - Avoid unexpected breakage with ALC889A hack The last ALC889A hack may break on some devices with certain model presets since patch_alc*() have different model tables. So, now it's handled in the original patch_alc882() but fly to patch_alc883() in model=auto appropriately. Signed-off-by: Takashi Iwai commit cb308f97aee2c816834240c8d5f7c98dd8aff157 Author: Takashi Iwai Date: Wed Apr 16 14:13:29 2008 +0200 [ALSA] hda - Fix ALC889A codec support ALC889A is recognized ALC885/ALC882 but it's actually closer to ALC888/ALC883. Cc: Kasper Sandberg Signed-off-by: Takashi Iwai commit 7c2ba97b8a99c857758fd03513350b39a8b242d6 Author: Matthew Ranostay Date: Wed Apr 16 13:13:59 2008 +0200 [ALSA] hda: Add 5.1 support for second headphone jack Several 92hd7xxx and STAC9228 laptops have multiple headphone jacks, the second headphone jack should be used for the 5.1 surround sound. Add support for 'Headphone as Line Out' switch, which allows it be used in 5.1 surround sound. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 0a08478c0f7548211b492b578a67dacca5aea1a8 Author: Mark Brown Date: Wed Apr 16 12:59:55 2008 +0200 [ALSA] soc - wm9712: Remove unneeded AC97_EXTENDED_MID updates Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 4972a177fed34036498aee555335f84a70219bc1 Author: Clemens Ladisch Date: Wed Apr 16 09:15:45 2008 +0200 [ALSA] oxygen: generalize DAC volume TLV handling Add a pointer for DAC volume TLV data to the model structure so that the model driver do not need to manually assign it in their control filter. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e983532e446ac7fabe829d9e3aeff8e26b0a277d Author: Clemens Ladisch Date: Wed Apr 16 09:14:30 2008 +0200 [ALSA] oxygen: mute by default Initialize the playback volume controls as being muted and having minimal volume. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 193e813814775b1b1574515fc6f11e61b29a54f7 Author: Clemens Ladisch Date: Wed Apr 16 09:13:36 2008 +0200 [ALSA] oxygen: generalize handling of DAC volume limits Add fields for the DAC volume limits to the module structure so that model drivers do not need to install their own control info handlers. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0c0e6daf14183fb1cd0dea054ecf81165abbdc83 Author: Clemens Ladisch Date: Wed Apr 16 09:12:27 2008 +0200 [ALSA] hifier: remove empty hifier_mixer_init() The empty hifier_mixer_init() function is useless; remove it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3adb8abc70aaf5c071f27576069c8b01783cca83 Author: Takashi Iwai Date: Tue Apr 15 18:46:42 2008 +0200 [ALSA] hda - Add support of AD1989A/AD1989B Added the support of AD1989A and AD1989B codecs. These codecs can have multiple SPDIF devices, but currently we handle only one SPDIF. If any real devices with two SPDIF interfaces (likely one for SPDIF and one for HDMI), we'll fix this rightly. Otherwise, these codecs are pretty similar with AD1988. Signed-off-by: Takashi Iwai commit ad5fada51d33b408ad3d2d0848ef6744b5daf06f Author: Pavel Machek Date: Mon Apr 14 18:31:35 2008 +0200 [ALSA] sound/core.h: evil #ifdefs snd_minor_info_oss_* is an function returning int _or_ comment, depending on config parameters. That is truly evil, fix it. Signed-off-by: Pavel Machek Signed-off-by: Takashi Iwai commit a8bb1bad9b16ab91de6568ac9356b8f705f7272b Author: Clemens Ladisch Date: Tue Apr 15 08:57:31 2008 +0200 [ALSA] virtuoso: fix DX front panel I/O Fix the GPIO 1 mixer control to enable I/O through the front panel connector of the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6e9fc6bd5db34a6580e1917bd0fea4b0754c7de8 Author: Daniel Mack Date: Mon Apr 14 15:40:31 2008 +0200 [ALSA] snd_usb_caiaq: make high sample rates work with A8DJ This patch for snd_usb_caiaq makes sample rates higher dann 48KHz work with devices which have more than 2 stereo input/output pairs. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 6849d49c48718def95cf1b74154b9b0aee617c7e Author: Daniel Mack Date: Mon Apr 14 15:39:47 2008 +0200 [ALSA] snd_usb_caiaq: correct input channel order This patch corrects the input channel order of hardware supported by snd_usb_caiaq. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 8d048841e822f745187246a036d03f2793739b7f Author: Daniel Mack Date: Mon Apr 14 15:39:14 2008 +0200 [ALSA] snd_usb_caiaq: fix potential lockups locking This patch fixes potential lockups in snd_usb_caiaq by refining the locking mechanims and by using usb_kill_urb() in favor to usb_unlink_urb(). Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit f57ab97e767d293132a29a43ca3ecb0f73f1d5bb Author: Jarkko Nikula Date: Mon Apr 14 15:28:19 2008 +0200 [ALSA] ASoC: Add support for 19.2 MHz MCLK in TLV320AIC3X Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 87b57fe2d3fb1ce33671b944db9a4cbe0cd065ea Author: Mark Brown Date: Mon Apr 14 15:27:30 2008 +0200 [ALSA] wm9713: Don't control touch screen power on suspend Leave the power bit for the touch screen alone when suspending the WM9713 so that the touch screen driver can handle it. This allows the touch screen to be used as a wakeup source when the system is suspended. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit a295e09e89d227506ae6c0a58e1cb6359c0cda1c Author: Nick Andrew Date: Mon Apr 14 15:22:11 2008 +0200 [ALSA] sound: this amplifier only goes up to 7 sound: kernel log levels are 0-7 Kernel log levels are 0-7, not 0-9. Signed-off-by: Nick Andrew Signed-off-by: Takashi Iwai commit eb5a66216658a1c879ab05dcdc65ce7005c4780b Author: Herton Ronaldo Krzesinski Date: Mon Apr 14 13:46:28 2008 +0200 [ALSA] hda-intel: Add Quanta IL1 ALC267 model This adds support for Quanta IL1 mini-notebook to alsa, defining a new model for it. It comes with an ALC267 codec chip. Some notes about this model: * In headphone automute, I use AC_VERB_SET_PIN_WIDGET_CONTROL instead of common amp mute, to avoid conflict with mixer switch (mixer and automute use the same nid). * The only connected capture sources in the hardware are the internal mic and external mic jack. So instead of using an input source selector like on other ALC268 models, the mic automute automatically switch between captures. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 8b45a209935c4b79905182608922736ba0e5579e Author: Kay Sievers Date: Mon Apr 14 13:33:36 2008 +0200 [ALSA] sound: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable sound platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 0fc9dec46fae19da9899c580a6b870202103f8bb Author: Matthew Ranostay Date: Mon Apr 14 13:32:54 2008 +0200 [ALSA] hda: EAPD power management Power management support for EAPD enabled laptops, when headphones are sensed it pulls the EAPD GPIO line low to power it down. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 780c8be4ab6c7baf5cdfa1102f56480acb8a2479 Author: Matthew Ranostay Date: Mon Apr 14 13:32:27 2008 +0200 [ALSA] hda: Correct SPDIF out default config Several laptops have have the SPDIF out defined as 'Digital other out' when it should be 'SPDIF out' in the default config. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 06a9c30cdda43ca82d7f22c8ebeb93e691f85b5f Author: Tony Vroon Date: Mon Apr 14 13:31:45 2008 +0200 [ALSA] hda - Fujitsu Lifebook PC speaker signal The legacy PC speaker signal was not routed to outputs. The codec is not prevented from powering down in this patch, although I suppose one could argue that perhaps it should be. Let me know if anyone feels strongly one way or the other. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit 5b030389e4ba72cc4e9ad37a5770b32f0353564d Author: Jiang zhe Date: Mon Apr 14 13:26:53 2008 +0200 [ALSA] hda - PCI quirk for laptop LG which use CMI9880 Please refer to [0003874] on the alsa mantis. This patch added the pci quirk. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 64654c2f9e7875a982a9c3b4456ed11ad811ec61 Author: Jiang zhe Date: Mon Apr 14 13:26:21 2008 +0200 [ALSA] hda - Should use HDA_OUTPUT instead of HDA_INPUT to mute pin 15 of ALC880 To mute the output of Pin widget 15 in ALC880, we should use the HDA_OUTPUT. However, current code looks like : snd_hda_codec_amp_stereo(codec, 0x15, HDA_INPUT, 0, HDA_AMP_MUTE, bits); It may be a misspelling. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 07f51a727462696ddea01c7a7750c27796a0e1f3 Author: Pavel Machek Date: Mon Apr 14 13:15:56 2008 +0200 [ALSA] sound/usb/usbaudio.c: coding style Putting space between ! and variable is a strange coding style, fix that, also make it fit into 80 columns where that is easy. Signed-off-by: Pavel Machek Signed-off-by: Takashi Iwai commit 2a56f51bcc3650ecff806450f7fdab5edf57618f Author: Pavel Machek Date: Mon Apr 14 13:14:22 2008 +0200 [ALSA] usb audio: make quirk handling more readable, and fix commented-out code usb audio contains useful debugging code, protected by #if 0. Unfortunately, it will not compile because variable names changed; fix it. Dallas workaround is formatted in a way where it is not quite obvious what is normal code and what is quirk. Reformat it to make it obvious. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit b9d43bcd061956c8144bcb453d07d13236b6ab28 Author: Pavel Machek Date: Mon Apr 14 13:12:47 2008 +0200 [ALSA] usb audio: Fix another Dallas quirk Dallas USB speakers are buggy in more than one way. One of configs they offer does not work at all. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit eaa9985b4edb5f8008998abdda8b85ddeba05f1f Author: Frederik Deweerdt Date: Mon Apr 14 13:11:44 2008 +0200 [ALSA] hda-codec - Fix unbalanced mutex On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote: > [ 48.765906] [ BUG: bad unlock balance detected! ] > [ 48.765912] ------------------------------------- > [ 48.765918] pulseaudio/4277 is trying to release lock > (&codec->spdif_mutex) at: > [ 48.765930] [] mutex_unlock+0x8/0xa > [ 48.765945] but there are no more locks to release! > [ 48.765950] > [ 48.765952] other info that might help us debug this: > [ 48.765959] 2 locks held by pulseaudio/4277: > [ 48.765965] #0: (&pcm->open_mutex){--..}, at: [] > snd_pcm_open+0xc1/0x1ba [snd_pcm] > [ 48.766003] #1: (&chip->open_mutex){--..}, at: [] > azx_pcm_open+0x36/0x184 [snd_hda_intel] > [ 48.766057] > [ 48.766059] stack backtrace: > [ 48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12 > [ 48.766086] [] print_unlock_inbalance_bug+0xce/0xd8 > [ 48.766107] [] ? save_stack_trace+0x1d/0x3b > [ 48.766130] [] ? __kernel_text_address+0x1b/0x27 > [ 48.766146] [] ? dump_trace+0xcd/0xd9 > [ 48.766160] [] ? save_stack_address+0x0/0x2c > [ 48.766176] [] ? find_usage_backwards+0xa4/0xc3 > [ 48.766193] [] lock_release_non_nested+0x84/0x120 > [ 48.766209] [] ? mutex_unlock+0x8/0xa > [ 48.766222] [] lock_release+0x16a/0x199 > [ 48.766238] [] __mutex_unlock_slowpath+0xa9/0x121 > [ 48.766252] [] mutex_unlock+0x8/0xa > [ 48.766263] [] snd_hda_multi_out_analog_open+0xd3/0xef > [snd_hda_intel] The following patch should fix it. Cc: "Miles Lane" Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 66c9aa6043798197e1760eaf4c5f510d6c69b95a Author: Andrew Morton Date: Mon Apr 14 13:09:33 2008 +0200 [ALSA] es1968 - fix coding style in the last patch WARNING: braces {} are not necessary for single statement blocks #40: FILE: sound/pci/es1968.c:1831: + if (diff > 1) { + __maestro_write(chip, IDR0_DATA_PORT, cp1); + } total: 0 errors, 1 warnings, 35 lines checked ./patches/es1968-fix-jitter-on-some-maestro-cards.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Andreas Mueller Tested-by: Rene Herman Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit f24bfa53dab478e1bde2d7fd39d3c1a69dc518f1 Author: Andreas Mueller Date: Mon Apr 14 13:08:05 2008 +0200 [ALSA] es1968: fix jitter on some maestro cards This patch suppresses jitter on several Maestro cards in stereo mode (ALSA of course). The patch is also incorporated in the *BSD drivers where I "ported" it from. Without this patch most of the stereo audio gets out of sync and really distorted (oss-emulation with mplayer at 48000khz worked somehow). Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 62cef8212ffa9df3e6c5b358ea2382d90489d590 Author: Denys Vlasenko Date: Mon Apr 14 13:04:18 2008 +0200 [ALSA] sound/pci/rme9652/hdspm.c: stop inlining largish static functions sound/pci/rme9652/hdspm.c has unusually large number of static inline functions - 22. I looked through them and some of them seem to be too big to warrant inlining. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference on 32bit x86: text data bss dec hex filename 20437 2160 516 23113 5a49 linux-2.6-ALLYES/sound/pci/rme9652/hdspm.o 18036 2160 516 20712 50e8 linux-2.6.inline-ALLYES/sound/pci/rme9652/hdspm.o [coding fix by Takashi Iwai ] Signed-off-by: Denys Vlasenko Signed-off-by: Takashi Iwai commit 32f4876e62d5caba712ca76d96b0018dcc0f9601 Author: Mark Brown Date: Mon Apr 14 12:59:27 2008 +0200 [ALSA] soc - Include register in DAPM debug output When logging register changes in DAPM debug output include the register number. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 4383fae0ec5bc269f9eb4383b223731e3ecd2fe3 Author: Jiang zhe Date: Mon Apr 14 12:58:57 2008 +0200 [ALSA] hda-codec - PCI quirk for MSI laptop Please refer to [0003848] on the alsa mantis. This patch adds the pci quirk and Mic-Int controller. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 80060ecc45bd101f3decafed5b7ff0879a188d28 Author: Clemens Ladisch Date: Fri Apr 11 10:25:40 2008 +0200 [ALSA] virtuoso: initialize two-wire control register On the Xonar DX, initialize all bits of the two-wire control register. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 387fb6a206749e13377ef8847f77d5341c281e7b Author: Clemens Ladisch Date: Fri Apr 11 10:24:48 2008 +0200 [ALSA] virtuoso: add GPIO 1 mixer control Add a mixer control for switching whatever it is that is connected to GPIO pin 1 on the Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 1d98c7d4be6ac521e3391025ddffcfe0400c798c Author: Clemens Ladisch Date: Wed Apr 9 09:16:33 2008 +0200 [ALSA] oxygen: use SPDIF input only if present If the card model does not have a digital input or an AC97 codec, disable the respective interrupt and mixer controls. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 11864b4b84194b459fc20e0ec47906885bddb12e Author: Clemens Ladisch Date: Wed Apr 9 09:16:14 2008 +0200 [ALSA] virtuoso: correctly switch input jack on Xonar DX When selecting the capture source on the Xonar DX, the input jack must be routed to either the line input or the microphone input by setting a GPIO pin. This requires an additional callback so that the model driver can hook into the toggling of AC97 switches. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a9d3cc485e65a56edc9ef78c034146cc8a5b3101 Author: Clemens Ladisch Date: Mon Apr 7 10:29:44 2008 +0200 [ALSA] virtuoso: add Xonar DX support Add support for the Asus Xonar DX. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 80647ee26e96d6394cab77332c69f60735396e67 Author: Clemens Ladisch Date: Mon Apr 7 10:27:01 2008 +0200 [ALSA] virtuoso: fix typo Fix a (fortunately harmless) typo. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit aef1a535c4dadff408412833b2b71bc7919e84a6 Author: Clemens Ladisch Date: Mon Apr 7 10:26:45 2008 +0200 [ALSA] virtuoso: change card short name Change the card short name to show to show the card name instead of the chip name. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d08267a9df99c3cf288ca05e75084d14479fe7cb Author: Clemens Ladisch Date: Mon Apr 7 10:26:26 2008 +0200 [ALSA] virtuoso: set PCM1796 oversampling rate When playing data at 96 kHz or higher, reduce the DAC oversampling rate to 32. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit af9af1741f5e7959d220fb0d83604ecb5ae26581 Author: Clemens Ladisch Date: Mon Apr 7 10:26:03 2008 +0200 [ALSA] virtuoso: move some code to xonar_common_init() Move the code that is common to all Xonar models to a separate function, and make it more generic in preparation for another model. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a694a6a0e4ab4752d1a145b9b32e231d7c9611b5 Author: Clemens Ladisch Date: Mon Apr 7 10:25:30 2008 +0200 [ALSA] virtuoso: allow both CS5381 and CS5361 Rename all CS5381 symbols to CS53x1 because they can also be used for Xonar models with a CS5361. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 271ebfca5823875cc4f134515b6c3887d99b8dc2 Author: Clemens Ladisch Date: Mon Apr 7 10:24:22 2008 +0200 [ALSA] virtuoso: separate D2/D2X init functions Use separate model structures for the D2 and D2X so that the init function does not have to check for the model again. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 10e6d5f9b6edd4a12d678716d7fdb94278a83227 Author: Clemens Ladisch Date: Mon Apr 7 10:23:37 2008 +0200 [ALSA] oxygen: add I2C support Add a function to write I2C registers. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 7a4356747298d1c899a12a25260d5ff1b4feeb5e Author: Clemens Ladisch Date: Wed Apr 2 10:56:30 2008 +0200 [ALSA] aw2: remove duplicate MODULE_LICENSE "GPL 2" does not mean that there have to be two MODULE_LICENSE("GPL") entries. ;-) Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit edab938e63e463da86e4aa7b94628ce8f2b8a137 Author: Pavel Machek Date: Tue Apr 1 15:33:22 2008 +0200 [ALSA] fix comments in sound/core.h Two sentences seem to be spliced into one in comment, fix that and fix english. Also fix codingstyle. Signed-off-by: Pavel Machek Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit e97f79994ac715e4c8724b201bd3328463ec9314 Author: Clemens Ladisch Date: Tue Apr 1 10:02:18 2008 +0200 [ALSA] oxygen: fix line-in recording selection (now for real) On C-Media cards, the GPIO pin 0 of the CM9780 must be handled exactly like on Xonar cards, so move the Xonar code to the common mixer code. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0c4cc4430f40089bb85557e309038faa458247f1 Author: Herton Ronaldo Krzesinski Date: Sat Mar 22 10:26:05 2008 +0100 [ALSA] hda-codec - Support mic automute for Clevo M720R/SR Add support for mic automute in clevo-m720r ALC883 model, and rename it to more generic clevo-m720. Also change model entry in ALSA-Configuration.txt accordingly. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 213f0bfe9061e077590f2775cb90c1e6c0c9faa6 Author: Herton Ronaldo Krzesinski Date: Sat Mar 22 10:25:30 2008 +0100 [ALSA] hda-codec - Map clevo-m720r ALC883 model for Clevo M720SR Map clevo-m720r ALC883 model for Clevo M720SR. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit c81d80cbf6dfe4c061719cb146659677c3c36c8e Author: Stas Sergeev Date: Sat Mar 22 10:12:37 2008 +0100 [ALSA] pcsp: remove downsampling pcsp: remove S16->U8 downsampling as dmix now supports U8 natively. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 95866d38028c98ea4d6df6947f6ea3fd77334382 Author: Takashi Iwai Date: Sat Mar 22 10:11:08 2008 +0100 [ALSA] ymfpci - Fix race at removal free_irq() must be called first to avoid races at removal. Signed-off-by: Takashi Iwai commit cd97f47df377d2371940b69fa4c8b4d99a980580 Author: Takashi Iwai Date: Thu Mar 20 12:30:36 2008 +0100 [ALSA] hda-codec - Add missing models in ALSA-Configuration.txt Signed-off-by: Takashi Iwai commit eea6419ea18ed9dfc16f9a262e96cdb832376e88 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:14:59 2008 +0100 [ALSA] hda-codec - Use common 3stack-6ch mixer for 3stack-hp model Forgot one more: 3stack-hp model also have now the same mixer as 3stack-6ch (after DAC assignment fix in ALC883), so use it avoiding duplicating the same mixer definition. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit f24dbdc61dd7ca6b97c525b40979ab7bd07c0934 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:14:28 2008 +0100 [ALSA] hda-codec - Use base ALC883 mixer for 6stack-dell model After DAC assignment fix in ALC883, alc888_6st_dell_mixer is now the same as alc883_base_mixer. Avoid duplicated code and use alc883_base_mixer in 6stack-dell model, removing alc888_6st_dell_mixer definition. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 5d85f8d02af56da5e3b76805da00a0f7f7427255 Author: Herton Ronaldo Krzesinski Date: Thu Mar 20 12:13:46 2008 +0100 [ALSA] hda-codec - Remove now uneeded 6stack-hp model from ALC883 After DAC assignment fix in ALC883, the 6stack-hp model is now the same as 6stack-dig. So just remove 6stack-hp model and replace its use with 6stack-dig. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 0e31daf7d6484c60e96f63a905eb9b959b975da5 Author: Jiang zhe Date: Thu Mar 20 12:12:39 2008 +0100 [ALSA] hda-codec - model for alc262 to support Lenovo 3000 This model is to support the Lenovo 3000 y410. ALSA bug#3856: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3856 Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit 07bcb316cf3510d5048bc251bb23cd6452c16fc2 Author: Matthew Ranostay Date: Thu Mar 20 12:10:57 2008 +0100 [ALSA] hda: 92hd71bxxx DMIC nid Added missing DMIC verb to dell_4_1_pin_configs[]. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit d16be8ed69f3e59d36be8c422508c3a10082fdaa Author: Pavel Hofman Date: Thu Mar 20 12:10:27 2008 +0100 [ALSA] ice1724 - Improved the Juli rate setting * moving most of clock-specific code to card-specific routines * support for ESI Juli * to-be-researched - monitoring of analog/digital inputs Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit ff73317ea7c648cf5f59b8bda4a810f7b5d0312c Author: Andrew Morton Date: Thu Mar 20 12:07:31 2008 +0100 [ALSA] sound/pci/pcxhr/pcxhr.c: fix warnings sparc64: sound/pci/pcxhr/pcxhr.c: In function `pcxhr_update_r_buffer': sound/pci/pcxhr/pcxhr.c:459: warning: cast to pointer from integer of different size sound/pci/pcxhr/pcxhr.c: In function `pcxhr_trigger_tasklet': sound/pci/pcxhr/pcxhr.c:628: warning: long int format, different type arg (arg 4) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit ee0abefde5273c816bd3d4158e5cb9c591b82684 Author: Andrew Morton Date: Thu Mar 20 12:05:33 2008 +0100 [ALSA] sound/pci/pcxhr/pcxhr_core.c: fix printk warning sound/pci/pcxhr/pcxhr_core.c: In function `pcxhr_set_pipe_state': sound/pci/pcxhr/pcxhr_core.c:899: warning: long int format, different type arg (arg 4) suseconds_t is int on sparc64. Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 91e24faa556548e0705e8940410b8dc3bd1d949d Author: Andrew Morton Date: Thu Mar 20 12:04:46 2008 +0100 [ALSA] sound/pci/aw2/aw2-alsa.c needs dma-mapping.h sparc32: sound/pci/aw2/aw2-alsa.c: In function 'snd_aw2_create': sound/pci/aw2/aw2-alsa.c:282: error: 'DMA_32BIT_MASK' undeclared (first use in this function) sound/pci/aw2/aw2-alsa.c:282: error: (Each undeclared identifier is reported only once sound/pci/aw2/aw2-alsa.c:282: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 43dd89c7e7cde6b42edac88ca852ec61af610863 Author: Clemens Ladisch Date: Wed Mar 19 08:21:32 2008 +0100 [ALSA] oxygen: disable clock of unused I2S inputs Disable the master clock outputs of any unused I2S inputs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit db12b8e301455cf18644aa3b765ae10869eb947c Author: Clemens Ladisch Date: Wed Mar 19 08:20:59 2008 +0100 [ALSA] oxygen: move MIDI flag to model struct Put the flag that enables the MIDI port into the model structure instead of passing it as a separate parameter to oxygen_pci_probe(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 87eedd2fd409d5cd515ccd6fc454cef15c5fa38b Author: Clemens Ladisch Date: Wed Mar 19 08:20:13 2008 +0100 [ALSA] oxygen: make SPI/2-wire configuration model-specific Allow the model drivers to specify if the codec communication goes over SPI or a 2-wire bus. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f009ad9b39e6484d8e36e9e5029c07eab8c12e8f Author: Clemens Ladisch Date: Wed Mar 19 08:19:41 2008 +0100 [ALSA] oxygen: change model-specific PCM device configuration When specifying which PCM devices to use, model drivers now use flags that also specify the routing between PCM devices and DMA channels instead of just DMA channel bits. This simplifies some code that checks for these flags. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit fa5d8106cb52e5df28673f59cc25af520dc83382 Author: Clemens Ladisch Date: Wed Mar 19 08:17:33 2008 +0100 [ALSA] oxygen: add monitor controls Add controls to enable monitoring of the analog and digital inputs. To allow monitoring after loading the driver when nothing has been played back or recorded yet, the I2S input and outputs are initialized to a valid configuration. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 33fa724e291d3cc6c319f7db487e6e084ef5d4b5 Author: Clemens Ladisch Date: Wed Mar 19 08:16:40 2008 +0100 [ALSA] virtuoso: move PCM1796 symbols to a header file Move the PCM1796 register symbol definitions to their own header file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f5b2368ba8c203eb5bb7e5bbd99f4d9064a6aac0 Author: Clemens Ladisch Date: Wed Mar 19 08:14:01 2008 +0100 [ALSA] oxygen: move WM8785 symbols to a header file Move the WM8786 register symbol definitions to their own header file. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit acf5850ea73bf82081fb65cf10dd36a9d7a890e9 Author: Timur Tabi Date: Tue Mar 18 17:18:18 2008 +0100 [ALSA] Removed deprecated sound/driver.h from Freescale MPC8610 drivers With commit 9004acc70e8c49c50c4c7b652f906f1e0ed5709d, include/sound/driver.h is deprecated. This patch removes the #include from fsl_ssi.c and fsl_dma.c. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai commit 850f0e5212a73a548b9c29faf452b4a14d80f43b Author: Takashi Iwai Date: Tue Mar 18 17:11:05 2008 +0100 [ALSA] hda-intel - Add sync support Addded the support of sync streams to hda-intel driver. Signed-off-by: Takashi Iwai commit f081374b607f2656ca79a94d96d99cd5a2f60b68 Author: Takashi Iwai Date: Tue Mar 18 12:13:03 2008 +0100 [ALSA] hda-codec - Support of Lenovo Thinkpad X300 Added the model thinkpad for Lenovo Thinkpad X300 with AD1984A codec. Signed-off-by: Takashi Iwai commit c0bbf48db35fec29c39c8a7826ca271069537e57 Author: Robert Jarzmik Date: Tue Mar 18 12:08:35 2008 +0100 [ALSA] soc - Add missing audio path between Mono Mixer and Mic PGAs Signed-off-by: Robert Jarzmik Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 888afa15418f001896bc11f498f9348e029611bd Author: Takashi Iwai Date: Tue Mar 18 09:57:50 2008 +0100 [ALSA] hda-codec - keep the format verb at closing PCM streams Keep the format verb at closing PCM streams. Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose. Signed-off-by: Takashi Iwai commit 117f257d7a9599ff9cb5ab7a6a10201c6294b5f1 Author: Takashi Iwai Date: Tue Mar 18 09:53:23 2008 +0100 [ALSA] hda-codec - Fix spekaer output of Panasonic CF-74 Add a new model "panasonic" for Panasonic CF-74 with STAC9200 codec to fix the speaker output. Signed-off-by: Takashi Iwai commit 2add9b925394746eff692ff0875d21ea2d5289e2 Author: Takashi Iwai Date: Tue Mar 18 09:47:06 2008 +0100 [ALSA] hda-intel - Add barrier Add proper barriers in the RIRB communication code. Signed-off-by: Takashi Iwai commit 86d34b7ec878ea4b4c9f33ce92f1722c4326dbe7 Author: Herton Ronaldo Krzesinski Date: Tue Mar 18 09:27:59 2008 +0100 [ALSA] hda-codec - Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267) Map 3stack-6ch-dig ALC883 model for MSI 945GCM5 V2 (MSI-7267). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit f32a19e3e7e72cc896d02c3d104f58dc972d43ea Author: Herton Ronaldo Krzesinski Date: Tue Mar 18 09:27:08 2008 +0100 [ALSA] hda-codec - Fix DAC assignment order in ALC883 Actually clfe and surround DACs are inverted in alc883_dac_nids array (see ALC883 datasheet). I discovered this while testing multi-channel setup (using 3stack-6ch-dig model) on MSI 945GCM5 V2 motherboard that has an ALC883 codec. Simply Rear Left/Right and Center/LFE were swapped in 6 channel mode (also in 4 channel mode you didn't get rear left/right output). Other models also were affected by this bug, as can be seen by the mixer layouts that "workaround" this (the real bug was not noticed, and some other models simply played with mixer and initial verbs). Thus along with fixing the order of dac nids, also change the models that relied on previous dac ordering properly. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 9ecaedae0de906f0b5f8dbc09cd610f7056ba975 Author: Mariusz Kozlowski Date: Tue Mar 18 09:03:03 2008 +0100 [ALSA] sound/drivers/pcsp/pcsp.c build fix sound/drivers/pcsp/pcsp.c: In function 'snd_pcsp_create': sound/drivers/pcsp/pcsp.c:54: error: 'loops_per_jiffy' undeclared (first use in\ this function) sound/drivers/pcsp/pcsp.c:54: error: (Each undeclared identifier is reported on\ ly once sound/drivers/pcsp/pcsp.c:54: error: for each function it appears in.) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit f5e09ef0985ff01af6b4a12954840467f153a41c Author: Atsushi Nemoto Date: Mon Mar 17 14:36:24 2008 +0100 [ALSA] at73c213: Add constraints for periods value The interrupt handler always provide runtime->period_size data, so it works correctly only if buffer_size was a multiple of period_size. This patch fixes periodic click noise. Signed-off-by: Atsushi Nemoto Signed-off-by: Takashi Iwai commit b32300a4ce78b4df92f33c455ffe644b36f0ff1a Author: Julia Lawall Date: Mon Mar 17 10:23:35 2008 +0100 [ALSA] sound/pci: remove unused variable The variable is_capture is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit 43337ac0dec5fe507b3028d2ad4404c3f1a28034 Author: Takashi Iwai Date: Mon Mar 17 10:16:37 2008 +0100 [ALSA] ice1724 - Fix return codes in some pointis callbacks Fixed the return codes (1 for changed values) in put callbacks of pontis. Signed-off-by: Takashi Iwai commit 5a220c868e395bc3662d13ad4c2a18769075af54 Author: Takashi Iwai Date: Mon Mar 17 09:59:32 2008 +0100 [ALSA] usb-audio - Add a proper error check The error in check_hw_params_convention() has to be checked and handled properly. Signed-off-by: Takashi Iwai commit 841b23d4d7b554c8d74fc9c34a701f85abc04875 Author: Pavel Hofman Date: Mon Mar 17 08:45:33 2008 +0100 [ALSA] some fixes and cleanup for ICE1724 cards * removing the hack with NON_AKM ak4xxx type * support for card-specific flags in ak4114_stats * definition of the flags for corresponding cards Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit 5949d2443d96f054d9a32d31edddb0be836968c6 Author: Joachim Foerster Date: Mon Mar 17 08:40:12 2008 +0100 [ALSA] [ML403-AC97CR] Remove duplicate snd_card_set_dev() We want to have snd_card_set_dev() in _probe(), but not a second one in snd_ml403_ac97cr_create(). Signed-off-by: Joachim Foerster Signed-off-by: Takashi Iwai commit c93f5a1eca1f6d662d791c14c469b6962e05a08f Author: Takashi Iwai Date: Fri Mar 14 17:17:09 2008 +0100 [ALSA] ice1724 - Fix the SPDIF input sample-rate on Juli@ AK4114 on Juli@ has the SPDIF input sample rate detection and causes errors when an incompatible sample rate is chosen. The patch adds the open hook to check the current rate and limit the hw constraints. Signed-off-by: Takashi Iwai commit 5d9fab2d84963ec598810c54a67332decdd922a8 Author: Tony Vroon Date: Fri Mar 14 17:09:18 2008 +0100 [ALSA] hda-codec - Fujitsu Lifebook port replicator/dock headphone jack sense The docking station headphone output had no audio and jack sense was not considered. Jack information from the laptop itself and the dock are combined, as the dock does not obscure the connector. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit ee9d6b9a30ae83f15fe8c8d2337ebc0a38151d38 Author: Takashi Iwai Date: Fri Mar 14 15:52:20 2008 +0100 [ALSA] hda-intel - Fix power-off hang on ASUS P5AD2 The hda-intel driver has a problem at power-off on ASUS P5AD2. It's caused when the position-buffer is enabled -- most likely a hardware-specific problem. This patch adds a quirk to avoid the unnecessary enablement of position-buffer. Signed-off-by: Takashi Iwai commit 3da23cac3d6b93803b8c381a755870cbafcd3212 Author: Herton Ronaldo Krzesinski Date: Fri Mar 14 12:52:59 2008 +0100 [ALSA] hda-codec - Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX Map 3stack-6ch-dig ALC662 model for Asus P5GC-MX. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 7055ad8a996b2b77f12242109c0b5bacc237e824 Author: Herton Ronaldo Krzesinski Date: Fri Mar 14 12:52:20 2008 +0100 [ALSA] hda-codec - Fix ALC662 DAC mixer mutes Currently ALC662 doesn't suport amp mute for AmpOut in nids 0x02, 0x03, 0x04 (see block diagram in ALC662 datasheet page 3, does M correspond to mute?). The result is that currently mute for "Front Playback Switch", "Surround Playback Switch", "Center Playback Switch" and "LFE Playback Switch" mixer items doesn't work (tested on Asus P5GC-MX motherboard with 3stack-6ch model). The solution I found for this is to mute the proper inputs in 0x0c, 0x0d, 0x0e audio mixers. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 2626a263ffc2369499442933b1c313de0a066ede Author: Takashi Iwai Date: Fri Mar 14 09:18:32 2008 +0100 [ALSA] hda-codec - Fix orphan Headphone controls in STAC codecs Currently, the headphone controls are created as Master wrongly in some cases, and this prevents the virtual master controls. The patch fixes the problem by simply using "Headphone" always for headphone controls. Signed-off-by: Takashi Iwai commit d654a660355f9dc30d3a6bf1493d32363bde8570 Author: Matthew Ranostay Date: Fri Mar 14 08:46:51 2008 +0100 [ALSA] hda: 92HD73xxx distortion fix Fixed issue on some laptops that if the Master mixer and DAC mixers are turned all the way up that will cause distortion. This is fixed by limiting the max volume with the volume knob nid. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 1bc1f30565b561bafc51725fce336aec59029437 Author: Stas Sergeev Date: Wed Mar 12 13:12:15 2008 +0100 [ALSA] pcsp: locking fix pcsp: locking fix. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit bb9f76cd5909b9da6b4d31b55a4086cc35614fe0 Author: Takashi Iwai Date: Wed Mar 12 12:51:09 2008 +0100 [ALSA] hda-codec - Improve ALC262 ultra model Improved ALC262 ultra model for Samsung Q1 Ultra series. - clean up mixers - support of input from HP jack as a mic - add quirk for Q1 EL Signed-off-by: Takashi Iwai commit 9f2f0f7c4e997a74ff9fb8e2e2ed0daa21962e97 Author: Atsushi Nemoto Date: Tue Mar 11 08:15:30 2008 +0100 [ALSA] at73c213: remove redundant private_free routine snd_pcm_lib_preallocate_free_for_all() is called from snd_pcm_free() just after calling the private_free routine. So there should be no need to call it in driver's private_free routine. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit 91662577979cadf945cd3ffc4c470e5b91378370 Author: Takashi Iwai Date: Mon Mar 10 12:19:12 2008 +0100 [ALSA] aw2 - Rename aw2-tsl.h to aw2-tsl.c aw2-tsl.h should be rather a C file to be included since it's referred only in aw2-saa6146.c and includes a table data. Signed-off-by: Takashi Iwai commit ee7a9c7c2eb5cd09c15824323eac4cd95e2d18a8 Author: Michael Gruber Date: Mon Mar 10 11:30:59 2008 +0100 [ALSA] hda-intel - Fix microphone capture with ALC880 F1734 model The default capture source should be the mic which is 0x01 on this model. In addition to that the change to VREF50 allows for higher capture volume. Signed-off-by: Michael Gruber Signed-off-by: Takashi Iwai commit 7747ecceb523d7b00c8dfe568154d0b4e70e0800 Author: Matthew Ranostay Date: Mon Mar 10 11:30:04 2008 +0100 [ALSA] hda: Reorganized DAC outputs Changed so that internal speakers point to the Front mixer instead of Surround. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 85bfb8fe5d26b316ccd4892d1834778ec5fc17c3 Author: Takashi Iwai Date: Mon Mar 10 11:21:30 2008 +0100 [ALSA] release 1.0.16 Signed-off-by: Takashi Iwai commit 4a295ca47424b48c993d5cea7c3fbeca75ddb608 Author: Atsushi Nemoto Date: Sat Mar 8 11:08:32 2008 +0100 [ALSA] at73c213: monaural support Add support for monaural playback to at73c213 driver. The sound will be apear on L-channel. Tested on AT91SAM9260-EK. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit c67582b195fb5deb24808ebbafb41045f1a61425 Author: Atsushi Nemoto Date: Sat Mar 8 11:07:26 2008 +0100 [ALSA] at73c213: fix error checking for clk API The clk_round_rate() and clk_set_rate() will return int, so not store thier return value to unsigned long variable. This bug hides real error on these API. Signed-off-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit b419f346994d4ba082244fb1327754bc839a4d8a Author: Tobin Davis Date: Fri Mar 7 11:57:51 2008 +0100 [ALSA] HDA Codecs: add support for Toshiba Equium L30 This patch adds support for the Toshiba Equium L30 laptop and renames the mixer controls to match Laptop usages. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai commit 21ac1f9934d33ea2ffa71d13fa2f6286127d3caf Author: Julia Lawall Date: Tue Mar 4 15:07:24 2008 -0800 sound: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton commit 0ccb541c96e6d40844d00ec88fae734568bdd0bd Author: Takashi Iwai Date: Thu Mar 6 16:58:35 2008 +0100 [ALSA] hda-codec - Add internal mic item for ALC268 acer model Added the internal mic as a capture source item for ALC268 acer model. Signed-off-by: Takashi Iwai Signed-off-by: Takashi Iwai commit 7194cae62e92c5db8b87df1120fbf24f83f488f8 Author: Takashi Iwai Date: Thu Mar 6 16:58:17 2008 +0100 [ALSA] hda-codec - Fix dmics on ALC268 in auto configuration Fixed the handling of dmics on ALC268 in the auto-configuration mode. Signed-off-by: Takashi Iwai commit 487145a1984b78e9b194aa44f8079cc019779a58 Author: Peer Chen Date: Thu Mar 6 15:15:11 2008 +0100 [ALSA] hda_intel: Add the DIDs of nvidia MCP79 HD audio controller to hda_intel.c Add the Device IDs of nvidia MCP79 HD audio controller to hda_intel.c Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai commit 2de3c232a0050ee247ae6e97b055f39e15a08ee3 Author: Jiang zhe Date: Thu Mar 6 11:09:09 2008 +0100 [ALSA] hda-codec - model for cx20549 to support laptop HP530 Currently the model laptop-hpsense use the 0x12 as ExtMic, and use 0x14 as Internal IntMic. But the hp530 only have one ExtMic, the Pin widget is 0x14. In this patch, I changed the mixer item for them. I still reserved the IntMic item, it will be helpful if other machine may use this model. ALSA bug#3821. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit fb97dc67397c1ee63eb0094c28fc9a5dcc0a83a6 Author: Jiang zhe Date: Thu Mar 6 11:07:11 2008 +0100 [ALSA] hda-codec - model for alc883 to support FUJITSU Pi2515 There is no suitable model for Pi2515. This model is to support it. ALSA bug#3800. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit d08cd58db9f4078bb9237fc6ff7104ed50d7804b Author: Stas Sergeev Date: Thu Mar 6 11:01:44 2008 +0100 [ALSA] pcsp: add description update ALSA-Configuration.txt Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 52337310af443278ee84ec4b9adaee0037cc0e30 Author: Stas Sergeev Date: Thu Mar 6 11:01:16 2008 +0100 [ALSA] pcsp: improve "enable" option handling Simplify init code. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 8280823668d42ed9695da759047b86074ad14ba4 Author: Pascal Terjan Date: Tue Mar 4 11:33:28 2008 +0100 [ALSA] ALC288 - Add NEC S970 to the quirk table NEC S970 has no sound in the internal speakers when autodetection is used. With targa-dig model, there is sound in the speakers and it gets correctly muted when pluging headphones. Signed-off-by: Takashi Iwai commit a91605b86a234b01d2f99b38411ac30a40bdf067 Author: Stas Sergeev Date: Tue Mar 4 11:28:43 2008 +0100 [ALSA] pcsp - clean ups - make pcsp_start_timer_tasklet static - remove redundant includes. is not available on all platforms. Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 368c7a95ea324b3f9728ba1c901ac119d409bf4e Author: Jiang zhe Date: Tue Mar 4 11:20:33 2008 +0100 [ALSA] hda-codec - model for alc883 to support M720R There is no suitable model for M720R (ALSA bug#3781). This patch is to support HP jack-sensing and mixer. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai commit fd2499f0ed765de3ab11c7fd6f37f9fbfaf059ec Author: Takashi Iwai Date: Tue Mar 4 11:06:26 2008 +0100 [ALSA] aw2 - Remove endian dependency Removed unnecessary dependency on the little-endianess. Signed-off-by: Takashi Iwai commit 9bf8e7ddeaf57f1ec534014c447705ad31d5d721 Author: Harvey Harrison Date: Mon Mar 3 15:32:18 2008 -0800 [ALSA] sound: replace remaining __FUNCTION__ occurences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 24982c5f7feca2f4d1b0b562a28b767d93a01ce0 Author: Andrew Morton Date: Tue Mar 4 10:08:58 2008 +0100 [ALSA] hda_intel needs dma-mapping.h sparc32: sound/pci/hda/hda_intel.c: In function 'azx_create': sound/pci/hda/hda_intel.c:1838: error: 'DMA_64BIT_MASK' undeclared (first use in this function) sound/pci/hda/hda_intel.c:1838: error: (Each undeclared identifier is reported only once sound/pci/hda/hda_intel.c:1838: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai commit ae092c9ede515bd6864b44efc2d83135bd3c535b Author: Graeme Gregory Date: Mon Mar 3 17:19:45 2008 +0100 [ALSA] soc - Add Invert Switch for ROUT2 GTA02 device has a speaker between LOUT2 & ROUT2 and in this mode ROUT2 needs to be inverted. This patch adds a mixer control for this. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 9ab4d072ad67793d70b8707e14fb9261749c4e07 Author: Stas Sergeev Date: Mon Mar 3 10:53:54 2008 +0100 [ALSA] Add PC-speaker sound driver Added PC-speaker sound driver (snd-pcsp). Signed-off-by: Stas Sergeev Signed-off-by: Takashi Iwai commit 40ac8c4f208111cdc1542ccc9feb21b98a6b0219 Author: Takashi Iwai Date: Fri Feb 29 14:16:17 2008 +0100 [ALSA] hda-codec - Fix the array over-range access with stac92hd71bxx codec Add the check of the array range for dac_nids to prevent the over-range access. Signed-off-by: Takashi Iwai commit fd6640fa2d8b5f5f471aad5abd8ce5d6995df563 Author: Pawel MOLL Date: Fri Feb 29 12:41:31 2008 +0100 [ALSA] IEC958 definitions for consumer status channel, byte 4 Added definition for byte 4 of SPDIF channel status, according to second edition of IEC 60958-3 (consumer) spec. Signed-off-by: Pawel MOLL Signed-off-by: Takashi Iwai commit 52fe0f9d59cf4f5842bd319e4f212f907abd2e5d Author: Matthew Ranostay Date: Fri Feb 29 12:08:20 2008 +0100 [ALSA] hda: add verbs for 92hd73xxx laptops Added core_init[] for several 92hd73xxx laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit bce6c2b5b4dbe8cd97c48c633b62adeb535954ad Author: Matthew Ranostay Date: Fri Feb 29 12:07:43 2008 +0100 [ALSA] hda: disable power management on fixed ports Power management can't be enabled on fixed ports, since the presence will always return false and prevent output. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 3c9a3203ff9863fbe798030928f496347c2ed3bd Author: Harvey Harrison Date: Fri Feb 29 11:59:26 2008 +0100 [ALSA] sound: hda: missing includes of hda_patch.h Move the array declaration to hda_codec.c where it is used and add includes where the individual presets are declared. Fixes the following sparse warnings: sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static? sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static? sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static? sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static? sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static? sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static? sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static? sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 64ed0dfd1f42edb15f4d18c13d7696edbc2f7e4c Author: Takashi Iwai Date: Fri Feb 29 11:57:53 2008 +0100 [ALSA] hda-codec - Use int instead of long in patch_sigmatel.c The HD-audio parameters are at most 32bit int. Signed-off-by: Takashi Iwai commit 8b55178515e8872670dc830203dad0e9e51e16be Author: Harvey Harrison Date: Fri Feb 29 11:56:48 2008 +0100 [ALSA] sound: patch_sigmatel.c fix shadowed variable warning Temp variable in the loop shadows the second argument (which is otherwise unused in this function). Change this to defcfg as it is used to hold the default config. sound/pci/hda/patch_sigmatel.c:2759:18: warning: symbol 'cfg' shadows an earlier one sound/pci/hda/patch_sigmatel.c:2734:26: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 0b76b51e5807951995a39ea791b39971a7ae945f Author: Harvey Harrison Date: Fri Feb 29 11:54:49 2008 +0100 [ALSA] sound: hdspm.c fix returning void expression warnings Just drop the returns. sound/pci/rme9652/hdspm.c:1031:3: warning: returning void-valued expression sound/pci/rme9652/hdspm.c:1033:3: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 0cd87b10ca29a351c61c8c63761ab8fb48e47b2f Author: Harvey Harrison Date: Fri Feb 29 11:54:26 2008 +0100 [ALSA] sound: riptide.c fix shadowed variable warnings In both cases we are passing around the substream number, use sub_num for this. sound/pci/riptide/riptide.c:1633:6: warning: symbol 'index' shadows an earlier one sound/pci/riptide/riptide.c:121:12: originally declared here sound/pci/riptide/riptide.c:1673:6: warning: symbol 'index' shadows an earlier one sound/pci/riptide/riptide.c:121:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit caba7f70fce924dc5da2019f7678189086d0acd4 Author: Harvey Harrison Date: Fri Feb 29 11:53:59 2008 +0100 [ALSA] sound: pcxhr_core.c fix shadowed variable warning Inner loop redeclares err with u32 rather than int, stupid fix here is to change the inner err to err2. sound/pci/pcxhr/pcxhr_core.c:1008:8: warning: symbol 'err' shadows an earlier one sound/pci/pcxhr/pcxhr_core.c:983:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit ff143874d09a5850e7bf6c68d141243cb12a7b58 Author: Harvey Harrison Date: Fri Feb 29 11:46:57 2008 +0100 [ALSA] sound: virtuoso.c fix shadowed variable warning Use priv_idx as an identifier. sound/pci/oxygen/virtuoso.c:277:15: warning: symbol 'index' shadows an earlier one sound/pci/oxygen/virtuoso.c:56:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit c3daa92d60552891057b65f278d882348b76fffe Author: Harvey Harrison Date: Fri Feb 29 11:52:50 2008 +0100 [ALSA] sound: ice1712.c fix shadowed variable warnings In all four case, adding a private value to the iooff index, call it priv_idx. sound/pci/ice1712/ice1712.c:1300:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1312:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1338:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here sound/pci/ice1712/ice1712.c:1350:6: warning: symbol 'index' shadows an earlier one sound/pci/ice1712/ice1712.c:85:12: originally declared here [tiwai - fixed coding issues as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit f2948fc2f0e1c19b8bea77a14338d338e941ac9a Author: Harvey Harrison Date: Fri Feb 29 11:44:57 2008 +0100 [ALSA] sound: emu10k1x.c fix shadowed variable warnings enable in these contexts refers specifically to intr enable, as per the two functions it is found in. Use intr_enable instead. sound/pci/emu10k1/emu10k1x.c:330:15: warning: symbol 'enable' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here sound/pci/emu10k1/emu10k1x.c:341:15: warning: symbol 'enable' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:53:12: originally declared here instead of shadowing, use cap_voice as we test for the capture voice in this statement. sound/pci/emu10k1/emu10k1x.c:798:25: warning: symbol 'pvoice' shadows an earlier one sound/pci/emu10k1/emu10k1x.c:787:24: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 4677df07e551d64167f64eba5e3563b3df7f4ca8 Author: Harvey Harrison Date: Fri Feb 29 11:44:26 2008 +0100 [ALSA] sound: emuproc.c fix signedness warning Reading regs from the fpga into an int instead of a u32, trivial fix. sound/pci/emu10k1/emuproc.c:422:34: warning: incorrect type in argument 3 (different signedness) sound/pci/emu10k1/emuproc.c:422:34: expected unsigned int [usertype] *value sound/pci/emu10k1/emuproc.c:422:34: got int * Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 3fa4a9073886a1031400c19e8b09fca3eebb645f Author: Harvey Harrison Date: Fri Feb 29 11:41:56 2008 +0100 [ALSA] sound: au88x0_pcm.c fix integer as NULL pointer warning sound/pci/au88x0/au88x0_pcm.c:508:15: warning: Using plain integer as NULL pointer Also some small codingstyle fixes. Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 470f23b873679b045908551302fec6b1edf05a5a Author: Ahmet İnan Date: Thu Feb 28 12:46:32 2008 +0100 [ALSA] snd-dummy - better realtime app support when the time interval for a period is smaller than kernel HZ, then snd-aloop and snd-dummy cannot call snd_pcm_period_elapsed as fast enough annymore. this happens for example with games. but the app still needs to see, that the buffer actually did go further, which is provided by these patches. Signed-off-by: Ahmet İnan mathematik.uni-freiburg.de> Signed-off-by: Takashi Iwai commit bed515b0dfdcf8f440c7e6c5bad8ce3eb96fb625 Author: Harvey Harrison Date: Thu Feb 28 12:02:56 2008 +0100 [ALSA] sound: ca0106_mixer.c fix shadowed variable warnings Change the variable err to _err within the ADD_CTLS macro to avoid shadowing the local variable. sound/pci/ca0106/ca0106_mixer.c:710:2: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here sound/pci/ca0106/ca0106_mixer.c:712:3: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here sound/pci/ca0106/ca0106_mixer.c:721:3: warning: symbol 'err' shadows an earlier one sound/pci/ca0106/ca0106_mixer.c:663:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit d967a02712f09265b3c357f35f125715f5dffd2f Author: Harvey Harrison Date: Thu Feb 28 12:02:22 2008 +0100 [ALSA] sound: ca0106_main.c fix shadowed variable warnings change to intr_enable as per the two functions it is defined in. sound/pci/ca0106/ca0106_main.c:438:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here sound/pci/ca0106/ca0106_main.c:449:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit c74056d437401dc7d43970cd845c34a7e28723c0 Author: Harvey Harrison Date: Thu Feb 28 12:00:48 2008 +0100 [ALSA] sound: ali5451.c fix shadowed variable warnings enable is used to test for whether or not spdif should be enabled, change to spdif_enable. sound/pci/ali5451/ali5451.c:1812:15: warning: symbol 'enable' shadows an earlier one sound/pci/ali5451/ali5451.c:63:12: originally declared here sound/pci/ali5451/ali5451.c:1840:27: warning: symbol 'enable' shadows an earlier one sound/pci/ali5451/ali5451.c:63:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 608b10bad3563e2349393136ce421d9f67329170 Author: Harvey Harrison Date: Thu Feb 28 11:58:18 2008 +0100 [ALSA] sound: ac97_pcm.c fix shadowed variable warning err is always assigned before it is used, no need to declare another inside the if statement. sound/pci/ac97/ac97_pcm.c:577:7: warning: symbol 'err' shadows an earlier one sound/pci/ac97/ac97_pcm.c:572:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 44977b719f7425ddb1cb67d647a4f588a9718163 Author: Harvey Harrison Date: Thu Feb 28 11:57:47 2008 +0100 [ALSA] sound: rme96.c fix integer as NULL pointer warning kernel style does assignment outside of if() block sound/pci/rme96.c:1562:71: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 4db9e4f2b5278338ff9487eefdc8e32109aa0552 Author: Harvey Harrison Date: Thu Feb 28 11:57:23 2008 +0100 [ALSA] sound: rme32.c fix integer as NULL pointer warning kernel style does assignment outside of if() statements. sound/pci/rme32.c:1353:71: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit e37273d3484e241063fefb2611a0c93eb0d9ddbd Author: Harvey Harrison Date: Thu Feb 28 11:56:37 2008 +0100 [ALSA] sound: maestro3.c fix shadowed variable warnings change id to elem_id as it is used to initialize each mixer element sound/pci/maestro3.c:2071:25: warning: symbol 'id' shadows an earlier one sound/pci/maestro3.c:67:13: originally declared here index is used in each of these places to count over the dsp's memory, change to the name dsp_index sound/pci/maestro3.c:2572:9: warning: symbol 'index' shadows an earlier one sound/pci/maestro3.c:66:12: originally declared here sound/pci/maestro3.c:2604:9: warning: symbol 'index' shadows an earlier one sound/pci/maestro3.c:66:12: originally declared here [tiwai - fixed coding style issues as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 58e4334e82c0f4eb0147a905a127bd14f0ea0a2d Author: Harvey Harrison Date: Thu Feb 28 11:55:07 2008 +0100 [ALSA] sound: fm801.c fix shadowed variable warning id was only used as a counter in a for loop, move the declaration to where it is used and change it to i. sound/pci/fm801.c:1288:6: warning: symbol 'id' shadows an earlier one sound/pci/fm801.c:51:13: originally declared here [tiwai - fixed a coding style issue as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 3463d8fa14ba2e00ede9894efdaa65189eb04b36 Author: Harvey Harrison Date: Thu Feb 28 11:53:41 2008 +0100 [ALSA] sound: es1968.c fox shadowed variable warning id is used when initializing the mixer elements, use elem_id here instead. sound/pci/es1968.c:1963:25: warning: symbol 'id' shadows an earlier one sound/pci/es1968.c:129:13: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 405b0a377cfe3750f4af54b80d0402c3fe777b87 Author: Harvey Harrison Date: Thu Feb 28 11:53:07 2008 +0100 [ALSA] sound: ens1370.c fix shadowed variable warning index is incremented only when AC97_EI_SPDIF and then assigned to the index field. Change the temporary name to is_spdif. sound/pci/ens1370.c:1638:10: warning: symbol 'index' shadows an earlier one sound/pci/ens1370.c:84:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 7dfa31ed5e1fc0ace7f1959b9564ad43d78fd7af Author: Harvey Harrison Date: Thu Feb 28 11:52:17 2008 +0100 [ALSA] sound: cmipci.c fix shadowed variable warning A temporary variable for each mixer element is used in an initialization loop, use the name elem_id. sound/pci/cmipci.c:2747:26: warning: symbol 'id' shadows an earlier one sound/pci/cmipci.c:56:13: originally declared here [tiwai - fixed a coding style issue as well] Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 964a788e0ba64aa4ce2e6488718f3ee28cc2e61e Author: Mark Brown Date: Tue Feb 26 13:16:08 2008 +0100 [ALSA] soc - Report errors from snd_soc_dapm_set_endpoint() Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit b26451c059e741ec5e3389f7758627cb094b3766 Author: Takashi Iwai Date: Tue Feb 26 11:56:35 2008 +0100 [ALSA] hda-codec - Add docking-station mic input for Thinkpad X61 Added the docking-stationc mic input to the capture source list for Thinkpad X61. Signed-off-by: Takashi Iwai commit aea7bb0a6ff5e751ef611ba9c1146c3c8489f25e Author: Takashi Iwai Date: Mon Feb 25 18:26:41 2008 +0100 [ALSA] hda-codec - Fix initial DAC numbers of 92HD71bxx codecs Fix the initial num_dacs of 92HD71bxx codecs. Signed-off-by: Takashi Iwai commit 25a47b6b01314f027553d231c1a67dee27ff02b0 Author: Clemens Ladisch Date: Mon Feb 25 11:04:19 2008 +0100 [ALSA] usb-audio: sort quirks list Move some entries to their proper position so that the list is again sorted by vendor/product ID. Signed-off-by: Clemens Ladisch commit ea6b5828cdbbedaf26b12ae64befbec18084ea3c Author: Clemens Ladisch Date: Mon Feb 25 10:59:52 2008 +0100 [ALSA] mpu401: reduce tx loop timeout Reduce the number of times to check for a non-empty Tx FIFO from 100 to 2 because there is no MPU-401 implementation that needs more than one or two reads to determine the actual FIFO status. Signed-off-by: Clemens Ladisch commit 47ba97f8fa01bb5b48e73b4b1271fbf1436a2d4b Author: Remy Bruno Date: Fri Feb 22 17:57:02 2008 +0100 [ALSA] hdsp - RME 9632 fix at 192kHz The bits indicating SPDIF frequency in the status register are not the same for the 9632 than for the other cards, because it also supports 192kHz. A specific bitmask has thus been added (used in hdsp_spdif_sample_rate()). The 9632 does not seem to report external sample rates greater than 96kHz. In this case, the best seems to report spdif rate when autosync reference is spdif. This also required to move function hdsp_spdif_sample_rate(). Signed-off-by: Remy Bruno Signed-off-by: Takashi Iwai commit ae0afd81b34ce287ffda7dd4e33b5144de2ad39d Author: Matthew Ranostay Date: Fri Feb 22 17:55:05 2008 +0100 [ALSA] hda: Mic as output fix Added logic to check if AUTO_PIN_FRONT_MIC is available for output switch, if AUTO_PIN_MIC isn't. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 88d18ea2c2b40496b56efcb354e9eae1f09ef126 Author: Takashi Iwai Date: Thu Feb 21 14:11:09 2008 +0100 [ALSA] hda-codec - Add missing descriptions for STAC codec models Added the missing descriptions for STAC codec models. Signed-off-by: Takashi Iwai commit c354cd7d9627930dcfbcff8355d422fa1bca948a Author: Takashi Iwai Date: Thu Feb 21 12:40:00 2008 +0100 [ALSA] seq-oss - Remove invalid BUG() Removed invalid BUG() - the driver should handle the error case properly rather than issuing BUG(). Signed-off-by: Takashi Iwai commit 87218e9c6e7f7908baf98030b6d724e14aa8b5cd Author: Takashi Iwai Date: Thu Feb 21 08:13:11 2008 +0100 [ALSA] hda-intel - Use PCI_DEVICE() macro Clean up the pci id table using PCI_DEVICE() macro. Signed-off-by: Takashi Iwai commit 53463a8302d0c3148c4c64c034312215e76429c2 Author: Ahmet İnan Date: Thu Feb 21 07:55:30 2008 +0100 [ALSA] snd-dummy - improved timing, silence on prepare Signed-off-by: Ahmet İnan mathematik.uni-freiburg.de> Signed-off-by: Takashi Iwai commit 03d7ca177fd2ecac8eb22f482f327ecaae4ac8cb Author: Matthew Ranostay Date: Thu Feb 21 07:51:46 2008 +0100 [ALSA] hda: STAC927x analog mic Some laptops have a internal analog microphone that is not setup by the BIOS. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit a7662640104599249e15cda7839e9050f92e6a0e Author: Matthew Ranostay Date: Thu Feb 21 07:51:14 2008 +0100 [ALSA] hda: 92HDxxxx PCI Quirks Added PCI_QUIRKS for laptop that have the 92HDxxx family of codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 7989fba979daea99285079dc0099ab658e4db759 Author: Matthew Ranostay Date: Thu Feb 21 07:50:12 2008 +0100 [ALSA] hda: STAC927x invalid association value STAC_DELL_BIOS quirks were setting the association value wrong for port 0x0f, which prevented it from being included in hp_outs[]. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 4451089e2aafba87d7574e27c839895131a80293 Author: Matthew Ranostay Date: Thu Feb 21 07:49:31 2008 +0100 [ALSA] hda: fix STAC927x power management Fix issue on STAC927x codecs that first DAC was getting powered down even if was being used. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit 6876a5323f6169f9321354a398f7364b41ca82fa Author: Jarkko Nikula Date: Wed Feb 20 17:13:44 2008 +0100 [ALSA] ASoC: Add support for 12 MHz MCLK in TLV320AIC3X Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 9e235323db4689e8b7e123252b998a4904806c38 Author: Takashi Iwai Date: Wed Feb 20 12:13:29 2008 +0100 [ALSA] Add description of aw2 driver Added a brief description of aw2 driver to ALSA-Configuration.txt. Signed-off-by: Takashi Iwai commit 34b6757dc7ce0e9d5d3930b29d53a7bcb0fde047 Author: Takashi Iwai Date: Wed Feb 20 12:12:58 2008 +0100 [ALSA] aw2 - Add missing module parameters Added the missing declarations for module parameters. Signed-off-by: Takashi Iwai commit 98f2a97f207a776603173ee96327d977e592579d Author: Cedric Bregardis Date: Wed Feb 20 12:05:13 2008 +0100 [ALSA] Emagic Audiowerk 2 ALSA driver. Signed-off-by: Cedric Bregardis Signed-off-by: Jean-Christian Hassler Signed-off-by: Takashi Iwai commit 67ebcb0311110dc7268bb5b135bf437d8033337e Author: Takashi Iwai Date: Tue Feb 19 15:03:57 2008 +0100 [ALSA] hda-codec - Don't create multiple capture streams for single inputs When the device has only one input source, it makes no sense to have multiple capture streams. Signed-off-by: Takashi Iwai commit 85860c06aba5e145805ad840553a2388e60a7e23 Author: Takashi Iwai Date: Tue Feb 19 15:00:15 2008 +0100 [ALSA] hda-codec - Fix ALC268 capture source Initialize the capture source properly for auto model. It's especially important for cases that only mic is detected. Signed-off-by: Takashi Iwai commit aef9d318b1d741d80486ff7ea3507a8321dedf6b Author: Takashi Iwai Date: Tue Feb 19 13:16:41 2008 +0100 [ALSA] hda-codec - Add beep volume control to ALC268 Added the beep volume control to ALC268 codec support code. Since the codec doesn't return the correct AMP caps, we need to override the value. Signed-off-by: Takashi Iwai commit 77a261b75521564dcc5f22355cce4830f6b1376a Author: Kailang Yang Date: Tue Feb 19 11:38:05 2008 +0100 [ALSA] hda-codec - Fix ALC662 recording Fixed ALC662 recording issue. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 8b6ed8e70d9a7c39748a9902d64138e070d4064b Author: Takashi Iwai Date: Tue Feb 19 11:36:35 2008 +0100 [ALSA] hda-intel - Clean up stream definitions Clean up the code to define playback/capture streams. Signed-off-by: Takashi Iwai commit 49c88b85b53767f97eb8c9171cb0b976c62a0114 Author: Takashi Iwai Date: Mon Feb 18 13:06:49 2008 +0100 [ALSA] ca0106 - Add master volume controls Added master volume and switch controls for ca0106 using vmaster. Signed-off-by: Takashi Iwai commit 1c82ed1bc531746a8fa9b46c593ddce546f28026 Author: Takashi Iwai Date: Mon Feb 18 13:05:50 2008 +0100 [ALSA] Keep private TLV entry in vmaster itself Use a private array for TLV entries of virtual master controls instead of (supposed) static array. This cleans up the existing codes. Also, now vmaster assumes the simple dB-range TLV that is the only type it can handle. Signed-off-by: Takashi Iwai commit e922b0028fad87de0d262f9fa51f98595d2df258 Author: Takashi Iwai Date: Mon Feb 18 13:03:13 2008 +0100 [ALSA] Move vmaster code to sound core Move the codes for virtual master controls to sound core part so that not only hda-intel drivers can use it. Signed-off-by: Takashi Iwai commit 4235a31784f59c9be5ff71534743c055091f9735 Author: Takashi Iwai Date: Mon Feb 18 12:23:13 2008 +0100 [ALSA] intel8x0 - Add support of 8 channel sound Added the support of 8 channel sound for codecs that are known to work. So far, only ALC850 is marked as a 8ch-support codec. This fix is a modified version of the patch on ALSA BTS#2097 by Martin Ellis: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2097 Signed-off-by: Takashi Iwai commit 2eef1258e54722b1c4efac6e5760d2153f96c4b4 Author: Hans-Christian Egtvedt Date: Mon Feb 18 11:44:56 2008 +0100 [ALSA] Add __devinit macro to at73c213 sound driver probe functions This patch adds __devinit to the functions used when probing. Will also reduce the memory footprint a bit if CONFIG_HOTPLUG is not enabled. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai commit 310355c111dbae005269fe3fc39afdd60779bf5d Author: Vladimir Barinov Date: Mon Feb 18 11:40:22 2008 +0100 [ALSA] Davinci ASoC support Add ASoC support for the TI Davinci SoC and the Davicni-EVM reference board. It includes: - ASoC Davinci DMA driver - ASoC Davinci I2S (Davinci McBSP module based) driver - ASoC Davinci-EVM reference board Signed-off-by: Vladimir Barinov Signed-off-by: Takashi Iwai commit b40b04ad380ad641e5740486e4b9a56fd32b64cc Author: Takashi Iwai Date: Sat Feb 16 09:44:56 2008 +0100 [ALSA] hda-codec - Add model=mobile for AD1884A & co Added the new model mobile for AD1884A and compatible codecs. It's a reduced version of model=laptop. Signed-off-by: Takashi Iwai commit c5059259688ab76f14f2f69a93e13575a36b614b Author: Takashi Iwai Date: Sat Feb 16 09:43:56 2008 +0100 [ALSA] hda-codec - Add support of AD1883/1884A/1984A/1984B Added the support of new AD codecs: AD1883, AD1884A, AD1984A and AD1984B. These are almost compatible except for additional digital pins, etc. Signed-off-by: Takashi Iwai commit 83ac08c0846bc6106d6c7fbb342eab02b32dd399 Author: Liam Girdwood Date: Fri Feb 15 16:43:11 2008 +0100 [ALSA] ASoC: WM9713 driver This patch adds an ASoC driver for the WM9713 AC97 codec. Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai commit 88c71a9974693f2b2824b09340269511dd7cbe18 Author: Takashi Iwai Date: Thu Feb 14 17:27:17 2008 +0100 [ALSA] hda-codec - Fix missing capsrc_nids for ALC262 ALC262 must have capsrc_nids defined as well as in ALC882. Also, add a NULL check in alc882_mux_enum_put to avoid Oops. Signed-off-by: Takashi Iwai commit 814b1a5ce6b35bafd583ae813da97e8254bb1930 Author: Libin Yang Date: Thu Feb 14 12:55:13 2008 +0100 [ALSA] HDA-Intel - Patch to support RV7xx HDMI Audio This patch is to add R7xx HDMI audio support. Signed-off-by: Libin Yang Signed-off-by: Takashi Iwai commit d260cdf65657382c4cde366a1c7d4ddce669a427 Author: Takashi Iwai Date: Wed Feb 13 17:19:35 2008 +0100 [ALSA] hda-codec - Fix breakage of resume in auto-config of realtek codecs The last patch for fixing the auto-config pin setting breaks the resume due to a wrong use of snd_hda_codec_amp_stereo(). The code in the init hook shouldn't touch the amp cache. Signed-off-by: Takashi Iwai commit c8cd1281171602033861d0888273e0512f9b165c Author: Takashi Iwai Date: Wed Feb 13 16:59:29 2008 +0100 [ALSA] hda-codec - Add more names to vendor list Added more known names to the vendor id list. Signed-off-by: Takashi Iwai commit 9a08160bdbe3148a405f72798f76e2a5d30bd243 Author: Takashi Iwai Date: Tue Feb 12 18:37:26 2008 +0100 [ALSA] hda-codec - Add "IEC958 Default PCM" switch Added a new mixer switch to enable/disable the sharing of the default PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM" switch is on, the PCM stream is routed both to analog and SPDIF outputs. This is the behavior in the earlier version. Turning this switch off has a merit for some codecs, though. Some codec chips don't support 24bit formats for SPDIF but only for analog outputs. In this case, you can use 24bit format by disabling this switch. Signed-off-by: Takashi Iwai commit f6c7e5461e9046445d50c5c7a9a4587824239623 Author: Takashi Iwai Date: Tue Feb 12 18:32:23 2008 +0100 [ALSA] hda-codec - Fix auto-configuration of Realtek codecs This patch fixes some bugs in the auto-configurator of Realtek codecs: - add missing pin set-up for speaker pins - fix the speaker auto-mute function not to conflict with the existing "Speaker" mixer switch Signed-off-by: Takashi Iwai commit 5832fcf8b55cfdbd7d8511f747d15fd20ed4703d Author: Takashi Iwai Date: Tue Feb 12 18:30:12 2008 +0100 [ALSA] hda-codec - More fix-up for auto-configuration In some cases, the BIOS sets up only the HP pins with different assoc and sequence numbers, e.g. on FSC Esprimo with ALC262. This patch adds a fix-up for such a case. When multiple HPs are defined and no line-outs is found, the configurator tries to re-assign some pins from HP list to line-out, judging from the sequence number. Signed-off-by: Takashi Iwai commit 5d5d5f43f1b835c375de9bd270cce030d16e2871 Author: Takashi Iwai Date: Tue Feb 12 12:11:36 2008 +0100 [ALSA] hda-codec - Implement auto-mic jack sensing on Samsung laptops Implemented the auto-mic jack sensing for Samsung laptops with AD1986A codec chip (model=laptop-eapd). The hardware uses pin 0x1d and 0x1f for the internal and external mics, respectively. Signed-off-by: Takashi Iwai commit e1406348129dc2db60ccad079c3d014200590557 Author: Takashi Iwai Date: Mon Feb 11 18:32:32 2008 +0100 [ALSA] hda-codec - Clean up capture source selection of Realtek codecs Clean up the codes of the capture source selection for Realtek codecs. Now using common helper functions with the new capsrc_nids field. Signed-off-by: Takashi Iwai commit f0824812af1bf4f7d27e054a2ca2686385d770bb Author: Takashi Iwai Date: Mon Feb 11 15:54:34 2008 +0100 [ALSA] hda-codec - Fix automute of AD1981HD hp model Reprogram the speaker-pin setting at each HP pin plug to make sure the spekaer auto-muting on AD1981HD hp model. Signed-off-by: Takashi Iwai commit 937b416027d8f79d7b37bb63b6585ea8fdf125de Author: Takashi Iwai Date: Mon Feb 11 14:52:36 2008 +0100 [ALSA] hda-codec - Fix ALC880 F1734 model Fixed some issues with ALC880 F1734 model - fix capture via mic - enable volume-wheel control Signed-off-by: Takashi Iwai commit fdafad6fc24a11070bcd0885100be7143cc038f8 Author: Pavel Hofman Date: Mon Feb 11 14:48:06 2008 +0100 [ALSA] AK4114 - listing regs in proc A simple patch for listing AK4114 regs in proc. Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai commit aa27a44395c3d35bc16e52f1e709e0fb2a3709e4 Author: Jonathan Woithe Date: Fri Feb 8 12:44:17 2008 +0100 [ALSA] hda-codec - remove duplicate controls in alc268 test mixer I've just noticed that there are a handful of duplicate controls in the ALC268 test model mixer. This patch (against alsa-driver 1.0.16) removes them. Signed-off-by: Jonathan Woithe Signed-off-by: Takashi Iwai commit cc4d13873aeacf89901861706a7a083d5a82e26a Author: Takashi Iwai Date: Thu Feb 7 17:12:01 2008 +0100 [ALSA] hda-codec - Correct HDMI transmitter names Give better names to the new HDMI transmitter chips. Signed-off-by: Takashi Iwai commit 21c7b0819f0d04788b2d3341f5062744373589a1 Author: Takashi Iwai Date: Thu Feb 7 12:06:32 2008 +0100 [ALSA] hda-intel - Fix a compile error with CONFIG_SND_DEBUG_DETECT=y Forgot to get rid of the obsolete fragsize field from a debug print. Signed-off-by: Takashi Iwai commit ef2cd2ccad66b4aba518eca7514eface267ee0f3 Author: Jaroslav Kysela Date: Wed Feb 6 20:04:49 2008 +0100 [ALSA] ice1712 - added support for M-Audio Delta 66E See ALSA bug#3327 for more details. Experimental. Also fix support for M-Audio Delta 1010E - subdevice check. Signed-off-by: Jaroslav Kysela commit a60567d13c047b03167df4aed6b7a8730f267234 Author: Jaroslav Kysela Date: Wed Feb 6 15:48:06 2008 +0100 [ALSA] Added support for Delta1010E (newer revisions of Delta1010) For more details, see ALSA bug#3327 . Signed-off-by: Jaroslav Kysela commit cf7aaca8bae3a719db47ff6eca5f6f2f42eba05a Author: Takashi Iwai Date: Wed Feb 6 15:05:57 2008 +0100 [ALSA] hda-intel - Support 64bit buffer allocation The HD-audio hardware usually supports 64bit address for DMA and other buffers. The patch enables the feature if supported. Signed-off-by: Takashi Iwai commit 4ce107b990d994a0fccea9b1e885b08a0daea495 Author: Takashi Iwai Date: Wed Feb 6 14:50:19 2008 +0100 [ALSA] hda-intel - Use SG buffer Use SG buffers for the HD-audio instead of linear buffers. Signed-off-by: Takashi Iwai commit b76c850fbc280d6c0ff786653915f3a9700b5912 Author: Matthew Ranostay Date: Wed Feb 6 14:49:44 2008 +0100 [ALSA] hda: STAC927x power down inactive DACs On several laptops that have STAC9228 codecs have unused DACs, this powers them down to a D3 state. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai commit d043143d803ad9a9f4a66d6a833876735fb7b869 Author: Alan Horstmann Date: Wed Feb 6 14:43:54 2008 +0100 [ALSA] ice1712 - Fix hoontech MIDI input Fixes the problems with Midi In on Hoontech/STA dsp24 cards, for example with DSP2000 box, without restricting the box configurations available. Also adds mpu_401 name strings. Signed-off-by: Alan Horstmann Signed-off-by: Takashi Iwai commit 7d664ed58fb54bc421d5fe8e5e0adec736fd0558 Author: Takashi Iwai Date: Wed Feb 6 14:41:59 2008 +0100 [ALSA] hda-codec - Add ID for an unknown HDMI codec chip Added the ID for an unknown HDMI codec chip on Jetway J9F2. Signed-off-by: Takashi Iwai commit 7ba72ba1fe891a94b1e9d506236507e4dc50e872 Author: Takashi Iwai Date: Wed Feb 6 14:03:20 2008 +0100 [ALSA] hda-intel - Fix PCM device number assignment In the current scheme, PCM device numbers are assigned incrementally in the order of codecs. This causes problems when the codec number is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then the HDMI becomes the first PCM, which is picked up as the default output device. Unfortuantely this doesn't work well with normal setups. This patch introduced the fixed device numbers for the PCM types, namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned according to the corresponding PCM type. After this patch, HDMI will be always assigned to PCM #3, SPDIF to PCM #1, and the first analog to PCM #0, etc. Signed-off-by: Takashi Iwai commit 6c4cc3a8ed15aacc06a5fd369639fef633cee2bc Author: Takashi Iwai Date: Mon Feb 4 12:44:11 2008 +0100 [ALSA] Add more fallbacks to OSS PHONEOUT mixer map Added more fallbacks to OSS PHONEOUT mixer mapping. This corresponds to the speaker output in general, so now "Mono" and "Speaker" are assigned. Signed-off-by: Takashi Iwai commit a76969228a5b341f9c968abbc6eb7655ac3734e4 Author: Takashi Iwai Date: Mon Feb 4 12:36:32 2008 +0100 [ALSA] ice1724 - Add ADC setup in set_rate callback for Audiophile192 Added the missing GPIO setup for the AK5385A ADC codec on Audiophile192. Signed-off-by: Takashi Iwai commit f339eb0f30e6598c1d3f91b01a3e634364fab7a2 Author: Takashi Iwai Date: Mon Feb 4 12:34:59 2008 +0100 [ALSA] ice1724 - Enable AK4114 support for Audiophile192 Fixed and enabled the support of AK4114 chip on Audiophile192. Signed-off-by: Takashi Iwai commit f12462c5224bf992f5ed4d37af4d42622f7d5934 Author: Mirco Tischler Date: Mon Feb 4 12:33:59 2008 +0100 [ALSA] hda-codec - Add support of Zepto laptops Adds support for zepto laptops with alc268 intel_hda codec. Signed-off-by: Mirco Tischler Signed-off-by: Takashi Iwai commit 12a733e56c0f1c78bd34bf36e9765463fd51c88e Author: Takashi Iwai Date: Mon Feb 4 12:32:20 2008 +0100 [ALSA] hda-codec - Add SI HDMI codec support Added the support of SI HDMI codec, found in ASUS machines. ALSA bug#3654 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3654 Signed-off-by: Takashi Iwai commit 09f99701393c7b66bde01df6c292fe5d9f843033 Author: Takashi Iwai Date: Mon Feb 4 12:31:13 2008 +0100 [ALSA] hda-codec - Allow multiple SPDIF devices The current code doesn't allow multiple SPDIF devices, and causes errors when multiple SPDIF devices are found (e.g. SPDIF out and HDMI). This patch allows multiple SPDIF devices by incrementing the index automatically. Signed-off-by: Takashi Iwai commit bf277785d6921b8a9f8339ad5ad632aef6cae73c Author: Tobin Davis Date: Sun Feb 3 20:31:47 2008 +0100 [ALSA] HDA - Add support for the OQO Model 2 This patch adds support for the OQO Model 2 Ultra Mobile PC. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai commit dc952e693e3653d0fa50ee1986a47d88de3465b7 Author: Kristoffer Ericson Date: Fri Feb 1 13:16:10 2008 +0100 [ALSA] Add SUPERH depends to sound/soc/sh/Kconfig Currently you will see an empty "SoC Audio support for SuperH" menu when building for other archs (example pxa). This patch adds "depends on SUPERH" to remove that empty menu. Signed-off-by: Kristoffer Ericson Signed-off-by: Takashi Iwai commit 102646085ab530a0e155d2bde424589b83ef5a89 Author: Mike Montour Date: Fri Feb 1 13:12:12 2008 +0100 [ALSA] soc - Mono voice playback volume for WM8753 Voice playback volume is in register bits 0:2, not 4:6. From: Mike Montour Signed-off-by: Mark Brown Cc: Werner Almesberger Signed-off-by: Takashi Iwai commit 4a1fd556c1f1fbd6d9d6739efec042324732b697 Author: Catalin Marinas Date: Mon Apr 21 18:42:04 2008 +0100 [ARM] fix 48d7927bdf071d05cf5d15b816cf06b0937cb84f The proc-*.S files have the _prefetch_abort pointer placed at the end of the processor structure but the cpu-multi32.h defines it in the second position. The patch also fixes the support for XSC3 and the MMU-less CPUs (740, 7tdmi, 940, 946 and 9tdmi). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 328d8a012583f0c25f8db25a2e5e63b521201542 Author: Philipp Zabel Date: Sun Apr 20 17:42:16 2008 +0100 [ARM] 5010/1: htc-pasic3: remove unused defines and includes Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 5e659e4cb0eedacdc1f621a61e400a4611ddef8a Author: Pavel Emelyanov Date: Thu Apr 24 01:02:16 2008 -0700 [NET]: Fix heavy stack usage in seq_file output routines. Plan C: we can follow the Al Viro's proposal about %n like in this patch. The same applies to udp, fib (the /proc/net/route file), rt_cache and sctp debug. This is minus ~150-200 bytes for each. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3d36696024499aef19dbf24a781e91a24fbbe4af Author: David Woodhouse Date: Thu Apr 24 00:59:25 2008 -0700 [AF_UNIX] Initialise UNIX sockets before general device initcalls When drivers call request_module(), it tries to do something with UNIX sockets and triggers a 'runaway loop modprobe net-pf-1' warning. Avoid this by initialising AF_UNIX support earlier. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit 8243e40acb087fcd9e7609333f0b0551391f49fc Author: David S. Miller Date: Wed Apr 23 22:52:13 2008 -0700 [SPARC64]: Store magic cookie and trap type in pt_regs. This sets us up for several simplifications and facilities: 1) The magic cookie lets us identify trap frames more accurately in stack backtraces. 2) The trap type lets us simplify all of the "are we in a syscall" state management and checks. 3) We can now see if a task off the cpu is sleeping in a system call or not. In fact, we can see what trap it is sleeping in whatever the type. The utrace guys will use this. Based upon some discussions with Roland McGrath. Signed-off-by: David S. Miller commit db9a7fb12c8d05104e8a541003593d62a42ade8f Author: David S. Miller Date: Wed Apr 23 22:22:29 2008 -0700 [SPARC64]: PROM debug console can be CON_ANYTIME. No per-cpu or similar resources need to be setup before we can use this console device. Signed-off-by: David S. Miller commit c6ca978370c57422cdcf814af1da96cfc7c24811 Author: Adrian Bunk Date: Wed Apr 23 19:15:59 2008 -0700 sparc64: cleanup after SunOS/Solaris binary emulation removal The following cleanups are now possible: - arch/sparc64/kernel/entry.S:ret_sys_call no longer has to be global - arch/sparc64/kernel/sparc64_ksyms.c: remove no longer used prototypes Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a5c564279854c971a27cc650be4bb32c290e9ae7 Author: Adrian Bunk Date: Wed Apr 23 19:15:34 2008 -0700 sparc: cleanup after SunOS binary emulation removal The following cleanups are now possible: - arch/sparc/kernel/entry.S:ret_sys_call no longer has to be global - arch/sparc/kernel/signal.c:sys_sigpause() can be removed Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 919ee677b656c52c5f86d3d916786891220d5452 Author: David S. Miller Date: Wed Apr 23 05:40:25 2008 -0700 [SPARC64]: Add NUMA support. Currently there is only code to parse NUMA attributes on sun4v/niagara systems, but later on we will add such parsing for older systems. Signed-off-by: David S. Miller commit 1f261ef53ba06658dfeb5a9c3007d0ad1b85cadf Author: David S. Miller Date: Wed Mar 19 04:53:58 2008 -0700 [SPARC64]: Allocate TSB node-local. Signed-off-by: David S. Miller commit c1b1a5f1f1b2612b69b67381b223bce9f8ec4da5 Author: David S. Miller Date: Wed Mar 19 04:52:48 2008 -0700 [SPARC64]: NUMA device infrastructure. Record and propagate NUMA information for devices. Signed-off-by: David S. Miller commit 0c49a573ea93f777fd27f26b7853e7bf5a20e1a3 Author: David S. Miller Date: Wed Feb 13 22:15:46 2008 -0800 [SPARC64]: Kill pci_iommu_table_init() declaration. No longer exists. Signed-off-by: David S. Miller commit ce3b1d47a8605905b666649ea309b6471a75b4ed Author: David S. Miller Date: Wed Mar 19 03:54:09 2008 -0700 [SPARC64]: Once we have the boot cmdline, call parse_early_param() Signed-off-by: David S. Miller commit 30957a86c2442fb6d73aaa9a3153f023fe0a682b Author: David S. Miller Date: Wed Feb 13 22:07:34 2008 -0800 [SPARC64]: Remove unused asm-sparc64/numnodes.h This is handled with config options now. Signed-off-by: David S. Miller commit 86cfc751cb4d5da20904ae26c67fb6fd2a68a9c4 Author: David S. Miller Date: Wed Feb 13 22:01:57 2008 -0800 [SPARC64]: Decrease SECTION_SIZE_BITS to 30. We'll need this to handle NUMA properly on some systems. Signed-off-by: David S. Miller commit 4a28333984be123d9c063df23175c48749c4b4a0 Author: David S. Miller Date: Wed Feb 13 19:22:23 2008 -0800 [SPARC64]: Initialize MDESC earlier and use lmb_alloc() Signed-off-by: David S. Miller commit ad072004ca35a9918964ca7aee2bf00d79c8657f Author: David S. Miller Date: Wed Feb 13 19:21:51 2008 -0800 [SPARC64]: Use lmb_alloc() for PROM device tree. Signed-off-by: David S. Miller commit b97094560b991af5c62391014e72bfa4c3a3701f Author: David S. Miller Date: Wed Feb 13 19:20:45 2008 -0800 [SPARC64]: Call real_setup_per_cpu_areas() earlier and use lmb_alloc(). We have to do it like this before we can move the PROM and MDESC device tree code over to using lmb_alloc(). Signed-off-by: David S. Miller commit 9422273ba7d139537720c8c47514925d9a621e0d Author: David S. Miller Date: Wed Feb 13 18:31:41 2008 -0800 [SPARC64]: Fully use LMB information in bootmem_init(). Signed-off-by: David S. Miller commit 25b0c659dfb94f1ddaeda7a8c88ef7043f57f419 Author: David S. Miller Date: Wed Feb 13 18:20:14 2008 -0800 [SPARC64]: Start using LMB information in bootmem_init(). This allows us to kill the incredibly complicated and stupid function trim_pavail(). Signed-off-by: David S. Miller commit 3b2a7e23a9808e349bc5fb32327bacc5e81be79c Author: David S. Miller Date: Wed Feb 13 18:13:20 2008 -0800 [SPARC64]: Initialize LMB tables. Call lmb_add() on available regions, and call lmb_reserve() on the main kernel image and the ramdisk (if any). Signed-off-by: David S. Miller commit 4e82c9a606da2b1c1c7ea7dfd8052626a4c6d5d6 Author: David S. Miller Date: Wed Feb 13 18:00:03 2008 -0800 [SPARC64]: Move ramdisk discovery code out to seperate function. And add some comments explaining all of the quirks involved in the way the bootloader provides this information. Signed-off-by: David S. Miller commit 7347aefbccb47ce2d076d8ac7dff2cdd1435974c Author: David S. Miller Date: Wed Apr 23 23:30:59 2008 -0700 [LMB]: Fix lmb allocation regression. Changeset d9024df02ffe74d723d97d552f86de3b34beb8cc ("[LMB] Restructure allocation loops to avoid unsigned underflow") removed the alignment of the 'size' argument to call lmb_add_region() done by __lmb_alloc_base(). In doing so it reintroduced the bug fixed by changeset eea89e13a9c61d3928223d2f9bf2295e22e0efb6 ("[LMB]: Fix bug in __lmb_alloc_base()."). This puts it back. Signed-off-by: David S. Miller commit c9c1014b2bd014c7ec037bbb6f58818162fdb265 Author: Patrick McHardy Date: Wed Apr 23 22:10:48 2008 -0700 [RTNETLINK]: Fix bogus ASSERT_RTNL warning ASSERT_RTNL uses mutex_trylock to test whether the rtnl_mutex is held. This bogus warnings when running in atomic context, which f.e. happens when adding secondary unicast addresses through macvlan or vlan or when synchronizing multicast addresses from wireless devices. Mid-term we might want to consider moving all address updates to process context since the locking seems overly complicated, for now just fix the bogus warning by changing ASSERT_RTNL to use mutex_is_locked(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df698690341377c78a6c2e31fd116778dafb68d6 Author: Paul Mackerras Date: Thu Apr 24 14:05:15 2008 +1000 Revert "[POWERPC] Add compat handler for PTRACE_GETSIGINFO" This reverts commit e4cc58944c1e2ce41e3079d4eb60c95e7ce04b2b, as requested by Roland McGrath, because compat_ptrace_request (added in commit e16b27816462de700f9508d86954410c41105dc2, "ptrace: compat_ptrace_request siginfo") now handles this case. Signed-off-by: Paul Mackerras commit 75a44ce00b312f57264f42a0a985d17cd9994b98 Author: Len Brown Date: Wed Apr 23 23:00:13 2008 -0400 ACPICA: update Intel copyright Signed-off-by: Len Brown commit 6440be177f56e0b52dd81df82b78875d9a07d5f9 Merge: 49186b4... 0997149... Author: David S. Miller Date: Wed Apr 23 19:44:58 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 49186b4a083655a4ebf54e94baf0736256b01b47 Author: Zhu Yi Date: Wed Apr 23 19:44:13 2008 -0700 iwlwifi: Fix built-in compilation of iwlcore (part 2) On Wed, 2008-04-23 at 13:38 +0300, Tomas Winkler wrote: > This patch fixes problem in Makefile that prevented > built-in compilation of iwlcore Here is the second part. Without this, drivers/net/wireless/iwlwifi/build-in.o will not be linked into vmlinux. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 48abfe05cd01279afe27159e98d7c7f932598f42 Author: David S. Miller Date: Wed Apr 23 19:37:58 2008 -0700 tun: Fix minor race in TUNSETLINK ioctl handling. Noticed by Alan Cox. The IFF_UP test is a bit racey, because other entities outside of this driver's ioctl handler can modify that state, even though this ioctl handler runs under lock_kernel(). Signed-off-by: David S. Miller commit 8c0469cdd08df4dacabc8ca33256ce20de43d73f Author: Paulius Zaleckas Date: Wed Apr 23 18:54:01 2008 -0700 ppp_generic: use stats from net_device structure Use stats which now is in the net_device instead of one declared in ppp structure. Kill ppp_net_stats function, because by default it is used identical internal_stats function from net/core/dev.c Signed-of-by: Paulius Zaleckas Signed-off-by: David S. Miller commit 9b98af3217ae6ad979075eb233a5e8a5c82f13ca Author: Alek Du Date: Thu Apr 24 09:19:44 2008 +0800 PCI: Add Intel SCH PCI IDs This patch adds Intel SCH chipsets (US15W, US15L, UL11L) PCI IDs, these IDs will be used by following SCH driver patches. Signed-off-by: Alek Du Signed-off-by: Jesse Barnes commit 099714934d80100624829f1e2961b9dccaef3280 Author: Roland Dreier Date: Wed Apr 23 16:22:13 2008 -0700 iwlwifi: Don't unlock priv->mutex if it isn't locked Commit b716bb91 ("iwlwifi: Cancel scanning upon association") moved the test of priv->vif in iwl{3945,4964}_mac_config_interface() outside of where priv->mutex is held, but still tries to do mutex_unlock() on return. This is clearly wrong and triggers a nasty lockdep warning when this codepath is triggered. Fix this by removing the mutex_unlock(). Signed-off-by: Roland Dreier Signed-off-by: John W. Linville commit 4d381ffb02701c3fc976091473aead7c03523133 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 22:10:29 2008 +0200 wireless: rndis_wlan: modparam_workaround_interval is never below 0. priv->param_workaround_interval is unsigned, modparam_workaround_interval not. the former is never < 0. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 8ba82e969f71d088f718f93d64985d5fcdd9c171 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Apr 23 21:56:49 2008 +0200 prism54: prism54_get_encode() test below 0 on unsigned index previously in this function: u32 index = (dwrq->flags & IW_ENCODE_INDEX) - 1; index is unsigned, so if -1, the original test (below) didn't work. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit d619ee08490ca78c9571dca133cd0d0527a60839 Author: Luis Carlos Cobo Date: Wed Apr 23 12:34:59 2008 -0700 mac80211: update mesh EID values This patch updates mesh EID values, some of which where conflicting with already-approved 11h EIDs (pointed out by Tomas Winkler). I wanted to use the values suggested in the last available 802.11 draft (2.0) but it assigns 50 to MESH_CONFIG, the same value than EXT_SUPP_RATES. Using the values proposed in the draft incremented by one. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 1033b3ea11820ea1fb1b877207bd6724e9aaedc3 Author: Michael Buesch Date: Wed Apr 23 19:13:01 2008 +0200 b43: Workaround DMA quirks Some mainboards/CPUs don't allow DMA masks bigger than a certain limit. Some VIA crap^h^h^h^hdevices have an upper limit of 0xFFFFFFFF. So in this case a 64-bit b43 device would always fail to acquire the mask. Implement a workaround to fallback to lower DMA mask, as we can always also support a lower mask. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0da926f05748d273e7b2b673b0de21629ae9acdd Author: Ron Rindjunsky Date: Wed Apr 23 13:45:12 2008 +0300 mac80211: fix use before check of Qdisc length This patch fixes use of Qdisc length in requeue function, before we checked the reference is valid. (Adrian Bunk's catch) Signed-off-by: Ron Rindjunsky Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 13d8fd2d15fdd492078bedb9fde87c901a4e4df0 Author: Adrian Bunk Date: Wed Apr 23 12:51:28 2008 +0300 net/mac80211/rx.c: fix off-by-one This patch fixes an off-by-one in net/mac80211/rx.c introduced by commit 8318d78a44d49ac1edf2bdec7299de3617c4232e (cfg80211 API for channels/bitrates, mac80211 and driver conversion) and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 1ebebea8e844d01c80b93b8ee4d696ee7c0cbc27 Author: Pavel Emelyanov Date: Wed Apr 23 11:47:15 2008 +0400 mac80211: Fix race between ieee80211_rx_bss_put and lookup routines. The put routine first decrements the users counter and then (if it is zero) locks the sta_bss_lock and removes one from the list and the hash. Thus, any of ieee80211_sta_config_auth, ieee80211_rx_bss_get or ieee80211_rx_mesh_bss_get can race with it by finding a bss that is about to get kfree-ed. Using atomic_dec_and_lock in ieee80211_rx_bss_put takes care of this race. Signed-off-by: Pavel Emelyanov Signed-off-by: John W. Linville commit d1d8f44a4e3c730984283c0bf4b3458e3a88c15a Author: Nick Kossifidis Date: Mon Apr 21 21:28:24 2008 +0300 ath5k: Fix radio identification on AR5424/2424 *Fix radio chip identification on AR5424/2424 during ath5k_hw_attach *Try to assign an RF2413 radio on AR2424 for testing Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 4503183aa32e6886400d82282292934fa64a81b0 Author: Larry Finger Date: Sat Apr 19 17:52:12 2008 +0200 ssb: Fix all-ones boardflags In the SSB SPROM a field set to all ones means the value is not defined in the SPROM. In case of the boardflags, we need to set them to zero to avoid confusing drivers. Drivers will only check the flags by ANDing. Signed-off-by: Larry Finger Signed-off-by: Gabor Stefanik Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9fc38458355525f801cd2ab403ac89850489a05e Author: Michael Buesch Date: Sat Apr 19 16:53:00 2008 +0200 b43: Add more btcoexist workarounds This adds more workarounds for devices with broken BT bits. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a259d6a45b915e00e8c6085e35fea7b61e3008a8 Author: Michael Buesch Date: Fri Apr 18 21:06:37 2008 +0200 b43: Fix HostFlags data types The HostFlags are a bitmask of 48bit. So we must use an u64 datatype to hold all bits. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1855ba7812dbd294fcfc083dc7d3b14d3b1f38db Author: Michael Buesch Date: Fri Apr 18 20:51:41 2008 +0200 b43: Workaround invalid bluetooth settings This adds a workaround for invalid bluetooth SPROM settings on ASUS PCI cards. This will stop the microcode from poking with the BT GPIO line. This fixes data transmission on this device, as the BT GPIO line is used for something TX related on this device (probably the power amplifier or the radio). This also adds a modparam knob to help debugging this in the future, as more devices with this bug may show up. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0f48d7e1cf2341148dcafc19a098ca22e184bee9 Author: Johannes Berg Date: Thu Apr 17 19:36:28 2008 +0200 mac80211: MAINTAINERS update This updates the mac80211 maintainers entry to  1) remove Jiri 2) put me first Signed-off-by: Johannes Berg Cc: Michael Wu Cc: Jiri Benc Signed-off-by: John W. Linville commit a46f025d053e47b9ce602f53f6d30e94d304a51c Author: Abhijeet Kolekar Date: Wed Apr 16 14:02:04 2008 -0700 mac80211: Fix n-band association problem There are two structures named wmm_info and wmm_param, they are used while parsing the beacon frame. (Check the function ieee802_11_parse_elems). Certain APs like D-link does not set the fifth bit in WMM IE. While sending the association request to n-only ap it checks for wmm_ie. If it is set then only ieee80211_ht_cap is sent during association request. So n-only association fails. And this patch fixes this problem by copying the wmm_info to wmm_ie, which enables the "wmm" flag in iee80211_send_assoc. Signed-off-by: Abhijeet Kolekar Acked-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 4cfe02fabbb87108d7d06d2335429025ca84e616 Author: Jesper Juhl Date: Wed Apr 23 00:28:47 2008 +0200 PCI Express ASPM support should default to 'No' Running 'make oldconfig' I just noticed that PCIEASPM defaults to 'y' in Kconfig even though the feature is both experimental and the help text recommends that if you are unsure you say 'n'. It seems to me that this really should default to 'n', not 'y' at the moment. The following patch makes that change. Please consider applying. Signed-off-by: Jesper Juhl Signed-off-by: Jesse Barnes commit 77f5492c43adb4eb351fa0d163136877e8b2ed92 Author: Richard Genoud Date: Wed Apr 23 19:51:14 2008 +0200 [MTD] [NAND] Hardware ECC controller on at91sam9263 / at91sam9260 This is a patch to use the hardware ECC controller of the AT91SAM9260 and AT91SAM9263 for the AT91 nand. On AT91 NAND, there's now a choice between ECC soft, ECC hard or no ECC (for debug). It has been tested on AT91SAM9263 with 8 bits large and small page NAND. Signed-off-by: Richard Genoud Signed-off-by: David Woodhouse commit ca456252db0521e5e88024fa2b67535e9739e030 Author: Jeff Layton Date: Wed Apr 16 16:28:47 2008 -0400 knfsd: clear both setuid and setgid whenever a chown is done Currently, knfsd only clears the setuid bit if the owner of a file is changed on a SETATTR call, and only clears the setgid bit if the group is changed. POSIX says this in the spec for chown(): "If the specified file is a regular file, one or more of the S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, and the process does not have appropriate privileges, the set-user-ID (S_ISUID) and set-group-ID (S_ISGID) bits of the file mode shall be cleared upon successful return from chown()." If I'm reading this correctly, then knfsd is doing this wrong. It should be clearing both the setuid and setgid bit on any SETATTR that changes the uid or gid. This wasn't really as noticable before, but now that the ATTR_KILL_S*ID bits are a no-op for the NFS client, it's more evident. This patch corrects the nfsd_setattr logic so that this occurs. It also does a bit of cleanup to the function. There is also one small behavioral change. If a SETATTR call comes in that changes the uid/gid and the mode, then we now only clear the setgid bit if the group execute bit isn't set. The setgid bit without a group execute bit signifies mandatory locking and we likely don't want to clear the bit in that case. Since there is no call in POSIX that should generate a SETATTR call like this, then this should rarely happen, but it's worth noting. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit dee3209d993f17081d2c58d6470dfc8d6662078b Author: Jeff Layton Date: Wed Apr 16 16:28:46 2008 -0400 knfsd: get rid of imode variable in nfsd_setattr ...it's not really needed. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 0dc220f0815497858db539d27947f3ec83202ace Author: Chuck Lever Date: Mon Apr 14 12:27:52 2008 -0400 SUNRPC: Use unsigned loop and array index in svc_init_buffer() Clean up: Suppress a harmless compiler warning. Index rq_pages[] with an unsigned type. Make "pages" unsigned as well, as it never represents a value less than zero. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 50c8bb13eaaf345caf2e7966667ba1d3e4d68af2 Author: Chuck Lever Date: Mon Apr 14 12:27:45 2008 -0400 SUNRPC: Use unsigned index when looping over arrays Clean up: Suppress a harmless compiler warning in the RPC server related to array indices. ARRAY_SIZE() returns a size_t, so use unsigned type for a loop index when looping over arrays. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c0401ea008fb7c785a93428752d69dccafb127ec Author: Chuck Lever Date: Mon Apr 14 12:27:30 2008 -0400 SUNRPC: Update RPC server's TCP record marker decoder Clean up: Update the RPC server's TCP record marker decoder to match the constructs used by the RPC client's TCP socket transport. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit b7872fe86db78cc96c85a13338ea6e3fe1aef610 Author: Chuck Lever Date: Mon Apr 14 12:27:01 2008 -0400 SUNRPC: RPC server still uses 2.4 method for disabling TCP Nagle Use the 2.6 method for disabling TCP Nagle in the kernel's RPC server. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit f97c650dda24e48405399aa0676e90da52408515 Author: Jeff Layton Date: Tue Apr 8 15:40:08 2008 -0400 NLM: don't let lockd exit on unexpected svc_recv errors (try #2) When svc_recv returns an unexpected error, lockd will print a warning and exit. This problematic for several reasons. In particular, it will cause the reference counts for the thread to be wrong, and can lead to a potential BUG() call. Rather than exiting on error from svc_recv, have the thread do a 1s sleep and then retry the loop. This is unlikely to cause any harm, and if the error turns out to be something temporary then it may be able to recover. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 06e02d66fa0055230efc2443c43ee4f3ab5eb0b6 Author: Jeff Layton Date: Tue Apr 8 15:40:07 2008 -0400 NFS: don't let nfs_callback_svc exit on unexpected svc_recv errors (try #2) When svc_recv returns an unexpected error, nfs_callback_svc will print a warning and exit. This problematic for several reasons. In particular, it will cause the reference counts for the thread to be wrong, and no new thread will be started until all nfs4 mounts are unmounted. Rather than exiting on error from svc_recv, have the thread do a 1s sleep and then retry the loop. This is unlikely to cause any harm, and if the error turns out to be something temporary then it may be able to recover. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 9078dc08143e23b18ea72e70265f0df920cf2998 Author: Steven Whitehouse Date: Tue Apr 8 13:12:52 2008 +0100 Use a zero sized array for raw field in struct fid The raw field's size can vary so we use a zero sized array since gcc will not allow a variable sized array inside a union. This has been tested with ext3 and gfs2 and relates to the bug report: http://lkml.org/lkml/2007/10/24/374 and discussion thread: http://lkml.org/lkml/2008/4/7/65 Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Neil Brown Cc: Adrian Bunk Signed-off-by: J. Bruce Fields commit ff7d9756b501744540be65e172d27ee321d86103 Author: Olga Kornievskaia Date: Fri Mar 28 16:04:56 2008 -0400 nfsd: use static memory for callback program and stats There's no need to dynamically allocate this memory, and doing so may create the possibility of races on shutdown of the rpc client. (We've witnessed it only after adding rpcsec_gss support to the server, after which the rpc code can send destroys calls that expect to still be able to access the rpc_stats structure after it has been destroyed.) Such races are in theory possible if the module containing this "static" memory is removed very quickly after an rpc client is destroyed, but we haven't seen that happen. Signed-off-by: J. Bruce Fields commit 8774282c4cef82695ccca8bd09976de5d6e49610 Author: Jeff Layton Date: Mon Apr 7 16:45:37 2008 -0400 SUNRPC: remove svc_create_thread() Now that the nfs4 callback thread uses the kthread API, there are no more users of svc_create_thread(). Remove it. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit e1ba1ab76e68de9f4a93fae8406627924efaed99 Author: J. Bruce Fields Date: Mon Apr 7 13:09:47 2008 -0400 nfsd: fix comment Obvious comment nit. Signed-off-by: J. Bruce Fields commit 3c61eecb607dbc2777074b1a95b8a97e31a96a73 Author: J. Bruce Fields Date: Mon Apr 7 13:05:27 2008 -0400 lockd: Fix stale nlmsvc_unlink_block comment As of 5996a298da43a03081e9ba2116983d173001c862 ("NLM: don't unlock on cancel requests") we no longer unlock in this case, so the comment is no longer accurate. Thanks to Stuart Friedberg for pointing out the inconsistency. Cc: Stuart Friedberg Signed-off-by: J. Bruce Fields commit a5ae03989254ec25cd3a934ca02c008d67e259f7 Author: Robert P. J. Day Date: Tue Apr 1 21:48:37 2008 -0400 NFSD: Strip __KERNEL__ testing from unexported header files. Also, sort the Kbuild file. Signed-off-by: Robert P. J. Day Signed-off-by: J. Bruce Fields commit 4ab4b0bedda7d41c63cef98cd5d6cabada460936 Author: Kevin Coffman Date: Mon Mar 31 10:31:44 2008 -0400 sunrpc: make token header values less confusing g_make_token_header() and g_token_size() add two too many, and therefore their callers pass in "(logical_value - 2)" rather than "logical_value" as hard-coded values which causes confusion. This dates back to the original g_make_token_header which took an optional token type (token_id) value and added it to the token. This was removed, but the routine always adds room for the token_id rather than not. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 5743d65c2f77d5145fb4c4262c4dd70c3f078776 Author: Kevin Coffman Date: Mon Mar 31 10:31:33 2008 -0400 gss_krb5: consistently use unsigned for seqnum Consistently use unsigned (u32 vs. s32) for seqnum. In get_mic function, send the local copy of seq_send, rather than the context version. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 1a448fdb3c5495405bc44d77ea676150f9195444 Author: Chuck Lever Date: Thu Mar 27 16:34:54 2008 -0400 NFSD: Remove NFSv4 dependency on NFSv3 Clean up: Because NFSD_V4 "depends on" NFSD_V3, it appears as a child of the NFSD_V3 menu entry, and is not visible if NFSD_V3 is unselected. Replace the dependency on NFSD_V3 with a "select NFSD_V3". This makes NFSD_V4 look and work just like NFS_V3, while ensuring that NFSD_V3 is enabled if NFSD_V4 is. Sam Ravnborg adds: "This use of select is questionable. In general it is bad to select a symbol with dependencies. In this case the dependencies of NFSD_V3 are duplicated for NFSD_V4 so we will not se erratic configurations but do you remember to update NFSD_V4 when you add a depends on NFSD_V3? But I see no other clean way to do it right now." Later he said: "My comment was more to say we have things to address in kconfig. This is abuse in the acceptable range." Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 3329ba05231808c96cf9fd0598b8f46afec9777c Author: Chuck Lever Date: Thu Mar 27 16:34:47 2008 -0400 SUNRPC: Remove PROC_FS dependency Recently, commit 440bcc59 added a reverse dependency to fs/Kconfig to ensure that PROC_FS was enabled if SUNRPC_GSS was enabled. Apparently this isn't necessary because the auth_gss components under net/sunrpc will build correctly even if PROC_FS is disabled, though RPCSEC_GSS will not work without /proc. It also violates the guideline in Documentation/kbuild/kconfig-language.txt that states "In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies." To address these issues, remove the dependency. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 6ffd4be6336f9c3f1a10822099587544cd0a11d7 Author: Chuck Lever Date: Thu Mar 27 16:34:40 2008 -0400 NFSD: Use "depends on" for PROC_FS dependency Recently, commit 440bcc59 added a reverse dependency to fs/Kconfig to ensure that PROC_FS was enabled if NFSD_V4 was enabled. There is a guideline in Documentation/kbuild/kconfig-language.txt that states "In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies." A quick grep around other Kconfig files reveals that no entry currently uses "select PROC_FS" -- every one uses "depends on". Thus CONFIG_NFSD_V4 should use "depends on PROC_FS" as well. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 03550fac06c4f0c39a1885d46015c28794413c82 Author: J. Bruce Fields Date: Fri Mar 14 17:51:12 2008 -0400 nfsd: move most of fh_verify to separate function Move the code that actually parses the filehandle and looks up the dentry and export to a separate function. This simplifies the reference counting a little and moves fh_verify() a little closer to the kernel ideal of small, minimally-indentended functions. Clean up a few other minor style sins along the way. Signed-off-by: J. Bruce Fields Cc: Neil Brown commit c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd Author: Andrew Morton Date: Wed Mar 12 14:04:25 2008 -0700 net/sunrpc/svc.c: suppress unintialized var warning net/sunrpc/svc.c: In function '__svc_create_thread': net/sunrpc/svc.c:587: warning: 'oldmask.bits[0u]' may be used uninitialized in this function Cc: Neil Brown Cc: Trond Myklebust Cc: David S. Miller Cc: Tom Tucker Cc: Chuck Lever Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit 30aef3166ab27f7bcb14c5e809205af8126fa10b Author: Kevin Coffman Date: Thu Feb 21 13:44:27 2008 -0500 Remove define for KRB5_CKSUM_LENGTH, which will become enctype-dependent cleanup: When adding new encryption types, the checksum length can be different for each enctype. Face the fact that the current code only supports DES which has a checksum length of 8. Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 3d4a6886786f839976c36e62303507692bf87d8d Author: Kevin Coffman Date: Thu Feb 21 13:44:12 2008 -0500 Correct grammer/typos in dprintks cleanup: Fix grammer/typos to use "too" instead of "to" Signed-off-by: Kevin Coffman Signed-off-by: J. Bruce Fields commit 830bb59b6ece51c36dd456b685d145c69d3b7e1c Author: Tom Tucker Date: Tue Mar 11 12:44:27 2008 -0500 SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send SVCRDMA: Add check for XPT_CLOSE in svc_rdma_send The svcrdma transport can crash if a send is waiting for an empty SQ slot and the connection is closed due to an asynchronous error. The crash is caused when svc_rdma_send attempts to send on a deleted QP. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields commit 9167f501c6b53492eb2566dd618ce7f55f2856d5 Author: Felix Blyakher Date: Tue Feb 26 10:54:36 2008 -0800 nfsd: initialize lease type in nfs4_open_delegation() While lease is correctly checked by supplying the type argument to vfs_setlease(), it's stored with fl_type uninitialized. This breaks the logic when checking the type of the lease. The fix is to initialize fl_type. The old code still happened to function correctly since F_RDLCK is zero, and we only implement read delegations currently (nor write delegations). But that's no excuse for not fixing this. Signed-off-by: Felix Blyakher Signed-off-by: J. Bruce Fields commit a3fa73bd0eea74c58315114c9fc3e913f6c26d61 Author: James Lentini Date: Mon Feb 25 12:20:13 2008 -0500 Documentation: NFS/RDMA instructions for 2.6.25-rc1 Add some instructions for using the new NFS/RDMA features. Signed-off-by: James Lentini Cc: Roland Dreier Signed-off-by: J. Bruce Fields commit a277e33cbe3fdfb9a77b448ea3043be22f000dfd Author: Jeff Layton Date: Wed Feb 20 08:55:30 2008 -0500 NFS: convert nfs4 callback thread to kthread API There's a general push to convert kernel threads to use the (much cleaner) kthread API. This patch converts the NFSv4 callback kernel thread to the kthread API. In addition to being generally cleaner this also removes the dependency on signals when shutting down the thread. Note that this patch depends on the recent patches to svc_recv() to make it check kthread_should_stop() periodically. Those patches are in Bruce's tree at the moment and are slated for 2.6.26 along with the lockd conversion, so this conversion is probably also appropriate for 2.6.26. Signed-off-by: Jeff Layton Acked-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 3ba1514815817f93a4f09615726dd4bcd0ddbbc9 Author: Harvey Harrison Date: Wed Feb 20 12:49:02 2008 -0800 nfsd: fix sparse warning in vfs.c fs/nfsd/vfs.c:991:27: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: J. Bruce Fields commit a254b246ee238ab90e7b3fae1f76875b608b2213 Author: Harvey Harrison Date: Wed Feb 20 12:49:00 2008 -0800 nfsd: fix sparse warnings Add extern to nfsd/nfsd.h fs/nfsd/nfssvc.c:146:5: warning: symbol 'nfsd_nrthreads' was not declared. Should it be static? fs/nfsd/nfssvc.c:261:5: warning: symbol 'nfsd_nrpools' was not declared. Should it be static? fs/nfsd/nfssvc.c:269:5: warning: symbol 'nfsd_get_nrthreads' was not declared. Should it be static? fs/nfsd/nfssvc.c:281:5: warning: symbol 'nfsd_set_nrthreads' was not declared. Should it be static? fs/nfsd/export.c:1534:23: warning: symbol 'nfs_exports_op' was not declared. Should it be static? Add include of auth.h fs/nfsd/auth.c:27:5: warning: symbol 'nfsd_setuser' was not declared. Should it be static? Make static, move forward declaration closer to where it's needed. fs/nfsd/nfs4state.c:1877:1: warning: symbol 'laundromat_main' was not declared. Should it be static? Make static, forward declaration was already marked static. fs/nfsd/nfs4idmap.c:206:1: warning: symbol 'idtoname_parse' was not declared. Should it be static? fs/nfsd/vfs.c:1156:1: warning: symbol 'nfsd_create_setattr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: J. Bruce Fields commit d8421202121ce74daf4625ca9d1d825bbd7ce66a Author: J. Bruce Fields Date: Wed Feb 20 15:40:15 2008 -0500 lockd: convert nsm_mutex to a spinlock There's no reason for a mutex here, except to allow an allocation under the lock, which we can avoid with the usual trick of preallocating memory for the new object and freeing it if it turns out to be unnecessary. Signed-off-by: J. Bruce Fields commit a95e56e72c196970a8067cd515c658d064813170 Author: J. Bruce Fields Date: Wed Feb 20 15:27:31 2008 -0500 lockd: clean up __nsm_find() Use list_for_each_entry(). Also, in keeping with kernel style, make the normal case (kzalloc succeeds) unindented and handle the abnormal case with a goto. Signed-off-by: J. Bruce Fields commit 164f98adbbd50c67177b096a59f55c1a56a45c82 Author: J. Bruce Fields Date: Wed Feb 20 14:02:47 2008 -0500 lockd: fix race in nlm_release() The sm_count is decremented to zero but left on the nsm_handles list. So in the space between decrementing sm_count and acquiring nsm_mutex, it is possible for another task to find this nsm_handle, increment the use count and then enter nsm_release itself. Thus there's nothing to prevent the nsm being freed before we acquire nsm_mutex here. Signed-off-by: J. Bruce Fields commit dd35210e1e2cb46d6dba5c97f1bc3784c4f97998 Author: Harshula Jayasuriya Date: Wed Feb 20 10:56:56 2008 +1100 sunrpc: GSS integrity and decryption failures should return GARBAGE_ARGS In function svcauth_gss_accept() (net/sunrpc/auth_gss/svcauth_gss.c) the code that handles GSS integrity and decryption failures should be returning GARBAGE_ARGS as specified in RFC 2203, sections 5.3.3.4.2 and 5.3.3.4.3. Reviewed-by: Greg Banks Signed-off-by: Harshula Jayasuriya Signed-off-by: J. Bruce Fields commit 93245d11fcaccdebccabe86a2b92db524f82d8b4 Author: Harvey Harrison Date: Mon Feb 18 02:01:49 2008 -0800 lockd: fix sparse warning in svcshare.c fs/lockd/svcshare.c:74:50: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc Author: Adrian Bunk Date: Wed Feb 13 23:30:26 2008 +0200 make nfsd_create_setattr() static This patch makes the needlessly global nfsd_create_setattr() static. Signed-off-by: Adrian Bunk Signed-off-by: J. Bruce Fields commit 7b54fe61ffd5bfa4e50d371a2415225aa0cbb38e Author: Jeff Layton Date: Tue Feb 12 11:47:24 2008 -0500 SUNRPC: allow svc_recv to break out of 500ms sleep when alloc_page fails svc_recv() calls alloc_page(), and if it fails it does a 500ms uninterruptible sleep and then reattempts. There doesn't seem to be any real reason for this to be uninterruptible, so change it to an interruptible sleep. Also check for kthread_stop() and signalled() after setting the task state to avoid races that might lead to sleeping after kthread_stop() wakes up the task. I've done some very basic smoke testing with this, but obviously it's hard to test the actual changes since this all depends on an alloc_page() call failing. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 6aaa67b5f3b9fe24f0c76d0415cc72e5a1137bea Author: Chuck Lever Date: Mon Feb 11 17:12:38 2008 -0500 NFSD: Remove redundant "select" clauses in fs/Kconfig As far as I can tell, selecting the CRYPTO and CRYPTO_MD5 entries under CONFIG_NFSD is redundant, since CONFIG_NFSD_V4 already selects RPCSEC_GSS_KRB5, which selects these entries. Testing with "make menuconfig" shows that the entries under CRYPTO still properly reflect "Y" or "M" based on the setting of CONFIG_NFSD after this change is applied. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 78dd0992a3462e05138cf4d08df759bf1c7a08c9 Author: Chuck Lever Date: Mon Feb 11 17:12:31 2008 -0500 NFSD: Move "select NFSD_V2_ACL if NFSD_V3_ACL" Clean up: since NFSD_V2_ACL is a boolean, it can be selected safely under the NFSD_V3_ACL entry (also a boolean). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 892069552eedfa0d2fca41680d076a5bc0a3c26e Author: Chuck Lever Date: Mon Feb 11 17:12:24 2008 -0500 NFSD: Move "select FS_POSIX_ACL if NFSD_V4" Clean up: since FS_POSIX_ACL is a non-visible boolean entry, it can be selected safely under the NFSD_V4 entry (also a boolean). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d24455b5ffe02a652e8cb1ed2d3570a512c898f8 Author: Chuck Lever Date: Mon Feb 11 17:11:54 2008 -0500 NFSD: Update help text for CONFIG_NFSD Clean up: refresh the help text for Kconfig items related to the NFS server. Remove obsolete URLs, and make the language consistent among the options. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 5ea0dd61f221ba2701314a85e998b8202412553d Author: Chuck Lever Date: Mon Feb 11 17:11:39 2008 -0500 NFSD: Remove NFSD_TCP kernel build option Likewise, distros usually leave CONFIG_NFSD_TCP enabled. TCP support in the Linux NFS server is stable enough that we can leave it on always. CONFIG_NFSD_TCP adds about 10 lines of code, and defaults to "Y" anyway. Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit c0ce6ec87c59d7a29438717b1f72f83fb408f416 Author: J. Bruce Fields Date: Mon Feb 11 15:48:47 2008 -0500 nfsd: clarify readdir/mountpoint-crossing code The code here is difficult to understand; attempt to clarify somewhat by pulling out one of the more mystifying conditionals into a separate function. While we're here, also add lease_time to the list of attributes that we don't really need to cross a mountpoint to fetch. Signed-off-by: J. Bruce Fields Cc: Peter Staubach commit 67eb6ff610d50da231a37beb634d6dea4b5025ab Author: J. Bruce Fields Date: Thu Jan 31 16:14:54 2008 -0500 svcrpc: move unused field from cache_deferred_req This field is set once and never used; probably some artifact of an earlier implementation idea. Signed-off-by: J. Bruce Fields commit 6a85fa3adddd3a74bd5b94c4b72668d307b88377 Author: J. Bruce Fields Date: Sat Jan 26 23:36:48 2008 -0500 nfsd4: kill unnecessary check in preprocess_stateid_op This condition is always true. Signed-off-by: J. Bruce Fields commit 0836f587258c2a24bfdc8810ad2327e7f354b6c7 Author: J. Bruce Fields Date: Sat Jan 26 19:08:12 2008 -0500 nfsd4: simplify stateid sequencing checks Pull this common code into a separate function. Signed-off-by: J. Bruce Fields commit f3362737be14668f4e8f5c8d082eb131aafc1353 Author: J. Bruce Fields Date: Sat Jan 26 14:58:45 2008 -0500 nfsd4: remove unnecessary CHECK_FH check in preprocess_seqid_op Every caller sets this flag, so it's meaningless. Signed-off-by: J. Bruce Fields commit 065f30ec14b1460c695b371bc44e068832a60d9b Author: J. Bruce Fields Date: Sat Jan 19 13:58:23 2008 -0500 nfs: remove unnecessary NFS_NEED_* defines Thanks to Robert Day for pointing out that these two defines are unused. Signed-off-by: J. Bruce Fields Cc: Trond Myklebust Trond Myklebust Cc: Neil Brown Cc: "Robert P. J. Day" commit f15364bd4cf8799a7677b6daeed7b67d9139d974 Author: Aurélien Charbon Date: Fri Jan 18 15:50:56 2008 +0100 IPv6 support for NFS server export caches This adds IPv6 support to the interfaces that are used to express nfsd exports. All addressed are stored internally as IPv6; backwards compatibility is maintained using mapped addresses. Thanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji for comments Signed-off-by: Aurelien Charbon Cc: Neil Brown Cc: Brian Haley Cc: YOSHIFUJI Hideaki / 吉藤英明 Signed-off-by: J. Bruce Fields commit d751a7cd0695554498f25d3026ca6710dbb3698f Author: Jeff Layton Date: Thu Feb 7 16:34:55 2008 -0500 NLM: Convert lockd to use kthreads Have lockd_up start lockd using kthread_run. With this change, lockd_down now blocks until lockd actually exits, so there's no longer need for the waitqueue code at the end of lockd_down. This also means that only one lockd can be running at a time which simplifies the code within lockd's main loop. This also adds a check for kthread_should_stop in the main loop of nlmsvc_retry_blocked and after that function returns. There's no sense continuing to retry blocks if lockd is coming down anyway. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 7086721f9c8b59331e164e534f588e075cfd9d3f Author: Jeff Layton Date: Thu Feb 7 16:34:54 2008 -0500 SUNRPC: have svc_recv() check kthread_should_stop() When using kthreads that call into svc_recv, we want to make sure that they do not block there for a long time when we're trying to take down the kthread. This patch changes svc_recv() to check kthread_should_stop() at the same places that it checks to see if it's signalled(). Also check just before svc_recv() tries to schedule(). By making sure that we check it just after setting the task state we can avoid having to use any locking or signalling to ensure it doesn't block for a long time. There's still a chance of a 500ms sleep if alloc_page() fails, but that should be a rare occurrence and isn't a terribly long time in the context of a kthread being taken down. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 23d42ee278de1552d67daef5774ba59ff30925db Author: Jeff Layton Date: Thu Feb 7 16:34:53 2008 -0500 SUNRPC: export svc_sock_update_bufs Needed since the plan is to not have a svc_create_thread helper and to have current users of that function just call kthread_run directly. Signed-off-by: Jeff Layton Reviewed-by: NeilBrown Signed-off-by: J. Bruce Fields commit 1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a Author: NeilBrown Date: Fri Feb 8 13:03:37 2008 +1100 knfsd: Remove NLM_HOST_MAX and associated logic. Lockd caches information about hosts that have recently held locks to expedite the taking of further locks. It periodically discards this information for hosts that have not been used for a few minutes. lockd currently has a value NLM_HOST_MAX, and changes the 'garbage collection' behaviour when the number of hosts exceeds this threshold. However its behaviour is strange, and likely not what was intended. When the number of hosts exceeds the max, it scans *less* often (every 2 minutes vs every minute) and allows unused host information to remain around longer (5 minutes instead of 2). Having this limit is of dubious value anyway, and we have not suffered from the code not getting the limit right, so remove the limit altogether. We go with the larger values (discard 5 minute old hosts every 2 minutes) as they are probably safer. Maybe the periodic garbage collection should be replace to with 'shrinker' handler so we just respond to memory pressure.... Acked-by: Jeff Layton Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields commit 3dc5063786b273f1aee545844f6bd4e9651ebffe Author: Christoph Lameter Date: Wed Apr 23 12:28:01 2008 -0700 slab_err: Pass parameters correctly to slab_bug Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds commit 79c1cb7a8ca8f08cd78f7c5eebc85bbe937f5ad4 Merge: b0d19a3... 97e7e0f... Author: Linus Torvalds Date: Wed Apr 23 12:24:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [patch 7/7] vfs: mountinfo: show dominating group id [patch 6/7] vfs: mountinfo: add /proc//mountinfo [patch 5/7] vfs: mountinfo: allow using process root [patch 4/7] vfs: mountinfo: add mount peer group ID [patch 3/7] vfs: mountinfo: add mount ID [patch 2/7] vfs: mountinfo: add seq_file_root() [patch 1/7] vfs: mountinfo: add dentry_path() [PATCH] remove unused label in xattr.c (noise from ro-bind) commit b0d19a378a409373244088511e889957645f2a44 Merge: 0093cb1... d7d3130... Author: Linus Torvalds Date: Wed Apr 23 12:23:45 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: iwlwifi: Fix built-in compilation of iwlcore net: Unexport move_addr_to_{kernel,user} rt2x00: Select LEDS_CLASS. iwlwifi: Select LEDS_CLASS. leds: Do not guard NEW_LEDS with HAS_IOMEM [IPSEC]: Fix catch-22 with algorithm IDs above 31 time: Export set_normalized_timespec. tcp: Make use of before macro in tcp_input.c hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c [NETNS]: Remove empty ->init callback. [DCCP]: Convert do_gettimeofday() to getnstimeofday(). [NETNS]: Don't initialize err variable twice. [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop. [IPV4]: Convert do_gettimeofday() to getnstimeofday(). [IPV4]: Make icmp_sk_init() static. [IPV6]: Make struct ip6_prohibit_entry_template static. tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c [NET]: Expose netdevice dev_id through sysfs skbuff: fix missing kernel-doc notation [ROSE]: Fix soft lockup wrt. rose_node_list_lock commit 0093cb1199ec551f179562ca9fbd6f64fb750645 Author: Len Brown Date: Wed Apr 23 00:09:13 2008 -0400 pnpacpi: fix potential corruption on "pnpacpi: exceeded the max number of IRQ resources 2" PNP_MAX_IRQ is 2 If a device invokes pnpacpi_parse_allocated_irqresource() 0, 1, or 2 times, we are happy. The 3rd time, we will fail and print "pnpacpi: exceeded the max number of IRQ resources: 2" The 4th and subsequent calls (if this ever happened) would silently scribble on irq_resource[2], which doesn't actualy exist. Found-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Linus Torvalds commit 31d1e340f0e8d53804d737571b2f2bb28a74ecc5 Author: Roland Dreier Date: Wed Apr 23 11:55:45 2008 -0700 RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase Remove the volatile qualifier from the cq_vbase member of struct nes_hw_cq, and add an rmb() in the one place where it looks like access order might make a difference. As usual, removing a volatile qualifier in a declaration is actually a bug fix, since a volatile qualifier is not sufficient to make sure that aggressively out-of-order CPUs don't reorder things and cause incorrect results. For example, a CPU might speculatively execute reads of other cqe fields before the NIC hardware has written those fields and before it has set the NES_CQE_VALID bit (even though those reads come after the test of the NES_CQE_VALID bit in program order), but then when the CPU actually executes the conditional test of the NES_CQE_VALID, the bit has been set, and the CPU will proceed with the results of the earlier speculative execution and end up using bogus data. This also gets rid of the warning: drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_destroy_cq': drivers/infiniband/hw/nes/nes_verbs.c:1978: warning: passing argument 3 of 'pci_free_consistent' discards qualifiers from pointer target type Signed-off-by: Roland Dreier commit f5b3a096b138940f283907debe9bde6c6f40ebf3 Author: Vladimir Sokolovsky Date: Wed Apr 23 11:55:45 2008 -0700 mlx4_core: CQ resizing should pass a 0 opcode modifier to MODIFY_CQ The call to mlx4_MODIFY_CQ() had a typo so that mlx4_cq_resize() was actually asking the FW to modify a CQ's interrupt moderation rather than asking it to resize a CQ. Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 6296883ca4cd52dafb45f191d24102e28ded38f2 Author: Yevgeny Petrilin Date: Wed Apr 23 11:55:45 2008 -0700 mlx4_core: Move kernel doorbell management into core In addition to mlx4_ib, there will be ethernet and FC consumers of mlx4_core, so move the code for managing kernel doorbells into the core module to avoid having to duplicate this multiple times. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit 14fb05b3497351fbeb514381bcd227d84e115bd9 Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Bump version number to 0026 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 0455e36d81db76f5f4acb68a820da43adfa7ccec Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Make some module parameters bool, update descriptions Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a7607c9b1112b498c3044c9e5bc68fdb4985f93e Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Remove mr_largepage parameter Always enable large page support; didn't seem to cause problems for anyone. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 4da27d6d5b92c8fe4b3a3e5bcf42606d9e4a6fc8 Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Move high-volume debug output to higher debug levels Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 863fb09fbf1eb74f56ea02184a62165056aa29cb Author: Joachim Fenkes Date: Wed Apr 23 11:55:45 2008 -0700 IB/ehca: Prevent posting of SQ WQEs if QP not in RTS ...as required by IB Spec, C10-29. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit bc7b3a36ba02e4053ca38653e6a753082d9add03 Author: Shirley Ma Date: Wed Apr 23 11:55:45 2008 -0700 IPoIB: Handle 4K IB MTU for UD (datagram) mode This patch enables IPoIB to use 4K UD messages (when the underlying device and fabrics support a 4K MTU) by using two scatter buffers when PAGE_SIZE is less than or equal to thhe HCA IB MTU size. The first buffer is for IPoIB header + GRH header, and the second buffer is the IPoIB payload, which is 4K-4. Signed-off-by: Shirley Ma Signed-off-by: Roland Dreier commit bc5698f3ecc9587e1edb343a2878f8d228c49e0e Author: Chien Tung Date: Wed Apr 23 11:55:45 2008 -0700 RDMA/nes: Fix adapter reset after PXE boot After PXE boot, the iw_nes driver does a full reset to ensure the card is in a clean state. However, it doesn't wait for firmware to complete its work before issuing a port reset to enable the ports, which leads to problems bringing up the ports. The solution is to wait for firmware to complete its work before proceeding with port reset. This bug was flagged by Roland Dreier . Cc: Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e447703123d817b3f802c6eb69171d5342c8832e Author: Roland Dreier Date: Wed Apr 23 11:55:43 2008 -0700 RDMA/nes: Print IPv4 addresses in a readable format Use NIPQUAD_FMT instead of printing raw 32-bit hex quantities in debugging output. Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 2bd01c5d2ed04838d50548cb7b955505a20ac0bd Author: Roland Dreier Date: Wed Apr 23 11:52:18 2008 -0700 RDMA/nes: Use print_mac() to format ethernet addresses for printing Removing open-coded MAC formats shrinks the source and the generated code too, eg on x86-64: add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103 (-103) function old new delta make_cm_node 932 912 -20 nes_netdev_set_mac_address 427 406 -21 nes_netdev_set_multicast_list 1148 1124 -24 nes_probe 2349 2311 -38 Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 2c61cb250cf7e8cdd3b83b79b76d2ea0b3da010a Author: David Woodhouse Date: Wed Apr 23 16:43:15 2008 +0100 [JFFS2] Introduce dbg_readinode2 log level, use it to shut read_dnode() up We haven't seen bugs in this for a while now, since the rewrite. No need to be _quite_ so verbose... Signed-off-by: David Woodhouse commit 422b120238130307da64fa44c9fb722bfaf5f1af Author: David Woodhouse Date: Wed Apr 23 15:40:52 2008 +0100 [JFFS2] Fix jffs2_reserve_space() when all blocks are pending erasure. When _all_ the blocks were on the erase_pending_list, we could't find a block to GC from but there was no _actually_ free space, and jffs2_reserve_space() would get a little unhappy. Handle this case by returning -EAGAIN from jffs2_garbage_collect_pass(). There are two callers of that function -- jffs2_flush_wbuf_gc(), which will interpret it as an error and flush the writebuffer by other means, and jffs2_reserve_space(), which we modify to respond to -EAGAIN with an immediate call to jffs2_erase_pending_blocks() and another run round the loop. Signed-off-by: David Woodhouse commit e2bc322bf05936ec7160d62bc3fd45cbf4aa405a Author: David Woodhouse Date: Wed Apr 23 14:15:24 2008 +0100 [JFFS2] Add erase_checking_list to hold blocks being marked. Just to keep the debug code happy when it's adding all the blocks up. Otherwise, they disappear for a while while the locks are dropped to check them and write the cleanmarker. Signed-off-by: David Woodhouse commit d7d313000ba2fc94a5383511a17ff38a39bab928 Author: Tomas Winkler Date: Wed Apr 23 03:48:57 2008 -0700 iwlwifi: Fix built-in compilation of iwlcore This patch fixes problem in Makefile that prevented built-in compilation of iwlcore Commit that caused this problem: eadd3c4b ("iwlwifi: make Makefile more concise") Signed-off-by: Tomas Winkler Signed-off-by: Yi Zhu Signed-off-by: David S. Miller commit cd58f2a96ba95fb5b69580784bc6f7179001869c Author: Adrian Bunk Date: Wed Apr 23 03:37:49 2008 -0700 net: Unexport move_addr_to_{kernel,user} After the removal of the Solaris binary emulation the exports of move_addr_to_{kernel,user} are no longer used. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 201410ce85d80b7b893cdc72e944a1341dd393f1 Author: David S. Miller Date: Wed Apr 23 03:34:50 2008 -0700 rt2x00: Select LEDS_CLASS. Signed-off-by: David S. Miller commit e82404ad612ebabc65d15c3d59b971cb35c3ff36 Author: David S. Miller Date: Wed Apr 23 03:34:31 2008 -0700 iwlwifi: Select LEDS_CLASS. Signed-off-by: David S. Miller commit 00713e224e718b350cb0148184dc7884885d00b9 Author: David S. Miller Date: Wed Apr 23 03:33:32 2008 -0700 leds: Do not guard NEW_LEDS with HAS_IOMEM The LEDS infrastructure itself does not require anything that a platform dependant upon HAS_IOMEM. The individual drivers do, but they are properly guarded with the necessary platform dependencies. One can even imagine a hypervisor based LED driver that a platform without HAS_IOMEM might have. Signed-off-by: David S. Miller commit 697fa9721cbc54ce1604dae09d1be6bb918567f6 Author: Artem Bityutskiy Date: Wed Apr 23 13:43:21 2008 +0300 UBI: add a message UBI scan takes quite a time on some systems, so it is nice to print a message that we started attaching an MTD device. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 8a0f572397ca0673c65c1662946014bb73b5cdc6 Author: Anders Grafström Date: Wed Mar 12 20:29:23 2008 +0100 [JFFS2] Return values of jffs2_block_check_erase error paths It looks the error paths in jffs2_block_check_erase() have wrong return values. A block that failed to be erased never gets marked as bad. Signed-off-by: David Woodhouse commit e43fe686e48835ca027559a068bbe0b6d264a254 Merge: 986ee01... 434b825... Author: David Woodhouse Date: Wed Apr 23 09:57:25 2008 +0100 Merge git://git.infradead.org/~dedekind/ubi-2.6 commit 986ee0139a91ab8b6b07d29d7a112c8033b5f8e0 Author: David Woodhouse Date: Wed Apr 23 09:39:49 2008 +0100 [MTD] Clean up AR7 partition map support drivers/mtd/ar7part.c: In function ‘create_mtd_partitions’: drivers/mtd/ar7part.c:69: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:91: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:99: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:110: warning: passing argument 4 of ‘master->read’ from incompatible pointer type drivers/mtd/ar7part.c:111: error: ‘SQUASHFS_MAGIC’ undeclared (first use in this function) drivers/mtd/ar7part.c:111: error: (Each undeclared identifier is reported only once drivers/mtd/ar7part.c:111: error: for each function it appears in.) Signed-off-by: David Woodhouse commit 97e7e0f71d6d948c25f11f0a33878d9356d9579e Author: Miklos Szeredi Date: Thu Mar 27 13:06:26 2008 +0100 [patch 7/7] vfs: mountinfo: show dominating group id Show peer group ID of nearest dominating group that has intersection with the mount's namespace. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 2d4d4864ac08caff5c204a752bd004eed4f08760 Author: Ram Pai Date: Thu Mar 27 13:06:25 2008 +0100 [patch 6/7] vfs: mountinfo: add /proc//mountinfo [mszeredi@suse.cz] rewrite and split big patch into managable chunks /proc/mounts in its current form lacks important information: - propagation state - root of mount for bind mounts - the st_dev value used within the filesystem - identifier for each mount and it's parent It also suffers from the following problems: - not easily extendable - ambiguity of mountpoints within a chrooted environment - doesn't distinguish between filesystem dependent and independent options - doesn't distinguish between per mount and per super block options This patch introduces /proc//mountinfo which attempts to address all these deficiencies. Code shared between /proc//mounts and /proc//mountinfo is extracted into separate functions. Thanks to Al Viro for the help in getting the design right. Signed-off-by: Ram Pai Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit a1a2c409b666befc58c2db9c7fbddf200f153470 Author: Miklos Szeredi Date: Thu Mar 27 13:06:24 2008 +0100 [patch 5/7] vfs: mountinfo: allow using process root Allow /proc//mountinfo to use the root of to calculate mountpoints. - move definition of 'struct proc_mounts' to - add the process's namespace and root to this structure - pass a pointer to 'struct proc_mounts' into seq_operations In addition the following cleanups are made: - use a common open function for /proc//{mounts,mountstat} - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS - make the seq_operations structures const Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 719f5d7f0b90ac2c8f8ca4232eb322b266fea01e Author: Miklos Szeredi Date: Thu Mar 27 13:06:23 2008 +0100 [patch 4/7] vfs: mountinfo: add mount peer group ID Add a unique ID to each peer group using the IDR infrastructure. The identifiers are reused after the peer group dissolves. The IDR structures are protected by holding namepspace_sem for write while allocating or deallocating IDs. IDs are allocated when a previously unshared vfsmount becomes the first member of a peer group. When a new member is added to an existing group, the ID is copied from one of the old members. IDs are freed when the last member of a peer group is unshared. Setting the MNT_SHARED flag on members of a subtree is done as a separate step, after all the IDs have been allocated. This way an allocation failure can be cleaned up easilty, without affecting the propagation state. Based on design sketch by Al Viro. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 73cd49ecdde92fdce131938bdaff4993010d181b Author: Miklos Szeredi Date: Wed Mar 26 22:11:34 2008 +0100 [patch 3/7] vfs: mountinfo: add mount ID Add a unique ID to each vfsmount using the IDR infrastructure. The identifiers are reused after the vfsmount is freed. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 9d1bc60138977d9c79471b344a64f2df13b2ccef Author: Miklos Szeredi Date: Thu Mar 27 13:06:21 2008 +0100 [patch 2/7] vfs: mountinfo: add seq_file_root() Add a new function: seq_file_root() This is similar to seq_path(), but calculates the path relative to the given root, instead of current->fs->root. If the path was unreachable from root, then modify the root parameter to reflect this. Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 6092d048183b76bfa3f84b32f8158dd8d10bd811 Author: Ram Pai Date: Thu Mar 27 13:06:20 2008 +0100 [patch 1/7] vfs: mountinfo: add dentry_path() [mszeredi@suse.cz] split big patch into managable chunks Add the following functions: dentry_path() seq_dentry() These are similar to d_path() and seq_path(). But instead of calculating the path within a mount namespace, they calculate the path from the root of the filesystem to a given dentry, ignoring mounts completely. Signed-off-by: Ram Pai Signed-off-by: Miklos Szeredi Signed-off-by: Al Viro commit 934b25c597c0e98304a7eaec198a87e4633a42bb Author: Al Viro Date: Wed Apr 23 00:04:04 2008 -0400 [PATCH] remove unused label in xattr.c (noise from ro-bind) Signed-off-by: Al Viro commit cca97b81564c5edbc8700ebb64fc2b4e13dfa51f Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Fix for some local named nodes not marked temporary and to disallow duplicates Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, Dword, Qword), Field, BankField, and IndexField operators when invoked from inside an executing control method. In this case, these operators created namespace nodes that were incorrectly left marked as permanent nodes instead of temporary nodes. This could cause a problem if there is race condition between an exiting control method and a running namespace walk. (Reported by Linn Crosetto). Fixed a problem where the CreateField and CreateXXXField operators would incorrectly allow duplicate names (the name of the field) with no exception generated. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 66e2c0bcc5f6b8454d9091f6ba9ef4090abca4fd Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Update version to 20080321 Update version to 20080321. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 514d18d79b1da052ed4553ceec1f7e1197a5bb51 Author: Zhang Rui Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Update for new Notify values Implemented several changes for Notify handling: Added support for new Notify values (ACPI 2.0+) and improved the Notify debug output. Notify on PowerResource objects is no longer allowed, as per the ACPI specification. Signed-off-by: Zhang Rui Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1a3a4c7130d6f39b56efc259d653f6dec4990ea3 Author: Sonic Zhang Date: Wed Apr 23 09:43:20 2008 +0800 Blackfin Serial Driver: Fix bug - kernel hangs when accessing uart 0 on bf537 when booting u-boot and linux on uart 1 Wait only when this UART is enabled. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3995 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 0c44a86d9e19021b38a7d7835f25210ef74b2612 Author: Mike Frysinger Date: Thu Apr 24 04:56:02 2008 +0800 Blackfin Serial Driver: punt unused lsr variable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 94bc891b00e40cbec375feb4568780af183fd7f4 Merge: 934b702... 1ec7f1d... Author: Linus Torvalds Date: Tue Apr 22 18:27:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct() [PATCH] proc_readfd_common() race fix [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe() [PATCH] teach seq_file to discard entries [PATCH] umount_tree() will unhash everything itself [PATCH] get rid of more nameidata passing in namespace.c [PATCH] switch a bunch of LSM hooks from nameidata to path [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts() [PATCH] move a bunch of declarations to fs/internal.h commit 934b7024f0ed29003c95cef447d92737ab86dc4f Author: Linus Torvalds Date: Tue Apr 22 18:16:30 2008 -0700 Fix cardbus resource allocation Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("PCI: clean up resource alignment management") didn't set the alignment information for the cardbus window resources, causing their subsequent allocations to fail miserably with a message like yenta_cardbus 0000:15:00.0: device not available because of BAR 7 [100:1ff] collisions yenta_cardbus: probe of 0000:15:00.0 failed with error -16 or similar. This fixes it and clarifies the code a bit too (we used to have to use the insane PCI bridge alignment logic that put the alignment in the "start" field, this makes it use the slightly easier-to-understand size-based alignment, and allows us to set the resource start to zero until it gets allocated). Reported-and-tested-by: Jeff Chua Cc: Ivan Kokshaysky Cc: Jesse Barnes Signed-off-by: Linus Torvalds commit 29591b92e19f409d5ad4c099c2b7b5ea56f50dfa Author: Rafael J. Wysocki Date: Tue Apr 22 22:57:50 2008 +0200 bus_remove_device: be more careful about incomplete initialization Prevent bus_remove_device() from crashing if dev->knode_bus has not been initialized before it's called. This can happen if the device_add() ended up breaking out early due to an error, for example. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit fe224668dff97dd8899bd559d1608cc9285db67b Author: Thomas Kunze Date: Wed Apr 23 01:40:52 2008 +0200 [MTD] [NOR] Fix Intel CFI driver for collie flash collie seems to contain LH28F640BF flash chips. According to http://sharp-world.com/products/device/flash/pdf/*FUM00701*@E.pdf (page 83) if they have 0x51 of Extended Query Table (number of hardware partitions) set to zero, they have a single fixed partition. This patch makes those chips work. Signed-off-by: Thomas Kunze Signed-off-by: David Woodhouse commit 19e56ceae7cb1833ffd806038c19477b2c265f9f Author: David Woodhouse Date: Wed Apr 23 01:26:12 2008 +0100 [JFFS2] Finally remove redundant ref->__totlen field. Haven't had any complaints about it recently, despite having the test code enabled to verify that the calculated length is correct. Kill it off, just by #undef TEST_TOTLEN for now; removing it for real can come a little later. Signed-off-by: David Woodhouse commit 27e6b8e388fffb332476ddab00bbe05cd5da5f32 Author: David Woodhouse Date: Wed Apr 23 01:25:33 2008 +0100 [JFFS2] Honour TEST_TOTLEN macro in debugging code. ref->__totlen is going! Signed-off-by: David Woodhouse commit 85a62db6245a82f07a31b387915ee2180b9ea11a Author: David Woodhouse Date: Wed Apr 23 01:17:51 2008 +0100 [JFFS2] Add paranoia debugging for superblock counts The problem fixed in commit 014b164e1392a166fe96e003d2f0e7ad2e2a0bb7 (space leak with in-band cleanmarkers) would have been caught a lot quicker if our paranoid debugging mode had included adding up the size counts from all the eraseblocks and comparing the totals with the counts in the superblock. Add that. Make jffs2_mark_erased_block() file the newly-erased block on the free_list before calling the debug function, to make it happy. Signed-off-by: David Woodhouse commit 08119e8966e993993d0ba92b2fba38c582c8f787 Author: Rafael J. Wysocki Date: Wed Apr 23 00:48:23 2008 +0200 Relax check on adding children of suspended devices Do not refuse to actually register children of suspended devices, but still warn about attempts to do that. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c Author: Al Viro Date: Tue Apr 22 05:35:42 2008 -0400 [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct() The only reason to have separated __...() for those was to keep them inlined for local users in exit.c. Since Alexey removed the inline on those, there's no reason whatsoever to keep them around; just collapse with normal variants. Signed-off-by: Al Viro commit 9b4f526cdc0f95f635607dfba6ac788b3deca188 Author: Al Viro Date: Tue Apr 22 01:32:44 2008 -0400 [PATCH] proc_readfd_common() race fix Since we drop the rcu_read_lock inside the loop, we can't assume that files->fdt will remain unchanged (and not freed) between iterations. Signed-off-by: Al Viro commit ed1524371716466e9c762808b02601d0d0276a92 Author: Al Viro Date: Tue Apr 22 19:51:27 2008 -0400 [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe() Duh... Fortunately, the bug is quite recent (post-2.6.25) and, embarrassingly, mine ;-/ Signed-off-by: Al Viro commit aca239b793a4006db0d92ad0e43846ab6b54d816 Merge: 16abef0... 2c2b94f... Author: Linus Torvalds Date: Tue Apr 22 16:47:54 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl [IA64] run rest drivers/misc/sgi-xp through scripts/Lindent [IA64] run some drivers/misc/sgi-xp through scripts/Lindent [IA64] move XP and XPC to drivers/misc/sgi-xp [IA64] minor irq handler cleanups [IA64] simplify notify hooks in mca.c [IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs [IA64] disable interrupts on exit of ia64_trace_syscall commit 66d3ca9ea28e1b3d591083772fd797b9b46410b8 Author: Bob Moore Date: Thu Apr 10 19:06:44 2008 +0400 ACPICA: Fixes for size of StartDependent resource descriptor Fixed a couple of size calculation issues with the variable-length Start Dependent resource descriptor. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d8846574ed4a81be319bf68728f9cca9af595afd Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Updates for Debug object output Implemented several improvements for the output of the ASL "Debug" object to clarify and keep all data for a given object on one output line. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit cd0b2248241f4146152fb04a6bf4bccb6ce0478a Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fixes for external Reference Objects All Reference Objects returned via the AcpiEvaluteObject interface are now marked as type "REFERENCE" instead of "ANY". The type ANY is now reservered for NULL objects - either NULL package elements or unresolved named references. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 014b164e1392a166fe96e003d2f0e7ad2e2a0bb7 Author: David Woodhouse Date: Tue Apr 22 23:54:38 2008 +0100 [JFFS2] Fix free space leak with in-band cleanmarkers We were accounting for the cleanmarker by calling jffs2_link_node_ref() (without locking!), which adjusted both superblock and per-eraseblock accounting, subtracting the size of the cleanmarker from {jeb,c}->free_size and adding it to {jeb,c}->used_size. But only _then_ were we adding the size of the newly-erased block back to the superblock counts, and we were adding each of jeb->{free,used}_size to the corresponding superblock counts. Thus, the size of the cleanmarker was effectively subtracted from the superblock's free_size _twice_. Fix this, by always adding a full eraseblock size to c->free_size when we've erased a block. And call jffs2_link_node_ref() under the proper lock, while we're at it. Thanks to Alexander Yurchenko and/or Damir Shayhutdinov for (almost) pinpointing the problem. Signed-off-by: David Woodhouse commit cf9d1e428cc28ef5798aeda0822a6ce64849a439 Author: David Woodhouse Date: Tue Apr 22 23:53:26 2008 +0100 [JFFS2] Self-sufficient #includes in jffs2_fs_i.h: include ... instead of which we don't need any more anyway. Signed-off-by: David Woodhouse commit 16abef0e9e79643827fd5a2a14a07bced851ae72 Author: David Sterba Date: Tue Apr 22 15:09:22 2008 +0200 fs: use loff_t type instead of long long Use offset type consistently. Signed-off-by: David Sterba Signed-off-by: Linus Torvalds commit e199ceee15c8f8652cc3bb97651bdf246ba23c5f Merge: b24a314... 6184425... Author: Linus Torvalds Date: Tue Apr 22 15:15:48 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux fixups needed for preemptable RCU from -rt SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts commit 2c2b94f93f4732c3b9703ce62627e6187e7d6128 Author: Dean Nelson Date: Tue Apr 22 14:50:17 2008 -0500 [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl Addressed issues raised by scripts/checkpatch.pl. Removed unnecessary curly braces. Eliminated uses of volatiles and use of kernel_thread() and daemonize(). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 35190506b1a18eda7df24b285fdcd94dec7800ef Author: Dean Nelson Date: Tue Apr 22 14:48:55 2008 -0500 [IA64] run rest drivers/misc/sgi-xp through scripts/Lindent Ran patches through scripts/Lindent (part 2). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 4a3ad2ddc0b920cd3ead84b0c67599be02d689ca Author: Dean Nelson Date: Tue Apr 22 14:48:01 2008 -0500 [IA64] run some drivers/misc/sgi-xp through scripts/Lindent Ran patches through scripts/Lindent (part 1). Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 45d9ca492e4bd1522d1b5bd125c2908f1cee3d4a Author: Dean Nelson Date: Tue Apr 22 14:46:56 2008 -0500 [IA64] move XP and XPC to drivers/misc/sgi-xp Move XPC and XPNET from arch/ia64/sn/kernel to drivers/misc/sgi-xp. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit b24a31442e2ff66053ae4f76e9c69c557d59c7d1 Merge: 7348672... add8eda... Author: Linus Torvalds Date: Tue Apr 22 13:59:30 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Fix platform driver hotplug/coldplug i2c: New driver for the SuperH Mobile I2C bus controller i2c/scx200_acb: Don't use 0 as NULL pointer i2c-bfin-twi: Fix mismatch in add timer and delete timer i2c-bfin-twi: Just let i2c-bfin-twi driver depends on BLACKFIN i2c-bfin-twi: Use simpler comment headers and strip out information that is maintained in the scm's log i2c-bfin-twi: Cleanup driver descriptions, versions and some module useful information i2c-bfin-twi: Add missing pin mux operation i2c-bfin-twi: Add platform_resource interface to support multi-port TWI controllers i2c-bfin-twi: Add repeat start feature to avoid break of a bundle of i2c master xfer operation i2c: Remove trailing whitespaces in busses/Kconfig i2c: Replace remaining __FUNCTION__ occurrences i2c: Renesas SH7760 I2C master driver i2c-dev: Split i2cdev_ioctl i2c-ibm_iic: Support building as an of_platform driver i2c-ibm_iic: Change the log levels i2c: Add platform driver on top of the new pca-algorithm i2c-algo-pca: Extend for future drivers i2c-algo-pca: Remove trailing whitespaces and unnecessary UTF i2c: Remove the algorithm drivers from the config menu commit 73486722b70a83bba17be722677519b0855abedf Author: Randy Dunlap Date: Tue Apr 22 10:07:22 2008 -0700 kernel-doc: fix sched.c missing parameter Add missing kernel-doc in kernel/sched.c: Warning(linux-2.6.25-git3//kernel/sched.c:7044): No description found for parameter 'span' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 03b883840c630c7b571690577809754739ac773f Merge: 0d07a15... c1c7674... Author: Linus Torvalds Date: Tue Apr 22 13:44:23 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: linux/{dlm,dlm_device}.h: cleanup for userspace dlm: common max length definitions dlm: move plock code from gfs2 dlm: recover nodes that are removed and re-added dlm: save master info after failed no-queue request dlm: make dlm_print_rsb() static dlm: match signedness between dlm_config_info and cluster_set commit 0d07a15bdb5a4ea6271b6e874d307c48151ef546 Merge: 62429f4... efa0f16... Author: Linus Torvalds Date: Tue Apr 22 13:43:46 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Suppress hidinput for Samsung IR control HID: remove 60x GTCO devices from blacklist HID: export headers properly HID: WiseGroup 866 Dual Joypad needs output reports quirk HID: ThrustMaster FF driver is no longer experimental HID: Logitech diNovo Mini pad support HID: fix race between open() and disconnect() in usbhid HID: make hid_input_field and usbhid_modify_dquirk static HID: pass numbered reports properly to hidraw HID: fix misplaced rdesc quirk HID: force feedback driver for Logitech Rumblepad 2 HID: move wait from hid to usbhid HID: make function from dbg_hid HID: fix sparse warnings HID: only dump report traffic with debug level 2 HID: patch to add NOGET for DMI/Acomdata HID: Sunplus Wireless Desktop needs report descriptor fixup HID: quirk for MS Wireless Desktop Receiver (model 1028) HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd HID: fix build failure in hiddev_ioctl with gcc 3.2 commit ed8165c75e3dd0b2e51b92a858cabe29ba00c9cb Author: Ben Dooks Date: Mon Apr 14 14:58:58 2008 +0100 [MTD] [NAND] Verify probe by retrying to checking the results match With modern systems using bus-hold instead of bus pull-up, it can often lead to erroneous reporting of NAND devices where there are none. Do a double probe to ensure that the result we got the first time is repeatable, and if it is not then return that there is no chip there. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 37e5ffa3f15bd9a8b133ab13e9bef833b5eb33d4 Author: Ben Dooks Date: Tue Apr 15 11:36:22 2008 +0100 [MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board Add support to disable ECC checking for a given chip when passed by the board via the platform data. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 1c21ab67b7d3c9a1296019939e0efb69350487cf Author: Ben Dooks Date: Tue Apr 15 11:36:21 2008 +0100 [MTD] [NAND] S3C2410 Allow ECC layout to be passed through platform data Add support for the ECC layout to be passed via the platform data specified by the board. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit c45c6c68333c04de84c21a4b869f36a96f642779 Author: Ben Dooks Date: Tue Apr 15 11:36:20 2008 +0100 [MTD] [NAND] S3C2410 Allow unset ecc to be ignored for ecc correction If a block's ecc field is all 0xff, then ignore the ECC correction. This is for systems where some of the blocks, such as the initial cramfs are written without ECC and need to be loaded on start. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 62429f434091586d54b37b8dd46076e7c08b27b9 Merge: 26defe3... f845fce... Author: Linus Torvalds Date: Tue Apr 22 13:40:47 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: (41 commits) udf: use crc_itu_t from lib instead of udf_crc udf: Fix compilation warnings when UDF debug is on udf: Fix bug in VAT mapping code udf: Add read-only support for 2.50 UDF media udf: Fix handling of multisession media udf: Mount filesystem read-only if it has pseudooverwrite partition udf: Handle VAT packed inside inode properly udf: Allow loading of VAT inode udf: Fix detection of VAT version udf: Silence warning about accesses beyond end of device udf: Improve anchor block detection udf: Cleanup anchor block detection. udf: Move processing of virtual partitions udf: Move filling of partition descriptor info into a separate function udf: Improve error recovery on mount udf: Cleanup volume descriptor sequence processing udf: fix anchor point detection udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes) udf: Remove checking of existence of filename in udf_add_entry() udf: Mark udf_process_sequence() as noinline ... commit 71d54f3855b4ca98559e8782350336ec2433cc24 Author: Ben Dooks Date: Tue Apr 15 11:36:19 2008 +0100 [MTD] [NAND] S3C2410 Large page NAND support This adds support for using large page NAND devices with the S3C24XX NAND controller. This also adds the file Documentation/arm/Samsung-S3C24XX/NAND.txt to describe the differences. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 26defe34e48e18b058b773f60467729c64917490 Author: Petr Tesarik Date: Tue Apr 22 05:36:52 2008 +0200 fix brd allocation flags While looking at the implementation of the Ram backed block device driver, I stumbled across a write-only local variable, which makes little sense, so I assume it should actually work like this: Signed-off-by: Petr Tesarik Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 0916083210039bf3d186a87522cc806dc21b7097 Author: Ben Dooks Date: Tue Apr 15 11:36:18 2008 +0100 [MTD] [NAND] S3C2410 Fix previous nFCE suspend save patch Commit 03680b1e00d146df718c8a4eac34438566b70c85 incorrectly was assuming S3C2410_NFCONF was being used to select the NAND chip. Fix this error by ising the sel_reg. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 67e5a28b35254bbbcd5bfce61ef646709e059bbf Author: Adrian Hunter Date: Mon Apr 14 09:39:39 2008 +0300 [MTD] [OneNAND] Allow for controller errors when reading A power loss while writing can result in a page becoming unreadable. When the device is mounted again, reading that page gives controller errors. Upper level software like JFFS2 treat -EIO as fatal, refusing to mount at all. That means it is necessary to treat the error as an ECC error to allow recovery. Note that typically in this case, the eraseblock can still be erased and rewritten i.e. it has not become a bad block. Signed-off-by: Adrian Hunter Signed-off-by: David Woodhouse commit f1ebe4eba40e0ee862767893277d1b1a1e4cc85f Author: David Brownell Date: Mon Apr 7 12:29:23 2008 -0700 [MTD] [MAPS] omap_nor section fixes Minor tweaks to omap_nor ... as with most platform drivers, its probe and remove logic can (and should!) safely vanish in most configs. Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 70b072550a59e787b46030ab104ac64e25fcc732 Author: Trent Piepho Date: Sun Mar 30 21:19:30 2008 -0700 [MTD] [NOR] Fixup for incorrect CFI data in Spansion S29GL064/32N flash chips This is a known erratum confirmed by Spansion. I have an errata document, but I can't find a link to it anywhere on their site to include here. Some of the S29GL064N chips report 64 sectors when they should report 128, and some of S29GL032N chips report 127 sectors when they should report 63. Note that when the chip dies are fixed by Spansion, they will still have the same id. The fix is done in such a way that it won't affect corrected chips. The fixups use the extended id made available by a previous patch. Without that, virtually all newer AMD/Spansion chips will have the same ID (0x227e) and it's not possible to apply the fixup to the correct chips. Signed-off-by: Trent Piepho Signed-off-by: David Woodhouse commit add8eda7f2be781af0224241e870715cf0cfd75a Author: Kay Sievers Date: Tue Apr 22 22:16:49 2008 +0200 i2c: Fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable I2C platform drivers, to allow module auto loading. [ db: add some more drivers ] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit da672773d8f8169938ebf53449c99afc09938f66 Author: Magnus Damm Date: Tue Apr 22 22:16:49 2008 +0200 i2c: New driver for the SuperH Mobile I2C bus controller This is V5 of the SuperH Mobile I2C Controller Driver. A simple Master only driver for the I2C block included in processors such as sh7343, sh7722 and sh7723. Tested on a sh7722 MigoR using a rs5c732b rtc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt Signed-off-by: Jean Delvare commit dec1a998bdafb4e4a18c1259bf01ffe85db368c2 Author: Adrian Bunk Date: Tue Apr 22 22:16:48 2008 +0200 i2c/scx200_acb: Don't use 0 as NULL pointer Don't use 0 as NULL pointer. Spotted by sparse. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit afc13b765ea71d316ce4974d3dc5a96cc73a0e95 Author: Hans Schillstrom Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Fix mismatch in add timer and delete timer Move init_completion to just before i2c transfer. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3385 Signed-off-by: Hans Schillstrom Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit d4ce220d493c2f9c41bad510c959c2130b2f1d0d Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Just let i2c-bfin-twi driver depends on BLACKFIN Simply use "depends on BLACKFIN" (which is technically correct) and just document which machines have the device. Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit bd584996b092a019a3ac32fcde7c3851935add96 Author: Mike Frysinger Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Use simpler comment headers and strip out information that is maintained in the scm's log Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit fa6ad222713a65980528348e7f75abc768b78297 Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Cleanup driver descriptions, versions and some module useful information Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 74d362e0b3afb7a324855ab9675eb6cda78fda8c Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Add missing pin mux operation Blackfin TWI controller hardware pin should be requested from GPIO port controller Before BF54x, there is no need to do this. But as long as BF54x and BF52x are supported by this generic driver, the missing pin mux operation should be added. Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit aa3d02091747727f7ff2e1f2455ad8363a9e6946 Author: Bryan Wu Date: Tue Apr 22 22:16:48 2008 +0200 i2c-bfin-twi: Add platform_resource interface to support multi-port TWI controllers - Dynamic alloc the resource of TWI driver data according to board information - TWI register read/write accessor based on dynamic regs_base - Support TWI0/TWI1 for BF54x Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 4dd39bb12f5b9f0d9a98f29071dc1c51e9306954 Author: Sonic Zhang Date: Tue Apr 22 22:16:47 2008 +0200 i2c-bfin-twi: Add repeat start feature to avoid break of a bundle of i2c master xfer operation - Create a new mode TWI_I2C_MODE_REPEAT. - No change to smbus operation. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit 4c03f68fc4ab902353336b6b0c6933617821cf70 Author: Wolfram Sang Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Remove trailing whitespaces in busses/Kconfig Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 08882d20932224d5c4500a855a2f4b1216e5f836 Author: Harvey Harrison Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__. Signed-off-by: Harvey Harrison Signed-off-by: Jean Delvare commit a26c20b1fa6d16fd3c402785b943a5e915eda30a Author: Manuel Lauss Date: Tue Apr 22 22:16:47 2008 +0200 i2c: Renesas SH7760 I2C master driver Driver for I2C interfaces in master mode on SH7760. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit dba7997a87cd12b815c0d58b2a0522a8bb0cf5ec Author: Jean Delvare Date: Tue Apr 22 22:16:47 2008 +0200 i2c-dev: Split i2cdev_ioctl Split the handling of the I2C_RDWR and I2C_SMBUS ioctls to their own functions. This limits the stack usage, saves one level of indentation and makes the code more readable. Signed-off-by: Jean Delvare commit 838349b5c6454ebce8ec3e8c448941cf8608ffea Author: Sean MacLennan Date: Tue Apr 22 22:16:47 2008 +0200 i2c-ibm_iic: Support building as an of_platform driver This patch allows the i2c-ibm_iic driver to be built either as an ocp driver or an of_platform driver. This allows it to run under the powerpc arch but maintains backward compatibility with the ppc arch. Signed-off-by: Sean MacLennan Signed-off-by: Jean Delvare commit 681aae82c5804f8bbecbb495da90587d4167753c Author: Sean MacLennan Date: Tue Apr 22 22:16:46 2008 +0200 i2c-ibm_iic: Change the log levels Change the log levels based on feedback from linxppc-dev. Signed-off-by: Sean MacLennan Signed-off-by: Jean Delvare commit 244fbbb81c46eefcc5f3a9cc37c4668f9d8ff801 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c: Add platform driver on top of the new pca-algorithm Tested on a blackfin. Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit c01b0831057381c7f6e0bfb3634bac8c5f7fb256 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c-algo-pca: Extend for future drivers The separation between algorithm and adapter was unsharp at places. This was partly hidden by the fact, that the ISA-driver allowed just one instance and had all private data in static variables. This patch makes neccessary preparations to add a platform driver on top of the algorithm, while still supporting ISA. Note: Due to lack of hardware, the ISA-driver could not be tested except that it builds. Concerning the core struct i2c_algo_pca_data: - A private data field was added, all hardware dependant data may go here. Similar to other algorithms, now a pointer to this data is passed to the adapter's functions. In order to make as less changes as possible to the ISA-driver, it leaves the private data empty and still only uses its static variables. - A "reset_chip" function pointer was added; such a functionality must come from the adapter, not the algorithm. - use a variable "i2c_clock" instead of a function pointer "get_clock", allowing for write access to a default in case a wrong value was supplied. In the algorithm-file: - move "i2c-pca-algo.h" into "linux/i2c-algo-pca.h" - now using per_instance timeout values (i2c_adap->timeout) - error messages specify the device, not only the driver name - restructure initialization to easily support "i2c_add_numbered_adapter" - drop "retries" and "own" (i2c address) as they were unused (The state-machine for I2C-communication was not touched.) In the ISA-driver: - adapt to new algorithm Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 3d4382913f9a86f0d9ff47740feb427415fe7234 Author: Wolfram Sang Date: Tue Apr 22 22:16:46 2008 +0200 i2c-algo-pca: Remove trailing whitespaces and unnecessary UTF Remove trailing whitespaces to make further patches more readable. Also remove an unnecessary UTF-char for simplicity ("us" for microseconds is fine enough). Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 3845de25c5f83cd52729570f7b501679d37ca8de Author: Jean Delvare Date: Tue Apr 22 22:16:46 2008 +0200 i2c: Remove the algorithm drivers from the config menu The algorithm drivers are helper drivers that are selected automatically as needed. There's no point in listing them in the config menu, it can only confuse users and waste their time. Signed-off-by: Jean Delvare commit 93c20a59af4624aedf53f8320606b355aa951bc1 Author: FUJITA Tomonori Date: Sat Apr 19 00:43:15 2008 +0900 [SCSI] scsi_transport_sas: fix the lifetime of sas bsg objects scsi_transport_sas calls blk_cleanup_queue too early for bsg queues. If a user holds a sas_host, end_device, or expander device open, remove the device, then send a request to it, we get a kernel crash. We need to call blk_cleanup_queue in the release callback as we do with scsi devices. This patch moves blk_cleanup_queue to sas_expander_release and sas_end_device_release from sas_bsg_remove. sas_host can't use the release callback in struct device so use bsg's release callback. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 97f46ae45c70857e459b7f8df1fc2807e7bd90a9 Author: FUJITA Tomonori Date: Sat Apr 19 00:43:14 2008 +0900 [SCSI] bsg: add release callback support This patch adds release callback support, which is called when a bsg device goes away. bsg_register_queue() takes a pointer to a callback function. This feature is useful for stuff like sas_host that can't use the release callback in struct device. If a caller doesn't need bsg's release callback, it can call bsg_register_queue() with NULL pointer (e.g. scsi devices can use release callback in struct device so they don't need bsg's callback). With this patch, bsg uses kref for refcounts on bsg devices instead of get/put_device in fops->open/release. bsg calls put_device and the caller's release callback (if it was registered) in kref_put's release. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 643eb2d932c97a0583381629d632d486934cf7ee Author: James Bottomley Date: Sat Mar 22 22:42:27 2008 -0500 [SCSI] rework scsi_target allocation The current target allocation code registeres each possible target with sysfs; it will be deleted again if no useable LUN on this target was found. This results in a string of 'target add/target remove' uevents. Based on a patch by Hannes Reinecke this patch reworks the target allocation code so that only uevents for existing targets are sent. The sysfs registration is split off from the existing scsi_target_alloc() into a in a new scsi_add_target() function, which should be called whenever an existing target is found. Only then a uevent is sent, so we'll be generating events for existing targets only. Signed-off-by: James Bottomley commit f7120a4f75168df3c02efacd10403a4ba0bcb29d Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] use default attributes for scsi_host This patch removes the unused sysfs attibute overwriting logic for the scsi host attibutes, and plugs them into the driver core default attribute creation. Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit 352f6bb422bd31a80b4a0f1c3f19b6993df2508c Author: James Bottomley Date: Thu Mar 20 20:57:02 2008 -0500 [SCSI] scsi_transport_spi: fix the attribute settings We now take advantage of the mode_t return of is_valid, and also update the attributes when the target is configured. Signed-off-by: James Bottomley commit 0f4238958d28044b335644b69df6071cdb04b5ce Author: James Bottomley Date: Thu Mar 20 20:47:52 2008 -0500 [SCSI] sysfs: make group is_valid return a mode_t We have a problem in scsi_transport_spi in that we need to customise not only the visibility of the attributes, but also their mode. Fix this by making the is_visible() callback return a mode, with 0 indicating is not visible. Also add a sysfs_update_group() API to allow us to change either the visibility or mode of the files at any time on the fly. Acked-by: Kay Sievers Signed-off-by: James Bottomley commit bbd1ae412c9eb09ae7bb11cfaf7018a2367d493f Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] qla2xxx, lfpc: Rename 'state' attribute to 'link_state' lpfc and qla2xxx overwrite the standard 'state' attribute with custom callbacks. So rename the custom attributes to 'link_state' and retain the original meaning of the 'state' attribute. Signed-off-by: Hannes Reinecke Acked-by: Andrew Vasquez Acked-by: James Smart Signed-off-by: James Bottomley commit b0ed43360fdca227048d88a08290365cb681c1a8 Author: Hannes Reinecke Date: Tue Mar 18 14:32:28 2008 +0100 [SCSI] add scsi_host and scsi_target to scsi_bus This patch implements scsi_host and scsi_target device types and adds both to the scsi_bus. Signed-off-by: Hannes Reinecke Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit cb6b7f40630f94126233194847a86bf5501fb63c Author: James Bottomley Date: Sat Mar 15 13:01:40 2008 -0500 [SCSI] ses: fix up functionality after class_device->device conversion ses uses an unusual two level class hierarchy which broke in this conversion. Fix it up still with a two level hierarchy, but this time let the ses device manage the links to and from the real device in the enclosure. Signed-off-by: James Bottomley commit 7d15d6a4dc08dfd456d834e33ef6c1d798fb2edc Author: James Bottomley Date: Fri Mar 14 14:12:43 2008 -0700 [SCSI] st: fix up after class_device removal There's a change in the SCSI tree that adds another class_device, so change it to an ordinary device [jejb: this one got rebased until it's basically cosmetic only] Cc: Kai Makisara Signed-off-by: James Bottomley commit fecb8865def541ff38f59ef3caf0cbd09f4fc9fd Author: Trent Piepho Date: Sun Mar 30 21:19:29 2008 -0700 [MTD] [NOR] Read extended device ID from AMD/Spansion CFI flash chips AMD/Spansion use a device id of 0x7e to indicate an extended device is present at offset 0xe and 0xf in the query data. I've verified with Spansion that all their chips (mfr == 0x01) with an id of 0x7e use it to indicate an extended id is present. What's more, there are no chips with a NON-extended id that is the same as a different chip's extended id. In other words, when the extended ID is present, one can replace the normal id with the extended id without losing any information. Which is what I've done. Signed-off-by: Trent Piepho Signed-off-by: David Woodhouse commit 0ff6631be150702ed4c92b46b77941affee866ba Author: Anton Vorontsov Date: Fri Mar 28 22:10:54 2008 +0300 [MTD] [NAND] fsl_elbc_nand: workaround for hangs during nand write Using current driver elbc sometimes hangs during nand write. Reading back last byte helps though (thanks to Scott Wood for the idea). Signed-off-by: Anton Vorontsov Acked-by: Scott Wood Signed-off-by: David Woodhouse commit 93919d384df98eba02bebd417ecb2f481b3bdcb8 Author: Hamish Moffatt Date: Fri Mar 28 15:00:00 2008 +1100 [MTD] [NAND] plat_nand: set mtd->name This patch sets mtd->name to the platform bus ID in the plat_nand driver, so that you can specify partitions readily with mtdparts=. Currently it relies on nand_base filling in the name from the device, which results in names like "NAND 256MiB 3,3V 8-bit", that you can't use with cmdlineparts. Signed-off-by: Hamish Moffatt Signed-off-by: David Woodhouse commit 1938de46cb7e108120ffbf5155678a2a5e05b377 Author: Mike Hench Date: Wed Mar 19 12:40:15 2008 -0500 [MTD] [NAND] corrected MPC8313 NAND fixes Fix a race condition in fsl_elbc_run_command Fix incorrect usage of clearbits32 that bashed option register Remove work around for bashed register Signed-off-by: Mike Hench Acked-by: Scott Wood Signed-off-by: David Woodhouse commit 9ebed3e60f9991e980e6c38b0edbdf9c8ff2ff6d Author: Anton Vorontsov Date: Tue Mar 18 19:34:03 2008 +0300 [MTD] [NAND] fsl_elbc_nand: fix mtd name Currently fsl_elbc_nand doesn't initialize mtd->name, and this causes nand_get_flash_type() to assign name that is equal to chip type, like this: root@b1:~# cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "fe000000.flash" mtd1: 02000000 00004000 "NAND 32MiB 3,3V 8-bit" mtd0 is physmap_of flash (normal name), and mtd1 is fsl_elbc_nand. Despite inconsistency, with mtd name like this specifying paritions from the kernel command line becomes a torture (though, I didn't tried and not sure if mtdparts= can handle spaces at all). Plus, this causes real bugs when multiple fsl_elbc_nand chips registered. With this patch applied fsl_elbc_nand chip will have proper name: root@b1:~# cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "fe000000.flash" mtd1: 02000000 00004000 "e0600000.flash" p.s. We can't use priv->dev->bus_id as in physmap_of, because fsl_elbc_nand pretends to be a localbus controller, so its bus_id is "address.localbus", which is incorrect and thus will also not work for multiple chips. Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit f0797881d59ab93d7d92c55411e0573977d909d4 Author: Matteo Croce Date: Wed Mar 12 02:25:06 2008 +0100 [MTD] AR7 mtd partition map Signed-off-by: Matteo Croce Signed-off-by: Felix Fietkau Signed-off-by: Eugene Konev Signed-off-by: David Woodhouse commit 5c249c5a57dce2b47f1fb92093201b3a7013cb57 Author: Anton Vorontsov Date: Tue Mar 11 22:33:13 2008 +0300 [MTD] [NAND] FSL UPM NAND driver This is very simple driver, NAND is connected through localbus, and User-Programmable Machine is doing various adjustments to speak NAND. No special efforts needed to do read and write cycles, though to control ALE and CLE phases, we ask UPM to generate exact pre-programmed signals on the localbus lines. Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit a1c06ee11f0b83e372c958b165338f579d17e3d4 Author: David Woodhouse Date: Tue Apr 22 20:39:43 2008 +0100 [MTD] [NAND] Fix checkpatch errors in pxa3xx_nand Signed-off-by: David Woodhouse commit 7a5bb9964512c5313af19310c6a3002ec54f7336 Author: Lin Ming Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix to handle NULL package elements correctly Fixed problem where NULL package elements were not returned to the AcpiEvaluateObject interface correctly. Instead of returning a NULL ACPI_OBJECT package element, the element was simply ignored, potentially causing a buffer overflow and/or confusing the caller who expected a fixed number of elements. http://bugzilla.kernel.org/show_bug.cgi?id=10132 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 0ba7d25c70699cdd3e06fc049d8884ee54b9d5db Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for extraneous debug message for packages Fixed a problem where an extraneous debug message was produced for package objects (when debugging enabled). The message "Package List length larger than NumElements count" is now produced in the correct case, and is also an error message rather than a debug message. Added a debug message for the opposite case, where NumElements is larger than the Package List, and the package has been padded out with NULL elements. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1b0a062be7fccfbf0218a81c98c0e4d380ee23f5 Author: Andrei Dolnikov Date: Mon Mar 3 21:01:21 2008 +0300 [MTD] [NOR] Add JEDEC support for the SST 36VF3203 flash chip Add support for the SST 36VF3203 flash chip. It is used on Emerson KSI8560 board. Signed-off-by: Andrei Dolnikov Signed-off-by: David Woodhouse commit 757570063a350ee3875c42a6338d29ee09f5af07 Author: Florian Fainelli Date: Mon Mar 3 18:30:24 2008 +0100 [MTD] [MAPS] Extend plat-ram to support a supplied probe type This enhances plat-ram to take a map_probes argument in the platform_data structure which allow plat-ram to support any direct-mapped device that MTD supports (jedec, cfi, amd ..) A few items are also fixed: - Don't panic if probes is 0 - Actually use the partition list that is passed in Signed-off-by: Florian Fainelli Signed-off-by: Jason Gunthorpe Signed-off-by: David Woodhouse commit ca5c23c3b8882d61bf19b7685f2244501902869f Author: Paulius Zaleckas Date: Wed Feb 27 01:42:39 2008 +0200 [MTD] XIP: Use generic xip_iprefetch() instead of asm volatile (...) Untested, but shouldn't break anything... Makes MTD_XIP arch independent. I guess this is why xip_iprefetch() was made for. Signed-off-by: Paulius Zaleckas Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit a0144a2929620d9682bc4b0c6274ef03e417f49a Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Update ACPICA version to 20080213 Update ACPICA version to 20080213. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 24a3157a90ddf851a0880c0b8963bc43481cd85b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for possible error when packages/buffers are passed to methods externally Fixed a problem where buffer and package objects passed as arguments to a control method via the external AcpiEvaluateObject interface could cause an AE_AML_INTERNAL exception depending on the order and type of operators executed by the target control method. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a3df4dadd446c0d7195f2bbe86dd5174426d8090 Author: Lin Ming Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Update behavior of CopyObject to match ACPI spec Fixed a problem where a CopyObject to RegionField, BankField, and IndexField objects did not perform an implicit conversion as it should. These types must retain their initial type permanently as per the ACPI specification. However, a CopyObject to all other object types should not perform an implicit conversion, as per the ACPI specification. http://www.acpica.org/bugzilla/show_bug.cgi?id=388 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1d5b285da1893b90507b081664ac27f1a8a3dc5b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Fix for resource descriptor optimization issues for _CRS/_SRC Fixed a problem where resource descriptor size optimization could cause a problem when a _CRS resource template is passed to a _SRS method. The _SRS resource template must use the same descriptors (with the same size) as returned from _CRS. This change affects the following resource descriptors: IRQ/IRQNoFlags and StartDependendentFn/StartDependentFnNoPri. http://bugzilla.kernel.org/show_bug.cgi?id=9487 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3fa347770a8a9cb3568600380ce4b5c041b3ac0b Author: Bob Moore Date: Thu Apr 10 19:06:43 2008 +0400 ACPICA: Disassembler support for new ACPI tables Implemented full disassembler support for the following new ACPI tables: BERT, EINJ, and ERST. Partial disassembler support for the complicated HEST table. These tables support the Windows Hardware Error Architecture (WHEA). Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 7823665eccdc7e230d0a904c6ec01d5c70ee099b Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for ACPI_HIDWORD macro Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro was inadvertently changed to return a 16-bit value instead of a 32-bit value, truncating the upper Dword of a 64-bit value. This macro is only used to display debug output, so no incorrect calculations were made. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b1dd9096fef08642eb509fbf2a40b3c7734dce1c Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Added new error messages New messages for the 2 AE_SUPPORT cases. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 507f046c4dd17e9c94b5130ba184f8da90504685 Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Add va_end statements as appropriate Added missing va_end statements that should correspond with each va_start statement. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8c49c235774002708bd0da1c28c570073ebd963b Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Update version to 20080123 Update version to 20080123. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit bc7a36ab74e09da7bb63e2477b0740ac992b290e Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fixes for Unload and DDBHandles Implemented support for the use of DDBHandles as an Indexed Reference, as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=486. Implemented support for UserTerm (Method invocation) for the Unload operator as per the ACPI spec. http://www.acpica.org/bugzilla/show_bug.cgi?id=580 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a6f4a4511e65942b93ded60d746094ec0e58ed8e Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Bulletproof disassembler for bad ACPI tables Fixed a problem with the disassembler where invalid ACPI tables could cause faults or infinite loops. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 970d9c9ec313daa1b41db0f8bdd1ca8cc2903822 Author: Bob Moore Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Include file support for new ACPI tables Implemented header file support for new ACPI tables - BERT, ERST, EINJ, HEST, IBFT, UEFI, WDAT. Disassembler support is forthcoming. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 47c08729bf1c60d522d020a7f8bc15d1c70e6ecb Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for LoadTable operator, input strings Fixed a problem with the LoadTable operator where the OemId and OemTableId input strings could cause unexpected failures if they were shorter than the maximum lengths allowed. http://www.acpica.org/bugzilla/show_bug.cgi?id=576 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 200cce6a75061a3bf8d2e6b27c5cdcc7730893f1 Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Fix for Load operator Fixed a problem with the Load operator where an exception was not returned in the case where the table is already loaded. http://www.acpica.org/bugzilla/show_bug.cgi?id=463 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9accd46459b8c068540451fdab07dbfcefaf7280 Author: Lin Ming Date: Thu Apr 10 19:06:42 2008 +0400 ACPICA: Methods now implicitly return 0 in slack mode Implemented an enhancement to the interpreter "slack mode". In the absence of an explicit return or an implicitly returned object from the last executed opcode, a control method will now implicitly return an integer of value 0 for Microsoft compatibility. http://www.acpica.org/bugzilla/show_bug.cgi?id=392 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8246934b7cf99d1f0c053d57890775e5d0df9c33 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fix for SizeOf when used with Buffers and Packages Fixed a problem with the SizeOf operator when used with Package and Buffer objects. These objects have deferred execution for some arguments, and the execution is now completed before the SizeOf is executed. This problem caused unexpected AE_PACKAGE_LIMIT errors on some systems. http://bugzilla.kernel.org/show_bug.cgi?id=9558 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c351f2dd542a3980e96cf128e06d19f784c5ea3e Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Update version to 20071219 Update version to 20071219. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit ef805d956320ffa36d068673d5c5eb2a7d13209b Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Implemented full argument resolution support for the BankValue argument to BankField Previously, only constants were supported, now any TermArg may be used. http://www.acpica.org/bugzilla/show_bug.cgi?id=387 http://www.acpica.org/bugzilla/show_bug.cgi?id=393 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 57345ee6b807d32e5eecf724a463378b80cc261c Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Undo accidental checkin of not-fully-tested mutex changes Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 941f48bb465b0b291f8435b1e3de95b0975b84bc Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Implemented full support for deferred execution for the TermArg string arguments for DataTableRegion This enables forward references and full operand resolution for the three string arguments. Similar to OperationRegion deferred argument execution.) http://www.acpica.org/bugzilla/show_bug.cgi?id=430 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9aa6169f471771324b476a90d9392daa06d63a2d Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with Index Fields where the Index register was incorrectly limited to a maximum of 32 bits Now any size may be used. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 549f46044e1e207a2cbfdfb3f9a0d3fd5fd4105e Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with AcpiGetDevices where the search of a branch of the device tree could be terminated prematurely In accordance with the ACPI specification, the search is terminated if a device is both not present and not functional (instead of just not present.) Yakui Zhao. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 8a2e71a82375aa2aef571d5fa9064ba67c8856a5 Author: Bob Moore Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Update version to 20071114 Update version to 20071114. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1cb2ef6606e0abd8565f66b5f95267de1b390694 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with CopyObject used in conjunction with the Index operator The reference was incorrectly dereferenced before the copy. The reference is now correctly copied. http://bugzilla.kernel.org/show_bug.cgi?id=5391 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e5bcc811f78f294e7be8a0721b3fb513028c5af4 Author: Lin Ming Date: Thu Apr 10 19:06:41 2008 +0400 ACPICA: Fixed a problem with Index references passed as method arguments References passed as arguments to control methods were dereferenced immediately (before control was passed to the called method). The references are now correctly passed directly to the called method. http://bugzilla.kernel.org/show_bug.cgi?id=5389 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1f549a240ccb2755066587e1e6ef9f74f485a46a Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fixed a problem with FromBCD and ToBCD with some compilers On some compilers, the ShortDivide function worked incorrectly, causing problems with the BCD functions with large input values. (Truncation from 64-bit to 32-bit occurred.) Internal http://www.acpica.org/bugzilla/show_bug.cgi?id=435 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b160987df7f49ee9c048a43b70ebae613a7e1437 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fixes a problem with control method references within packages Completes the package changes started with version 20071019. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f2d69559b31c368cfe3a51607d9cd5e8c0168875 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cleanup of debug output Improved output of object dump routine. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b7f9f04228eae2cf5adc2ffeb494d4970a8dd8a5 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cosmetic changes only, no functional changes Lint changes, fix compiler warnings, etc. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1d18c05825c3f2b8933a7fc7f7528881e98deb04 Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Cosmetic changes only, no functional changes Lint changes, fix compiler warnings, etc. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 39adb11e56d8eef6169aeae38f65df26883ff49c Author: Bob Moore Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Update version to 20071019 Update version to 20071019. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 49718b1741cb74d86eb8b1bd8f52ad6a013b40df Author: Lin Ming Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Added additional parameter validation for LoadTable Implemented additional parameter validation for the LoadTable operator. The length of the input strings SignatureString, OemIdString, and OemTableId are now checked for maximum lengths. http://www.acpica.org/bugzilla/show_bug.cgi?id=582 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fe4078af56a7b7f37391712cf188df3202b03776 Author: Lin Ming Date: Thu Apr 10 19:06:40 2008 +0400 ACPICA: Fix for Increment/Decrement operator, incorrect type change Fixed a problem with the Increment and Decrement operators where the type of the target object could be unexpectedly and incorrectly changed. http://www.acpica.org/bugzilla/show_bug.cgi?id=353 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9e41d93c975d403380b7debe05517d630c8e2836 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fixed a memory leak when Device or Thermal objects referenced in packages Problem introduced in fix for Package references. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 7f4ac9f91383a0707de559dc8fbca986fc2d302f Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for Load/LoadTable to specify load location Fixed a problem with the Load and LoadTable operators where the table location within the namespace was ignored. Instead, the table was always loaded into the root or current scope. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d8841647de7c4aa3f3ff5b8b8c4a3f042e848ff0 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Add error checks to prevent faults Added additional error checking to prevent run-time faults. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 98af37fba9b3e601ca4bded51ef51a2be4e8c97b Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Add a table checksum verify for Load operator Added a table checksum verification for the Load operator, in the case where the load is from a buffer. http://www.acpica.org/bugzilla/show_bug.cgi?id=578 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a13b8460c5b43a68192b599ce437168cc2ff04de Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for memory leak related to DdbHandle objects Fixed a memory leak where DdbHandle objects were not deleted automatically at control method exit. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 61ce421bb761f607b802c268bd8bd6a0c928a661 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix a fault when storing DdbHandle to Debug object Fixed a problem with the Debug object where a store of a DdbHandle reference object to the Debug object could cause a fault. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5eb691805f7ec5960fe9d5d7fc57a7fc3097bbd0 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for fault if Load() fails Fixed a problem with the Load operator when loading a table from a buffer object. The input buffer was prematurely zeroed and/or deleted. http://www.acpica.org/bugzilla/show_bug.cgi?id=577 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 53cf174409a24e8388e1d554d27436275fc81fe7 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: Fix for Alias operator to see target child objects Fixed a problem with the Alias operator when the target of the alias is a named ASL operator that opens a new scope -- Scope, Device, PowerResource, Processor, and ThermalZone. In these cases, any children of the original operator could not be accessed via the alias, potentially causing unexpected AE_NOT_FOUND exceptions. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 1c12a7dde1752f2c40fe170cabff463a0b362720 Author: Bob Moore Date: Thu Apr 10 19:06:39 2008 +0400 ACPICA: update version number to 20070919 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 14808822a9cea782c2e6f8d39e438cc3891f6472 Author: Lin Ming Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for namespace lookup problem Fixed a problem where objects of certain types (Device, ThermalZone, Processor, PowerResource) can be not found if they are declared and referenced from within the same control method http://www.acpica.org/bugzilla/show_bug.cgi?id=341. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3e08e2d2d6efb256aa035e300deb059bb333b6db Author: Lin Ming Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: New interfaces for table event handlers Designed and implemented new external interfaces to install and remove handlers for ACPI table-related events. Current events that are defined are LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as they are dynamically loaded and unloaded. See AcpiInstallTableHandler and AcpiRemoveTableHandler. Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 698c0a0c299bd9389522e14dae1aff02070bac25 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Add minimal disassembly support for the SLIC table SLIC - Software Licensing Description Table. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e20a679b4acf81a419bbe80beddedc988bf3bd51 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Support for iASL - multiple files and wildcards Implemented support to allow multiple files to be compiled/disassembled in a single invocation. This includes command line wildcard support for both the Windows and Unix versions of the compiler. This feature simplifies the disassembly and compilation of multiple ACPI tables in a single directory. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6deb65dd9d66ff70fa8f8665690295a1126f801a Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Updated error message for dynamic method serialization Added more information to make the message clearer. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 5cc1b9b42663878330a4cc1d8020bb9289c46066 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Update version to 20070508 Update version to 20070508. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e5567afa5cfa19e45f93c9c8796e46187a2d12f4 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for update of the Global Lock Handle Fixed a problem where the global lock handle was not properly updated if a thread that acquired the global lock via executing AML code then attempted to acquire the lock via the AcpiAcquireGlobalLock interface. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 235eebbdb501261e9960deb2a9a3459af44ec0ea Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Update version to 20070320 pdate version to 20070320 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 91d02132fea3a60d3db7bd72933e38e36cd9e4c7 Author: Bob Moore Date: Thu Apr 10 19:06:38 2008 +0400 ACPICA: Fix for package reference counts Prevents infinite loop of 'Large Reference Count' messages in aslts-bdemo-b286 test. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 422f4f90a23437e3e9de31eab5feb2a13f0cbb38 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Increase maximum buffer size dumped to screen in buffer object dump Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f02e9fa1ceee045f7d5c53d475032815752a2510 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Misc fixes for recent global lock code update Fixes as a result of running full validation test suite. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a4df451a1055d97726ab890249bc3f941906fa75 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Removed obsolete ACPI_NO_INTEGER64_SUPPORT define Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a69c77c72094bfda1ed02336ec9a1bae186fd2fc Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Removed extraneous code Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 91e38d10b2b49b8a200111baa7714c4a7e658a4c Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Update comments for acquire/release mutex interfaces pdate comments for acquire/release mutex interfaces Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit dbaaa9567543191faa933e78f979f5ff7385918c Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Fixed a couple compiler warnings for extra extern statements Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4b6e16cf2bacbf328535097fa74f1494b1873c54 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Avoid use of invalid pointers in returned object field During operand evaluation, ensure that the ReturnObj field is cleared on error and only valid pointers are stored there. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 4e3156b183aa087bc19804b3295c7c1a71f64752 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: changed order of interpretation of operand objects The interpreter now evaluates operands in the order that they appear (both in the AML and ASL), instead of in reverse order. This previously caused subtle incompatibilities with the MS interpreter as well as being non-intuitive. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit ba886cd4ac957608777fbc8d137f6b9f0450e775 Author: Bob Moore Date: Thu Apr 10 19:06:37 2008 +0400 ACPICA: Update for mutiple global lock acquisitions by same thread Allows AcpiAcquireGlobalLock external interface to be called multiple times by the same thread. Allows use of AML fields that require the global lock while the running AML is already holding the global lock. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f654ecbfacb47d20e8cac087bbada1b947db846b Author: Bob Moore Date: Thu Apr 10 19:06:36 2008 +0400 ACPICA: Removed unused code Handling of AML_NAME_OP as a Reference.Opcode is no longer needed. Kernel bugzilla 2874 Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 773069d48030e670cf2032a13ddf16a2e0034df3 Author: Bob Moore Date: Thu Apr 10 19:06:36 2008 +0400 ACPICA: Several fixes for internal method result stack fixes STACK_OVERFLOW exception on nested method calls. internal bugzilla 262 and 275. Signed-off-by: Bob Moore Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fe69af002e26ca39824f626459c16d642607b573 Author: eric miao Date: Thu Feb 14 15:48:23 2008 +0800 [MTD] [NAND] support for pxa3xx This is preliminary since: 1. It supports only _one_ chip select at the moment. As there is no existing platforms available using two chip selects of the NAND controller, it shall really not include code for supporting the 2nd chip select for now, as such code cannot be verified. 2. It resorts to the default and simpliest memory based badblock table 3. Only limited types of nand flash are currently supported. Most PXA3xx processors come with on-chip NAND flash dies, so there isn't much flexibility for other types of NAND. 4. The NAND controller should be configured to detect the device's ID, thus making it difficult to use nand_scan_ident() to assist the detection process (though it's not impossible) TODO: fix all the above limitations of cuz :-) Signed-off-by: eric miao Cc: Sergey Podstavin Signed-off-by: David Woodhouse commit b73d7e4381311bea024bf7cedcba3dcf20f63aab Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 16 18:14:35 2008 +0100 [MTD] [OneNAND] unlikely(x) || unlikely(y) => unlikely(x || y) Acked-By: Kyungmin Park Signed-off-by: David Woodhouse commit 8e2537e4cb4e80b7032372a42069899b90a06e90 Author: Thomas Petazzoni Date: Thu Feb 14 16:50:25 2008 +0100 [MTD] fix minor typo in the MTD map driver for SHARP SL series Signed-off-by: David Woodhouse commit b0d06afb60741c19e103ffd60927f68e17c9d199 Author: Peter Korsgaard Date: Thu Feb 14 17:00:10 2008 +0100 [MTD] cmdlinepart: Missing partition info is not an error Return 0 partitions instead of -EINVAL on no mtdpart= argument in kernel cmdline or missing partition info for device. Signed-off-by: Peter Korsgaard Acked-by: Stefan Roese Signed-off-by: David Woodhouse commit c3f08b353519ee9c64308837199a9fcf83e863da Author: Carl-Daniel Hailfinger Date: Wed Jan 16 15:45:20 2008 +0100 [MTD] [MAPS] add support for Nvidia MCP55 to ck804xrom This patch extends the existing MAPS driver for the Nvidia CK804 chipset (ck804xrom.c) to also work on the Nvidia MCP55 chipset. As both chipsets are rather similar, suporting them both with the same driver is easy. Signed-off-by: Carl-Daniel Hailfinger Signed-off-by: David Woodhouse commit 9010eff0eadfe4eb60c3f0c71573f0fc505c31e3 Author: Jeff Garzik Date: Fri Apr 18 19:22:58 2008 -0400 [IA64] minor irq handler cleanups - remove unused 'irq' argument from pfm_do_interrupt_handler() - remove pointless cast to void* - add KERN_xxx prefix to printk() - remove braces around singleton C statement - in tioce_provider.c, start tioce_dma_consistent() and tioce_error_intr_handler() function declarations in column 0 This change's main purpose is to prepare for the patchset in jgarzik/misc-2.6.git#irq-remove, that explores removal of the never-used 'irq' argument in each interrupt handler. Signed-off-by: Jeff Garzik Signed-off-by: Tony Luck commit 4fa2f0e672ba16b55a34ecfa514ccd92e226d3d4 Author: Hidetoshi Seto Date: Thu Apr 17 17:00:37 2008 +0900 [IA64] simplify notify hooks in mca.c There are many notify_die() and almost all take same style with ia64_mca_spin(). This patch defines macros and replace them all, to reduce lines and to improve readability. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 284e54279597e0933d785580a43be0b0194dfa00 Author: Hidetoshi Seto Date: Thu Apr 17 16:59:52 2008 +0900 [IA64] do notify DIE_MCA_MONARCH_PROCESS for each monarchs There are 3 hooks in MCA handler, but this DIE_MCA_MONARCH_PROCESS event does not notified other than for the first monarch. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 38477ad75188b2a7370fef7145f956e6c446928b Author: Hidetoshi Seto Date: Mon Apr 21 14:34:39 2008 -0700 [IA64] disable interrupts on exit of ia64_trace_syscall While testing with CONFIG_VIRT_CPU_ACCOUNTING=y, I found that I occasionally get very huge system time in some threads. So I dug the issue and finally noticed that it was caused because of an interrupt which interrupt in the following window: > [arch/ia64/kernel/entry.S: (!CONFIG_PREEMPT && CONFIG_VIRT_CPU_ACCOUNTING)] > > ENTRY(ia64_leave_syscall) > : > (pUStk) rsm psr.i > cmp.eq pLvSys,p0=r0,r0 // pLvSys=1: leave from syscall > (pUStk) cmp.eq.unc p6,p0=r0,r0 // p6 <- pUStk > .work_processed_syscall: > adds r2=PT(LOADRS)+16,r12 > (pUStk) mov.m r22=ar.itc // fetch time at leave > adds r18=TI_FLAGS+IA64_TASK_SIZE,r13 > ;; > <<< window: from here >>> > (p6) ld4 r31=[r18] // load current_thread_info()->flags > ld8 r19=[r2],PT(B6)-PT(LOADRS) > adds r3=PT(AR_BSPSTORE)+16,r12 > ;; > mov r16=ar.bsp > ld8 r18=[r2],PT(R9)-PT(B6) > (p6) and r15=TIF_WORK_MASK,r31 // any work other than TIF_SYSCALL_TRACE? > ;; > ld8 r23=[r3],PT(R11)-PT(AR_BSPSTORE) > (p6) cmp4.ne.unc p6,p0=r15, r0 // any special work pending? > (p6) br.cond.spnt .work_pending_syscall > ;; > ld8 r9=[r2],PT(CR_IPSR)-PT(R9) > ld8 r11=[r3],PT(CR_IIP)-PT(R11) > (pNonSys) break 0 // bug check: we shouldn't be here if pNonSys is TRUE! > ;; > invala > <<< window: to here >>> > rsm psr.i | psr.ic // turn off interrupts and interruption collection If pUStk is true, it means we are going to return user mode, hence we fetch ar.itc to get time at leave from system. It seems that it is not possible to interrupt the window if pUStk is true, because interrupts are disabled early. And also disabling interrupt makes sense because it is safe for referring current_thread_info()->flags. However interrupting the window while pUStk is true was possible. The route was: ia64_trace_syscall -> .work_pending_syscall_end -> .work_processed_syscall Only in case entering the window from this route, interrupts are enabled during in the window even if pUStk is true. I suppose interrupts must be disabled here anyway if pUStk is true. I'm not sure but afraid that what kind of bad effect were there, other than crazy system time which I found. FYI, there was a commit 6f6d75825dc49b082906b84537b4df28293c2977 that points out a bug at same point(exit of ia64_trace_syscall) in 2006. It can be said that there was an another bug. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 7fe9296c80e9a4ee51b43fbfbceb5143751a9d5c Author: Adrian Bunk Date: Mon Apr 14 17:20:40 2008 +0300 [MTD] make struct rfd_ftl_tr static This patch makes the needlessly global struct rfd_ftl_tr static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 607d1cb1042657177bf72247eeb85c0d8416bd51 Author: Adrian Bunk Date: Mon Apr 14 17:20:38 2008 +0300 [MTD] [OneNAND] proper onenand_bbt_read_oob() prototype This patch adds a proper prototype for onenand_bbt_read_oob() in include/linux/mtd/onenand.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit eb8e31831a603f285ee9e6ffc59d5366e0ff8a8e Author: Adrian Bunk Date: Mon Apr 14 17:20:30 2008 +0300 [MTD] [NOR] cfi_cmdset_0020.c: make a function static This patch makes the needlessly global cfi_staa_erase_varsize() static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 5ce45d50056e20aca50f19229d8a7e003569ad26 Author: Adrian Bunk Date: Mon Apr 14 17:20:24 2008 +0300 [MTD] ftl.c: make code static This patch makes the following needlessly global code static: - ftl_freepart() - struct ftl_tr Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit ed262c4f5cb8291668c27c88a022bd7628f067a4 Author: Adrian Bunk Date: Mon Apr 14 17:20:04 2008 +0300 [MTD] cmdlinepart.c: don't compare pointers with 0 Sparse spotted that 0 was compared to pointers. While I was at it, I also moved the assignments out of the if's. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 456d9fc92eb8635d53e8facc57764464b8759173 Author: Adrian Bunk Date: Mon Apr 14 17:20:02 2008 +0300 [MTD] mtdram.c should #include Every file should include the headers containing the externs for its global functions (in this case for mtdram_init_device()). Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 51ee83df6151a3e618e65236e304e00ac8d95607 Author: Adrian Bunk Date: Mon Apr 14 17:20:00 2008 +0300 [MTD] proper prototypes for nftl_{read,write}_oob() This patch adds proper prototypes for nftl_{read,write}_oob() in include/linux/mtd/nftl.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit a8e8aa25694f1781fafee4ee8e8f393e4b979b36 Author: Adrian Bunk Date: Mon Apr 14 17:19:58 2008 +0300 [MTD] proper prototypes for inftl_{read,write}_oob() This patch adds proper prototypes for inftl_{read,write}_oob() in include/linux/mtd/inftl.h Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 950bcb2582ebeddb66a8e9349eaedf7ba69e195b Author: Adrian Bunk Date: Mon Apr 14 17:19:46 2008 +0300 [MTD] mtd/ofpart.c: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 576506645df01f3c1a9c2c9064201aa0ba4cb0ea Author: Scott Wood Date: Fri Apr 4 17:06:05 2008 -0500 [MTD] [NAND] fsl_elbc_nand: Fix SEQIN handling for large pages. Previously, a READ command was erroneously issued rather than SEQIN. Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit f72561cf6c9d0671da57902bc2ffee03b074227a Author: Mark Hindley Date: Mon Mar 31 14:25:03 2008 +0100 [MTD] Correct phram module param description Signed-off-by: Mark Hindley Signed-off-by: David Woodhouse commit ced22070363ef50e4a47aadd003a81ebeaa3f917 Author: David Woodhouse Date: Tue Apr 22 15:13:40 2008 +0100 [JFFS2] semaphore->mutex conversion Signed-off-by: David Woodhouse commit 52f8301437a0ba744265e0549ee7239eb85426fc Author: Atsushi Nemoto Date: Sun Mar 30 21:59:37 2008 +0900 [MTD] [NAND] at91_nand: Make part_probes[] static The part_probes[] should be static. Signed-off-by: Atsushi Nemoto Acked-by: Jörn Engel Signed-off-by: David Woodhouse commit 1ff184225b15930ea118ac2130f074c741d34f08 Author: Kay Sievers Date: Fri Apr 18 13:44:27 2008 -0700 [MTD] [NAND] fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable MTD NAND platform drivers, to re-enable auto loading. NOTE: at91_nand for some reason disallows modular builds. I'm assuming that's just an oversight that will be fixed. [dbrownell@users.sourceforge.net: minor fix] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 41d867c9ac852ce17069f8ae680f25877be97942 Author: Kay Sievers Date: Fri Apr 18 13:44:26 2008 -0700 [MTD] [MAPS] fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable MTD mapping platform drivers, to re-enable auto loading. NOTE oddness with physmap ... it's a legacy driver in some configs, which means it can't always support hotplugging. (Not that most of these mapping drivers would often be used as modules...) [dbrownell@users.sourceforge.net: bugfix, more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c27e9b80bee039cfefa51c7af08b01eaab3dfb61 Author: Sebastian Siewior Date: Fri Apr 18 13:44:24 2008 -0700 [MTD] [NAND] fix possible Ooops in rfc_from4 I found this while I was looking how the rs_lib is working. The rs_decoder is initialized _after_ the nand core code read the BBT table and _after_ the partition table has been added. The driver has a private BBT description which is in located in flash data so we Ooops if there is a bit flip _or_ if a bit flips while reading the partition table. This patch moves the initialization of the rs_lib before the first possible access by nand core. Signed-off-by: Sebastian Siewior Cc: Thomas Gleixner Cc: Jörn Engel Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit cb53b3b99992b6c548d56cdf47bc710640ee2ee1 Author: Harvey Harrison Date: Fri Apr 18 13:44:19 2008 -0700 [MTD] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 35d086b143e52f43a70c85ab86c054cbf1c4ff26 Author: David Woodhouse Date: Tue Apr 22 12:25:26 2008 +0100 [MTD] [JEDEC] Fix whitespace noise in chip table Signed-off-by: David Woodhouse commit 30d6a24eb8fdba2c6240bfec0eec4c8f2f058a1b Author: Gordon Farquharson Date: Fri Apr 18 13:44:18 2008 -0700 [MTD] [JEDEC] add support for the ST M29W400DB flash chip Add support for the ST M29W400DB flash chip. which is used on the GLAN Tank NAS. Signed-off-by: Gordon Farquharson Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit cca15841710da39490abc17f56b55703e3140955 Author: michael Date: Fri Apr 18 13:44:17 2008 -0700 [JFFS2] add write verify on dataflash. Add the write verification buffer to the dataflash. The mtd_dataflash has the CONFIG_DATAFLASH_WRITE_VERIFY so is better a change to Kconfig. Signed-off-by: Michael Trimarchi Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 0bc88c59cc2f031a38ad5902d5764497549217c5 Author: Stephane Chazelas Date: Fri Apr 18 13:44:15 2008 -0700 [MTD] block2mtd: logging typo fixes Address a number of small issues mainly regarding the output made by this driver to dmesg: - Some of the blkmtd's had not been changed to block2mtd which caused display problem - the parse_err() macro was displaying "block2mtd: " twice Signed-off-by: Stéphane Chazelas Acked-by: Jörn Engel Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 25dc30b4cd68df1de8932fe77ca574227d42a259 Author: David Woodhouse Date: Tue Apr 22 12:12:25 2008 +0100 [JFFS2] fix sparse warnings in gc.c fs/jffs2/gc.c:1147:29: warning: symbol 'jeb' shadows an earlier one fs/jffs2/gc.c:1084:89: originally declared here fs/jffs2/gc.c:1197:29: warning: symbol 'jeb' shadows an earlier one fs/jffs2/gc.c:1084:89: originally declared here Rename the unused 'jeb' argument to avoid this. We could potentially remove the argument, but GCC should be doing that anyway. Signed-off-by: David Woodhouse commit bf66737ca85c41442e99c9d380eb7807d88bac1f Author: Harvey Harrison Date: Fri Apr 18 13:44:14 2008 -0700 [JFFS2] fix sparse warning in write.c fs/jffs2/write.c:585:28: warning: symbol 'fd' shadows an earlier one fs/jffs2/write.c:536:27: originally declared here No need to redeclare fd, use the original one, after this point, fd is always reassigned before it used again. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 8ca646abb4503f39a7d235b89b9f8015e3ab4631 Author: David Woodhouse Date: Tue Apr 22 11:25:47 2008 +0100 [JFFS2] Fix sparse warning in nodemgmt.c fs/jffs2/nodemgmt.c:60:8: warning: symbol 'ret' shadows an earlier one fs/jffs2/nodemgmt.c:45:6: originally declared here (reported by Harvey Harrison) Just remove the offending declaration of 'int ret' and use the earlier one. Signed-off-by: David Woodhouse commit f876a59dae09a353444913bdf73b125bc124a848 Author: Harvey Harrison Date: Fri Apr 18 13:44:12 2008 -0700 [JFFS2] include function prototype for jffs2_ioctl fs/jffs2/ioctl.c:14:5: warning: symbol 'jffs2_ioctl' was not declared. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ec12cc74e998fa39e8d707d2deb3116f9838308a Author: Adrian Bunk Date: Fri Apr 18 13:44:12 2008 -0700 [MTD] [NAND] mtd/nand/cs553x_nand.c:part_probes[] static Make the needlessly global part_probes[] static. Signed-off-by: Adrian Bunk Acked-by: Mart Raudsepp Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 7903cbabcb90a7d485e67062400481c321090a4f Author: Adrian Bunk Date: Fri Apr 18 13:44:11 2008 -0700 [MTD] mtdoops.c: make struct oops_cxt static again struct oops_cxt needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 41bdf96006132db8ca6ad40d0189454fe620993a Author: Mike Frysinger Date: Fri Apr 18 13:44:10 2008 -0700 [MTD] [MAPS] Document MTD_PHYSMAP module name in kconfig Help out users by telling them the module name in the Kconfig help when using the MTD_PHYSMAP option. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f838bad1b3be8ca0c785ee0e0c570dfda74cf377 Merge: dd91966... 8075014... Author: David Woodhouse Date: Tue Apr 22 12:34:25 2008 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit efa0f16b0d0e87ffbef311785fed0815b0240f46 Author: Robert Schedel Date: Fri Apr 11 09:21:48 2008 +0200 HID: Suppress hidinput for Samsung IR control Samsung USB remotes (0419:0001) report six keys via standard HID usage pages (arrow keys, OK, Power). Kernel 2.6.25 maps those to input events (in addition to the hiddev report). The remaining 43 keys are reported via proprietary HID report page and therefore by hiddev only. Applications using hiddev and input device might process the 6 standard keys twice. To avoid this, the input device will be suppressed for the Samsung remote with a quirk entry, forcing to use the hiddev device only. LIRC already contains the proper support. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit 42098a551c0cc25c9fb206c31a88c602dced312b Author: Jiri Kosina Date: Wed Apr 9 10:21:48 2008 +0200 HID: remove 60x GTCO devices from blacklist Jeremy Robertson reports that GTCO engineers made a mistake and we don't need 0x60x GTCO product ids blacklisted. This mostly reverts dda3fd35, but leaves PID 0x1007 intact. Reported-by: Jeremy Roberson Signed-off-by: Jiri Kosina commit 0dd91544429188b496a8136e3cffb337ff6f056b Author: Mike Frysinger Date: Tue Apr 8 10:20:36 2008 +0200 HID: export headers properly I have people whining about using these headers in userspace, and they have __KERNEL__ markings which implies they're supposed to be exported. I also added the required linux/types.h include to hidraw.h since it uses the __u## kernel types. Signed-off-by: Mike Frysinger Cc: Jiri Kosina Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 3e52a05f0ad63c984b5ab4743fcd501fe702ad77 Author: Jiri Kosina Date: Fri Apr 4 16:50:12 2008 +0200 HID: WiseGroup 866 Dual Joypad needs output reports quirk WiseGroup Ltd, MP-8866 Dual Joypad needs to skip output reports, as it contains force-feedback output reports. Reported-by: Anssi Hannula Signed-off-by: Jiri Kosina commit f5c669fc7692e54a7d283d60f0c862124792757c Author: Jiri Kosina Date: Tue Apr 1 01:56:33 2008 +0200 HID: ThrustMaster FF driver is no longer experimental There is no need to keep a few years old ThrustMaster force-feedback driver as experimental. HID_FF is currently marked experimental anyway, so this is even redundant. Signed-off-by: Jiri Kosina commit c8f0f02f3cc86652a32640b101b1f779f7ea3076 Author: Jiri Kosina Date: Mon Mar 31 23:49:22 2008 +0200 HID: Logitech diNovo Mini pad support Logitech diNovo Mini needs DUPLICATE_USAGES quirk. Reported-by: Tom Horsley Signed-off-by: Jiri Kosina commit 69626f23bce6521367ac1e6a2a6e8fba8f0a848a Author: Oliver Neukum Date: Mon Mar 31 16:27:30 2008 +0200 HID: fix race between open() and disconnect() in usbhid There is a window: task A task B spin_lock_irq(&usbhid->inlock); /* Sync with error handler */ usb_set_intfdata(intf, NULL); spin_unlock_irq(&usbhid->inlock); usb_kill_urb(usbhid->urbin); usb_kill_urb(usbhid->urbout); usb_kill_urb(usbhid->urbctrl); del_timer_sync(&usbhid->io_retry); cancel_work_sync(&usbhid->reset_work); if (!hid->open++) { res = usb_autopm_get_interface(usbhid->intf); if (res < 0) { hid->open--; return -EIO; } } if (hid_start_in(hid)) if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); in which an open() to an already disconnected device will submit an URB to an undead device. In case disconnect() was called by an ioctl, this'll oops. Fix by introducing a new flag and checking it in hid_start_in(). Signed-off-by: Oliver Neukum Signed-off-by: Jiri Kosina commit abdff0f7749a6696ba2a4238b675cbc55abcdb7a Author: Adrian Bunk Date: Mon Mar 31 01:53:56 2008 +0200 HID: make hid_input_field and usbhid_modify_dquirk static This patch makes the following needlessly global functions static: - hid-core.c:hid_input_field() - usbhid/hid-quirks.c:usbhid_modify_dquirk() Signed-off-by: Adrian Bunk Signed-off-by: Jiri Kosina commit b54ec3c13cf77d21bab25d8bb117f642561fdf4f Author: Jiri Kosina Date: Fri Mar 28 14:11:22 2008 +0100 HID: pass numbered reports properly to hidraw The numbered reports need to be passed properly to hidraw (i.e. with the first data field indicating the report number), otherwise userspace has no idea about the identification of the report. Signed-off-by: Jiri Kosina commit 671d994cfbe10a9b2a474d26db2cef3c878846dc Author: Jiri Kosina Date: Wed Apr 2 11:34:10 2008 +0200 HID: fix misplaced rdesc quirk This moves the misplaced rdesc quirk to the place where it belongs. Reported-by: Jiri Slaby Signed-off-by: Jiri Kosina commit c17f9c901c4e62cbf857b831bcc3070380449b88 Author: Anssi Hannula Date: Tue Apr 1 01:51:11 2008 +0200 HID: force feedback driver for Logitech Rumblepad 2 Add force feedback support for Logitech Rumblepad 2. Tested-By: Edgar Simo Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 1d1bdd20008416a744c0c844e231e7ba69c11699 Author: Jiri Slaby Date: Wed Mar 19 21:55:04 2008 +0100 HID: move wait from hid to usbhid Since only place where this is used is usbhid, move it there. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 1b184cf37f5cf098f07725b483a2055e95725476 Author: Jiri Slaby Date: Sun Mar 9 16:29:24 2008 +0100 HID: make function from dbg_hid To check paramters even if debug is disabled, convert dbg_hid to inline function with __attribute__(format) checking. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 282bfd4cbcc2bbeb1a2cad1f42debd378e0b5ac9 Author: Jiri Slaby Date: Fri Mar 28 17:06:41 2008 +0100 HID: fix sparse warnings Fix these sparse warnings: .../hid/hid-core.c:100:15: warning: incorrect type in assignment (different signedness) .../hid/hid-core.c:100:15: expected signed int [usertype] *value .../hid/hid-core.c:100:15: got unsigned int * by unsigned -> s32 .../hid/hid-input-quirks.c:336:10: warning: Using plain integer as NULL pointer by 0 -> NULL .../hid/usbhid/hid-core.c:786:46: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:786:46: expected int *max .../hid/usbhid/hid-core.c:786:46: got unsigned int * .../hid/usbhid/hid-core.c:787:47: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:787:47: expected int *max .../hid/usbhid/hid-core.c:787:47: got unsigned int * .../hid/usbhid/hid-core.c:788:48: warning: incorrect type in argument 3 (different signedness) .../hid/usbhid/hid-core.c:788:48: expected int *max .../hid/usbhid/hid-core.c:788:48: got unsigned int * by int -> unsigned int Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina commit 377e10fbb4ef219f540d06796e9fb0d3ec35a58f Author: Anssi Hannula Date: Sat Mar 22 23:50:13 2008 +0100 HID: only dump report traffic with debug level 2 Currently using debug=1 with hid module prints out all sent and received reports to the kernel log, while in many cases we only want to see the report descriptors and hid-input mappings that are printed when a device is probed. Add new level debug=2, and only dump the report traffic with that level. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 02008faa031f7a87b6c9df8b503a64288c8b5493 Author: Pete Zaitcev Date: Thu Mar 20 10:14:02 2008 +0100 HID: patch to add NOGET for DMI/Acomdata This must be the weirdest failure yet. My external disk stops processing the storage commands the moment it receives a GET_REPORT. The firmware does not crash; if I do rmmod hid, then SET-INTERFACE restores normal operations. Still, I cannot live without the keyboard when I want backup my files. Adding the NOGET quirk fixes this problem for me. Signed-off-by: Pete Zaitcev Signed-off-by: Jiri Kosina commit 5f1ab74f650b392ebcaa7cf3283e56d8dc6c7e56 Author: Jiri Kosina Date: Fri Mar 14 16:53:07 2008 +0100 HID: Sunplus Wireless Desktop needs report descriptor fixup This device has reports lower logical maximum compared to the real usages for Zoom+ and Zoom- it emits. This patch bumps the values in the report descriptor up, and also adjusts HID_MAX_USAGE accordingly. Reported-by: Khelben Blackstaff Signed-off-by: Jiri Kosina commit 974faac46455076c709a745f546b348017ad18dc Author: Jim Duchek Date: Fri Mar 14 15:53:49 2008 +0100 HID: quirk for MS Wireless Desktop Receiver (model 1028) Microsoft's wireless desktop receiver (Model 1028) has a bug in the report descriptor -- namely, in four seperate places it uses USAGE_MIN and _MAX when it quite obviously doesn't intend to. In other words, it reports that it has pretty much _everything_ in 'consumer' and 'generic desktop'. And then the X evdev driver believes I have a mouse with 36 absolute axes and a huge pile of keys and buttons, when I in fact, should have zero. 255/256 in three of the cases, and 0-1024 in another. This patch fixes the report descriptor of this device before it enters the HID parser. Signed-off-by: Jim Duchek Signed-off-by: Jiri Kosina commit f345c37c37641beceb0e52f61bb4cbc72904ee09 Author: Pekka Sarnila Date: Thu Mar 6 13:23:14 2008 +0100 HID: fixup fullspeed interval on highspeed Afatech DVB-T IR kbd Many vendors highspeed devices give erroneously fullspeed interval value in endpoint descriptor for interrupt endpoints. This quirk fixes up that by recalculating the right value for highspeed device. At the time of hid configuration this quirk calculates which highspeed interval value gives same interval delay as, or next smaller then, what it would be if the original value would be interpreted as fullspeed value. In subsequent urbs that new value is used instead. Forming the 'hid->name' in usb_hid_config() was moved up to accommodate more descriptive printk reporting the fixup. In this patch the quirk is set for one such device: Afatech DVB-T 2 infrared HID-keyboard. It reports value 16 which means 4,069s in highspeed while obviously 16ms was intended. In this case quirk calculates new value to be 8 which gives when interpreted as highspeed value 16ms as wanted. The behavior of the device was verified to be what expected both before and after the patch. Signed-off-by: Pekka Sarnila Signed-off-by: Jiri Kosina commit cf2a299e48cbeb6c942e1f765b92ca6058355f68 Author: Jean Delvare Date: Mon Mar 3 11:48:43 2008 +0100 HID: fix build failure in hiddev_ioctl with gcc 3.2 Fix build failure in hiddev_ioctl with gcc 3.2: http://bugzilla.kernel.org/show_bug.cgi?id=10121 The trick is to move the handling of ioctls which need to allocate memory to separate functions. Signed-off-by: Jean Delvare Signed-off-by: Jiri Kosina commit c5d18e984a313adf5a1a4ae69e0b1d93cf410229 Author: Herbert Xu Date: Tue Apr 22 00:46:42 2008 -0700 [IPSEC]: Fix catch-22 with algorithm IDs above 31 As it stands it's impossible to use any authentication algorithms with an ID above 31 portably. It just happens to work on x86 but fails miserably on ppc64. The reason is that we're using a bit mask to check the algorithm ID but the mask is only 32 bits wide. After looking at how this is used in the field, I have concluded that in the long term we should phase out state matching by IDs because this is made superfluous by the reqid feature. For current applications, the best solution IMHO is to allow all algorithms when the bit masks are all ~0. The following patch does exactly that. This bug was identified by IBM when testing on the ppc64 platform using the NULL authentication algorithm which has an ID of 251. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 618442509128fe4514be94de70ce54075cd9a706 Author: Paul E. McKenney Date: Mon Apr 21 18:12:33 2008 -0700 SELinux fixups needed for preemptable RCU from -rt The attached patch needs to move from -rt to mainline given preemptable RCU. This patch fixes SELinux code that implicitly assumes that disabling preemption prevents an RCU grace period from completing, an assumption that is valid for Classic RCU, but not necessarily for preemptable RCU. Explicit rcu_read_lock() calls are thus added. Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Signed-off-by: James Morris commit 521b5d0c40386f4a9805cdec7bd979fc96a86aeb Author: Al Viro Date: Fri Mar 28 00:46:41 2008 -0400 [PATCH] teach seq_file to discard entries Allow ->show() return SEQ_SKIP; that will discard all output from that element and move on. Signed-off-by: Al Viro commit 4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283 Author: Al Viro Date: Mon Mar 24 00:16:03 2008 -0400 [PATCH] umount_tree() will unhash everything itself Signed-off-by: Al Viro commit 8c3ee42e80ccead805806b3cb50b9855ceb957a2 Author: Al Viro Date: Sat Mar 22 18:00:39 2008 -0400 [PATCH] get rid of more nameidata passing in namespace.c Further reduction of stack footprint (sys_pivot_root()); lose useless BKL in there, while we are at it. Signed-off-by: Al Viro commit b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3 Author: Al Viro Date: Sat Mar 22 17:48:24 2008 -0400 [PATCH] switch a bunch of LSM hooks from nameidata to path Namely, ones from namespace.c Signed-off-by: Al Viro commit 1a60a280778ff90270fc7390d9ec102f713a5a29 Author: Al Viro Date: Sat Mar 22 16:19:49 2008 -0400 [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts() Taking namespace_sem shared there isn't worth the trouble, especially with vfsmount ID allocation about to be added. That way we know that umount_tree(), copy_tree() and clone_mnt() are _always_ serialized by namespace_sem. umount_tree() still needs vfsmount_lock (it manipulates hash chains, among other things), but that's a separate story. Signed-off-by: Al Viro commit 6d59e7f582ef1c1988542d0fc3b36d0087b757ce Author: Al Viro Date: Sat Mar 22 15:48:17 2008 -0400 [PATCH] move a bunch of declarations to fs/internal.h Signed-off-by: Al Viro commit 7c3f944e29c02d71e13442e977cf4cec19c39e98 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 19:45:12 2008 -0700 time: Export set_normalized_timespec. Sorry I have just realized set_normalized_timespec() (used in timespec_sub()) is not exported, and link will fail because of it... Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 807501475fce0ebe68baedf87f202c3e4ee0d12c Merge: 2848077... bc751fe... Author: Linus Torvalds Date: Mon Apr 21 19:18:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: Correct capitalization "IntX" -> "INTx" IB/ipath: Remove tests of PCI_MSI in ipath_iba7220.c IB/ipath: Remove dependency on PCI_MSI || HT_IRQ IB/ipath: Build IBA7220 code unconditionally IB/ipath: Remove reference to dev->class_dev IB/ipath: Fix module parameter description for disable_sma RDMA/nes: Remove unneeded function declarations Fix up conflict in drivers/infiniband/hw/ipath/ipath_verbs.c (by picking the solution from the infiniband branch) commit bc751fe6fff3ff894784acfed1bed8639b632c09 Author: Roland Dreier Date: Mon Apr 21 18:19:15 2008 -0700 IB/ipath: Correct capitalization "IntX" -> "INTx" Match what the PCI specification uses. Signed-off-by: Roland Dreier commit 44957572cc198f6fcee9569813722b9ae1bd1679 Author: Roland Dreier Date: Mon Apr 21 18:19:15 2008 -0700 IB/ipath: Remove tests of PCI_MSI in ipath_iba7220.c The PCI MSI interface is stubbed out properly so that all the functions just return failure if PCI_MSI=n, so there's no reason to have "#ifdef CONFIG_PCI_MSI" blocks in ipath_iba7220.c. Signed-off-by: Roland Dreier commit 480f58e6143135680fc1e61ea2dedc72cf3d1f95 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Remove dependency on PCI_MSI || HT_IRQ Before IBA7220 support was added, the ipath driver didn't support any hardware unless PCI_MSI and/or HT_IRQ was enabled. However, the IBA7220 can generate INTx interrupts, so it makes sense to allow the driver to be build even if PCI_MSI=n and HT_IRQ=n. Signed-off-by: Roland Dreier commit 37a6ab5227d856c175d8f3586050997bb10628d8 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Build IBA7220 code unconditionally The new IBA7220 code added a call to ipath_init_iba7220_funcs() that is compiled unconditionally, but only built the IBA7220 code if PCI_MSI is enabled. Fix this by building the IBA7220 file unconditonally. This fixes build breakage when PCI_MSI=n, HT_IRQ=y and INFINIBAND_IPATH=y reported by Ingo Molnar : drivers/built-in.o: In function `ipath_init_one': ipath_driver.c:(.devinit.text+0x1e5bc): undefined reference to `ipath_init_iba7220_funcs' Signed-off-by: Roland Dreier commit 88a8317bcd2258e84a41c155590837036d6b80a8 Author: Roland Dreier Date: Mon Apr 21 18:19:14 2008 -0700 IB/ipath: Remove reference to dev->class_dev Commit 124b4dcb ("IB/ipath: add calls to new 7220 code and enable in build") inadvertently added core to set dev->class_dev.dev back into ib_ipath. This is completely redundant since commit 1912ffbb ("IB: Set class_dev->dev in core for nice device symlink"), which removed class_dev setting from low-level drivers, and also will break the build when class_dev is removed completely from struct ib_device. Signed-off-by: Roland Dreier commit 9862874d2138135dad9e78f61dbe415a4364945b Author: Paul Bolle Date: Mon Apr 21 18:19:13 2008 -0700 IB/ipath: Fix module parameter description for disable_sma Describe disable_sma parameter with its name rather than the internal ib_ipath_disable_sma variable name, so that the description shows up properly in modinfo. Signed-off-by: Paul Bolle Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6a5546e76c4b2367e03cb52884b97c94d6260a8c Author: Roland Dreier Date: Mon Apr 21 18:19:12 2008 -0700 RDMA/nes: Remove unneeded function declarations Remove redundant static declarations of functions that are defined before they are used in the source. Signed-off-by: Roland Dreier commit 2848077044a5fdeb942bd1342c550da4c452d66a Author: Stephen Rothwell Date: Tue Apr 22 10:24:24 2008 +1000 infiniband: class_device fallout Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 135cedad7457be6a96d5e151dfd48f7888a75e94 Merge: 8a32272... e70aa3f... Author: Linus Torvalds Date: Mon Apr 21 17:23:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (26 commits) mmc: sdio_ops.c should #include "sdio_ops.h" mmc: proper prototypes for mmc_attach_*() mmc: make __mmc_release_bus() static sdhci: improve no card, no reset quirk MMC: OMAP: Do not busy wait for end of command for ever MMC: OMAP: Start new commands from work queue instead of irq MMC: OMAP: Lazy clock shutdown MMC: OMAP: Move failing command abortion to workqueue MMC: OMAP: Use tasklet instead of workqueue for cover switch notification MMC: OMAP: Check the get_cover_state function pointer if not set MMC: OMAP: Using setup_timer instead of init_timer MMC: OMAP: Abort stuck commands MMC: OMAP: General cleanup for MMC multislot support MMC: OMAP: Power functions modified to MMC multislot support MMC: OMAP: Fix timeout calculation for MMC multislot support MMC: OMAP: New release dma and abort xfer functions MMC: OMAP: Add back cover switch support MMC: OMAP: Introduce new multislot structure and change driver to use it MMC: OMAP: Remove cover switch handling to allow adding multislot support MMC: OMAP: Fix the BYTEBLOCK capability removal ... commit 8a3227268877b81096d7b7a841aaf51099ad2068 Merge: e9b6269... ec98c6b... Author: Linus Torvalds Date: Mon Apr 21 17:20:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Remove SunOS and Solaris binary support. commit 0f5e64200f20fc8f5b759c4010082f577ab0af3f Author: Eric Paris Date: Mon Apr 21 16:24:11 2008 -0400 SELinux: no BUG_ON(!ss_initialized) in selinux_clone_mnt_opts The Fedora installer actually makes multiple NFS mounts before it loads selinux policy. The code in selinux_clone_mnt_opts() assumed that the init process would always be loading policy before NFS was up and running. It might be possible to hit this in a diskless environment as well, I'm not sure. There is no need to BUG_ON() in this situation since we can safely continue given the circumstances. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b Merge: 548453f... 838cb6a... Author: Linus Torvalds Date: Mon Apr 21 16:36:46 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits) DOC: A couple corrections and clarifications in USB doc. Generate a slightly more informative error msg for bad HZ fix typo "is" -> "if" in Makefile ext*: spelling fix prefered -> preferred DOCUMENTATION: Use newer DEFINE_SPINLOCK macro in docs. KEYS: Fix the comment to match the file name in rxrpc-type.h. RAID: remove trailing space from printk line DMA engine: typo fixes Remove unused MAX_NODES_SHIFT MAINTAINERS: Clarify access to OCFS2 development mailing list. V4L: Storage class should be before const qualifier (sn9c102) V4L: Storage class should be before const qualifier sonypi: Storage class should be before const qualifier intel_menlow: Storage class should be before const qualifier DVB: Storage class should be before const qualifier arm: Storage class should be before const qualifier ALSA: Storage class should be before const qualifier acpi: Storage class should be before const qualifier firmware_sample_driver.c: fix coding style MAINTAINERS: Add ati_remote2 driver ... Fixed up trivial conflicts in firmware_sample_driver.c commit 548453fd107f789f5f1bc2dc13cc432ceb3b5efd Merge: 9fd9121... fb19974... Author: Linus Torvalds Date: Mon Apr 21 16:03:40 2008 -0700 Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block: block: fix blk_register_queue() return value block: fix memory hotplug and bouncing in block layer block: replace remaining __FUNCTION__ occurrences Kconfig: clean up block/Kconfig help descriptions cciss: fix warning oops on rmmod of driver cciss: Fix race between disk-adding code and interrupt handler block: move the padding adjustment to blk_rq_map_sg block: add bio_copy_user_iov support to blk_rq_map_user_iov block: convert bio_copy_user to bio_copy_user_iov loop: manage partitions in disk image cdrom: use kmalloced buffers instead of buffers on stack cdrom: make unregister_cdrom() return void cdrom: use list_head for cdrom_device_info list cdrom: protect cdrom_device_info list by mutex cdrom: cleanup hardcoded error-code cdrom: remove ifdef CONFIG_SYSCTL commit 9fd91217b15751997cab35ad309b37b44eaa6774 Author: Adrian Bunk Date: Mon Apr 21 12:51:04 2008 +0100 frv: unexport kmap_atomic_to_page This patch removes the no longer used export of kmap_atomic_to_page. Signed-off-by: Adrian Bunk Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit eb0cc5fe4e8d4928259852d9dc3cb1eeae90e48f Author: Adrian Bunk Date: Mon Apr 21 12:50:59 2008 +0100 frv: remove HARD_RESET_NOW() HARD_RESET_NOW() was unused. And one of the few remaining cli() users. Signed-off-by: Adrian Bunk Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 19b5b517a8b81a448be9b2bdaf18a761a7b9799e Merge: bda0c0a... 95fff33... Author: Linus Torvalds Date: Mon Apr 21 16:01:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: one little, two little, three little whitespaces, the avc.c saga. SELinux: cleanup on isle selinuxfs.c changing whitespace for fun and profit: policydb.c SELinux: whitespace and formating fixes for hooks.c SELinux: clean up printks SELinux: sidtab.c whitespace, syntax, and static declaraction cleanups SELinux: services.c whitespace, syntax, and static declaraction cleanups SELinux: mls.c whitespace, syntax, and static declaraction cleanups SELinux: hashtab.c whitespace, syntax, and static declaraction cleanups SELinux: ebitmap.c whitespace, syntax, and static declaraction cleanups SELinux: conditional.c whitespace, syntax, and static declaraction cleanups SELinux: avtab.c whitespace, syntax, and static declaraction cleanups SELinux: xfrm.c whitespace, syntax, and static declaraction cleanups SELinux: nlmsgtab.c whitespace, syntax, and static declaraction cleanups SELinux: netnode.c whitespace, syntax, and static declaraction cleanups SELinux: netlink.c whitespace, syntax, and static declaraction cleanups SELinux: netlabel.c whitespace, syntax, and static declaraction cleanups SELinux: netif.c whitespace, syntax, and static declaraction cleanups commit bda0c0afa7a694bb1459fd023515aca681e4d79a Merge: 904e0ab... af40b48... Author: Linus Torvalds Date: Mon Apr 21 15:58:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (42 commits) PCI: Change PCI subsystem MAINTAINER PCI: pci-iommu-iotlb-flushing-speedup PCI: pci_setup_bridge() mustn't be __devinit PCI: pci_bus_size_cardbus() mustn't be __devinit PCI: pci_scan_device() mustn't be __devinit PCI: pci_alloc_child_bus() mustn't be __devinit PCI: replace remaining __FUNCTION__ occurrences PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() PCI: clean up resource alignment management PCI: aerdrv_acpi.c: remove unneeded NULL check PCI: Update VIA CX700 quirk PCI: Expose PCI VPD through sysfs PCI: iommu: iotlb flushing PCI: simplify quirk debug output PCI: iova RB tree setup tweak PCI: parisc: use generic pci_enable_resources() PCI: ppc: use generic pci_enable_resources() PCI: powerpc: use generic pci_enable_resources() PCI: ia64: use generic pci_enable_resources() ... commit 838cb6aba4cebcf4fcd06b90e2adf890bef884ac Author: Robert P. J. Day Date: Mon Apr 21 22:57:50 2008 +0000 DOC: A couple corrections and clarifications in USB doc. A couple of corrections and clarifications in USB documentation. Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit 904e0ab54b7591b9cb01cfc0dbbedcc8bc0d949b Merge: 98a1e95f... c49a7f1... Author: Linus Torvalds Date: Mon Apr 21 15:57:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [HWRNG] omap: Minor updates [CRYPTO] kconfig: Ordering cleanup [CRYPTO] all: Clean up init()/fini() [CRYPTO] padlock-aes: Use generic setkey function [CRYPTO] aes: Export generic setkey [CRYPTO] api: Make the crypto subsystem fully modular [CRYPTO] cts: Add CTS mode required for Kerberos AES support [CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu [CRYPTO] tcrypt: Change the XTEA test vectors [CRYPTO] tcrypt: Shrink the tcrypt module [CRYPTO] tcrypt: Change the usage of the test vectors [CRYPTO] api: Constify function pointer tables [CRYPTO] aes-x86-32: Remove unused return code [CRYPTO] tcrypt: Shrink speed templates [CRYPTO] tcrypt: Group common speed templates [CRYPTO] sha512: Rename sha512 to sha512_generic [CRYPTO] sha384: Hardware acceleration for s390 [CRYPTO] sha512: Hardware acceleration for s390 [CRYPTO] s390: Generic sha_update and sha_final [CRYPTO] api: Switch to proc_create() commit 98a1e95f9b5919b55c71a01546415074282d30d5 Merge: abe834c... 896c6fa... Author: Linus Torvalds Date: Mon Apr 21 15:56:19 2008 -0700 Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] minor irq handler cleanups drivers/char: minor irq handler cleanups [PPC] minor irq handler cleanups [BLACKFIN] minor irq handler cleanups [SPARC] minor irq handler cleanups ARM minor irq handler cleanup: avoid passing unused info to irq commit 37679011c5a674eb80bff5c2b9b067bf16011d46 Author: Robert P. J. Day Date: Mon Apr 21 22:56:14 2008 +0000 Generate a slightly more informative error msg for bad HZ Generate a slightly more informative error msg for bad HZ in include/linux/jiffies.h Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit abe834c8a5d7e55ee12c0c8c7a5308b2c5cba95d Merge: e16b278... 8349304... Author: Linus Torvalds Date: Mon Apr 21 15:54:34 2008 -0700 Merge branch 'isdn-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'isdn-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] Hisax: eliminate many unnecessary references to CardType[] [ISDN] HiSax: modularization prep commit bc3c26fe65ecaa3fa96844219a9070a3e079697a Author: Uwe Kleine-Knig Date: Mon Apr 21 22:53:56 2008 +0000 fix typo "is" -> "if" in Makefile It should be "if" but is written as "is".. Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jesper Juhl commit e16b27816462de700f9508d86954410c41105dc2 Author: Roland McGrath Date: Sun Apr 20 13:10:12 2008 -0700 ptrace: compat_ptrace_request siginfo This adds support for PTRACE_GETSIGINFO and PTRACE_SETSIGINFO in compat_ptrace_request. It relies on existing arch definitions for copy_siginfo_to_user32 and copy_siginfo_from_user32. On powerpc, this fixes a longstanding regression of 32-bit ptrace calls on 64-bit kernels vs native calls (64-bit calls or 32-bit kernels). This can be seen in a 32-bit call using PTRACE_GETSIGINFO to examine e.g. siginfo_t.si_addr from a signal that sets it. (This was broken as of 2.6.24 and, I presume, many or all prior versions.) Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 553a56726be86c09cfa53c84da1ea0e2043e364e Author: Randy Dunlap Date: Sun Apr 20 10:51:01 2008 -0700 skbuff: fix missing kernel-doc notation Add kernel-doc notation for ndisc_nodetype: Warning(linux-2.6.25-git2//include/linux/skbuff.h:340): No description found for parameter 'ndisc_nodetype' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 9a64388d83f6ef08dfff405a9d122e3dbcb6bf38 Merge: e80ab41... 14b3ca4... Author: Linus Torvalds Date: Mon Apr 21 15:50:49 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (202 commits) [POWERPC] Fix compile breakage for 64-bit UP configs [POWERPC] Define copy_siginfo_from_user32 [POWERPC] Add compat handler for PTRACE_GETSIGINFO [POWERPC] i2c: Fix build breakage introduced by OF helpers [POWERPC] Optimize fls64() on 64-bit processors [POWERPC] irqtrace support for 64-bit powerpc [POWERPC] Stacktrace support for lockdep [POWERPC] Move stackframe definitions to common header [POWERPC] Fix device-tree locking vs. interrupts [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const [POWERPC] Remove unused __max_memory variable [POWERPC] Simplify xics direct/lpar irq_host setup [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ() [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade() [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c [POWERPC] Use asm-generic/bitops/find.h in bitops.h [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup [POWERPC] 85xx: Fix the size of qe muram for MPC8568E [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier. [POWERPC] 86xx: mark functions static, other minor cleanups ... commit e80ab411e589e00550e2e6e5a6a02d59cc730357 Merge: 529a41e... ee959b0... Author: Linus Torvalds Date: Mon Apr 21 15:49:58 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits) SCSI: convert struct class_device to struct device DRM: remove unused dev_class IB: rename "dev" to "srp_dev" in srp_host structure IB: convert struct class_device to struct device memstick: convert struct class_device to struct device driver core: replace remaining __FUNCTION__ occurrences sysfs: refill attribute buffer when reading from offset 0 PM: Remove destroy_suspended_device() Firmware: add iSCSI iBFT Support PM: Remove legacy PM (fix) Kobject: Replace list_for_each() with list_for_each_entry(). SYSFS: Explicitly include required header file slab.h. Driver core: make device_is_registered() work for class devices PM: Convert wakeup flag accessors to inline functions PM: Make wakeup flags available whenever CONFIG_PM is set PM: Fix misuse of wakeup flag accessors in serial core Driver core: Call device_pm_add() after bus_add_device() in device_add() PM: Handle device registrations during suspend/resume block: send disk "change" event for rescan_partitions() sysdev: detect multiple driver registrations ... Fixed trivial conflict in include/linux/memory.h due to semaphore header file change (made irrelevant by the change to mutex). commit 529a41e36673b518c9e091f3a8d932b6b9e3c461 Merge: c3823c4... 43837b1... Author: Linus Torvalds Date: Mon Apr 21 15:46:17 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: rose: Socket lock was not released before returning to user space hci_usb: remove code obfuscation drivers/net/appletalk: use time_before, time_before_eq, etc drivers/atm: use time_before, time_before_eq, etc hci_usb: do not initialize static variables to 0 tg3: 5701 DMA corruption fix atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() iwlwifi: Fix unconditional access to station->tidp[].agg. netfilter: Fix SIP conntrack build with NAT disabled. netfilter: Fix SCTP nat build. commit 1cc8dcf569a3fcefb7ae32652225f2bd3e85257e Author: Benoit Boissinot Date: Mon Apr 21 22:45:55 2008 +0000 ext*: spelling fix prefered -> preferred Spelling fix: prefered -> preferred Signed-off-by: Benoit Boissinot Signed-off-by: Jesper Juhl commit c3823c479e1f86a0adc7bb76fcfded67b042afc3 Merge: 5dfeaef... ed3fa7c... Author: Linus Torvalds Date: Mon Apr 21 15:44:57 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (25 commits) avr32: Add hardware power-down function call avr32: add include/asm-avr32/serial.h avr32: don't offer PARPORT_PC avr32: don't offer CONFIG_GEN_RTC avr32: don't offer CONFIG_RTC add include/asm-avr32/xor.h avr32: Remove two unused #defines from mm/init.c avr32: Implement set_rate(), set_parent() and mode() for pll1 avr32: Generic clockevents support avr32: Move sleep code into mach-at32ap avr32: Use constants from sysreg.h in asm.h avr32: Delete mostly unused header asm/intc.h avr32: start clocksource cleanup avr32: pass i2c board info through at32_add_device_twi avr32: cleanup - use _AC macro to define PAGE_SIZE Generate raw keyboard codes for AVR32 architecture atmel_usba_udc: Add support for AT91CAP9 UDPHS atmel_usba_udc: Add missing kfree() in usba_udc_remove() atmel_usba_udc: move endpoint declarations into platform data. atmel_usba_udc: Kill GPIO_PIN_NONE ... commit c0d1f29534f2bd6c5992831eb0f648522e9b0204 Author: Robert P. J. Day Date: Mon Apr 21 22:44:50 2008 +0000 DOCUMENTATION: Use newer DEFINE_SPINLOCK macro in docs. Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit dd89db1df98003fadafa711ab8bc497aaf92980a Author: Robert P. J. Day Date: Mon Apr 21 22:43:55 2008 +0000 KEYS: Fix the comment to match the file name in rxrpc-type.h. Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Jesper Juhl commit 5dfeaef89559d4968b0470adf749659f10d722f6 Merge: 429f731... 259aae8... Author: Linus Torvalds Date: Mon Apr 21 15:43:43 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: optimize the softirq time optimization hrtimer: reduce calls to hrtimer_get_softirq_time() clockevents: fix typo in tick-broadcast.c jiffies: add time_is_after_jiffies and others which compare with jiffies commit fdefa4d87e2f07ffe5888a7c2ed87dd12f9cfe37 Author: Nick Andrew Date: Mon Apr 21 22:42:58 2008 +0000 RAID: remove trailing space from printk line drivers/md/*.[ch] contains only one more printk line with a trailing space. Remove it. Signed-off-by: Nick Andrew Signed-off-by: Jesper Juhl commit 429f731dea577bdd43693940cdca524135287e6a Merge: 85b375a... d2f5e80... Author: Linus Torvalds Date: Mon Apr 21 15:41:27 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Deprecate the asm/semaphore.h files in feature-removal-schedule. Convert asm/semaphore.h users to linux/semaphore.h security: Remove unnecessary inclusions of asm/semaphore.h lib: Remove unnecessary inclusions of asm/semaphore.h kernel: Remove unnecessary inclusions of asm/semaphore.h include: Remove unnecessary inclusions of asm/semaphore.h fs: Remove unnecessary inclusions of asm/semaphore.h drivers: Remove unnecessary inclusions of asm/semaphore.h net: Remove unnecessary inclusions of asm/semaphore.h arch: Remove unnecessary inclusions of asm/semaphore.h commit 85b375a613085b78531ec86369a51c2f3b922f95 Merge: ec96535... cf816ec... Author: Linus Torvalds Date: Mon Apr 21 15:40:55 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (212 commits) [ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver [ARM] pxa: V4L2 soc_camera driver for PXA270 [ARM] pxa: restrict availability of pxa2xx PCMCIA drivers [ARM] 5005/1: BAST: Fix kset_name initialiser [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410 [ARM] 4988/1: Add GPIO lib support to the EP93xx [ARM] Add initial sparsemem support [ARM] pxa: initialise PXA devices before platform init code [ARM] 5002/1: tosa: add two more leds [ARM] 5004/1: Tosa: make several unreferenced structures static. [ARM] 5003/1: Shut up sparse warnings [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable() [ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line [ARM] 4974/1: Drop unused leds-tosa. [ARM] 4973/1: Tosa: use leds-gpio driver. [ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code [ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks [ARM] pxa: lubbock: move mis-placed SPI info [ARM] 4970/1: tosa: correct gpio used for wake up. [ARM] 4966/1: magician: add MFP pin configuration ... commit ec965350bb98bd291eb34f6ecddfdcfc36da1e6e Merge: 5f033bb... 486fdae... Author: Linus Torvalds Date: Mon Apr 21 15:40:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits) sched: build fix sched: better rt-group documentation sched: features fix sched: /debug/sched_features sched: add SCHED_FEAT_DEADLINE sched: debug: show a weight tree sched: fair: weight calculations sched: fair-group: de-couple load-balancing from the rb-trees sched: fair-group scheduling vs latency sched: rt-group: optimize dequeue_rt_stack sched: debug: add some debug code to handle the full hierarchy sched: fair-group: SMP-nice for group scheduling sched, cpuset: customize sched domains, core sched, cpuset: customize sched domains, docs sched: prepatory code movement sched: rt: multi level group constraints sched: task_group hierarchy sched: fix the task_group hierarchy for UID grouping sched: allow the group scheduler to have multiple levels sched: mix tasks and groups ... commit 8a5703f846e2363fc466aff3f53608340a1ae33f Author: Sebastian Siewior Date: Mon Apr 21 22:38:45 2008 +0000 DMA engine: typo fixes Spelling fixes for dmaengine.[ch] Signed-off-by: Sebastian Siewior Acked-by: Maciej Sosnowski Signed-off-by: Jesper Juhl commit 5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0 Merge: fd9be4c... 34d0559... Author: Linus Torvalds Date: Mon Apr 21 15:38:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (77 commits) x86: UV startup of slave cpus x86: integrate pci-dma.c x86: don't do dma if mask is NULL. x86: return conditional to mmu x86: remove kludge from x86_64 x86: unify gfp masks x86: retry allocation if failed x86: don't try to allocate from DMA zone at first x86: use a fallback dev for i386 x86: use numa allocation function in i386 x86: remove virt_to_bus in pci-dma_64.c x86: adjust dma_free_coherent for i386 x86: move bad_dma_address x86: isolate coherent mapping functions x86: move dma_coherent functions to pci-dma.c x86: merge iommu initialization parameters x86: merge dma_supported x86: move pci fixup to pci-dma.c x86: move x86_64-specific to common code. x86: move initialization functions to pci-dma.c ... commit fd9be4ce2e1eb407a8152f823698cc0d652bbec8 Merge: b1af9cc... ad775f5... Author: Linus Torvalds Date: Mon Apr 21 15:38:14 2008 -0700 Merge branch 'ro-bind.b6' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'ro-bind.b6' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (24 commits) [PATCH] r/o bind mounts: debugging for missed calls [PATCH] r/o bind mounts: honor mount writer counts at remount [PATCH] r/o bind mounts: track numbers of writers to mounts [PATCH] r/o bind mounts: check mnt instead of superblock directly [PATCH] r/o bind mounts: elevate count for xfs timestamp updates [PATCH] r/o bind mounts: make access() use new r/o helper [PATCH] r/o bind mounts: write counts for truncate() [PATCH] r/o bind mounts: elevate write count for chmod/chown callers [PATCH] r/o bind mounts: elevate write count for open()s [PATCH] r/o bind mounts: elevate write count for ioctls() [PATCH] r/o bind mounts: write count for file_update_time() [PATCH] r/o bind mounts: elevate write count for do_utimes() [PATCH] r/o bind mounts: write counts for touch_atime() [PATCH] r/o bind mounts: elevate write count for ncp_ioctl() [PATCH] r/o bind mounts: elevate write count for xattr_permission() callers [PATCH] r/o bind mounts: get write access for vfs_rename() callers [PATCH] r/o bind mounts: write counts for link/symlink [PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir() [PATCH] r/o bind mounts: elevate write count for rmdir and unlink. [PATCH] r/o bind mounts: drop write during emergency remount ... commit b1af9ccce9cff5b48c37424dbdbb3aa9021915db Merge: cc216c5... 440fc17... Author: Linus Torvalds Date: Mon Apr 21 15:37:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (27 commits) sh: Fix up L2 cache probe. sh: Fix up SH-4A part probe. sh: Add support for SH7723 CPU subtype. sh: Fix up SH7763 build. sh: Add migor_ts support to MigoR sh: Add rs5c732b RTC support to MigoR sh: Add I2C support to MigoR sh: Add I2C platform data to sh7722 sh: MigoR NAND flash support using gen_flash sh: MigoR NOR flash support using physmap-flash sh: Fix up mach-types formatting from merge damage. sh: r7780rp: Hook up the I2C and SMBus platform devices. sh: Use phyical addresses for MigoR smc91x resources sh: Use physical addresses for sh7722 USBF resources sh: Add MigoR header file Fix sh_keysc double free sh: Fix up __access_ok() check for nommu. sh: Allow optimized clear/copy page routines to be used on SH-2. sh: Hook up the rest of the SH7770 serial ports. sh: Add support for Solution Engine SH7721 board ... commit 218ff137bc67252694420563d23d051ab9227f17 Author: Johannes Weiner Date: Mon Apr 21 22:35:29 2008 +0000 Remove unused MAX_NODES_SHIFT MAX_NODES_SHIFT is not referenced anywhere in the tree, so dump it. Signed-off-by: Johannes Weiner Signed-off-by: Jesper Juhl commit c0ff1f26acdbb8dc67165b0bbf910f795f0a0ca3 Author: Robert P. J. Day Date: Mon Apr 21 22:34:01 2008 +0000 MAINTAINERS: Clarify access to OCFS2 development mailing list. The list is moderated for non-subscribers Signed-off-by: Robert P. J. Day Signed-off-by: Jesper Juhl commit 22d56fce95f8cfcae8376e6da99e232583c61845 Author: Tobias Klauser Date: Mon Apr 21 22:32:16 2008 +0000 V4L: Storage class should be before const qualifier (sn9c102) The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit c81010bf41ec1e888e46898f57cd0e2cdac326a4 Author: Tobias Klauser Date: Mon Apr 21 22:30:21 2008 +0000 V4L: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b0cdb5e11800dd76d9bb69aa335c8a33ddc50f5a Author: Tobias Klauser Date: Mon Apr 21 22:29:37 2008 +0000 sonypi: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit f7e8dd5071340541587e588c8fb4404dd5b0462d Author: Tobias Klauser Date: Mon Apr 21 22:28:49 2008 +0000 intel_menlow: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit cbfa6f2a684e9fb7d6a5025b3893b8f93112683c Author: Tobias Klauser Date: Mon Apr 21 22:27:50 2008 +0000 DVB: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b1d18dc06ba6b9056f95aaf1f8c464830846f87f Author: Tobias Klauser Date: Mon Apr 21 22:26:40 2008 +0000 arm: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit 3f76d9841e9cf6dd969ff3aec96476dced9c53f8 Author: Tobias Klauser Date: Mon Apr 21 22:25:51 2008 +0000 ALSA: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit b299c22c8c1024a5a89d19524e24b3e1d67e9eab Author: Tobias Klauser Date: Mon Apr 21 22:24:53 2008 +0000 acpi: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Jesper Juhl commit 58da495065134b45799bd02988ab658c3da6af25 Author: Pavel Machek Date: Mon Apr 21 22:23:30 2008 +0000 firmware_sample_driver.c: fix coding style Fix coding style in firmware_sample_driver... Signed-off-by: Pavel Machek Signed-off-by: Jesper Juhl commit 6f69a6d776f6f5921d73ad9648e43d9b59afeff4 Author: Ville Syrjala Date: Mon Apr 21 22:21:10 2008 +0000 MAINTAINERS: Add ati_remote2 driver Add myself as the ati_remote2 driver maintainer. Signed-off-by: Ville Syrjala Signed-off-by: Jesper Juhl commit fda6ab8bbe2a2276d491aed1358975c8c516a243 Author: Cyril Brulebois Date: Mon Apr 21 22:19:05 2008 +0000 Documentation: Remove last references to BitKeeper. Remove BitKeeper from dontdiff. Point to the klibc git repository instead of old BitKeeper ones. Signed-off-by: Cyril Brulebois Signed-off-by: Jesper Juhl commit 5309fbcc475084e6c1566084f770cef927937b7b Author: Rusty Russell Date: Mon Apr 21 22:17:12 2008 +0000 Remove documentation of non-existent sk_alloc arg As you can see, there's no zero_it arg (in fact code always uses __GFP_ZERO). Signed-off-by: Rusty Russell Signed-off-by: Jesper Juhl commit f5264481c8049673e2cc8c7aca410931f571ba2d Author: Pavel Machek Date: Mon Apr 21 22:15:06 2008 +0000 trivial: small cleanups These are small cleanups all over the tree. Trivial style and comment changes to fs/select.c, kernel/signal.c, kernel/stop_machine.c & mm/pdflush.c Signed-off-by: Pavel Machek Signed-off-by: Jesper Juhl commit 1fb7c6e4cba35b5e7cef88b58d0a2ad164d801a5 Author: Jesper Juhl Date: Mon Apr 21 22:12:32 2008 +0000 Correct a few trivial tree details in Documentation/SubmittingPatches Correct maintainer name and URL. Signed-off-by: Jesper Juhl commit ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 Author: David S. Miller Date: Sun Apr 20 02:14:23 2008 -0700 [SPARC]: Remove SunOS and Solaris binary support. As per Documentation/feature-removal-schedule.txt Signed-off-by: David S. Miller commit d7ee147d4f84219a44670eb0db3a91e58d14a81c Author: Arnd Hannemann Date: Mon Apr 21 14:46:22 2008 -0700 tcp: Make use of before macro in tcp_input.c Make use of tcp before macro. Signed-off-by: Arnd Hannemann Signed-off-by: David S. Miller commit 02651d20a3f90dab8920dad00dec8f62f2b6a7ea Author: Mark Asselstine Date: Mon Apr 21 14:44:16 2008 -0700 hamradio: Remove unneeded and deprecated cli()/sti() calls in dmascc.c These cli()/sti() calls are made in start_timer() and are therefor redundant since the register_lock is now used to protect register io from within scc_isr() and write_scc() (where all calls to start_timer() originate). Signed-off-by: Mark Asselstine Signed-off-by: David S. Miller commit 92998dd4951a84cbde447eeac4af5770718864b8 Author: Pavel Emelyanov Date: Mon Apr 21 14:33:16 2008 -0700 [NETNS]: Remove empty ->init callback. The netns start-stop engine can happily live with any of init or exit callbacks set to NULL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cdd04d98f6922f5a7ba52714f077140d42bc67c9 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 14:28:45 2008 -0700 [DCCP]: Convert do_gettimeofday() to getnstimeofday(). What do_gettimeofday() does is to call getnstimeofday() and to convert the result from timespec{} to timeval{}. We do not always need timeval{} and we can convert timespec{} when we really need (to print). Signed-off-by: YOSHIFUJI Hideaki Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 633d424bf33dab99e77b36210fbd1b996e7823df Author: Pavel Emelyanov Date: Mon Apr 21 14:25:23 2008 -0700 [NETNS]: Don't initialize err variable twice. The ip6_route_net_init() performs some unneeded actions. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2aed2827dfc2e7d2e385fc1580529a8fc7f33d47 Author: Pavel Emelyanov Date: Mon Apr 21 14:23:03 2008 -0700 [NETNS]: The ip6_fib_timer can work with garbage on net namespace stop. The del_timer() function doesn't guarantee, that the timer callback is not active by the time it exits. Thus, the fib6_net_exit() may kfree() all the data, that is required by the fib6_run_gc(). The race window is tiny, but slab poisoning can trigger this bug. Using del_timer_sync() will cure this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fc215fe7e6f0420afee0e0987fcc311929ee662f Author: Kumar Gala Date: Mon Apr 21 14:09:44 2008 -0500 [POWERPC] ppc32: Fix errata for 603 CPUs 603 CPUs have the same issue that some 750 CPUs have in that they can crash in funny ways if a store from an FPU register instruction is executed on a register that has never been initialized since power on. This patch fixes it by making sure all FP registers have been properly initialized at kernel boot. Signed-off-by: Kumar Gala commit c1c76743e98346eb052b707f0e054377a09441d1 Author: Mike Frysinger Date: Mon Apr 21 11:35:39 2008 -0500 dlm: linux/{dlm,dlm_device}.h: cleanup for userspace linux/dlm_device.h uses types from dlm.h and types.h, so pull them in. The dlm.h header should use __u## rather than uint##_t types and thus pull in linux/types.h for it. Signed-off-by: Mike Frysinger Signed-off-by: David Teigland commit 3d564fa3472d36cd6aa70514c37b8bbbec5b17ab Author: David Teigland Date: Mon Apr 14 14:06:29 2008 -0500 dlm: common max length definitions Add central definitions for max lockspace name length and max resource name length. The lack of central definitions has resulted in scattered private definitions which we can now clean up, including an unused one in dlm_device.h. Signed-off-by: David Teigland commit 2402211a8389282fd2942fad4511f02c0eeeffc5 Author: David Teigland Date: Fri Mar 14 15:09:15 2008 -0500 dlm: move plock code from gfs2 Move the code that handles cluster posix locks from gfs2 into the dlm so that it can be used by both gfs2 and ocfs2. Signed-off-by: David Teigland commit d44e0fc704143624b3e88fbf8fbcfda7a83fd299 Author: David Teigland Date: Tue Mar 18 14:22:11 2008 -0500 dlm: recover nodes that are removed and re-added If a node is removed from a lockspace, and then added back before the dlm is notified of the removal, the dlm will not detect the removal and won't clear the old state from the node. This is fixed by using a list of added nodes so the membership recovery can detect when a newly added node is already in the member list. Signed-off-by: David Teigland commit 761b9d3ffc953c24ceb55d8e12ff7e02b17e0484 Author: David Teigland Date: Thu Feb 21 11:25:42 2008 -0600 dlm: save master info after failed no-queue request When a NOQUEUE request fails, the rsb res_master field is unnecessarily reset to -1, instead of leaving the valid master setting in place. We want to save the looked-up master values while the rsb is on the "toss list" so that another lookup can be avoided if the rsb is soon reused. The fix is to simply leave res_master value alone. Signed-off-by: David Teigland commit 170e19ab2900b7c959d7a0e627fd12f383efcfa1 Author: Adrian Bunk Date: Wed Feb 13 23:29:38 2008 +0200 dlm: make dlm_print_rsb() static dlm_print_rsb() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: David Teigland commit 5416b704aef0b7350073421f4f6ac1a21bc213e7 Author: Harvey Harrison Date: Wed Feb 13 16:54:29 2008 -0800 dlm: match signedness between dlm_config_info and cluster_set cluster_set is only called from the macro CLUSTER_ATTR which defines read/write access functions. Make the signedness match to avoid sparse warnings every time CLUSTER_ATTR is used (lines 149-159) all of the form: fs/dlm/config.c:149:1: warning: incorrect type in argument 3 (different signedness) fs/dlm/config.c:149:1: expected unsigned int *info_field fs/dlm/config.c:149:1: got int extern [toplevel] * Signed-off-by: Harvey Harrison Signed-off-by: David Teigland commit cc216c5d429892872f70f76975e243aef7ad9db1 Author: Linus Torvalds Date: Sun Apr 20 21:59:13 2008 -0700 Fix RCU list iterator use of 'rcu_dereference()' The RCU iterators used 'rcu_dereference()' on an already-fetched RCU pointer value, which defeats the whole point of the exercise. When we dereference a pointer protected by RCU, we need to make sure that we only fetch the value _once_, because if the compiler ends up re-loading it due to register pressure, the newly reloaded value could be different from the previously fetched one, and you get inconsistent results. Cleaned-up, fixed, and the pointless list_for_each_safe_rcu #define deleted by Paul Kenney. Acked-by: Herbert Xu Signed-off-by: Paul E. McKenney Signed-off-by: Linus Torvalds commit 87c448c2f2dd734910617274637e726c82d0af25 Author: Kumar Gala Date: Sat Apr 19 10:48:34 2008 -0500 [PPC] Remove mpc885ads and mpc86x ads boards from arch/ppc We have a board port in arch/powerpc so we dont need this one anymore. Signed-off-by: Kumar Gala commit 546be91915a17e4faa9df91caa3ace0c92efa3ab Author: Kumar Gala Date: Sat Apr 19 10:41:43 2008 -0500 [PPC] Remove mpc8272 ads board from arch/ppc We have a board port in arch/powerpc so we dont need this one anymore. Signed-off-by: Kumar Gala commit 99b56cad8d64279c075b4e1b0ca28347e3c5267a Author: Russell King Date: Mon Apr 21 09:50:25 2008 +0100 [ARM] pxa: fix 0e623941bec7e80c97b076d346327b31ae17d84a Place the dependency against the correct config symbol. Signed-off-by: Russell King commit ee008b4cdfb7082e1a57d63911d39bed0817d7d4 Author: Philipp Zabel Date: Sun Apr 20 17:41:11 2008 +0100 [ARM] 5009/1: magician: remove to-be-deprecated defines for pxa_gpio_mode Alternate function and direction setting is now handled by the MFP config code or the generic GPIO API. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 2f131958efb62535f85915776e434de74d5eb274 Author: Philipp Zabel Date: Sun Apr 20 17:40:11 2008 +0100 [ARM] 5008/1: magician: add magician specific input GPIOs to MFP config Some input pin configuration that is not handled by drivers. This should serve mostly as documentation. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a1999cd1c1c9230c850379f59525c4a585191ed5 Author: Philipp Zabel Date: Sun Apr 20 17:39:12 2008 +0100 [ARM] 5007/1: magician: properly request GPIOs used by the machine code itself Registers some GPIOs used in magician.c with the GPIO API. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a393c46b493de18242105c7f7e713822d179a717 Author: Jaya Kumar Date: Sun Apr 20 07:25:00 2008 +0100 [ARM] 5006/1: Gumstix GPIO header fixup and defconfig fixup This patch adds the include of the GPIO header needed to make gumstix build. The defconfig is updated to 2.6.25 and disables PCMCIA since that has not yet been implemented for gumstix. Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit f25c3d613b12b4b6219d03e9930cac5f59541468 Author: YOSHIFUJI Hideaki Date: Mon Apr 21 02:34:08 2008 -0700 [IPV4]: Convert do_gettimeofday() to getnstimeofday(). What do_gettimeofday() does is to call getnstimeofday() and to convert the result from timespec{} to timeval{}. After that, these callers convert the result again to msec. Use getnstimeofday() and convert the units at once. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 263173af5b4635c07dd862255e5b767cd429c640 Author: Adrian Bunk Date: Mon Apr 21 02:31:23 2008 -0700 [IPV4]: Make icmp_sk_init() static. This patch makes the needlessly global icmp_sk_init() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 280a34c87fe07cb15df19bd798b23740223350fb Author: Adrian Bunk Date: Mon Apr 21 02:29:32 2008 -0700 [IPV6]: Make struct ip6_prohibit_entry_template static. This patch makes the needlessly global struct ip6_prohibit_entry_template static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1f29b0584dcb695589407a11bb7533fe21fa47c4 Author: Satoru SATOH Date: Mon Apr 21 02:27:58 2008 -0700 tcp: Trivial fix to correct function name in a comment in net/ipv4/tcp.c This is a trivial fix to correct function name in a comment in net/ipv4/tcp.c. Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit 95fff33b8e306a4331024bbd31c0999d5bf48fcf Author: Eric Paris Date: Thu Apr 17 14:42:10 2008 -0400 SELinux: one little, two little, three little whitespaces, the avc.c saga. avc.c was bad. It had whitespace and syntax issues which are against our coding style. I have had a little chat with it and the result of that conversation looked like this patch. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1872981b51dac9d1f5bcae17803bf368f7fa19cd Author: Eric Paris Date: Thu Apr 17 14:15:45 2008 -0400 SELinux: cleanup on isle selinuxfs.c Why would anyone just clean up white space all day? Because they were out too late last night and don't want to think for a day. So here is a nice clean selinuxfs.c patch. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 2ced3dfd3148fd8e2170ff06d6f72fd9f2f7b639 Author: Eric Paris Date: Thu Apr 17 13:37:12 2008 -0400 changing whitespace for fun and profit: policydb.c More formatting changes. Aside from the 80 character line limit even the checkpatch scripts like this file now. Too bad I don't get paid by the lines of code I change. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 828dfe1da54fce81f80f97275353ba33be09a76e Author: Eric Paris Date: Thu Apr 17 13:17:49 2008 -0400 SELinux: whitespace and formating fixes for hooks.c All whitespace and formatting. Nothing interesting to see here. About the only thing to remember is that we aren't supposed to initialize static variables to 0/NULL. It is done for us and doing it ourselves puts them in a different section. With this patch running checkpatch.pl against hooks.c only gives us complaints about busting the 80 character limit and declaring extern's in .c files. Apparently they don't like it, but I don't feel like going to the trouble of moving those to .h files... Signed-off-by: Eric Paris Signed-off-by: James Morris commit 744ba35e455b0d5cf4f85208a8ca0edcc9976b95 Author: Eric Paris Date: Thu Apr 17 11:52:44 2008 -0400 SELinux: clean up printks Make sure all printk start with KERN_* Make sure all printk end with \n Make sure all printk have the word 'selinux' in them Change "function name" to "%s", __func__ (found 2 wrong) Signed-off-by: Eric Paris Signed-off-by: James Morris commit 11670889380b144adfa5a91dc184c8f6300c4b28 Author: Eric Paris Date: Fri Apr 18 17:38:34 2008 -0400 SELinux: sidtab.c whitespace, syntax, and static declaraction cleanups This patch changes sidtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 5d55a345c09ef1708bd341395792931a66306ba6 Author: Eric Paris Date: Fri Apr 18 17:38:33 2008 -0400 SELinux: services.c whitespace, syntax, and static declaraction cleanups This patch changes services.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 1a5e6f8729266154f34c84d25bb83942f99ba002 Author: Eric Paris Date: Fri Apr 18 17:38:32 2008 -0400 SELinux: mls.c whitespace, syntax, and static declaraction cleanups This patch changes mls.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 719a2f8e5f7b07a3be0d59fdc6edeb8120653918 Author: Eric Paris Date: Fri Apr 18 17:38:31 2008 -0400 SELinux: hashtab.c whitespace, syntax, and static declaraction cleanups This patch changes hashtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7696ee80ac037959fc708156255d1bfec1f9ad70 Author: Eric Paris Date: Fri Apr 18 17:38:30 2008 -0400 SELinux: ebitmap.c whitespace, syntax, and static declaraction cleanups This patch changes ebitmap.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7c2b240ef2ae05a0081b4004176fd5838cecc4f6 Author: Eric Paris Date: Fri Apr 18 17:38:29 2008 -0400 SELinux: conditional.c whitespace, syntax, and static declaraction cleanups This patch changes conditional.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit eb5df9a7ae794a7e352e0582011e9e2b586051b5 Author: Eric Paris Date: Fri Apr 18 17:38:28 2008 -0400 SELinux: avtab.c whitespace, syntax, and static declaraction cleanups This patch changes avtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 3c1c88ab8ad8d1f7db74f719f2649a070190fd5e Author: Eric Paris Date: Fri Apr 18 17:38:27 2008 -0400 SELinux: xfrm.c whitespace, syntax, and static declaraction cleanups This patch changes xfrm.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit bfff3aa49765eb10053b58ee220949cfcc7a1a80 Author: Eric Paris Date: Fri Apr 18 17:38:26 2008 -0400 SELinux: nlmsgtab.c whitespace, syntax, and static declaraction cleanups This patch changes nlmsgtab.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7b6b239c805ab372145c8a43ffa25529923d2658 Author: Eric Paris Date: Fri Apr 18 17:38:25 2008 -0400 SELinux: netnode.c whitespace, syntax, and static declaraction cleanups This patch changes netnode.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit c544c028e45feceeb48b629456d0eb43adc8eaaf Author: Eric Paris Date: Fri Apr 18 17:38:24 2008 -0400 SELinux: netlink.c whitespace, syntax, and static declaraction cleanups This patch changes netlink.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit a6aaafeecca7ea1ddb5d7dac09e468ae14751fcd Author: Eric Paris Date: Fri Apr 18 17:38:23 2008 -0400 SELinux: netlabel.c whitespace, syntax, and static declaraction cleanups This patch changes netlabel.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis locateion of { around struct and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit 338366cbba686a06f9e17f33c31d533901e8639f Author: Eric Paris Date: Fri Apr 18 17:38:22 2008 -0400 SELinux: netif.c whitespace, syntax, and static declaraction cleanups This patch changes netif.c to fix whitespace and syntax issues. Things that are fixed may include (does not not have to include) whitespace at end of lines spaces followed by tabs spaces used instead of tabs spacing around parenthesis location of { around structs and else clauses location of * in pointer declarations removal of initialization of static data to keep it in the right section useless {} in if statemetns useless checking for NULL before kfree fixing of the indentation depth of switch statements and any number of other things I forgot to mention Signed-off-by: Eric Paris Signed-off-by: James Morris commit fb199746303a6bfd6121834ec9e810471185c530 Author: Akinobu Mita Date: Mon Apr 21 09:51:06 2008 +0200 block: fix blk_register_queue() return value blk_register_queue() returns -ENXIO when queue->request_fn is NULL. But there are some block drivers that call blk_register_queue() via add_disk() with queue->request_fn == NULL. (For example, brd, loop) Although no one checks return value of blk_register_queue(), this patch makes it return 0 instead of -ENXIO when queue->request_fn is NULL, Also this patch adds warning when blk_register_queue() and blk_unregister_queue() are called with queue == NULL rather than ignore invalid usage silently. Signed-off-by: Akinobu Mita Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 2472892a3ce17b177cc0d8099a6391949c75abf2 Author: Andi Kleen Date: Mon Apr 21 09:51:05 2008 +0200 block: fix memory hotplug and bouncing in block layer Only noticed this while hacking something else, no test case. blk_max_low_pfn is initialized once at bootup by the block layer from max_low_pfn. But max_low_pfn is not necessarily constant over the runtime of the system when you consider memory hotplug. What could happen if that someone adds memory later the block layer wouldn't get updated and then start bouncing memory unnecessarily. Also on 64bit blk_max_low_pfn actually isn't needed because it just disables bouncing essentially and there is no highmem. And nobody can pass pfns > max_low_pfn to the block layer, because those wouldn't have a struct page and I suspect block layer wouldn't be very happy without that. So set BLK_BOUNCE_HIGH to infinity (-1ULL) on 64bit. That avoids the problem of having to update it on memory hotadd. On 32bit I kept the same behaviour because at least on i386 memory hotadd only adds HIGHMEM, never lowmem. BLK_BOUNCE_ANY is always set to infinity on both 32 and 64bit. Signed-off-by: Andi Kleen Cc: Jens Axboe Acked-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit cece933994428974f7a0ee1e8843ba5bd0b18563 Author: Harvey Harrison Date: Mon Apr 21 09:51:04 2008 +0200 block: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit ee86418d39f28dd10d27c9d7906d8c26c1293e69 Author: Nick Andrew Date: Mon Apr 21 09:51:04 2008 +0200 Kconfig: clean up block/Kconfig help descriptions Modify the help descriptions of block/Kconfig for clarity, accuracy and consistency. Refactor the BLOCK description a bit. The wording "This permits ... to be removed" isn't quite right; the block layer is removed when the option is disabled, whereas most descriptions talk about what happens when the option is enabled. Reformat the list of what is affected by disabling the block layer. Add more examples of large block devices to LBD and strive for technical accuracy; block devices of size _exactly_ 2TB require CONFIG_LBD, not only "bigger than 2TB". Also try to say (perhaps not very clearly) that the config option is only needed when you want to have individual block devices of size >= 2TB, for example if you had 3 x 1TB disks in your computer you'd have a total storage size of 3TB but you wouldn't need the option unless you want to aggregate those disks into a RAID or LVM. Improve terminology and grammar on BLK_DEV_IO_TRACE. I also added the boilerplate "If unsure, say N" to most options. Precisely say "2TB and larger" for LSF. Indent the help text for BLK_DEV_BSG by 2 spaces in accordance with the standard. Signed-off-by: Nick Andrew Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 6195057f5809e93cdb1ec733f7b9c87fe2212f98 Author: scameron@beardog.cca.cpqcorp.net Date: Thu Apr 17 13:19:04 2008 +0200 cciss: fix warning oops on rmmod of driver * Fix oops on cciss rmmod due to calling pci_free_consistent with irqs disabled. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit e14ac67026b46e94478134df9521682fc6501ac0 Author: scameron@beardog.cca.cpqcorp.net Date: Thu Apr 17 13:19:03 2008 +0200 cciss: Fix race between disk-adding code and interrupt handler Fix race condition between cciss_init_one(), cciss_update_drive_info(), and cciss_check_queues(). Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit f18573abcc57844a7c3c12699d40eead8728cd8a Author: FUJITA Tomonori Date: Fri Apr 11 12:56:52 2008 +0200 block: move the padding adjustment to blk_rq_map_sg blk_rq_map_user adjusts bi_size of the last bio. It breaks the rule that req->data_len (the true data length) is equal to sum(bio). It broke the scsi command completion code. commit e97a294ef6938512b655b1abf17656cf2b26f709 was introduced to fix the above issue. However, the partial completion code doesn't work with it. The commit is also a layer violation (scsi mid-layer should not know about the block layer's padding). This patch moves the padding adjustment to blk_rq_map_sg (suggested by James). The padding works like the drain buffer. This patch breaks the rule that req->data_len is equal to sum(sg), however, the drain buffer already broke it. So this patch just restores the rule that req->data_len is equal to sub(bio) without breaking anything new. Now when a low level driver needs padding, blk_rq_map_user and blk_rq_map_user_iov guarantee there's enough room for padding. blk_rq_map_sg can safely extend the last entry of a scatter list. blk_rq_map_sg must extend the last entry of a scatter list only for a request that got through bio_copy_user_iov. This patches introduces new REQ_COPY_USER flag. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit afdc1a780ef84a54b613dae6f971407748aab61c Author: FUJITA Tomonori Date: Fri Apr 11 12:56:51 2008 +0200 block: add bio_copy_user_iov support to blk_rq_map_user_iov With this patch, blk_rq_map_user_iov uses bio_copy_user_iov when a low level driver needs padding or a buffer in sg_iovec isn't aligned. That is, it uses temporary kernel buffers instead of mapping user pages directly. When a LLD needs padding, later blk_rq_map_sg needs to extend the last entry of a scatter list. bio_copy_user_iov guarantees that there is enough space for padding by using temporary kernel buffers instead of user pages. blk_rq_map_user_iov needs buffers in sg_iovec to be aligned. The comment in blk_rq_map_user_iov indicates that drivers/scsi/sg.c also needs buffers in sg_iovec to be aligned. Actually, drivers/scsi/sg.c works with unaligned buffers in sg_iovec (it always uses temporary kernel buffers). Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit c5dec1c3034f1ae3503efbf641ff3b0273b64797 Author: FUJITA Tomonori Date: Fri Apr 11 12:56:49 2008 +0200 block: convert bio_copy_user to bio_copy_user_iov This patch enables bio_copy_user to take struct sg_iovec (renamed bio_copy_user_iov). bio_copy_user uses bio_copy_user_iov internally as bio_map_user uses bio_map_user_iov. The major changes are: - adds sg_iovec array to struct bio_map_data - adds __bio_copy_iov that copy data between bio and sg_iovec. bio_copy_user_iov and bio_uncopy_user use it. Signed-off-by: FUJITA Tomonori Cc: Tejun Heo Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 476a4813cfddf7cf159956cc0e2d3c830c1507e3 Author: Laurent Vivier Date: Wed Mar 26 12:11:53 2008 +0100 loop: manage partitions in disk image This patch allows to use loop device with partitionned disk image. Original behavior of loop is not modified. A new parameter is introduced to define how many partition we want to be able to manage per loop device. This parameter is "max_part". For instance, to manage 63 partitions / loop device, we will do: # modprobe loop max_part=63 # ls -l /dev/loop?* brw-rw---- 1 root disk 7, 0 2008-03-05 14:55 /dev/loop0 brw-rw---- 1 root disk 7, 64 2008-03-05 14:55 /dev/loop1 brw-rw---- 1 root disk 7, 128 2008-03-05 14:55 /dev/loop2 brw-rw---- 1 root disk 7, 192 2008-03-05 14:55 /dev/loop3 brw-rw---- 1 root disk 7, 256 2008-03-05 14:55 /dev/loop4 brw-rw---- 1 root disk 7, 320 2008-03-05 14:55 /dev/loop5 brw-rw---- 1 root disk 7, 384 2008-03-05 14:55 /dev/loop6 brw-rw---- 1 root disk 7, 448 2008-03-05 14:55 /dev/loop7 And to attach a raw partitionned disk image, the original losetup is used: # losetup -f etch.img # ls -l /dev/loop?* brw-rw---- 1 root disk 7, 0 2008-03-05 14:55 /dev/loop0 brw-rw---- 1 root disk 7, 1 2008-03-05 14:57 /dev/loop0p1 brw-rw---- 1 root disk 7, 2 2008-03-05 14:57 /dev/loop0p2 brw-rw---- 1 root disk 7, 5 2008-03-05 14:57 /dev/loop0p5 brw-rw---- 1 root disk 7, 64 2008-03-05 14:55 /dev/loop1 brw-rw---- 1 root disk 7, 128 2008-03-05 14:55 /dev/loop2 brw-rw---- 1 root disk 7, 192 2008-03-05 14:55 /dev/loop3 brw-rw---- 1 root disk 7, 256 2008-03-05 14:55 /dev/loop4 brw-rw---- 1 root disk 7, 320 2008-03-05 14:55 /dev/loop5 brw-rw---- 1 root disk 7, 384 2008-03-05 14:55 /dev/loop6 brw-rw---- 1 root disk 7, 448 2008-03-05 14:55 /dev/loop7 # mount /dev/loop0p1 /mnt # ls /mnt bench cdrom home lib mnt root srv usr bin dev initrd lost+found opt sbin sys var boot etc initrd.img media proc selinux tmp vmlinuz # umount /mnt # losetup -d /dev/loop0 Of course, the same behavior can be done using kpartx on a loop device, but modifying loop avoids to stack several layers of block device (loop + device mapper), this is a very light modification (40% of modifications are to manage the new parameter). Signed-off-by: Laurent Vivier Signed-off-by: Jens Axboe commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 Author: Thomas Bogendoerfer Date: Wed Mar 26 12:09:38 2008 +0100 cdrom: use kmalloced buffers instead of buffers on stack If cdrom commands are issued to a scsi drive in most cases the buffer will be filled via dma. This leads to bad stack corruption on non coherent platforms, because the buffers are neither cache line aligned nor is the size a multiple of the cache line size. Using kmalloced buffers avoids this. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jens Axboe commit 0a0c4114df4a6903bccb65b06cabb6ddc968f877 Author: Akinobu Mita Date: Wed Mar 26 12:09:02 2008 +0100 cdrom: make unregister_cdrom() return void Now unregister_cdrom() always returns 0. Make it return void and update all callers that check the return value. Signed-off-by: Akinobu Mita Cc: Adrian McMenamin Cc: Borislav Petkov Signed-off-by: Jens Axboe commit 7fd097d42b90afadae4867db5d580bcd7b3b596d Author: Akinobu Mita Date: Wed Mar 26 12:09:02 2008 +0100 cdrom: use list_head for cdrom_device_info list Use list_head for cdrom_device_info list instead of opencoded singly list handling. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 032d8d90ba23e1770604bbb1102ec77f5aa8ae44 Author: Akinobu Mita Date: Wed Mar 26 12:09:01 2008 +0100 cdrom: protect cdrom_device_info list by mutex This patch protects the list of cdrom_device_info by cdrom_mutex when the file in /proc/sys/dev/cdrom/ is written. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 3c3f4e012ab3471e8bd19220ed897ae9700e5fdd Author: Akinobu Mita Date: Wed Mar 26 12:09:00 2008 +0100 cdrom: cleanup hardcoded error-code This patch eliminates hardcoded return value of register_cdrom(). It also changes the return value to -EINVAL. It is more appropriate than -2 (-ENOENT) because it is only happen invalid usage of register_cdrom() by broken cdrom driver. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 17672cf0a7cec57dea4c2a6705bd73114d5e9265 Author: Akinobu Mita Date: Wed Mar 26 12:08:59 2008 +0100 cdrom: remove ifdef CONFIG_SYSCTL This patch removes #ifdef for CONFIG_SYSCTL by defining empty cdrom_sysctl_register and cdrom_sysctl_unregister when CONFIG_SYSCTL is not defined. Signed-off-by: Akinobu Mita Signed-off-by: Jens Axboe commit 259aae864ceeb2b34e7bafa1ce18d096a357fab2 Author: Thomas Gleixner Date: Sat Apr 19 21:31:26 2008 +0200 hrtimer: optimize the softirq time optimization The previous optimization did not take the case into account where a clock provides its own softirq_get_time() function. Check for the availablitiy of the clock get time function first and then check if we need to retrieve the time for both clocks via hrtimer_softirq_gettime() to avoid a double evaluation of time in that case as well. Signed-off-by: Thomas Gleixner commit 833883d9ac4cfb31c1c4419335e68e6895a05b6b Author: Dimitri Sivanich Date: Fri Apr 18 13:39:00 2008 -0700 hrtimer: reduce calls to hrtimer_get_softirq_time() It seems that hrtimer_run_queues() is calling hrtimer_get_softirq_time() more often than it needs to. This can cause frequent contention on systems with large numbers of processors/cores. With this patch, hrtimer_run_queues only calls hrtimer_get_softirq_time() if there is a pending timer in one of the hrtimer bases, and only once. This also combines hrtimer_run_queues() and the inline run_hrtimer_queue() into one function. [ tglx@linutronix.de: coding style ] Signed-off-by: Dimitri Sivanich Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 833df317f9ada91488898b005f4641bb674a3bae Author: Glauber Costa Date: Fri Apr 18 13:38:58 2008 -0700 clockevents: fix typo in tick-broadcast.c braodcast -> broadcast Signed-off-by: Glauber Costa Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 3f34d024c12e49fbce4009d094ae1d287084e511 Author: Dave Young Date: Fri Apr 18 13:38:57 2008 -0700 jiffies: add time_is_after_jiffies and others which compare with jiffies Most of time_after like macros usages just compare jiffies and another number, so here add some time_is_* macros for convenience. Signed-off-by: Dave Young Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit af40b485ea2d957ae2f237ab0e33539ae8f29562 Author: Greg Kroah-Hartman Date: Thu Apr 17 10:22:27 2008 -0700 PCI: Change PCI subsystem MAINTAINER Jesse foolishly volunteered to handle PCI patches. Update MAINTAINERS to reflect this. Woho! Time to kick back and relax... Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 80b20dd853a2b00802e6254dc9f690f0da1a925c Author: mark gross Date: Fri Apr 18 13:53:58 2008 -0700 PCI: pci-iommu-iotlb-flushing-speedup The following patch is an update to use an array instead of a list of IOVA's in the implementation of defered iotlb flushes. It takes inspiration from sba_iommu.c I like this implementation better as it encapsulates the batch process within intel-iommu.c, and no longer touches iova.h (which is shared) Performance data: Netperf 32byte UDP streaming 2.6.25-rc3-mm1: IOMMU-strict : 58Mps @ 62% cpu NO-IOMMU : 71Mbs @ 41% cpu List-based IOMMU-default-batched-IOTLB flush: 66Mbps @ 57% cpu with this patch: IOMMU-strict : 73Mps @ 75% cpu NO-IOMMU : 74Mbs @ 42% cpu Array-based IOMMU-default-batched-IOTLB flush: 72Mbps @ 62% cpu Signed-off-by: Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a391f19717984a8f70756b29074298f379fcfdbc Author: Adrian Bunk Date: Fri Apr 18 13:53:57 2008 -0700 PCI: pci_setup_bridge() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x28ee9): Section mismatch in reference from the function pci_bus_assign_resources() to the function .devinit.text:pci_setup_bridge() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5468ae617035f06ae1e07c264d6cdfcd721b539f Author: Adrian Bunk Date: Fri Apr 18 13:53:56 2008 -0700 PCI: pci_bus_size_cardbus() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x28e1f): Section mismatch in reference from the function pci_bus_size_bridges() to the function .devinit.text:pci_bus_size_cardbus() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7f7b5de2c0e10aa35ad9909edb1af9f2aed2f5d0 Author: Adrian Bunk Date: Fri Apr 18 13:53:55 2008 -0700 PCI: pci_scan_device() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0x150f): Section mismatch in reference from the function pci_scan_single_device() to the function .devinit.text:pci_scan_device() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit cbd4e055fc8f09db82d31a5ff6cec3c083cc97a8 Author: Adrian Bunk Date: Fri Apr 18 13:53:55 2008 -0700 PCI: pci_alloc_child_bus() mustn't be __devinit WARNING: drivers/pci/built-in.o(.text+0xc4c): Section mismatch in reference from the function pci_add_new_bus() to the function .devinit.text:pci_alloc_child_bus() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 66bef8c059015ba2b36bb5759080336feb01e680 Author: Harvey Harrison Date: Mon Mar 3 19:09:46 2008 -0800 PCI: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit ca99eb8c2d56bdfff0161388b81e641f4e039b3f Author: Trent Piepho Date: Mon Apr 7 16:04:16 2008 -0700 PCI: Hotplug: fakephp: Return success, not ENODEV, when bus rescan is triggered The 'power' attribute of the fakephp driver originally only let one turn a slot off. If one tried to turn a slot on (echo 1 > .../power), it would return ENODEV, as fakephp did not support this function. An old (pre-git) patch changed this: 2004/11/11 16:33:31-08:00 jdittmer [PATCH] fakephp: add pci bus rescan ability http://article.gmane.org/gmane.linux.kernel/251183 Now writing "1" to the power attribute has the effect of triggering a bus rescan, but it still returns ENODEV, probably an oversight in the above patch. Using the BusyBox echo will not produce an error message, but will trigger *two* bus rescans (and return an exit code of 1): ~ # strace echo -n 1 > /sys/bus/pci/slots/0000:00:00.0/power ... write(1, "1", 1) = -1 ENODEV (No such device) write(1, "1", 1) = -1 ENODEV (No such device) exit(1) = ? Using cp gives a write error, even though the write did happen and a rescan was triggered: ~ # echo -n 1 > tmp ; cp tmp /sys/bus/pci/slots/0000:00:00.0/power cp: Write Error: No such device It seems much better to return success instead of failure. The actual status of the bus rescan is hard to return. It happens asynchronously in a work thread, so the sysfs store functions returns before any status is ready (the whole point of the work queue). And even if it didn't do this, the rescan doesn't have any clear status to return. Signed-off-by: Trent Piepho CC: Jan Dittmer Signed-off-by: Greg Kroah-Hartman commit 029c3c133ba2c3e0e48fdfacc08324bb3fa2a571 Author: Jesper Juhl Date: Sat Mar 22 00:07:13 2008 +0100 PCI: Hotplug: Fix leaks in IBM Hot Plug Controller Driver - ibmphp_init_devno() In drivers/pci/hotplug/ibmphp_core.c::ibmphp_init_devno() we allocate space dynamically for a PCI irq routing table by calling pcibios_get_irq_routing_table(), but we never free the allocated space. This patch frees the allocated space at the function exit points. Spotted by the Coverity checker. Compile tested only. Please consider applying. Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 884525655d07fdee9245716b998ecdc45cdd8007 Author: Ivan Kokshaysky Date: Sun Mar 30 19:50:14 2008 +0400 PCI: clean up resource alignment management Done per Linus' request and suggestions. Linus has explained that better than I'll be able to explain: On Thu, Mar 27, 2008 at 10:12:10AM -0700, Linus Torvalds wrote: > Actually, before we go any further, there might be a less intrusive > alternative: add just a couple of flags to the resource flags field (we > still have something like 8 unused bits on 32-bit), and use those to > implement a generic "resource_alignment()" routine. > > Two flags would do it: > > - IORESOURCE_SIZEALIGN: size indicates alignment (regular PCI device > resources) > > - IORESOURCE_STARTALIGN: start field is alignment (PCI bus resources > during probing) > > and then the case of both flags zero (or both bits set) would actually be > "invalid", and we would also clear the IORESOURCE_STARTALIGN flag when we > actually allocate the resource (so that we don't use the "start" field as > alignment incorrectly when it no longer indicates alignment). > > That wouldn't be totally generic, but it would have the nice property of > automatically at least add sanity checking for that whole "res->start has > the odd meaning of 'alignment' during probing" and remove the need for a > new field, and it would allow us to have a generic "resource_alignment()" > routine that just gets a resource pointer. Besides, I removed IORESOURCE_BUS_HAS_VGA flag which was unused for ages. Signed-off-by: Ivan Kokshaysky Cc: Linus Torvalds Cc: Gary Hade Signed-off-by: Greg Kroah-Hartman commit d75b305295c38ba9610ff3b2200f7d1989dc55fd Author: Adrian Bunk Date: Mon Mar 31 01:41:01 2008 +0300 PCI: aerdrv_acpi.c: remove unneeded NULL check There's no reason for checking pdev->bus for being NULL here (and we'd anyway Oops 3 lines below if it was). Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit bc043274560f398225dad7f0e24c6a7610d3c08a Author: Tim Yamin Date: Sun Mar 30 20:58:59 2008 +0100 PCI: Update VIA CX700 quirk This follows up 53a9bf4267b8b1f958dbeb7c8c1ef21c82229b71. Some newer CX700 BIOSes from our vendor have PCI Bus Parking disabled but PCI Master read caching enabled. This creates problems such as system freezing when both the network controller and the USB controller are active and one of them is pretty busy (e.g. heavy network traffic). This patch separates the checks and both the bus parking and the read caching are disabled independently if either is enabled by the BIOS. Signed-off-by: Tim Yamin Signed-off-by: Greg Kroah-Hartman commit 94e6108803469a37ee1e3c92dafdd1d59298602f Author: Ben Hutchings Date: Wed Mar 5 16:52:39 2008 +0000 PCI: Expose PCI VPD through sysfs Vital Product Data (VPD) may be exposed by PCI devices in several ways. It is generally unsafe to read this information through the existing interfaces to user-land because of stateful interfaces. This adds: - abstract operations for VPD access (struct pci_vpd_ops) - VPD state information in struct pci_dev (struct pci_vpd) - an implementation of the VPD access method specified in PCI 2.2 (in access.c) - a 'vpd' binary file in sysfs directories for PCI devices with VPD operations defined It adds a probe for PCI 2.2 VPD in pci_scan_device() and release of VPD state in pci_release_dev(). Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman commit 5e0d2a6fc094a9b5047998deefeb1254c66856ee Author: mark gross Date: Tue Mar 4 15:22:08 2008 -0800 PCI: iommu: iotlb flushing This patch is for batching up the flushing of the IOTLB for the DMAR implementation found in the Intel VT-d hardware. It works by building a list of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are from. After either a high water mark (250 accessible via debugfs) or 10ms the list of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed. This approach recovers 15 to 20% of the performance lost when using the IOMMU for my netperf udp stream benchmark with small packets. It can be disabled with a kernel boot parameter "intel_iommu=strict". Its use does weaken the IOMMU protections a bit. Signed-off-by: Mark Gross Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0255f543d9888fb5c5fbcd265ca2eee2d6ecff6a Author: Bjorn Helgaas Date: Tue Mar 4 15:22:07 2008 -0800 PCI: simplify quirk debug output print_fn_descriptor_symbol() prints the address if we don't have a symbol, so no need to print both. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ddf02886cbe665d67ca750750196ea5bf524b10b Author: mark gross Date: Tue Mar 4 15:22:04 2008 -0800 PCI: iova RB tree setup tweak The following patch merges two functions into one allowing for a 3% reduction in overhead in locating, allocating and inserting pages for use in IOMMU operations. Its a bit of a eye-crosser so I welcome any RB-tree / MM experts to take a look. It works by re-using some of the information gathered in the search for the pages to use in setting up the IOTLB's in the insertion of the iova structure into the RB tree. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c9e9e0bfc52ae93c246149c3b9d3a1e11677ca1a Author: Bjorn Helgaas Date: Tue Mar 4 11:56:55 2008 -0700 PCI: parisc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not DEVICE_COUNT_RESOURCE (12), resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Acked-by: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit e789920d0497bb3d7eb146382b9ca8137662fabb Author: Bjorn Helgaas Date: Tue Mar 4 11:56:57 2008 -0700 PCI: ppc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks PCI_NUM_RESOURCES (11), not 6, resources - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent", not IORESOURCE_UNSET Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 7cfb5f9aaec6f0fc45ff323841e6d62f67e7ffad Author: Bjorn Helgaas Date: Tue Mar 4 11:56:56 2008 -0700 PCI: powerpc: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. The generic version is functionally equivalent, but uses dev_printk. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit d981f163fe7af0c55db585fbf513a8e14803a6e8 Author: Bjorn Helgaas Date: Tue Mar 4 11:56:52 2008 -0700 PCI: ia64: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - does not check for a NULL dev pointer - skips resources that have neither IORESOURCE_IO nor IORESOURCE_MEM set Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 10f000a2fd805e8ccfe988e8615545467bb7f7df Author: Bjorn Helgaas Date: Tue Mar 4 11:56:48 2008 -0700 PCI: alpha: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - skips resources unless requested in "mask" - skips ROM resources unless IORESOURCE_ROM_ENABLE is set - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit b81d988c04cacb1f7ffb76cbff2d150eb9f02948 Author: Bjorn Helgaas Date: Tue Mar 4 11:57:01 2008 -0700 PCI: x86: use generic pci_enable_resources() Use the generic pci_enable_resources() instead of the arch-specific code. Unlike this arch-specific code, the generic version: - checks for resource collisions with "!r->parent" Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 842de40d93e00a5c40a1a7f520a6fbe422994e99 Author: Bjorn Helgaas Date: Tue Mar 4 11:56:47 2008 -0700 PCI: add generic pci_enable_resources() Each architecture has its own pcibios_enable_resources() implementation. These differ in many minor ways that have nothing to do with actual architectural differences. Follow-on patches will make most arches use this generic version instead. This version is based on powerpc, which seemed most up-to-date. The only functional difference from the x86 version is that this uses "!r->parent" to check for resource collisions instead of "!r->start && r->end". Signed-off-by: Bjorn Helgaas Acked-by: Benjamin Herrenschmidt Acked-by: David Howells Signed-off-by: Greg Kroah-Hartman commit 7d715a6c1ae5785d00fb9a876b5abdfc43abc44b Author: Shaohua Li Date: Mon Feb 25 09:46:41 2008 +0800 PCI: add PCI Express ASPM support PCI Express ASPM defines a protocol for PCI Express components in the D0 state to reduce Link power by placing their Links into a low power state and instructing the other end of the Link to do likewise. This capability allows hardware-autonomous, dynamic Link power reduction beyond what is achievable by software-only controlled power management. However, The device should be configured by software appropriately. Enabling ASPM will save power, but will introduce device latency. This patch adds ASPM support in Linux. It introduces a global policy for ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control it. The interface can be used as a boot option too. Currently we have below setting: -default, BIOS default setting -powersave, highest power saving mode, enable all available ASPM state and clock power management -performance, highest performance, disable ASPM and clock power management By default, the 'default' policy is used currently. In my test, power difference between powersave mode and performance mode is about 1.3w in a system with 3 PCIE links. Note: some devices might not work well with aspm, either because chipset issue or device issue. The patch provide API (pci_disable_link_state), driver can disable ASPM for specific device. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit 657472e9ccd9fccb82b775eb691c4b25b27451da Author: Bjorn Helgaas Date: Mon Feb 18 09:44:13 2008 -0700 PCI: remove "pci=routeirq" noise from dmesg The "pci=routeirq" option was added in 2004, and I don't get any valid reports anymore. The option is still mentioned in kernel-parameters.txt. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit cb3576fa34e36907e292f408cb6c258f4fd112ad Author: Gary Hade Date: Fri Feb 8 14:00:52 2008 -0800 PCI: Include PCI domain in PCI bus names on x86/x86_64 The PCI bus names included in /proc/iomem and /proc/ioports are of the form 'PCI Bus #XX' where XX is the bus number. This patch changes the naming to 'PCI Bus XXXX:YY' where XXXX is the domain number and YY is the bus number. For example, PCI bus 14 in domain 0 will show as 'PCI Bus 0000:14' instead of 'PCI Bus #14'. This change makes the naming consistent with other architectures such as ia64 where multiple PCI domain support has been around longer. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 21c6847406784fde73ad5ea47c2c3434714d58d1 Author: Adrian Bunk Date: Mon Feb 4 23:50:11 2008 -0800 PCI: #if 0 pci_cleanup_aer_correct_error_status() #if 0 the no longer used pci_cleanup_aer_correct_error_status(). Signed-off-by: Adrian Bunk Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4c44bac8645e0ce0249c53cc154f56b5543af232 Author: Yinghai Lu Date: Sat Feb 2 22:24:47 2008 -0800 PCI: pcie AER: don't check _OSC when acpi is disabled [PATCH] pcie AER: don't check _OSC when acpi is disabled when acpi=off or pci=noacpi, get warning AER service couldn't init device 0000:00:0a.0:pcie01 - no _OSC support AER service couldn't init device 0000:00:0e.0:pcie01 - no _OSC support AER service couldn't init device 0000:00:0f.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0b.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0e.0:pcie01 - no _OSC support AER service couldn't init device 0000:80:0f.0:pcie01 - no _OSC support so don't check _OSC in aer_osc_setup Signed-off-by: Yinghai Lu Signed-off-by: Greg Kroah-Hartman commit 5ff580c10ec06fd296bd23d4570c1a95194094a0 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: remove global list of PCI devices This patch finally removes the global list of PCI devices. We are relying entirely on the list held in the driver core now, and do not need a separate "shadow" list as no one uses it. Signed-off-by: Greg Kroah-Hartman commit c71c68a04ba7672b9373ef04173114c211bb9f88 Author: James Bottomley Date: Wed Feb 20 15:14:24 2008 -0600 PCI: remove parisc consumer of the pci global_list Remove the parisc usage of the global_list, as it's not needed anymore. Signed-off-by: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 6355f3d1c6994812e4384027b785989323dd7c75 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: remove pcibios_fixup_ghosts() This function was obviously never being used since early 2.5 days as any device that it would try to remove would never really be removed from the system due to the PCI device list being held in the driver core, not the general list of PCI devices. As we have not had a single report of a problem here in 4 years, I think it's safe to remove now. Signed-off-by: Greg Kroah-Hartman commit 8a1bc9013a03d41a0e36ee413bb6f97281b30bd1 Author: Greg Kroah-Hartman Date: Thu Feb 14 14:56:56 2008 -0800 PCI: add is_added flag to struct pci_dev This lets us check if the device is really added to the driver core or not, which is what we need when walking some of the bus lists. The flag is there in anticipation of getting rid of the other PCI device list, which is what we used to check in this situation. Signed-off-by: Greg Kroah-Hartman commit 70308923d317f2ad4973c30d90bb48ae38761317 Author: Greg Kroah-Hartman Date: Wed Feb 13 22:30:39 2008 -0800 PCI: make no_pci_devices() use the pci_bus_type list no_pci_devices() should use the driver core list of PCI devices, not our "separate" one. Signed-off-by: Greg Kroah-Hartman commit 1ba6ab11d8fbd8d29afec4e39236e1255ae0339a Author: Greg Kroah-Hartman Date: Wed Feb 13 15:06:38 2008 -0800 PCI: remove initial bios sort of PCI devices on x86 We currently keep 2 lists of PCI devices in the system, one in the driver core, and one all on its own. This second list is sorted at boot time, in "BIOS" order, to try to remain compatible with older kernels (2.2 and earlier days). There was also a "nosort" option to turn this sorting off, to remain compatible with even older kernel versions, but that just ends up being what we have been doing from 2.5 days... Unfortunately, the second list of devices is not really ever used to determine the probing order of PCI devices or drivers[1]. That is done using the driver core list instead. This change happened back in the early 2.5 days. Relying on BIOS ording for the binding of drivers to specific device names is problematic for many reasons, and userspace tools like udev exist to properly name devices in a persistant manner if that is needed, no reliance on the BIOS is needed. Matt Domsch and others at Dell noticed this back in 2006, and added a boot option to sort the PCI device lists (both of them) in a breadth-first manner to help remain compatible with the 2.4 order, if needed for any reason. This option is not going away, as some systems rely on them. This patch removes the sorting of the internal PCI device list in "BIOS" mode, as it's not needed at all anymore, and hasn't for many years. I've also removed the PCI flags for this from some other arches that for some reason defined them, but never used them. This should not change the ordering of any drivers or device probing. [1] The old-style pci_get_device and pci_find_device() still used this sorting order, but there are very few drivers that use these functions, as they are deprecated for use in this manner. If for some reason, a driver rely on the order and uses these functions, the breadth-first boot option will resolve any problem. Cc: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit 3b57eff02c37c79e6254884d374a6a9233e11efc Author: Greg Kroah-Hartman Date: Wed Feb 13 13:32:24 2008 -0800 PCI Hotplug: the ibm driver is not dependant on PCI_LEGACY This was marked incorrectly for some reason. Allow the ibmphp driver to be built even if PCI_LEGACY is not enabled. Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 33ae6ef26d65ef5d15e80d95a9df1252eaed93e8 Author: Greg Kroah-Hartman Date: Wed Feb 13 13:32:24 2008 -0800 PCI Hotplug: make cpcihp driver use modern apis This removes the depandancy of the cpcihp driver from the PCI_LEGACY config option by removing its usage of the pci_find_bus() function. Cc: Kristen Carlson Accardi Signed-off-by: Scott Murray Signed-off-by: Greg Kroah-Hartman commit 95247b57ed844511a212265b45cf9a919753aea1 Author: Greg Kroah-Hartman Date: Wed Feb 13 11:03:58 2008 -0800 PCI: clean up search.c a lot This cleans up the search.c file, now using the pci list of devices that are created for the driver core, instead of relying on our separate list of devices. It's better to use the functions already created for this kind of thing, instead of rolling our own all the time. This work is done in anticipation of getting rid of that second list of pci devices all together. And it ends up saving code, always a nice benefit. This also removes one compiler warning for when CONFIG_PCI_LEGACY is enabled as we no longer internally use the deprecated functions anymore. Signed-off-by: Greg Kroah-Hartman commit 34220909a26b7f7cfc71e88ce01856c2563fe1d4 Author: Greg Kroah-Hartman Date: Wed Feb 13 09:32:03 2008 -0800 PCI: remove pci_get_device_reverse This removes the pci_get_device_reverse function as there should not be any need to walk pci devices backwards anymore. All users of this call are now gone from the tree, so it is safe to remove it. Signed-off-by: Greg Kroah-Hartman commit a2b5d877840f29b5fbb5f53b63dfcbf8bc0aea47 Author: Greg Kroah-Hartman Date: Wed Feb 13 09:32:03 2008 -0800 PCI: remove pci_get_device_reverse from calgary driver This isn't needed, we can just walk the devices in bus order with no problems at all, as we really want to remove pci_get_device_reverse from the kernel tree. Acked-by: Muli Ben-Yehuda Cc: Jon Mason Signed-off-by: Greg Kroah-Hartman commit 448432c4b8e2e3189177d6dbd16b8a8d83c5c11c Author: Greg Kroah-Hartman Date: Tue Feb 12 13:36:20 2008 -0800 PCI: remove pci_find_present No one is using this function anymore for quite some time, so remove it. Everyone calls pci_dev_present() instead anyway... Signed-off-by: Greg Kroah-Hartman commit 2baad5f96b498812626eadb6f6af3eb41d8656a3 Author: Adrian Bunk Date: Wed Feb 13 23:30:12 2008 +0200 PCI: #if 0 pci_assign_resource_fixed() An unused function that bloated the kernel only when CONFIG_EMBEDDED was enabled... Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 4b5ff469234b8ab5cd05f4a201cbb229896729d0 Author: Randy Dunlap Date: Mon Mar 10 17:16:32 2008 -0700 PCI: doc/pci: create Documentation/PCI/ and move files into it Create Documentation/PCI/ and move PCI-related files to it. Fix a few instances of trailing whitespace. Update references to the new file locations. Signed-off-by: Randy Dunlap Cc: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit c49a7f182c44c31ea460093eb263110824f6c98e Author: David Brownell Date: Wed Apr 16 19:24:42 2008 +0800 [HWRNG] omap: Minor updates Minor cleanups to the OMAP RNG: - Comment update re RNG status: * yes, it works on 16xx; "rngtest" is quite happy * it's fast enough that polling vs IRQ is a non-issue - Get rid of BUG_ON - Help GCC not be stupid about inlining (object code shrink) - Remove "sparse" warning - Cope with new hotplug rule requiring "platform:" modalias And make the file header match kernel conventions. Signed-off-by: David Brownell Signed-off-by: Herbert Xu commit 584fffc8b1965cc09ebc4b7608bafcbf12ad5244 Author: Sebastian Siewior Date: Sat Apr 5 21:04:48 2008 +0800 [CRYPTO] kconfig: Ordering cleanup Ciphers, block modes, name it, are grouped together and sorted. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 3af5b90bde5000abc739996cb03fd718e753d053 Author: Kamalesh Babulal Date: Sat Apr 5 21:00:57 2008 +0800 [CRYPTO] all: Clean up init()/fini() On Thu, Mar 27, 2008 at 03:40:36PM +0100, Bodo Eggert wrote: > Kamalesh Babulal wrote: > > > This patch cleanups the crypto code, replaces the init() and fini() > > with the _init/_fini > > This part ist OK. > > > or init/fini_ (if the > > _init/_fini exist) > > Having init_foo and foo_init won't be a good thing, will it? I'd start > confusing them. > > What about foo_modinit instead? Thanks for the suggestion, the init() is replaced with _mod_init () and fini () is replaced with _mod_fini. Signed-off-by: Kamalesh Babulal Signed-off-by: Herbert Xu commit 7dc748e4e720c1a98185363096ad7582e9113092 Author: Sebastian Siewior Date: Tue Apr 1 21:24:50 2008 +0800 [CRYPTO] padlock-aes: Use generic setkey function The Padlock AES setkey routine is the same as exported by the generic implementation. So we could use it. Signed-off-by: Sebastian Siewior Cc: Michal Ludvig Tested-by: Stefan Hellermann Signed-off-by: Herbert Xu commit 5427663f498e19b441277de72ce7a685511f247c Author: Sebastian Siewior Date: Tue Apr 1 20:58:51 2008 +0800 [CRYPTO] aes: Export generic setkey The key expansion routine could be get little more generic, become a kernel doc entry and then get exported. Signed-off-by: Sebastian Siewior Tested-by: Stefan Hellermann Signed-off-by: Herbert Xu commit c3715cb90f722b1cf5f6f073be02cc8a49659b90 Author: Sebastian Siewior Date: Sun Mar 30 16:36:09 2008 +0800 [CRYPTO] api: Make the crypto subsystem fully modular Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 76cb9521795a167ae3d206343c072f602d84f815 Author: Kevin Coffman Date: Mon Mar 24 21:26:16 2008 +0800 [CRYPTO] cts: Add CTS mode required for Kerberos AES support Implement CTS wrapper for CBC mode required for support of AES encryption support for Kerberos (rfc3962). Signed-off-by: Kevin Coffman Signed-off-by: Herbert Xu commit fd4609a8e00a867303783ade62d67953fb72adc8 Author: Marcin Slusarz Date: Fri Mar 14 16:22:53 2008 +0800 [CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); Signed-off-by: Marcin Slusarz Cc: David S. Miller Cc: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Herbert Xu commit f0df30b1f7f2bf8588613b2c012b8859b06849f1 Author: Sebastian Siewior Date: Thu Mar 13 20:29:07 2008 +0800 [CRYPTO] tcrypt: Change the XTEA test vectors The third test vector of ECB-XTEA-ENC fails for me all other are fine. I could not find a RFC or something else where they are defined. The test vector has not been modified since git started recording histrory. The implementation is very close (not to say equal) to what is available as Public Domain (they recommend 64 rounds and the in kernel uses 32). Therefore I belive that there is typo somewhere and tcrypt reported always *fail* instead of *okey*. This patch replaces input + result of the third test vector with result + input from the third decryption vector. The key is the same, the other three test vectors are also the reverse. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit de224c309b5631bdaae3fcd6880cfb93b52f5a53 Author: Sebastian Siewior Date: Thu Mar 13 20:21:51 2008 +0800 [CRYPTO] tcrypt: Shrink the tcrypt module Currently the tcrypt module is about 2 MiB on x86-32. The main reason for the huge size is the data segment which contains all the test vectors for each algorithm. The test vectors are staticly allocated in an array and the size of the array has been drastically increased by the merge of the Salsa20 test vectors. With a hint from Benedigt Spranger I found a way how I could convert those fixed-length arrays to strings which are flexible in size. VIM and regex were also very helpfull :) So, I am talking about a shrinking of ~97% on x86-32: text data bss dec hex filename 18309 2039708 20 2058037 1f6735 tcrypt-b4.ko 45628 23516 80 69224 10e68 tcrypt.ko Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 562954d5e01d08154cf15c7e12e6e9ec803f50f7 Author: Sebastian Siewior Date: Thu Mar 13 20:20:28 2008 +0800 [CRYPTO] tcrypt: Change the usage of the test vectors The test routines (test_{cipher,hash,aead}) are makeing a copy of the test template and are processing the encryption process in place. This patch changes the creation of the copy so it will work even if the source address of the input data isn't an array inside of the template but a pointer. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 48c8949ea8460216783dd33640121187b9531b60 Author: Jan Engelhardt Date: Thu Mar 13 19:37:45 2008 +0800 [CRYPTO] api: Constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Herbert Xu commit 744b5a28109e6a107c24a1426ee22f92b17995e9 Author: Sebastian Siewior Date: Tue Mar 11 21:29:47 2008 +0800 [CRYPTO] aes-x86-32: Remove unused return code The return parameter isn't used remove it. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit d5dc392742a9818e2766a63f3533980543e18060 Author: Sebastian Siewior Date: Tue Mar 11 21:27:11 2008 +0800 [CRYPTO] tcrypt: Shrink speed templates The speed templates as it look always the same. The key size is repeated for each block size and we test always the same block size. The addition of one inner loop makes it possible to get rid of the struct and it is possible to use a tiny u8 array :) Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 477035c2abdcff7583369e5777cb7be1bb1dbea8 Author: Sebastian Siewior Date: Tue Mar 11 21:24:26 2008 +0800 [CRYPTO] tcrypt: Group common speed templates Some crypto ciphers which are impleneted support similar key sizes (16,24 & 32 byte). They can be grouped together and use a common templatte instead of their own which contains the same data. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 78f8b3a24022c48fe600f4aba415d63ceeaec9cd Author: Jan Glauber Date: Thu Mar 6 19:55:38 2008 +0800 [CRYPTO] sha512: Rename sha512 to sha512_generic Rename sha512 to sha512_generic and add a MODULE_ALIAS for sha512 so all sha512 implementations can be loaded automatically. Keep the broken tabs so git recognizes this as a rename. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 4e2c6d7f4d8f466f4420e10dda7126537de09c94 Author: Jan Glauber Date: Thu Mar 6 19:53:50 2008 +0800 [CRYPTO] sha384: Hardware acceleration for s390 Exploit the System z10 hardware acceleration for SHA384. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 291dc7c0996b09a7c58b2cf6e9cc3495123a607e Author: Jan Glauber Date: Thu Mar 6 19:52:00 2008 +0800 [CRYPTO] sha512: Hardware acceleration for s390 Exploit the System z10 hardware acceleration for SHA512. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 604973f1fe41b817c1badb3df2008fe641e50ae6 Author: Jan Glauber Date: Thu Mar 6 19:50:20 2008 +0800 [CRYPTO] s390: Generic sha_update and sha_final The sha_{update|final} functions are similar for every sha variant. Since that is error-prone and redundant replace these functions by a shared generic implementation for s390. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 607424d8583365418a337aa51e83403c8bd213ed Author: Alexey Dobriyan Date: Wed Mar 5 19:27:51 2008 +0800 [CRYPTO] api: Switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu commit 896c6fa1e59dd17e1ac2877c25cab19bbb24e666 Author: Jeff Garzik Date: Wed Oct 31 05:42:50 2007 -0400 [ISDN] minor irq handler cleanups - reference irq number in CardState structure - remove now-unused 'intno' argument from rs_interrupt_elsa() - cs->irq_func() should be defined using standard irq_handler_t - add KERN_DEBUG to printk() where appropriate Signed-off-by: Jeff Garzik commit 9d29672c64505f2d7f707701b829715705308a69 Author: David Woodhouse Date: Sun Apr 20 16:07:43 2008 -0700 [NET]: Expose netdevice dev_id through sysfs Expose dev_id to userspace, because it helps to disambiguate between interfaces where the MAC address is unique. This should allow us to simplify the handling of persistent naming for S390 network devices in udev -- because it can depend on a simple attribute of the device like the other match criteria, rather than having a special case for SUBSYSTEMS=="ccwgroup". Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit f7d0e5a506396419eb731b6c6cd97ed23c9245c7 Author: Randy Dunlap Date: Sun Apr 20 16:06:22 2008 -0700 skbuff: fix missing kernel-doc notation Add kernel-doc notation for ndisc_nodetype: Warning(linux-2.6.25-git2//include/linux/skbuff.h:340): No description found for parameter 'ndisc_nodetype' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit a6f97b293b08877d945ea3f28926aa446dd7ca2e Author: Jeff Garzik Date: Wed Oct 31 05:20:49 2007 -0400 drivers/char: minor irq handler cleanups - remove always-false tests - don't overload 'irq' argument, pass data properly via dev_id - remove pointless casts from void* Signed-off-by: Jeff Garzik commit 047f7617eba3653ff3bcfbe902986903fff2ed3b Author: Bernard Pidoux Date: Sun Apr 20 15:58:07 2008 -0700 [ROSE]: Fix soft lockup wrt. rose_node_list_lock [ INFO: possible recursive locking detected ] 2.6.25 #3 --------------------------------------------- ax25ipd/3811 is trying to acquire lock: (rose_node_list_lock){-+..}, at: [] rose_get_neigh+0x1a/0xa0 [rose] but task is already holding lock: (rose_node_list_lock){-+..}, at: [] rose_route_frame+0x4d/0x620 [rose] other info that might help us debug this: 6 locks held by ax25ipd/3811: #0: (&tty->atomic_write_lock){--..}, at: [] tty_write_lock+0x1c/0x50 #1: (rcu_read_lock){..--}, at: [] net_rx_action+0x96/0x230 #2: (rcu_read_lock){..--}, at: [] netif_receive_skb+0x100/0x2f0 #3: (rose_node_list_lock){-+..}, at: [] rose_route_frame+0x4d/0x620 [rose] #4: (rose_neigh_list_lock){-+..}, at: [] rose_route_frame+0x57/0x620 [rose] #5: (rose_route_list_lock){-+..}, at: [] rose_route_frame+0x61/0x620 [rose] stack backtrace: Pid: 3811, comm: ax25ipd Not tainted 2.6.25 #3 [] print_deadlock_bug+0xc7/0xd0 [] check_deadlock+0x9a/0xb0 [] validate_chain+0x1e2/0x310 [] ? validate_chain+0xa5/0x310 [] ? native_sched_clock+0x88/0xc0 [] __lock_acquire+0x1a1/0x750 [] lock_acquire+0x81/0xa0 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] _spin_lock_bh+0x33/0x60 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] rose_get_neigh+0x1a/0xa0 [rose] [] rose_route_frame+0x464/0x620 [rose] [] ? _read_unlock+0x1d/0x20 [] ? rose_route_frame+0x0/0x620 [rose] [] ax25_rx_iframe+0x66/0x3b0 [ax25] [] ? ax25_start_t3timer+0x1f/0x40 [ax25] [] ax25_std_frame_in+0x7fb/0x890 [ax25] [] ? _spin_unlock_bh+0x25/0x30 [] ax25_kiss_rcv+0x2c6/0x800 [ax25] [] ? sock_def_readable+0x59/0x80 [] ? __lock_release+0x47/0x70 [] ? sock_def_readable+0x59/0x80 [] ? _read_unlock+0x1d/0x20 [] ? sock_def_readable+0x59/0x80 [] ? sock_queue_rcv_skb+0x13a/0x1d0 [] ? sock_queue_rcv_skb+0x45/0x1d0 [] ? ax25_kiss_rcv+0x0/0x800 [ax25] [] netif_receive_skb+0x255/0x2f0 [] ? netif_receive_skb+0x100/0x2f0 [] process_backlog+0x7c/0xf0 [] net_rx_action+0x16c/0x230 [] ? net_rx_action+0x96/0x230 [] __do_softirq+0x93/0x120 [] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] do_softirq+0x57/0x60 [] local_bh_enable_ip+0xa5/0xe0 [] _spin_unlock_bh+0x25/0x30 [] mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] pty_write+0x47/0x60 [] write_chan+0x1b0/0x220 [] ? tty_write_lock+0x1c/0x50 [] ? default_wake_function+0x0/0x10 [] tty_write+0x12a/0x1c0 [] ? write_chan+0x0/0x220 [] vfs_write+0x96/0x130 [] ? tty_write+0x0/0x1c0 [] sys_write+0x3d/0x70 [] sysenter_past_esp+0x5f/0xa5 ======================= BUG: soft lockup - CPU#0 stuck for 61s! [ax25ipd:3811] Pid: 3811, comm: ax25ipd Not tainted (2.6.25 #3) EIP: 0060:[] EFLAGS: 00000246 CPU: 0 EIP is at native_read_tsc+0xb/0x20 EAX: b404aa2c EBX: b404a9c9 ECX: 017f1000 EDX: 0000076b ESI: 00000001 EDI: 00000000 EBP: ecc83afc ESP: ecc83afc DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: b7f5f000 CR3: 2cd8e000 CR4: 000006f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 [] delay_tsc+0x17/0x30 [] __delay+0x9/0x10 [] __spin_lock_debug+0x76/0xf0 [] ? spin_bug+0x18/0x100 [] ? __lock_contended+0xa3/0x110 [] _raw_spin_lock+0x68/0x90 [] _spin_lock_bh+0x4f/0x60 [] ? rose_get_neigh+0x1a/0xa0 [rose] [] rose_get_neigh+0x1a/0xa0 [rose] [] rose_route_frame+0x464/0x620 [rose] [] ? _read_unlock+0x1d/0x20 [] ? rose_route_frame+0x0/0x620 [rose] [] ax25_rx_iframe+0x66/0x3b0 [ax25] [] ? ax25_start_t3timer+0x1f/0x40 [ax25] [] ax25_std_frame_in+0x7fb/0x890 [ax25] [] ? _spin_unlock_bh+0x25/0x30 [] ax25_kiss_rcv+0x2c6/0x800 [ax25] [] ? sock_def_readable+0x59/0x80 [] ? __lock_release+0x47/0x70 [] ? sock_def_readable+0x59/0x80 [] ? _read_unlock+0x1d/0x20 [] ? sock_def_readable+0x59/0x80 [] ? sock_queue_rcv_skb+0x13a/0x1d0 [] ? sock_queue_rcv_skb+0x45/0x1d0 [] ? ax25_kiss_rcv+0x0/0x800 [ax25] [] netif_receive_skb+0x255/0x2f0 [] ? netif_receive_skb+0x100/0x2f0 [] process_backlog+0x7c/0xf0 [] net_rx_action+0x16c/0x230 [] ? net_rx_action+0x96/0x230 [] __do_softirq+0x93/0x120 [] ? mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] do_softirq+0x57/0x60 [] local_bh_enable_ip+0xa5/0xe0 [] _spin_unlock_bh+0x25/0x30 [] mkiss_receive_buf+0x33a/0x3f0 [mkiss] [] pty_write+0x47/0x60 [] write_chan+0x1b0/0x220 [] ? tty_write_lock+0x1c/0x50 [] ? default_wake_function+0x0/0x10 [] tty_write+0x12a/0x1c0 [] ? write_chan+0x0/0x220 [] vfs_write+0x96/0x130 [] ? tty_write+0x0/0x1c0 [] sys_write+0x3d/0x70 [] sysenter_past_esp+0x5f/0xa5 ======================= Since rose_route_frame() does not use rose_node_list we can safely remove rose_node_list_lock spin lock here and let it be free for rose_get_neigh(). Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit e8f39549580e04e0b8edd11bae834ae7f8322fc8 Author: Jeff Garzik Date: Wed Oct 31 05:15:20 2007 -0400 [PPC] minor irq handler cleanups - whitespace cleanups - remove pointless prototype (uses always follow func implementation) - 'irq' argument is used here purely as a local variable. rename argument to 'dummy' and define 'irq' as local to make this plain. Signed-off-by: Jeff Garzik Acked-by: Kumar Gala commit 349a2444cfcd6c078a8410c19cd7a950ff89bd96 Author: Jeff Garzik Date: Wed Oct 31 05:11:45 2007 -0400 [BLACKFIN] minor irq handler cleanups - use standard irq_handler_t to define irq handler function arguments Signed-off-by: Jeff Garzik commit 5dc0742b41066e1e141f2b4b00557e563a83fccc Author: Jeff Garzik Date: Wed Oct 31 05:08:48 2007 -0400 [SPARC] minor irq handler cleanups - mark timer_interrupt() static - sparc_floppy_request_irq() prototype should use irq_handler_t Signed-off-by: Jeff Garzik Acked-by: David S. Miller commit 90968eb5a415a0fe6ffb617af35b3a5321bd4497 Author: Jeff Garzik Date: Wed Oct 31 05:07:08 2007 -0400 ARM minor irq handler cleanup: avoid passing unused info to irq Reduce human confusion a bit, by /not/ passing an unused value to arm_rtc_interrupt() Signed-off-by: Jeff Garzik commit 8349304d12cf1313bdbd6eb2083701d86809be24 Author: Jeff Garzik Date: Wed Oct 31 03:42:07 2007 -0400 [ISDN] Hisax: eliminate many unnecessary references to CardType[] For the vast majority of CardType[card->typ] uses (but not all!), the string is constant for each driver. Therefore, we may replace CardType[card->typ] with the actual string describing the driver, making each printk() a bit more simple. This also has the nice, intended side effect of greatly reducing external references to hisax global CardType[]. This will be of value once the ISDN drivers are converted to the ISA/PCI/PNP hotplug APIs. Signed-off-by: Jeff Garzik commit d38c8475b4f3a684ac673dcedc88ffdb17b74882 Author: Jeff Garzik Date: Fri Feb 15 23:41:15 2008 -0500 [ISDN] HiSax: modularization prep Pass a function pointer into the core HiSax probe function checkcard(), in order to facilitate modular drivers passing in their own setup routines. Signed-off-by: Jeff Garzik commit d8d9075cf6023340a1603720a9a59815f14a5219 Author: Russell King Date: Sun Apr 20 16:40:47 2008 +0100 [ARM] fix lh7a40x/kev7a400 build arch/arm/mach-lh7a40x/arch-kev7a400.c: In function `kev7a400_cpld_handler': arch/arm/mach-lh7a40x/arch-kev7a400.c:80: error: structure has no member named `handle' Signed-off-by: Russell King commit 434b825e1fc9ef7971fc962734278ffbab36a1ab Author: Artem Bityutskiy Date: Sun Apr 20 18:00:33 2008 +0300 UBI: print media information earlier Print information about logicale eraseblock size, sub-page size and so on at early stage, befor an attempt to attach the MTD device was made. This is more convenient to do so because the attempt to attach may fail, and the information is never printed then. Signed-off-by: Artem Bityutskiy commit 14b3ca4022f050f8622ed282b734ddf445464583 Author: Paul Mackerras Date: Sun Apr 20 17:57:10 2008 +1000 [POWERPC] Fix compile breakage for 64-bit UP configs The rearrangements in 945feb174b14e7098cc7ecf0cf4768d35bc52f9c ("[POWERPC] irqtrace support for 64-bit powerpc") caused 64-bit non-SMP configs to fail to compile with a message about local_irq_save being undefined in include/linux/proportions.h. This follows the lead of x86 in including in asm/system.h, which fixes the problem. Signed-off-by: Paul Mackerras commit 9c0c44dbd9bc380bee53e2f768c4ad5410b8aae2 Author: Roland McGrath Date: Sun Apr 20 08:19:24 2008 +1000 [POWERPC] Define copy_siginfo_from_user32 Define the copy_siginfo_from_user32 entry point for powerpc, so that generic CONFIG_COMPAT code can call it. We already had the code rolled into compat_sys_rt_sigqueueinfo, this just moves it out into the canonical function that other arch's define. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit e4cc58944c1e2ce41e3079d4eb60c95e7ce04b2b Author: Andreas Schwab Date: Sun Apr 20 02:25:13 2008 +1000 [POWERPC] Add compat handler for PTRACE_GETSIGINFO Current versions of gdb require a working implementation of PTRACE_GETSIGINFO for proper watchpoint support. Since struct siginfo contains pointers it must be converted when passed to a 32-bit debugger. Signed-off-by: Andreas Schwab Signed-off-by: Paul Mackerras commit 585468e5d5962660867c269e26f0a4b89a599473 Author: Jochen Friedrich Date: Sat Apr 19 00:23:03 2008 +1000 [POWERPC] i2c: Fix build breakage introduced by OF helpers Fix build breakage introduced in commit "[POWERPC] i2c: OF helpers for the i2c API". If i2c-core is compiled as a module, the helper needs to be compiled as a module, as well. Rename i2c.c to of_i2c.c to avoid name space conflict. [paulus@samba.org: Changed dependency from OF to PPC_OF to avoid sparc{32,64} allmodconfig breakage.] Signed-off-by: Jochen Friedrich Signed-off-by: Paul Mackerras commit ee959b00c335d7780136c5abda37809191fe52c3 Author: Tony Jones Date: Fri Feb 22 00:13:36 2008 +0100 SCSI: convert struct class_device to struct device It's big, but there doesn't seem to be a way to split it up smaller... Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 56d110e852b0b1c85ad6c9bfe1cb4473ceb16402 Author: Greg Kroah-Hartman Date: Tue Mar 11 12:50:38 2008 -0700 DRM: remove unused dev_class The struct class_device *dev_class is not used in the struct drm_head structure at all, so remove it as class_device is being removed entirely from the kernel. Cc: David Airlie Cc: Tony Jones Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 05321937469a8592d6a6d35f1d38ca882d243044 Author: Greg Kroah-Hartman Date: Thu Mar 6 00:13:36 2008 +0100 IB: rename "dev" to "srp_dev" in srp_host structure This sets us up to be able to convert the srp_host to use a struct device instead of a class_device. Based on a original patch from Tony Jones, but split up into this piece by Greg. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Reviewed-by: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit f4e91eb4a81559da87a3843758a641b5cc590b65 Author: Tony Jones Date: Fri Feb 22 00:13:36 2008 +0100 IB: convert struct class_device to struct device This converts the main ib_device to use struct device instead of struct class_device as class_device is going away. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Greg Kroah-Hartman commit c4c66cf1787d408066fbfc69209185701f5df15f Author: Greg Kroah-Hartman Date: Tue Mar 4 00:13:36 2008 +0100 memstick: convert struct class_device to struct device struct class_device is going away, struct device should be used instead. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Cc: Alex Dubov Signed-off-by: Greg Kroah-Hartman commit 2b3a302a09735276e13421db56c20045a48eb06d Author: Harvey Harrison Date: Tue Mar 4 16:41:05 2008 -0800 driver core: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit 2424b5dd062cbe3e0578ae7b11a1b360ad22f451 Author: Dan Williams Date: Mon Apr 7 15:35:01 2008 -0700 sysfs: refill attribute buffer when reading from offset 0 Requiring userspace to close and re-open sysfs attributes has been the policy since before 2.6.12. It allows userspace to get a consistent snapshot of kernel state and consume it with incremental reads and seeks. Now, if the file position is zero the kernel assumes userspace wants to see the new value. The application for this change is to allow a userspace RAID metadata handler to check the state of an array without causing any memory allocations. Thus not causing writeback to a raid array that might be blocked waiting for userspace to take action. Cc: Neil Brown Acked-by: Tejun Heo Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit b844eba292b477cda14582bfc6f535deed57a82d Author: Rafael J. Wysocki Date: Sun Mar 23 20:28:24 2008 +0100 PM: Remove destroy_suspended_device() After 2.6.24 there was a plan to make the PM core acquire all device semaphores during a suspend/hibernation to protect itself from concurrent operations involving device objects. That proved to be too heavy-handed and we found a better way to achieve the goal, but before it happened, we had introduced the functions device_pm_schedule_removal() and destroy_suspended_device() to allow drivers to "safely" destroy a suspended device and we had adapted some drivers to use them. Now that these functions are no longer necessary, it seems reasonable to remove them and modify their users to use the normal device unregistration instead. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 138fe4e069798d9aa948a5402ff15e58f483ee4e Author: Konrad Rzeszutek Date: Wed Apr 9 19:50:41 2008 -0700 Firmware: add iSCSI iBFT Support Add /sysfs/firmware/ibft/[initiator|targetX|ethernetX] directories along with text properties which export the the iSCSI Boot Firmware Table (iBFT) structure. What is iSCSI Boot Firmware Table? It is a mechanism for the iSCSI tools to extract from the machine NICs the iSCSI connection information so that they can automagically mount the iSCSI share/target. Currently the iSCSI information is hard-coded in the initrd. The /sysfs entries are read-only one-name-and-value fields. The usual set of data exposed is: # for a in `find /sys/firmware/ibft/ -type f -print`; do echo -n "$a: "; cat $a; done /sys/firmware/ibft/target0/target-name: iqn.2007.com.intel-sbx44:storage-10gb /sys/firmware/ibft/target0/nic-assoc: 0 /sys/firmware/ibft/target0/chap-type: 0 /sys/firmware/ibft/target0/lun: 00000000 /sys/firmware/ibft/target0/port: 3260 /sys/firmware/ibft/target0/ip-addr: 192.168.79.116 /sys/firmware/ibft/target0/flags: 3 /sys/firmware/ibft/target0/index: 0 /sys/firmware/ibft/ethernet0/mac: 00:11:25:9d:8b:01 /sys/firmware/ibft/ethernet0/vlan: 0 /sys/firmware/ibft/ethernet0/gateway: 192.168.79.254 /sys/firmware/ibft/ethernet0/origin: 0 /sys/firmware/ibft/ethernet0/subnet-mask: 255.255.252.0 /sys/firmware/ibft/ethernet0/ip-addr: 192.168.77.41 /sys/firmware/ibft/ethernet0/flags: 7 /sys/firmware/ibft/ethernet0/index: 0 /sys/firmware/ibft/initiator/initiator-name: iqn.2007-07.com:konrad.initiator /sys/firmware/ibft/initiator/flags: 3 /sys/firmware/ibft/initiator/index: 0 For full details of the IBFT structure please take a look at: ftp://ftp.software.ibm.com/systems/support/system_x_pdf/ibm_iscsi_boot_firmware_table_v1.02.pdf [akpm@linux-foundation.org: fix build] Signed-off-by: Konrad Rzeszutek Cc: Mike Christie Cc: Peter Jones Cc: James Bottomley Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 95bc6a10830de469eee94c17fb1c37b3b1430715 Author: Randy Dunlap Date: Fri Mar 28 14:22:52 2008 -0700 PM: Remove legacy PM (fix) Source file was removed. Need to remove docbook reference also. Signed-off-by: Randy Dunlap Cc: Pavel Machek Cc: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c6a2a3dc26da72e431c293d02549593f9c041f63 Author: Robert P. J. Day Date: Thu Mar 27 01:13:34 2008 -0400 Kobject: Replace list_for_each() with list_for_each_entry(). Use the more concise list_for_each_entry(), which allows for the deletion of the to_kobj() routine at the same time. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit c6f87733823d69a8f12e391688ceeb1ff4922530 Author: Robert P. J. Day Date: Thu Mar 13 22:41:52 2008 -0400 SYSFS: Explicitly include required header file slab.h. After an experimental deletion of the unnecessary inclusion of from the header file , the following files under fs/sysfs were exposed as needing to explicitly include . Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 3f62e5700b2a679ae987b32a68126dd6dcf2488f Author: Greg Kroah-Hartman Date: Thu Mar 13 17:07:03 2008 -0400 Driver core: make device_is_registered() work for class devices device_is_registered() can use the kobject value for this, so it will now work with devices that are associated with only a class, not a bus and a driver. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9a3df1f7de0ecaf77a1dde86f2a4dc020f37f87e Author: Alan Stern Date: Wed Mar 19 22:39:13 2008 +0100 PM: Convert wakeup flag accessors to inline functions This patch (as1058) improves the wakeup macros in include/linux/pm.h. All but the trivial ones are converted to inline routines, which requires moving them to a separate header file since they depend on the definition of struct device. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit d288e47c471e1090e80c62ad95882fafbf3f499d Author: Alan Stern Date: Wed Mar 19 22:37:42 2008 +0100 PM: Make wakeup flags available whenever CONFIG_PM is set The various wakeup flags and their accessor macros in struct dev_pm_info should be available whenever CONFIG_PM is enabled, not just when CONFIG_PM_SLEEP is on. Otherwise remote wakeup won't always be configurable for runtime power management. This patch (as1056b) fixes the oversight. David Brownell adds: More accurately, fixes the "regression" ... as noted sometime last summer, after 296699de6bdc717189a331ab6bbe90e05c94db06 introduced CONFIG_SUSPEND. But that didn't make the regression list for that kernel, ergo the delay in fixing it. [rjw: rebased] Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 74081f8667d73ad59961cf63be5f0e9d6a87c8a3 Author: Alan Stern Date: Wed Mar 19 22:35:13 2008 +0100 PM: Fix misuse of wakeup flag accessors in serial core This patch (as1059) fixes a mistake in the way the serial core initializes a device's wakeup settings. It should use the accessor routine instead of relying on a macro producing an lvalue. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 57eee3d23e8833ca18708b374c648235691942ba Author: Rafael J. Wysocki Date: Wed Mar 12 00:59:38 2008 +0100 Driver core: Call device_pm_add() after bus_add_device() in device_add() Include dpm_sysfs_add() into device_pm_add(), in analogy with device_pm_remove(), and modify device_add() to call the latter after bus_add_device(), to avoid situations in which the PM core may attempt to suspend a device the registration of which has not been successful. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 58aca23226a19983571bd3b65167521fc64f5869 Author: Rafael J. Wysocki Date: Wed Mar 12 00:57:22 2008 +0100 PM: Handle device registrations during suspend/resume Modify the PM core to protect its data structures, specifically the dpm_active list, from being corrupted if a child of the currently suspending device is registered concurrently with its ->suspend() callback. In that case, since the new device (the child) is added to dpm_active after its parent, the PM core will attempt to suspend it after the parent, which is wrong. Introduce a new member of struct dev_pm_info, called 'sleeping', and use it to check if the parent of the device being added to dpm_active has been suspended, in which case the device registration fails. Also, use 'sleeping' for checking if the ordering of devices on dpm_active is correct. Introduce variable 'all_sleeping' that will be set to 'true' once all devices have been suspended and make new device registrations fail until 'all_sleeping' is reset to 'false', in order to avoid having unsuspended devices around while the system is going into a sleep state. Remove pm_sleep_rwsem which is not necessary any more. Special thanks to Alan Stern for discussions and suggestions that lead to the creation of this patch. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 6bcf19d02a5d7e627fa054f2f10e0a8d830df326 Author: Kay Sievers Date: Sun Mar 9 21:26:02 2008 +0100 block: send disk "change" event for rescan_partitions() Userspace likes to get notified that the disk may have changed, when rescan_partitions() is called after partitioning or media change. It will make it possible to update the state of the disk with the "change" event, before the following partition "add" events are handled. Cc: David Zeuthen Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit da009f39f85a3ee9deeb10f0f05ddd4efdd67020 Author: Ben Dooks Date: Tue Mar 4 15:09:06 2008 -0800 sysdev: detect multiple driver registrations I've just found how easy it is to accidentally register a sysdev_driver for two different classes. When this happens, bad things happen as the sysdev_driver structure keeps has the list entry for the driver registration. The following patch makes a WARN_ON() if this happens, although I think BUG_ON or returning -EAGAIN could also be valid responses to this. Signed-off-by: Ben Dooks Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6c847402e1c69c1cfe2bddeadc8391bacbb3d0a5 Author: Sam Ravnborg Date: Tue Mar 4 15:09:05 2008 -0800 driver core: cpu: fix section mismatch in cpu.c:store_online Fix following warning: WARNING: vmlinux.o(.text+0x64609c): Section mismatch in reference from the function store_online() to the function .cpuinit.text:cpu_up() store_online() is defined inside a HOTPLUG_CPU block so references are OK. Ignore references by annotating store_online() with __ref. Note: This is needed because cpu_up() most likely should not have been __cpuinit but all the hotplug cpu code misuses the __cpuinit annotation. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 35d313b8744dc64c31b9cfcdb083112937643b45 Author: Pavel Machek Date: Thu Feb 21 13:58:10 2008 +0100 power_state: remove it from driver core power_state is scheduled for removal, and it is used only for debug prints by driver core. Remove it. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 0c81eed4b9d6273124c7ab5eb99760b4d3a3cb9e Author: Kay Sievers Date: Thu Feb 21 00:35:54 2008 +0100 PNP: add all PNP card device id's as individual aliases The current PNP combined card + devices module aliase can never ever match anything, because these values are not available all at the same time to request a module. Instead of adding the combined alias, we add the device id's all as individual aliases. Device id's are exported by the PNP bus and can now properly used to request the loading of a matching module. The module snd-sbawe currently exports aliases, which can never match anything: alias: pnp:cCTLXXXXdCTL0045dCTL0022* alias: pnp:cCTLXXXXdCTL0044dCTL0023* alias: pnp:cCTLXXXXdCTL0042dCTL0022* alias: pnp:cCTLXXXXdCTL0041dCTL0021* alias: pnp:cCTLXXXXdCTL0031dCTL0021* alias: pnp:cCTL00eddCTL0041dCTL0070* alias: pnp:cCTL00e9dCTL0045dCTL0022* alias: pnp:cCTL00e4dCTL0045dCTL0022* alias: pnp:cCTL00c7dCTL0045dCTL0022* alias: pnp:cCTL00c5dCTL0045dCTL0022* alias: pnp:cCTL00c3dCTL0045dCTL0022* alias: pnp:cCTL00c1dCTL0042dCTL0022* alias: pnp:cCTL00b2dCTL0044dCTL0023* alias: pnp:cCTL009edCTL0044dCTL0023* alias: pnp:cCTL009ddCTL0042dCTL0022* alias: pnp:cCTL009fdCTL0041dCTL0021* alias: pnp:cCTL009cdCTL0041dCTL0021* alias: pnp:cCTL009adCTL0041dCTL0021* alias: pnp:cCTL0054dCTL0031dCTL0021* alias: pnp:cCTL0048dCTL0031dCTL0021* alias: pnp:cCTL0047dCTL0031dCTL0021* alias: pnp:cCTL0046dCTL0031dCTL0021* alias: pnp:cCTL0045dCTL0031dCTL0021* alias: pnp:cCTL0044dCTL0031dCTL0021* alias: pnp:cCTL0043dCTL0031dCTL0021* alias: pnp:cCTL0042dCTL0031dCTL0021* alias: pnp:cCTL0039dCTL0031dCTL0021* alias: pnp:cCTL0035dCTL0031dCTL0021* With this patch it exports only the device id's, as properly matchable aliases: alias: pnp:dCTL0070* alias: pnp:dCTL0045* alias: pnp:dCTL0023* alias: pnp:dCTL0044* alias: pnp:dCTL0022* alias: pnp:dCTL0042* alias: pnp:dCTL0041* alias: pnp:dCTL0021* alias: pnp:dCTL0031* Now, the exported value of the PNP bus can be used to autoload a matching module: $ modprobe --first-time -n -v pnp:dCTL0045 insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-rawmidi.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-hwdep.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb-common.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-csp.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-dsp.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/opl3/snd-opl3-lib.ko insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sbawe.ko $ grep CTL0045 /sys/bus/pnp/devices/*/id /sys/bus/pnp/devices/01:01.00/id:CTL0045 Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4b65fc8cfbd1d1cfcc78865af72608e3b6cc9d9b Author: Greg Kroah-Hartman Date: Wed Feb 20 16:07:07 2008 -0800 firmware: clean up samples for coding style issues This fixes up a number of coding style issues in the firmware sample files. Yeah, it still doesn't build properly yet, that's next... Cc: Randy Dunlap Cc: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit d289bf7bdd84d636054acb0b3d14a4708f8a8233 Author: Randy Dunlap Date: Wed Feb 20 13:20:50 2008 -0800 firmware: move firmware_class from Documentation/ to samples/ Move the firmware_class sample drivers to samples/ so that they are buildable and can be maintained. Signed-off-by: Randy Dunlap Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 3612e06b2c1cec41e9a59da3eec673a206af4643 Author: David Rientjes Date: Tue Feb 19 17:39:02 2008 -0800 sysfs: small header file cleanup for SYSFS=n Convert sysfs_remove_bin_file() to have a return type of 'void' for !CONFIG_SYSFS configurations. Also removes unnecessary colons from empty void functions. Signed-off-by: David Rientjes Reviewed-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 1429db83e276c2a16c7ea83bdcf0dcd3a36e406d Author: Joe Perches Date: Tue Feb 26 19:08:42 2008 -0800 driver core: Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros When DEBUG is not defined, pr_debug and dev_dbg and some other local debugging functions are specified as: "inline __attribute__((format (printf, x, y)))" This is done to validate printk arguments when not debugging. Converting these functions to macros or statement expressions "do { if (0) printk(fmt, ##arg); } while (0)" or "({ if (0) printk(fmt, ##arg); 0; }) makes at least gcc 4.2.2 produce smaller objects. This has the additional benefit of allowing the optimizer to avoid calling functions like print_mac that might have been arguments to the printk. defconfig x86 current: $ size vmlinux text data bss dec hex filename 4716770 474560 618496 5809826 58a6a2 vmlinux all converted: (More patches follow) $ size vmlinux text data bss dec hex filename 4716642 474560 618496 5809698 58a622 vmlinux Even kernel/sched.o, which doesn't even use these functions, becomes smaller. It appears that merely having an indirect include of can cause bigger objects. $ size sched.inline.o sched.if0.o text data bss dec hex filename 31385 2854 328 34567 8707 sched.inline.o 31366 2854 328 34548 86f4 sched.if0.o The current preprocessed only kernel/sched.i file contains: # 612 "include/linux/device.h" static inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3))) dev_dbg(struct device *dev, const char *fmt, ...) { return 0; } # 628 "include/linux/device.h" static inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3))) dev_vdbg(struct device *dev, const char *fmt, ...) { return 0; } Removing these unused inlines from sched.i shrinks sched.o Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 00a41db522c77af33ea5ee9837d4f043ce150249 Author: Badari Pulavarty Date: Mon Feb 11 09:23:18 2008 -0800 driver core: register_memory/unregister_memory clean ups and bugfix register_memory()/unregister_memory() never gets called with "root". unregister_memory() is accessing kobject_name of the object just freed up. Since no one uses the code, lets take the code out. And also, make register_memory() static. Another bug fix - before calling unregister_memory() remove_memory_block() gets a ref on kobject. unregister_memory() need to drop that ref before calling sysdev_unregister(). Signed-off-by: Badari Pulavarty Signed-off-by: Greg Kroah-Hartman commit da19cbcf71cde3c09587b5924d113f0c7f1fd23a Author: Daniel Walker Date: Mon Feb 4 23:35:47 2008 -0800 driver core: memory: semaphore to mutex Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 610ad5064cb90aec35f5837bbde3d316fe02aca7 Author: Uwe Kleine-König Date: Fri Apr 11 11:07:39 2008 +0200 UIO: hold a reference to the device's owner while the device is open Otherwise the device might just disappear while /dev/uioX is being used which results in an Oops. Signed-off-by: Uwe Kleine-König Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit b54f2863a26d2b7c002d96abcde149940733c8e6 Author: Ben Nizette Date: Thu Mar 13 22:27:30 2008 +1100 UIO: Implement a UIO interface for the SMX Cryptengine This patch implements a UIO interface for the SMX Cryptengine. The Cryptengine found on the Nias Digital SMX board is best suited for a UIO interface. It is not wired in to the cryptographic API as the engine handles it's own keys, algorithms, everything. All that we know about is that if there's room in the buffer, you can write data to it and when there's data ready, you read it out again. There isn't necessarily even any direct correlation between data going in and data coming out again, the engine may consume or generate data all on its own. This driver is for proprietary hardware but we're always told to submit the drivers anyway; here you are. :-) This is version 4 of this patch and addresses all issues raised by Hans-Jürgen Koch and Paul Mundt in their reviews. Slightly altered is Paul's suggestion to use DRV_NAME and DRV_VERSION as the UIO version and name. While at the moment they are the same, there is no reason for them to stay that way. Nevertheless we now at least provide a MODULE_VERSION macro to keep modinfo happy. Signed-off-by: Ben Nizette Acked-by: Paul Mundt Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit a2a6024692ec86a9c1452ecf14da7ede0704911a Author: Hans-Jürgen Koch Date: Sun Feb 3 01:48:28 2008 +0100 UIO: Remove needless PCI_DEVICE_ID definition from uio_cif.c Meanwhile, PCI_DEVICE_ID_PLX_9030 is defined in pci_ids.h, no need to define it again in the driver. Signed-off-by: Hans J. Koch CC: Benedikt Spranger Signed-off-by: Greg Kroah-Hartman commit 2dc034a85d4164b90fa883a1226afb971174bcc5 Author: Hans-Jürgen Koch Date: Tue Feb 19 21:07:19 2008 +0100 UIO: arch/arm/Kconfig: Make UIO available on ARM architecture Source drivers/uio/Kconfig to make UIO available in menuconfig if ARCH=arm. Signed-off-by: Hans J Koch Signed-off-by: Greg Kroah-Hartman commit 0732460b3ad484c037dad8961bc4300610dd7613 Author: Denis Cheng Date: Sat Feb 2 17:51:36 2008 +0800 uio: mark pci_device_id hilscher_pci_ids[] __devinitdata Signed-off-by: Denis Cheng Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit ae210f188614bb3d1ee3f19c64e28e3cdd44877c Author: Denis Cheng Date: Sat Feb 2 17:51:35 2008 +0800 uio: Kconfig improvements Signed-off-by: Denis Cheng Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit c1ebdae514a356c71c09035f5141d94aab5e8fe4 Author: Greg Kroah-Hartman Date: Tue Feb 26 09:36:38 2008 -0800 kobject: catch kobjects that are not initialized Add warnings to kobject_put() to catch kobjects that are cleaned up but were never initialized to begin with. Cc: Kay Sievers Cc: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman commit 43837b1e6c5aef803d57009a68db18df13e64892 Author: Bernard Pidoux Date: Sat Apr 19 18:41:51 2008 -0700 rose: Socket lock was not released before returning to user space ================================================ [ BUG: lock held when returning to user space! ] ------------------------------------------------ xfbbd/3683 is leaving the kernel with locks still held! 1 lock held by xfbbd/3683: #0: (sk_lock-AF_ROSE){--..}, at: [] rose_connect+0x73/0x420 [rose] INFO: task xfbbd:3683 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. xfbbd D 00000246 0 3683 3669 c6965ee0 00000092 c02c5c40 00000246 c0f6b5f0 c0f6b5c0 c0f6b5f0 c0f6b5c0 c0f6b614 c6965f18 c024b74b ffffffff c06ba070 00000000 00000000 00000001 c6ab07c0 c012d450 c0f6b634 c0f6b634 c7b5bf10 c0d6004c c7b5bf10 c6965f40 Call Trace: [] lock_sock_nested+0x6b/0xd0 [] ? autoremove_wake_function+0x0/0x40 [] sock_fasync+0x41/0x150 [] sock_close+0x19/0x40 [] __fput+0xb4/0x170 [] fput+0x18/0x20 [] filp_close+0x3e/0x70 [] sys_close+0x69/0xb0 [] sysenter_past_esp+0x5f/0xa5 ======================= INFO: lockdep is turned off. Signed-off-by: Bernard Pidoux Signed-off-by: David S. Miller commit d129f188abf14bbc13816667e4c0d465aac2c934 Author: Pavel Machek Date: Sat Apr 19 18:17:26 2008 -0700 hci_usb: remove code obfuscation _urb_free is an alias for kfree... making code longer & harder to read. Remove it. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b132fba18bb5e30ed13ce3c623c18eb1e5795534 Author: Julia Lawall Date: Sat Apr 19 18:15:41 2008 -0700 drivers/net/appletalk: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 420635f517cf1bb8929caf80ce5a30e827b9df42 Author: Julia Lawall Date: Sat Apr 19 18:14:50 2008 -0700 drivers/atm: use time_before, time_before_eq, etc The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a8827113abb5bd1506d9be78115950d213d9a071 Author: Pavel Machek Date: Sat Apr 19 18:13:40 2008 -0700 hci_usb: do not initialize static variables to 0 hci_usb: do not initialize static variables to 0. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 41588ba1ae166eaba0a70abf2d7ff064ad9331d3 Author: Matt Carlson Date: Sat Apr 19 18:12:33 2008 -0700 tg3: 5701 DMA corruption fix Herbert Xu's commit fb93134dfc2a6e6fbedc7c270a31da03fce88db9, entitled "[TCP]: Fix size calculation in sk_stream_alloc_pskb", has triggered a bug in the 5701 where the 5701 DMA engine will corrupt outgoing packets. This problem only happens when the starting address of the packet matches a certain range of offsets and only when the 5701 is placed downstream of a particular Intel bridge. This patch detects the problematic bridge and if present, readjusts the starting address of the packet data to a dword aligned boundary. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 36ef408061da9e012375547d69b27cc1f537b044 Author: Mark Asselstine Date: Sat Apr 19 18:10:46 2008 -0700 atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() Code within NS_DEBUG_SPINLOCKS contained deprecated cli()/sti() function calls. NS_DEBUG_SPINLOCKS and the associated code seems to be of little use these days so the strategy of removing this code rather then updating it to use spinlocks has been taken. Signed-off-by: Mark Asselstine Reviewed-by: Matthew Wilcox Signed-off-by: David S. Miller commit 344234de54891ed15bf8127e4640ff9238076d6c Author: David S. Miller Date: Sat Apr 19 18:09:39 2008 -0700 iwlwifi: Fix unconditional access to station->tidp[].agg. Reportred by Ingo Molnar: drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function 'iwl_dbgfs_stations_read': drivers/net/wireless/iwlwifi/iwl-debugfs.c:256: error: 'struct iwl4965_tid_data' has no member named 'agg' Needs CONFIG_IWL4965_HT protection. Signed-off-by: David S. Miller commit e1f9a464026011b3f7d0f7b6dfab3e562e870a46 Author: Patrick McHardy Date: Sat Apr 19 17:53:52 2008 -0700 netfilter: Fix SIP conntrack build with NAT disabled. Reported by Ingo Molnar. The SIP helper is also useful without NAT. This patch adds an ifdef around the RTP call optimization for NATed clients. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e9d8a70e4a48e146a0eaaa5a666f0a4889d873d Author: Patrick McHardy Date: Sat Apr 19 17:52:51 2008 -0700 netfilter: Fix SCTP nat build. We need to select LIBCRC32C. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed3fa7c9510cde67d232299cab8052ff50a08285 Author: Peter Ma Date: Sat Apr 19 00:24:25 2008 -0700 avr32: Add hardware power-down function call This patch adds in the indirect call to pm_power_off(), as is done in other architectures (e.g. ARM). Tested on NGW100, with custom board with GPIO control over main DC power. Signed-off-by: Peter Ma Signed-off-by: Haavard Skinnemoen commit 29a0c39386a4c33af21f1d92ebce277a7535ec7e Author: Adrian Bunk Date: Mon Apr 14 21:42:20 2008 +0300 avr32: add include/asm-avr32/serial.h On Mon, Apr 14, 2008 at 03:36:24PM +0100, Alan Cox wrote: > On Mon, 14 Apr 2008 17:17:21 +0300 > Adrian Bunk wrote: > > > This patch fixes the following build error: > > > > <-- snip --> > > > > ... > > CC [M] drivers/serial/8250.o > > /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/serial/8250.c:95:24: error: asm/serial.h: No such file or directory > > make[3]: *** [drivers/serial/8250.o] Error 1 > > > > <-- snip --> > > > > Signed-off-by: Adrian Bunk > > > > --- > > 3cb4ef80d75e118ccfd44f7006aea3db54afb31c diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig > > index b1bbaa0..b0e216d 100644 > > --- a/drivers/serial/Kconfig > > +++ b/drivers/serial/Kconfig > > @@ -11,7 +11,7 @@ menu "Serial drivers" > > # The new 8250/16550 serial drivers > > config SERIAL_8250 > > tristate "8250/16550 and compatible serial support" > > - depends on (BROKEN || !SPARC) > > + depends on (BROKEN || !SPARC) && !AVR32 > > select SERIAL_CORE > > ---help--- > > NAK. > > Add an asm/serial.h to the platform as it has PCI so will have 8250 PCI > devices available to it. A copy of the MIPS one should be right. Patch below. > Alan cu Adrian <-- snip --> This patch fixes the following build error with CONFIG_SERIAL_8250: <-- snip --> ... CC [M] drivers/serial/8250.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/serial/8250.c:95:24: error: asm/serial.h: No such file or directory make[3]: *** [drivers/serial/8250.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Haavard Skinnemoen commit cf2d3ff994f19151fb9200c94c24daaed82700a2 Author: Adrian Bunk Date: Mon Apr 14 17:16:53 2008 +0300 avr32: don't offer PARPORT_PC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/parport/parport_pc.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c:67:25: error: asm/parport.h: No such file or directory /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c: In function 'parport_pc_find_ports': /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/parport/parport_pc.c:3215: error: implicit declaration of function 'parport_pc_find_nonpci_ports' make[3]: *** [drivers/parport/parport_pc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit cc65d90fcffe82f516ce5c9e1b8423841868d035 Author: Adrian Bunk Date: Mon Apr 14 17:16:44 2008 +0300 avr32: don't offer CONFIG_GEN_RTC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/char/genrtc.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/genrtc.c:58:21: error: asm/rtc.h: No such file or directory ... make[3]: *** [drivers/char/genrtc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 17015aafd6d356d5d780a6f2c286a9ff137eb211 Author: Adrian Bunk Date: Mon Apr 14 17:16:40 2008 +0300 avr32: don't offer CONFIG_RTC This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/char/rtc.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/char/rtc.c:70: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/mc146818rtc.h:16:59: error: asm/mc146818rtc.h: No such file or directory ... make[3]: *** [drivers/char/rtc.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 5e840eca468135cd9a392da5004e5016a3006d43 Author: Adrian Bunk Date: Mon Apr 14 17:16:32 2008 +0300 add include/asm-avr32/xor.h This patch fixes the following compile error with CONFIG_MD_RAID456 on avr32: <-- snip --> ... CC [M] crypto/xor.o /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:23:21: error: asm/xor.h: No such file or directory /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c: In function 'calibrate_xor_blocks': /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: 'XOR_TRY_TEMPLATES' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/git/linux-2.6/crypto/xor.c:131: error: for each function it appears in.) make[2]: *** [crypto/xor.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit e6bef83af76dc373a27b3e9b617f65daa7dff2f4 Author: Johannes Weiner Date: Thu Apr 10 06:40:54 2008 +0200 avr32: Remove two unused #defines from mm/init.c Signed-off-by: Johannes Weiner Signed-off-by: Haavard Skinnemoen commit 35bf50ccc80584a1404982f02fc4368e991ff55c Author: Hans-Christian Egtvedt Date: Wed Dec 19 09:29:19 2007 +0100 avr32: Implement set_rate(), set_parent() and mode() for pll1 This patch is a take two of adding full functionality to PLL1 on AT32AP7000. This allows board-specific code and drivers to configure and enable PLL1. This is useful when precise control over the frequency of e.g. a genclock is needed and requested by users for the ABDAC device. The patch is based upon previous patches from both Haavard Skinnemoen and David Brownell. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e723ff666a5da8f7fda4e36ebfeafac2175a5c6e Author: David Brownell Date: Thu Feb 14 11:24:02 2008 -0800 avr32: Generic clockevents support This combines three patches from David Brownell: * avr32: tclib support * avr32: simplify clocksources * avr32: Turn count/compare into a oneshot clockevent device Register both TC blocks (instead of just the first one) so that the AT32/AT91 tclib code will pick them up (instead of just the avr32-only PIT-style clocksource). Rename the first one and its resources appropriately. More cleanups to the cycle counter clocksource code - Disable all the weak symbol magic; remove the AVR32-only TCB-based clocksource code (source and header). - Mark the __init code properly. - Don't forget to report IRQF_TIMER. - Make the system work properly with this clocksource, by preventing use of the CPU "idle" sleep state in the idle loop when it's used. Package the avr32 count/compare timekeeping support as a oneshot clockevent device, so it supports NO_HZ and high res timers. This means it also supports plugging in other clockevent devices and clocksources. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7e59128f31e0c57d52e86d57730d4c9281494dda Author: Haavard Skinnemoen Date: Sun Feb 24 23:24:26 2008 +0100 avr32: Move sleep code into mach-at32ap Create a new file, pm-at32ap700x.S, in mach-at32ap and move the CPU idle sleep code there. Make it possible to disable the sleep code. Signed-off-by: Haavard Skinnemoen commit 02f99d1ca70d190ce12d040971819be22ea710c8 Author: Haavard Skinnemoen Date: Sun Feb 24 23:19:22 2008 +0100 avr32: Use constants from sysreg.h in asm.h Signed-off-by: Haavard Skinnemoen commit 46acb55b4b745256a33b2eaeb6d21fffdb091745 Author: Haavard Skinnemoen Date: Sun Feb 24 14:09:25 2008 +0100 avr32: Delete mostly unused header asm/intc.h Move the only thing that was actually implemented and used in asm/intc.h, intc_get_pending(), into asm/irq.h and delete asm/intc.h Signed-off-by: Haavard Skinnemoen commit 62c6df62f9575cffd673bfc395270e6896a12a60 Author: David Brownell Date: Tue Feb 12 14:45:49 2008 -0800 avr32: start clocksource cleanup Start cleaning up the AVR32 clocksource mess, starting with the cycle counter clocksource: remove unneeded pseudo-RTC (just inline that call to mktime) and associated build warning, and unused sysdev. Add comment about the problem using the cycle counter register, and adjust the clocksource rating accordingly. Later patches can make this usable again (by disabling use of the idle state and providing a proper clocksource without the weak binding hacks) and move towards TCB-based clockevent support (including high resolution timers) that's shared between AT91 and AVR32. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 040b28fc0a69281a46adcebd6b31dd74da4a8d49 Author: Ben Nizette Date: Thu Feb 7 15:28:57 2008 +1100 avr32: pass i2c board info through at32_add_device_twi New-style I2C drivers require that motherboard-mounted I2C devices are registered with the I2C core, typically at arch_initcall time. This can be done nice and neat by passing the struct i2c_board_info[] through at32_add_device_twi just like we do for the SPI board info. While we've got the hood up, remove a duplicate declaration of at32_add_device_twi() in board.h. [hskinnemoen@atmel.com: add missing i2c_board_info forward-declaration] Signed-Off-By: Ben Nizette Signed-off-by: Haavard Skinnemoen commit e573ebb0326f2f4a29ee2bd143bfc88ab0332926 Author: Cyrill Gorcunov Date: Sun Feb 3 14:22:18 2008 +0300 avr32: cleanup - use _AC macro to define PAGE_SIZE PAGE_SIZE is used both from assembly and C code. We want to have type specifiers when using it from C, but this will make the assembler confused, so we need to make it conditional. This is exactly what the _AC macro is for, so using it allows us to get rid of a few lines of cpp noise. Signed-off-by: Cyrill Gorcunov Signed-off-by: Haavard Skinnemoen commit 3a4e832cccc5baba98ba010e38c58266954228a7 Author: Hans-Christian Egtvedt Date: Tue Dec 4 13:15:41 2007 +0100 Generate raw keyboard codes for AVR32 architecture This patchs adds the AVR32 architecture to the list of archs to generate a table of raw keyboard keycodes. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit e1c25dc638db01600069b3f9167d1b35f8d574b5 Merge: 03414e5... 16a45bc... Author: Haavard Skinnemoen Date: Sat Apr 19 20:38:41 2008 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/usba-2.6.26 into base commit 03414e57ad9875d0c8bfa5a4a65813cb2157372e Merge: 3925e6f... 3ee08ae... Author: Haavard Skinnemoen Date: Sat Apr 19 20:38:13 2008 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/tclib into base commit a3dab293539031b0970585b9b355cebbc91ecbd4 Author: Adrian Bunk Date: Mon Apr 14 21:41:32 2008 +0300 make nfs_automount_list static nfs_automount_list can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Trond Myklebust commit daa7da5fd3040e08e3d7878cd0667c1f4cfd338a Author: Jeff Layton Date: Fri Apr 11 11:50:58 2008 -0400 NFS: remove duplicate flags assignment from nfs_validate_mount_data Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 63649bd7080a6a50fabcb1935f4b7c4e64155066 Author: Cyrill Gorcunov Date: Thu Apr 17 20:42:09 2008 +0400 NFS - fix potential NULL pointer dereference v2 There is possible NULL pointer dereference if kstr[n]dup failed. So fix them for safety. Signed-off-by: Cyrill Gorcunov Signed-off-by: Trond Myklebust commit cd019f7517206a74d8cdb64d5c82b1f76be608cc Author: Trond Myklebust Date: Thu Apr 17 17:03:58 2008 -0400 SUNRPC: Don't change the RPCSEC_GSS context on a credential that is in use When a server rejects our credential with an AUTH_REJECTEDCRED or similar, we need to refresh the credential and then retry the request. However, we do want to allow any requests that are in flight to finish executing, so that we can at least attempt to process the replies that depend on this instance of the credential. The solution is to ensure that gss_refresh() looks up an entirely new RPCSEC_GSS credential instead of attempting to create a context for the existing invalid credential. Signed-off-by: Trond Myklebust commit 7b6962b0a6000df48c8a5fd967d262f77704101b Author: Trond Myklebust Date: Thu Apr 17 16:53:01 2008 -0400 SUNRPC: Fix a race in gss_refresh_upcall() If the downcall completes before we get the spin_lock then we currently fail to refresh the credential. Signed-off-by: Trond Myklebust commit 7c1d71cf56feebfb5b98219b9d11dfc3a2feca62 Author: Trond Myklebust Date: Thu Apr 17 16:52:57 2008 -0400 SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests NFSv4 requires us to ensure that we break the TCP connection before we're allowed to retransmit a request. However in the case where we're retransmitting several requests that have been sent on the same connection, we need to ensure that we don't interfere with the attempt to reconnect and/or break the connection again once it has been established. We therefore introduce a 'connection' cookie that is bumped every time a connection is broken. This allows requests to track if they need to force a disconnection. Signed-off-by: Trond Myklebust commit 636ac43318ce6939c1698fb67e714d421314ed71 Author: Trond Myklebust Date: Thu Apr 17 14:00:47 2008 -0400 SUNRPC: Remove the unused export of xprt_force_disconnect Signed-off-by: Trond Myklebust commit 06b4b681ababc20596aa947595714710f557131d Author: Trond Myklebust Date: Wed Apr 16 16:51:38 2008 -0400 SUNRPC: remove XS_SENDMSG_RETRY The condition for exiting from the loop in xs_tcp_send_request() should be that we find we're not making progress (i.e. number of bytes sent is 0). Signed-off-by: Trond Myklebust commit d2b831416365e8b1f27809b62d5e4260883956cc Author: Trond Myklebust Date: Mon Apr 14 18:13:37 2008 -0400 SUNRPC: Protect creds against early garbage collection Signed-off-by: Trond Myklebust commit a2b2bb8822c78806930bbb4d4c5bb3ae69648fd0 Author: Trond Myklebust Date: Tue Apr 8 16:02:17 2008 -0400 NFSv4: Attempt to use machine credentials in SETCLIENTID calls Signed-off-by: Trond Myklebust commit 7c67db3a8a98045744f06fcd6d8f476d9df0ba5c Author: Trond Myklebust Date: Mon Apr 7 20:50:11 2008 -0400 NFSv4: Reintroduce machine creds We need to try to ensure that we always use the same credentials whenever we re-establish the clientid on the server. If not, the server won't recognise that we're the same client, and so may not allow us to recover state. Signed-off-by: Trond Myklebust commit 78ea323be6380a9313e87fe241809e912e8ae401 Author: Trond Myklebust Date: Mon Apr 7 20:49:28 2008 -0400 NFSv4: Don't use cred->cr_ops->cr_name in nfs4_proc_setclientid() With the recent change to generic creds, we can no longer use cred->cr_ops->cr_name to distinguish between RPCSEC_GSS principals and AUTH_SYS/AUTH_NULL identities. Replace it with the rpc_authops->au_name instead... Signed-off-by: Trond Myklebust commit 441092415770ddec648800701895913c4bfd60c1 Author: Fred Isaman Date: Wed Apr 2 15:21:15 2008 +0300 nfs: fix printout of multiword bitfields Benny points out that zero-padding of multiword bitfields is necessary, and that delimiting each word is nice to avoid endianess confusion. bhalevy: without zero padding output can be ambiguous. Also, since the printed array of two 32-bit unsigned integers is not a 64-bit number, delimiting the output with a semicolon makes more sense. Signed-off-by: Fred Isaman Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 856dff3d3875bdc8b88e4a65779873af76776a69 Author: Benny Halevy Date: Mon Mar 31 17:39:06 2008 +0300 nfs: return negative error value from nfs{,4}_stat_to_errno All use sites for nfs{,4}_stat_to_errno negate their return value. It's more efficient to return a negative error from the stat_to_errno convertors rather than negating its return value everywhere. This also produces slightly smaller code. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit d11d10cc05c94a32632d6928d15a1034200dd9a5 Author: Trond Myklebust Date: Wed Apr 2 14:44:05 2008 -0400 NLM/lockd: Ensure client locking calls use correct credentials Now that we've added the 'generic' credentials (that are independent of the rpc_client) to the nfs_open_context, we can use those in the NLM client to ensure that the lock/unlock requests are authenticated to whoever originally opened the file. Signed-off-by: Trond Myklebust commit c4d7c402b788b73dc24f1e54a57f89d3dc5eb7bc Author: Trond Myklebust Date: Tue Apr 1 20:26:52 2008 -0400 NFS: Remove the buggy lock-if-signalled case from do_setlk() Both NLM and NFSv4 should be able to clean up adequately in the case where the user interrupts the RPC call... Signed-off-by: Trond Myklebust commit 5f50c0c6d644d6c8180d9079c13c5d9de3adeb34 Author: Trond Myklebust Date: Tue Apr 1 20:26:22 2008 -0400 NLM/lockd: Fix a race when cancelling a blocking lock We shouldn't remove the lock from the list of blocked locks until the CANCEL call has completed since we may be racing with a GRANTED callback. Also ensure that we send an UNLOCK if the CANCEL request failed. Normally that should only happen if the process gets hit with a fatal signal. Signed-off-by: Trond Myklebust commit 6b4b3a752b3464f2fd9fe2837fb19270c23c1d6b Author: Trond Myklebust Date: Wed Apr 2 14:40:53 2008 -0400 NLM/lockd: Ensure that nlmclnt_cancel() returns results of the CANCEL call Currently, it returns success as long as the RPC call was sent. We'd like to know if the CANCEL operation succeeded on the server. Signed-off-by: Trond Myklebust commit 8ec7ff74448f65ac963e330795d771ab14ec8408 Author: Trond Myklebust Date: Fri Mar 28 16:04:51 2008 -0400 NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel The signal masks have been rendered obsolete by the preceding patch. Signed-off-by: Trond Myklebust commit dc9d8d048168ff61c458bec06b28996cb90b182a Author: Trond Myklebust Date: Fri Mar 28 16:04:36 2008 -0400 NLM/lockd: convert __nlm_async_call to use rpc_run_task() Peter Staubach comments: > In the course of investigating testing failures in the locking phase of > the Connectathon testsuite, I discovered a couple of things. One was > that one of the tests in the locking tests was racy when it didn't seem > to need to be and two, that the NFS client asynchronously releases locks > when a process is exiting. ... > The Single UNIX Specification Version 3 specifies that: "All locks > associated with a file for a given process shall be removed when a file > descriptor for that file is closed by that process or the process holding > that file descriptor terminates.". > > This does not specify whether those locks must be released prior to the > completion of the exit processing for the process or not. However, > general assumptions seem to be that those locks will be released. This > leads to more deterministic behavior under normal circumstances. The following patch converts the NFSv2/v3 locking code to use the same mechanism as NFSv4 for sending asynchronous RPC calls and then waiting for them to complete. This ensures that the UNLOCK and CANCEL RPC calls will complete even if the user interrupts the call, yet satisfies the above request for synchronous behaviour on process exit. Signed-off-by: Trond Myklebust commit 5e7f37a76fa5b604949020b7317962262812b2dd Author: Trond Myklebust Date: Tue Apr 1 18:58:49 2008 -0400 NLM/lockd: Add a reference counter to struct nlm_rqst When we replace the existing synchronous RPC calls with asynchronous calls, the reference count will be needed in order to allow us to examine the result of the RPC call. Signed-off-by: Trond Myklebust commit 536ff0f809b0f4d56e1c41e66768d330668e0a55 Author: Trond Myklebust Date: Fri Apr 4 15:08:02 2008 -0400 NFSv4: Ensure we don't corrupt fl->fl_flags in nfs4_proc_unlck Signed-off-by: Trond Myklebust commit 4a9af59fee0701d9db99bc148d87b8852d6d6dd8 Author: Trond Myklebust Date: Tue Apr 1 18:57:06 2008 -0400 NLM/lockd: Ensure we don't corrupt fl->fl_flags in nlmclnt_unlock() Also fix up nlmclnt_lock() so that it doesn't pass modified versions of fl->fl_flags to nlmclnt_cancel() and other helpers. Signed-off-by: Trond Myklebust commit 1e799b673c6b82b336ab13c48b5651d511ca3000 Author: Trond Myklebust Date: Fri Mar 21 16:19:41 2008 -0400 SUNRPC: Fix read ordering problems with req->rq_private_buf.len We want to ensure that req->rq_private_buf.len is updated before req->rq_received, so that call_decode() doesn't use an old value for req->rq_rcv_buf.len. In 'call_decode()' itself, instead of using task->tk_status (which is set using req->rq_received) must use the actual value of req->rq_private_buf.len when deciding whether or not the received RPC reply is too short. Finally ensure that we set req->rq_rcv_buf.len to zero when retrying a request. A typo meant that we were resetting req->rq_private_buf.len in call_decode(), and then clobbering that value with the old rq_rcv_buf.len again in xprt_transmit(). Signed-off-by: Trond Myklebust commit c1d519312dcdf11532fed9f99a8ecc3547ffd9d6 Author: Trond Myklebust Date: Mon Apr 7 13:20:54 2008 -0400 NFSv4: Only increment the sequence id if the server saw it It is quite possible that the OPEN, CLOSE, LOCK, LOCKU,... compounds fail before the actual stateful operation has been executed (for instance in the PUTFH call). There is no way to tell from the overall status result which operations were executed from the COMPOUND. The fix is to move incrementing of the sequence id into the XDR layer, so that we do it as we process the results from the stateful operation. Signed-off-by: Trond Myklebust commit 35d05778e25ee16dbddb60331be0bc1309efba19 Author: Trond Myklebust Date: Sat Apr 5 15:54:17 2008 -0400 NFSv4: Remove bogus call to nfs4_drop_state_owner() in _nfs4_open_expired() There should be no need to invalidate a perfectly good state owner just because of a stale filehandle. Doing so can cause the state recovery code to break, since nfs4_get_renew_cred() and nfs4_get_setclientid_cred() rely on finding active state owners. Signed-off-by: Trond Myklebust commit dbae4c73f08b8a7980cc912954ade3d4c1fb6147 Author: Trond Myklebust Date: Mon Apr 14 14:54:53 2008 -0400 NFS: Ensure that rpc_run_task() errors are propagated back to the caller Signed-off-by: Trond Myklebust commit c9d8f89d9816c1d16ada492aa547a4d692508c0d Author: Trond Myklebust Date: Tue Apr 15 16:56:39 2008 -0400 NFS: Ensure that the write code cleans up properly when rpc_run_task() fails Signed-off-by: Trond Myklebust commit fdd1e74c89fe39259a29c494209abad63ff76f82 Author: Trond Myklebust Date: Tue Apr 15 16:33:58 2008 -0400 NFS: Ensure that the read code cleans up properly when rpc_run_task() fails In the case of readpage() we need to ensure that the pages get unlocked, and that the error is flagged. In the case of O_DIRECT, we need to ensure that the pages are all released. Signed-off-by: Trond Myklebust commit 73e3302f60c0e11a0db0b34b903f591139c4f937 Author: Trond Myklebust Date: Fri Apr 11 16:03:54 2008 -0400 NFS: Fix nfs_wb_page() to always exit with an error or a clean page It is possible for nfs_wb_page() to sometimes exit with 0 return value, yet the page is left in a dirty state. For instance in the case where the server rebooted, and the COMMIT request failed, then all the previously "clean" pages which were cached by the server, but were not guaranteed to have been writted out to disk, have to be redirtied and resent to the server. The fix is to have nfs_wb_page_priority() check that the page is clean before it exits... This fixes a condition that triggers the BUG_ON(PagePrivate(page)) in nfs_create_request() when we're in the nfs_readpage() path. Also eliminate a redundant BUG_ON(!PageLocked(page)) while we're at it. It turns out that clear_page_dirty_for_io() has the exact same test. Signed-off-by: Trond Myklebust commit 080a1f148df0615f7a610e4776dd8f3fb706f54f Author: Trond Myklebust Date: Sat Apr 19 14:22:31 2008 -0400 SUNRPC: Don't attempt to destroy expired RPCSEC_GSS credentials.. ..and always destroy using a 'soft' RPC call. Destroying GSS credentials isn't mandatory; the server can always cope with a few credentials not getting destroyed in a timely fashion. This actually fixes a hang situation. Basically, some servers will decide that the client is crazy if it tries to destroy an RPC context for which they have sent an RPCSEC_GSS_CREDPROBLEM, and so will refuse to talk to it for a while. The regression therefor probably was introduced by commit 0df7fb74fbb709591301871a38aac7735a1d6583. Signed-off-by: Trond Myklebust commit b6ddf64ffe9d59577a9176856bb6fe69a539f573 Author: Trond Myklebust Date: Thu Apr 17 18:52:19 2008 -0400 SUNRPC: Fix up xprt_write_space() The rest of the networking layer uses SOCK_ASYNC_NOSPACE to signal whether or not we have someone waiting for buffer memory. Convert the SUNRPC layer to use the same idiom. Remove the unlikely()s in xs_udp_write_space and xs_tcp_write_space. In fact, the most common case will be that there is nobody waiting for buffer space. SOCK_NOSPACE is there to tell the TCP layer whether or not the cwnd was limited by the application window. Ensure that we follow the same idiom as the rest of the networking layer here too. Finally, ensure that we clear SOCK_ASYNC_NOSPACE once we wake up, so that write_space() doesn't keep waking things up on xprt->pending. Signed-off-by: Trond Myklebust commit 24b74bf0c9e08cbda74d3c64af69ad402ed54e04 Author: Trond Myklebust Date: Sat Apr 19 13:15:47 2008 -0400 SUNRPC: Fix a bug in call_decode() call_verify() can, under certain circumstances, free the RPC slot. In that case, our cached pointer 'req = task->tk_rqstp' is invalid. Bug was introduced in commit 220bcc2afd7011b3e0569fc178331fa983c92c1b (SUNRPC: Don't call xprt_release in call refresh). Signed-off-by: Trond Myklebust commit 4bc1dca4b0eb4dfbf100895bfc1256f21e3c901a Author: Artem Bityutskiy Date: Sat Apr 19 20:44:31 2008 +0300 UBI: fix mean EC calculation (a + b) / (c + d) != a / c + b / d. The old code errornously assumed this incorrect formuld. Instead, just sum all erase counters in a 64-bit variable and divide to the number of EBs at the end. Thanks to Adrian Hunter for pointing this out. Signed-off-by: Artem Bityutskiy commit d2f5e80862d33a7746a40569840248a592dbc395 Author: Matthew Wilcox Date: Sat Apr 19 13:49:34 2008 -0400 Deprecate the asm/semaphore.h files in feature-removal-schedule. Signed-off-by: Matthew Wilcox commit 486fdae21458bd9f4e125099bb3c38a4064e450e Author: Ingo Molnar Date: Sat Apr 19 12:11:10 2008 +0200 sched: build fix Signed-off-by: Ingo Molnar commit b9b158fe1ca2c166ff918de30cb098eafcae487a Author: Viktor Radnai Date: Sat Apr 19 19:45:01 2008 +0200 sched: better rt-group documentation Viktor was nice enough to enhance the document based on my replies to his questions on the subject. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c24b7c524421f9ea9d9ebab55f80cfb1f3fb77a3 Author: Ingo Molnar Date: Fri Apr 18 10:55:34 2008 +0200 sched: features fix Signed-off-by: Ingo Molnar commit f00b45c145981b43c7e7f66315ac77534c938cbf Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: /debug/sched_features provide a text based interface to the scheduler features; this saves the 'user' from setting bits using decimal arithmetic. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 06379aba522ebdabca37446ea988a23c43c03c67 Author: Ingo Molnar Date: Sat Apr 19 09:25:58 2008 +0200 sched: add SCHED_FEAT_DEADLINE unused at the moment. Signed-off-by: Ingo Molnar commit 7ba2e74ab5a0518bc953042952dd165724bc70c9 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: debug: show a weight tree Print a tree of weights. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f1bc385cfbab474db6c27b5af1e439614f3025c Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair: weight calculations In order to level the hierarchy, we need to calculate load based on the root view. That is, each task's load is in the same unit. A / \ B 1 / \ 2 3 To compute 1's load we do: weight(1) -------------- rq_weight(A) To compute 2's load we do: weight(2) weight(B) ------------ * ----------- rq_weight(B) rw_weight(A) This yields load fractions in comparable units. The consequence is that it changes virtual time. We used to have: time_{i} vtime_{i} = ------------ weight_{i} vtime = \Sum vtime_{i} = time / rq_weight. But with the new way of load calculation we get that vtime equals time. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4a55bd5e97b1775913f88f11108a4f144f590e89 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group: de-couple load-balancing from the rb-trees De-couple load-balancing from the rb-trees, so that I can change their organization. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ac884dec6d4a7df252150af875cffddf8f1d9c15 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group scheduling vs latency Currently FAIR_GROUP sched grows the scheduler latency outside of sysctl_sched_latency, invert this so it stays within. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 58d6c2d72f8628f39e8689fbde8aa177fcf00a37 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: rt-group: optimize dequeue_rt_stack Now that the group hierarchy can have an arbitrary depth the O(n^2) nature of RT task dequeues will really hurt. Optimize this by providing space to store the tree path, so we can walk it the other way. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d19ca30874f2ad343d054e0b5c0576744afeecd4 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: debug: add some debug code to handle the full hierarchy Add some extra debug output so we can get a better overview of the full hierarchy. We print the cgroup path after each cfs_rq, so we can see what group we're looking at. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fair-group: SMP-nice for group scheduling Implement SMP nice support for the full group hierarchy. On each load-balance action, compile a sched_domain wide view of the full task_group tree. We compute the domain wide view when walking down the hierarchy, and readjust the weights when walking back up. After collecting and readjusting the domain wide view, we try to balance the tasks within the task_groups. The current approach is a naively balance each task group until we've moved the targeted amount of load. Inspired by Srivatsa Vaddsgiri's previous code and Abhishek Chandra's H-SMP paper. XXX: there will be some numerical issues due to the limited nature of SCHED_LOAD_SCALE wrt to representing a task_groups influence on the total weight. When the tree is deep enough, or the task weight small enough, we'll run out of bits. Signed-off-by: Peter Zijlstra CC: Abhishek Chandra CC: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 1d3504fcf5606579d60b649d19f44b3871c1ddae Author: Hidetoshi Seto Date: Tue Apr 15 14:04:23 2008 +0900 sched, cpuset: customize sched domains, core [rebased for sched-devel/latest] - Add a new cpuset file, having levels: sched_relax_domain_level - Modify partition_sched_domains() and build_sched_domains() to take attributes parameter passed from cpuset. - Fill newidle_idx for node domains which currently unused but might be required if sched_relax_domain_level become higher. - We can change the default level by boot option 'relax_domain_level='. Signed-off-by: Hidetoshi Seto Signed-off-by: Ingo Molnar commit 4d5f35533fb9b2cd553cec6611195bcbfb7ffd84 Author: Hidetoshi Seto Date: Tue Apr 15 14:03:17 2008 +0900 sched, cpuset: customize sched domains, docs This patch introduces new feature of cpuset - sched domain customization. This version provides a per-cpuset file 'sched_relax_domain_level' that enable us to change the searching range of scheduler, which used to limit how many cpus the scheduler searches at some schedule events, such as wakening task and running out of runqueue. Signed-off-by: Hidetoshi Seto Signed-off-by: Ingo Molnar commit b758149c02638146a835f42097dd1950a6cae638 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: prepatory code movement Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit b40b2e8eb52192a8a22d707ed37925792b7bdfd1 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: rt: multi level group constraints multi level rt constraints Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f473aa5e025bc8e0c5fe9352f65178a54adadec2 Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: task_group hierarchy Add the full parent<->child relation thing into task_groups as well. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eff766a65c60237bfa865160c3129de31fab591b Author: Peter Zijlstra Date: Sat Apr 19 19:45:00 2008 +0200 sched: fix the task_group hierarchy for UID grouping UID grouping doesn't actually have a task_group representing the root of the task_group tree. Add one. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ec7dc8ac73e4a56ed03b673f026f08c0d547f597 Author: Dhaval Giani Date: Sat Apr 19 19:44:59 2008 +0200 sched: allow the group scheduler to have multiple levels This patch makes the group scheduler multi hierarchy aware. [a.p.zijlstra@chello.nl: rt-parts and assorted fixes] Signed-off-by: Dhaval Giani Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 354d60c2ff72d86627dfe2089d186824abf4bb8e Author: Dhaval Giani Date: Sat Apr 19 19:44:59 2008 +0200 sched: mix tasks and groups This patch allows tasks and groups to exist in the same cfs_rq. With this change the CFS group scheduling follows a 1/(M+N) model from a 1/(1+N) fairness model where M tasks and N groups exist at the cfs_rq level. [a.p.zijlstra@chello.nl: rt bits and assorted fixes] Signed-off-by: Dhaval Giani Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2 Author: Ingo Molnar Date: Tue Mar 25 13:51:45 2008 +0100 sched: fix checks Signed-off-by: Ingo Molnar commit 112f53f5d700589de741dca67c77439e96ea94a7 Author: Peter Zijlstra Date: Wed Mar 19 11:43:36 2008 +0100 sched: old sleeper bonus Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2 Author: Mike Travis Date: Wed Mar 26 14:23:49 2008 -0700 sched: add new set_cpus_allowed_ptr function Add a new function that accepts a pointer to the "newly allowed cpus" cpumask argument. int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) The current set_cpus_allowed() function is modified to use the above but this does not result in an ABI change. And with some compiler optimization help, it may not introduce any additional overhead. Additionally, to enforce the read only nature of the new_mask arg, the "const" property is migrated to sub-functions called by set_cpus_allowed. This silences compiler warnings. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit e0982e90cd1ecf59818b137386b7f63debded9cc Author: Mike Travis Date: Wed Mar 26 14:23:48 2008 -0700 init: move setup of nr_cpu_ids to as early as possible Move the setting of nr_cpu_ids from sched_init() to start_kernel() so that it's available as early as possible. Note that an arch has the option of setting it even earlier if need be, but it should not result in a different value than the setup_nr_cpu_ids() function. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 4bdbaad33d0f4d0e9818a38a825f5b75c0296a28 Author: Mike Travis Date: Tue Apr 15 16:35:52 2008 -0700 sched: remove another cpumask_t variable from stack * Remove another cpumask_t variable from stack that was missed in the last kernel_sched_c updates. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9d1fe3236a1d64ab687e16b4cbbaa1383352a2c1 Author: Mike Travis Date: Tue Apr 8 11:43:04 2008 -0700 cpumask: add show cpu map functions * Add cpu_sysdev_class functions to display the following maps with cpulist_scnprintf(). cpu_online_map cpu_present_map cpu_possible_map * Small change to include/linux/sysdev.h to allow the attribute name and label to be different (to avoid collision with the "attr_online" entry for bringing cpus on- and off-line.) Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 39106dcf85285e78f3b290022122c76f851379b8 Author: Mike Travis Date: Tue Apr 8 11:43:03 2008 -0700 cpumask: use new cpus_scnprintf function * Cleaned up references to cpumask_scnprintf() and added new cpulist_scnprintf() interfaces where appropriate. * Fix some small bugs (or code efficiency improvments) for various uses of cpumask_scnprintf. * Clean up some checkpatch errors. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit fb0f330e62d71f7c535251438068199af320cf73 Author: Mike Travis Date: Tue Apr 8 11:43:02 2008 -0700 x86: modify show_shared_cpu_map in intel_cacheinfo * Removed kmalloc (or local array) in show_shared_cpu_map(). * Added show_shared_cpu_list() function. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9f0e8d0400d925c3acd5f4e01dbeb736e4011882 Author: Mike Travis Date: Fri Apr 4 18:11:01 2008 -0700 x86: convert cpumask_of_cpu macro to allocated array * Here is a simple patch to use an allocated array of cpumasks to represent cpumask_of_cpu() instead of constructing one on the stack. It's based on the Kconfig option "HAVE_CPUMASK_OF_CPU_MAP" which is currently only set for x86_64 SMP. Otherwise the the existing cpumask_of_cpu() is used but has been changed to produce an lvalue so a pointer to it can be used. Cc: H. Peter Anvin Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 321a8e9dcb714f3c350ba55e41ed447bf3f05fac Author: Mike Travis Date: Fri Apr 4 18:11:02 2008 -0700 cpumask: add CPU_MASK_ALL_PTR macro * Add a static cpumask_t variable "CPU_MASK_ALL_PTR" to use as a pointer reference to CPU_MASK_ALL. This reduces where possible the instances where CPU_MASK_ALL allocates and fills a large array on the stack. Used only if NR_CPUS > BITS_PER_LONG. * Change init/main.c to use new set_cpus_allowed_ptr(). Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 7c16ec585c558960a508ccf9a08fcb9ed49b3754 Author: Mike Travis Date: Fri Apr 4 18:11:11 2008 -0700 cpumask: reduce stack usage in SD_x_INIT initializers * Remove empty cpumask_t (and all non-zero/non-null) variables in SD_*_INIT macros. Use memset(0) to clear. Also, don't inline the initializer functions to save on stack space in build_sched_domains(). * Merge change to include/linux/topology.h that uses the new node_to_cpumask_ptr function in the nr_cpus_node macro into this patch. Depends on: [mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit c5f59f0833df945eef7ff35f3dc6ba61c5f293dd Author: Mike Travis Date: Fri Apr 4 18:11:10 2008 -0700 nodemask: use new node_to_cpumask_ptr function * Use new node_to_cpumask_ptr. This creates a pointer to the cpumask for a given node. This definition is in mm patch: asm-generic-add-node_to_cpumask_ptr-macro.patch * Use new set_cpus_allowed_ptr function. Depends on: [mm-patch]: asm-generic-add-node_to_cpumask_ptr-macro.patch [sched-devel]: sched: add new set_cpus_allowed_ptr function [x86/latest]: x86: add cpus_scnprintf function Cc: Greg Kroah-Hartman Cc: Greg Banks Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit b53e921ba1cff8453dc9a87a84052fa12d5b30bd Author: Mike Travis Date: Fri Apr 4 18:11:08 2008 -0700 generic: reduce stack pressure in sched_affinity * Modify sched_affinity functions to pass cpumask_t variables by reference instead of by value. * Use new set_cpus_allowed_ptr function. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: Paul Jackson Cc: Cliff Wickman Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f9a86fcbbb1e5542eabf45c9144ac4b6330861a4 Author: Mike Travis Date: Fri Apr 4 18:11:07 2008 -0700 cpuset: modify cpuset_set_cpus_allowed to use cpumask pointer * Modify cpuset_cpus_allowed to return the currently allowed cpuset via a pointer argument instead of as the function return value. * Use new set_cpus_allowed_ptr function. * Cleanup CPU_MASK_ALL and NODE_MASK_ALL uses. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f70316dace2bb99730800d47044acb818c6735f6 Author: Mike Travis Date: Fri Apr 4 18:11:06 2008 -0700 generic: use new set_cpus_allowed_ptr function * Use new set_cpus_allowed_ptr() function added by previous patch, which instead of passing the "newly allowed cpus" cpumask_t arg by value, pass it by pointer: -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) * Modify CPU_MASK_ALL Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit fc0e474840d1fd96f28fbd76d4f36b80e7ad1cc3 Author: Mike Travis Date: Fri Apr 4 18:11:05 2008 -0700 x86: use new set_cpus_allowed_ptr function * Use new set_cpus_allowed_ptr() function added by previous patch, which instead of passing the "newly allowed cpus" cpumask_t arg by value, pass it by pointer: -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask) * Cleanup uses of CPU_MASK_ALL. * Collapse other NR_CPUS changes to arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c Use pointers to cpumask_t arguments whenever possible. Depends on: [sched-devel]: sched: add new set_cpus_allowed_ptr function Cc: Len Brown Cc: Dave Jones Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164 Author: Mike Travis Date: Fri Apr 4 18:11:04 2008 -0700 sched: remove fixed NR_CPUS sized arrays in kernel_sched_c * Change fixed size arrays to per_cpu variables or dynamically allocated arrays in sched_init() and sched_init_smp(). (1) static struct sched_entity *init_sched_entity_p[NR_CPUS]; (1) static struct cfs_rq *init_cfs_rq_p[NR_CPUS]; (1) static struct sched_rt_entity *init_sched_rt_entity_p[NR_CPUS]; (1) static struct rt_rq *init_rt_rq_p[NR_CPUS]; static struct sched_group **sched_group_nodes_bycpu[NR_CPUS]; (1) - these arrays are allocated via alloc_bootmem_low() * Change sched_domain_debug_one() to use cpulist_scnprintf instead of cpumask_scnprintf. This reduces the output buffer required and improves readability when large NR_CPU count machines arrive. * In sched_create_group() we allocate new arrays based on nr_cpu_ids. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit d366f8cbc16882e93538d9a52423c2f50dad7c06 Author: Mike Travis Date: Fri Apr 4 18:11:12 2008 -0700 cpumask: Cleanup more uses of CPU_MASK and NODE_MASK * Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE, NODE_MASK_ALL to reduce stack requirements for large NR_CPUS and MAXNODES counts. * In some cases, the cpumask variable was initialized but then overwritten with another value. This is the case for changes like this: - cpumask_t oldmask = CPU_MASK_ALL; + cpumask_t oldmask; Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit f46bdf2db25dfaff3b611c9711705645cdb03acc Author: Mike Travis Date: Fri Apr 4 18:11:09 2008 -0700 numa: move large array from stack to _initdata section * Move large array "struct bootnode nodes" from stack to _initdata section to reduce amount of stack space required. Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit aa6b54461cc5c0019b9d792adf3176b444c10763 Author: Mike Travis Date: Mon Mar 31 08:41:55 2008 -0700 asm-generic: add node_to_cpumask_ptr macro Create a simple macro to always return a pointer to the node_to_cpumask(node) value. This relies on compiler optimization to remove the extra indirection: #define node_to_cpumask_ptr(v, node) \ cpumask_t _##v = node_to_cpumask(node), *v = &_##v For those systems with a large cpumask size, then a true pointer to the array element can be used: #define node_to_cpumask_ptr(v, node) \ cpumask_t *v = &(node_to_cpumask_map[node]) A node_to_cpumask_ptr_next() macro is provided to access another node_to_cpumask value. The other change is to always include asm-generic/topology.h moving the ifdef CONFIG_NUMA to this same file. Note: there are no references to either of these new macros in this patch, only the definition. Based on 2.6.25-rc5-mm1 # alpha Cc: Richard Henderson # fujitsu Cc: David Howells # ia64 Cc: Tony Luck # powerpc Cc: Paul Mackerras Cc: Anton Blanchard # sparc Cc: David S. Miller Cc: William L. Irwin # x86 Cc: H. Peter Anvin Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit d18d00f5dbcd1a95811617e9812cf0560bd465ee Author: Mike Travis Date: Tue Mar 25 15:06:59 2008 -0700 x86: oprofile: remove NR_CPUS arrays in arch/x86/oprofile/nmi_int.c Change the following arrays sized by NR_CPUS to be PERCPU variables: static struct op_msrs cpu_msrs[NR_CPUS]; static unsigned long saved_lvtpc[NR_CPUS]; Also some minor complaints from checkpatch.pl fixed. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git All changes were transparent except for: static void nmi_shutdown(void) { + struct op_msrs *msrs = &__get_cpu_var(cpu_msrs); nmi_enabled = 0; on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1); unregister_die_notifier(&profile_exceptions_nb); - model->shutdown(cpu_msrs); + model->shutdown(msrs); free_msrs(); } The existing code passed a reference to cpu 0's instance of struct op_msrs to model->shutdown, whilst the other functions are passed a reference to instance of a struct op_msrs. This seemed to be a bug to me even though as long as cpu 0 and are of the same type it would have the same effect...? Cc: Philippe Elie Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 6b6309b4c7f6da467c5d5b7d18fa8cb79730f381 Author: Mike Travis Date: Tue Mar 25 15:06:56 2008 -0700 x86: reduce memory and stack usage in intel_cacheinfo * Change the following static arrays sized by NR_CPUS to per_cpu data variables: _cpuid4_info *cpuid4_info[NR_CPUS]; _index_kobject *index_kobject[NR_CPUS]; kobject * cache_kobject[NR_CPUS]; * Remove the local NR_CPUS array with a kmalloc'd region in show_shared_cpu_map(). Also some minor complaints from checkpatch.pl fixed. Cc: H. Peter Anvin Cc: Andi Kleen Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 30ca60c15a725f655e5d3f14e0238a066bc5aeb7 Author: Mike Travis Date: Tue Mar 25 15:06:55 2008 -0700 cpumask: add cpumask_scnprintf_len function Add a new function cpumask_scnprintf_len() to return the number of characters needed to display "len" cpumask bits. The current method of allocating NR_CPUS bytes is incorrect as what's really needed is 9 characters per 32-bit word of cpumask bits (8 hex digits plus the seperator [','] or the terminating NULL.) This function provides the caller the means to allocate the correct string length. Cc: Paul Jackson Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 9f0e738f492522a2f70ad9a2a0287e4e966c633a Author: Gregory Haskins Date: Tue Feb 12 13:30:05 2008 -0500 sched: fix cpus_allowed settings Signed-off-by: Gregory Haskins Acked-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 0297b80339d545045490716fa8591b215fdd9458 Author: Dhaval Giani Date: Fri Feb 29 10:02:44 2008 +0530 sched: allow cpuacct stats to be reset Currently the schedstats implementation does not allow the statistics to be reset. This patch aims to allow that. echo 0 > cpuacct.usage resets the usage. Any other value is not allowed and returns -EINVAL. Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 32cd756a80aaef657ac09c76e6eff3ba65567790 Author: Dhaval Giani Date: Fri Feb 29 10:02:43 2008 +0530 sched: cleanup cpuacct variable names Change the variable names to the common convention for the cpuacct subsystem. Signed-off-by: Dhaval Giani Acked-by: Balbir Singh Signed-off-by: Ingo Molnar commit 48f20a9a9488c432fc86df1ff4b7f4fa895d1183 Author: Olof Johansson Date: Tue Mar 4 15:23:25 2008 -0800 tasklets: execute tasklets in the same order they were queued I noticed this when looking at an openswan issue. Openswan (ab?)uses the tasklet API to defer processing of packets in some situations, with one packet per tasklet_action(). I started noticing sequences of backwards-ordered sequence numbers coming over the wire, since new tasklets are always queued at the head of the list but processed sequentially. Convert it to instead append new entries to the tail of the list. As an extra bonus, the splicing code in takeover_tasklets() no longer has to iterate over the list. Signed-off-by: Olof Johansson Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit ac086bc22997a2be24fc40fc8d46522fe7e03d11 Author: Peter Zijlstra Date: Sat Apr 19 19:44:58 2008 +0200 sched: rt-group: smp balancing Currently the rt group scheduling does a per cpu runtime limit, however the rt load balancer makes no guarantees about an equal spread of real- time tasks, just that at any one time, the highest priority tasks run. Solve this by making the runtime limit a global property by borrowing excessive runtime from the other cpus once the local limit runs out. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d0b27fa77854b149ad4af08b0fe47fe712a47ade Author: Peter Zijlstra Date: Sat Apr 19 19:44:57 2008 +0200 sched: rt-group: synchonised bandwidth period Various SMP balancing algorithms require that the bandwidth period run in sync. Possible improvements are moving the rt_bandwidth thing into root_domain and keeping a span per rt_bandwidth which marks throttled cpus. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 57d3da2911787a101a384532f4519f9640bae883 Author: Ingo Molnar Date: Wed Feb 27 14:05:10 2008 +0100 time: add ns_to_ktime() Signed-off-by: Ingo Molnar commit 79b3feffb10417f197d2ab48dd4fa3c0c9e7d788 Author: Peter Zijlstra Date: Mon Feb 18 13:39:37 2008 +0100 sched: fix regression with sched yield Balbir Singh reported: > 1:mon> t > [c0000000e7677da0] c000000000067de0 .sys_sched_yield+0x6c/0xbc > [c0000000e7677e30] c000000000008748 syscall_exit+0x0/0x40 > --- Exception: c01 (System Call) at 00000400001d09e4 > SP (4000664cb10) is in userspace > 1:mon> r > cpu 0x1: Vector: 300 (Data Access) at [c0000000e7677aa0] > pc: c000000000068e50: .yield_task_fair+0x94/0xc4 > lr: c000000000067de0: .sys_sched_yield+0x6c/0xbc the check that should have avoided that is: /* * Are we the only task in the tree? */ if (unlikely(rq->load.weight == curr->se.load.weight)) return; But I guess that overlooks rt tasks, they also increase the load. So I guess something like this ought to fix it.. Signed-off-by: Ingo Molnar commit 19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231 Author: Dmitry Adamushko Date: Sun Feb 17 22:34:07 2008 +0100 latencytop: optimize LT_BACKTRACEDEPTH loops a bit There is no need to loop any longer when 'same == 0'. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 50df5d6aea6694ca481b8005900401e8c95c2603 Author: Ingo Molnar Date: Fri Mar 14 16:09:59 2008 +0100 sched: remove sysctl_sched_batch_wakeup_granularity it's unused. Signed-off-by: Ingo Molnar commit 02e2b83bd25bb05ac2e69cb31458b7d1b3c70707 Author: Ingo Molnar Date: Wed Mar 19 01:37:10 2008 +0100 sched: reenable sync wakeups Signed-off-by: Ingo Molnar commit d25ce4cd499a21aab89ff8755f8c4a2800eae25f Author: Ingo Molnar Date: Mon Mar 17 09:36:53 2008 +0100 sched: cache hot buddy Signed-off-by: Ingo Molnar commit 1fc8afa4c820fcde3658238eab5c010476ede521 Author: Ingo Molnar Date: Wed Mar 19 01:39:19 2008 +0100 sched: feat affine wakeups Signed-off-by: Ingo Molnar commit b85d0667268320072ccdeb07c27c25b300ab3724 Author: Ingo Molnar Date: Sun Mar 16 20:03:22 2008 +0100 sched: introduce SCHED_FEAT_SYNC_WAKEUPS, turn it off turn off sync wakeups by default. They are not needed anymore - the buddy logic should be smart enough to keep the system from overscheduling. Signed-off-by: Ingo Molnar commit 0bbd3336eee1e712a290e0dfd1a64cbbdd63a508 Author: Peter Zijlstra Date: Sat Apr 19 19:44:57 2008 +0200 sched: fix wakeup granularity for buddies The wakeup buddy logic didn't use the same wakeup granularity logic as the wakeup preemption did, this might cause the ->next buddy to be selected past the point where we would have preempted had the task been a single running instance. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 15934a37324f32e0fda633dc7984a671ea81cd75 Author: Guillaume Chazarain Date: Sat Apr 19 19:44:57 2008 +0200 sched: fix rq->clock overflows detection with CONFIG_NO_HZ When using CONFIG_NO_HZ, rq->tick_timestamp is not updated every TICK_NSEC. We check that the number of skipped ticks matches the clock jump seen in __update_rq_clock(). Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 30914a58af9d21c5f1831adabb5d7a800a378675 Author: Reynes Philippe Date: Mon Mar 17 16:19:05 2008 -0700 sched: sched.c needs tick.h kernel/sched.c:506: erreur: implicit declaration of function tick_get_tick_sched kernel/sched.c:506: erreur: invalid type argument of -> kernel/sched.c:506: erreur: NOHZ_MODE_INACTIVE undeclared (first use in this function) kernel/sched.c:506: erreur: (Each undeclared identifier is reported only once kernel/sched.c:506: erreur: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 27ec4407790d075c325e1f4da0a19c56953cce23 Author: Ingo Molnar Date: Thu Feb 28 21:00:21 2008 +0100 sched: make cpu_clock() globally synchronous Alexey Zaytsev reported (and bisected) that the introduction of cpu_clock() in printk made the timestamps jump back and forth. Make cpu_clock() more reliable while still keeping it fast when it's called frequently. Signed-off-by: Ingo Molnar commit 018d6db4cb5bbdcd65424a16f2dcca692ed32ae4 Author: Ingo Molnar Date: Mon Apr 14 08:53:32 2008 +0200 sched: re-do "sched: fix fair sleepers" re-apply: | commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23 | Author: Ingo Molnar | Date: Fri Mar 14 22:16:08 2008 +0100 | | sched: fix fair sleepers | | Fair sleepers need to scale their latency target down by runqueue | weight. Otherwise busy systems will gain ever larger sleep bonus. Signed-off-by: Ingo Molnar commit 34d0559178393547505ec9492321255405f4e441 Author: Jack Steiner Date: Wed Apr 16 11:45:15 2008 -0500 x86: UV startup of slave cpus This patch changes smpboot.c so that it can start slave cpus running in UV non-unique apicid mode. The SIPI must be sent using a UV-specific mechanism. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 098cb7f27ed69276e4db560a444b94b982e4bb8f Author: Glauber Costa Date: Wed Apr 9 13:18:10 2008 -0300 x86: integrate pci-dma.c The code in pci-dma_{32,64}.c are now sufficiently close to each other. We merge them in pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb8ada95a7c11adf3dad4e8d5c55ef1650560592 Author: Glauber Costa Date: Wed Apr 9 13:18:09 2008 -0300 x86: don't do dma if mask is NULL. if the device hasn't provided a mask, abort allocation. Note that we're using a fallback device now, so it does not cover the case of a NULL device: just drivers passing NULL masks around. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da60cab4dd922cd933e82bace490f6155a32a90e Author: Glauber Costa Date: Wed Apr 9 13:18:08 2008 -0300 x86: return conditional to mmu Just return our allocation if we don't have an mmu. For i386, where this patch is being applied, we never have. So our goal is just to have the code to look like x86_64's. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa99b16faadcc9a5b6bd9550fda117a8e9e46d26 Author: Glauber Costa Date: Wed Apr 9 13:18:07 2008 -0300 x86: remove kludge from x86_64 The claim is that i386 does it. Just it does not. So remove it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f19ca1341a6d89bd96e2e69e6e10f46d3258089 Author: Glauber Costa Date: Wed Apr 9 13:18:06 2008 -0300 x86: unify gfp masks Use the same gfp masks for x86_64 and i386. It involves using HIGHMEM or DMA32 where necessary, for the sake of code compatibility, (no real effect), and using the NORETRY mask for i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fa78ca75d8e67063948a01b51594a0904af5710 Author: Glauber Costa Date: Wed Apr 9 13:18:05 2008 -0300 x86: retry allocation if failed This patch puts in the code to retry allocation in case it fails. By its own, it does not make much sense but making the code look like x86_64. But later patches in this series will make we try to allocate from zones other than DMA first, which will possibly fail. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8779f2fc3b84ebb6c5181fb13d702e9944c16069 Author: Glauber Costa Date: Tue Apr 8 13:21:05 2008 -0300 x86: don't try to allocate from DMA zone at first If we fail, we'll loop into the allocation again, and then allocate in the DMA zone. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45a07e774950ef479f8996c0e2c5550dd6440453 Author: Glauber Costa Date: Tue Apr 8 13:21:04 2008 -0300 x86: use a fallback dev for i386 We can use a fallback dev for cases of a NULL device being passed (mostly ISA) This comes from x86_64 implementation. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d1a079029036881375110f78df47d352e7c28a77 Author: Glauber Costa Date: Tue Apr 8 13:21:02 2008 -0300 x86: use numa allocation function in i386 We can do it here to, in the same way x86_64 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71848d687e2a477cb7c68a854d8fdeaa5dff0ffc Author: Glauber Costa Date: Tue Apr 8 13:21:01 2008 -0300 x86: remove virt_to_bus in pci-dma_64.c virt_to_bus() is deprecated according to the docs, and moreover, won't return the right thing in i386 if we're dealing with high memory mappings. So we make our allocation function return a page, and then use page_address() (for virtual addr) and page_to_phys() (for physical addr) instead. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2e33e361188617628e47b4bc47e87e84feaf556f Author: Glauber Costa Date: Tue Apr 8 13:20:59 2008 -0300 x86: adjust dma_free_coherent for i386 We call unmap_single, if available. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cac67877d268f21da74d879a355247e4e25b5b5f Author: Glauber Costa Date: Tue Apr 8 13:21:00 2008 -0300 x86: move bad_dma_address It goes to pci-dma.c, and is removed from the arch-specific files. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d09d815c1b1d437a3ea89ecd92c91179266d1243 Author: Glauber Costa Date: Tue Apr 8 13:20:58 2008 -0300 x86: isolate coherent mapping functions i386 implements the declare coherent memory API, and x86_64 does not it is reflected in pieces of dma_alloc_coherent and dma_free_coherent. Those pieces are isolated in separate functions, that are declared as empty macros in x86_64. This way we can make the code the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8e8edc6401205da3000cc3dfa76f3fd28a21d73c Author: Glauber Costa Date: Tue Apr 8 13:20:57 2008 -0300 x86: move dma_coherent functions to pci-dma.c They are placed in an ifdef, since they are i386 specific the structure definition goes to dma-mapping.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fae9a0d8ca68a14da8d2351ad3e0bf42f3b29899 Author: Glauber Costa Date: Tue Apr 8 13:20:56 2008 -0300 x86: merge iommu initialization parameters we merge the iommu initialization parameters in pci-dma.c Nice thing, that both architectures at least recognize the same parameters. usedac i386 parameter is marked for deprecation Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8e0c379718ef32967deea55937895bfc9b493dd8 Author: Glauber Costa Date: Tue Apr 8 13:20:55 2008 -0300 x86: merge dma_supported The code for both arches are very similar, so this patch merge them. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bca5c09663030bdd18ab1b3ccb6671f663c3345a Author: Glauber Costa Date: Tue Apr 8 13:20:53 2008 -0300 x86: move pci fixup to pci-dma.c via_no_dac provides a fixup that is the same for both architectures. Move it to pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 116890d556af38d539597655c564a73e6eef3d9e Author: Glauber Costa Date: Tue Apr 8 13:20:54 2008 -0300 x86: move x86_64-specific to common code. This patch moves the bootmem functions, that are largely x86_64-specific into pci-dma.c. The code goes inside an ifdef. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb5867a5d8ca20e16ddc3397c36ee9c2e4cba219 Author: Glauber Costa Date: Tue Apr 8 13:20:51 2008 -0300 x86: move initialization functions to pci-dma.c initcalls that triggers the various possibiities for dma subsys are moved to pci-dma.c. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9c258de3494a5249a61fe110ece2082e5927468 Author: Glauber Costa Date: Tue Apr 8 13:20:52 2008 -0300 x86: unify pci-nommu merge pci-base_32.c and pci-nommu_64.c into pci-nommu.c Their code were made the same, so now they can be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85c246ee16fe00bf7bf9e7ff09a5d17d9a83cf71 Author: Glauber Costa Date: Tue Apr 8 13:20:50 2008 -0300 x86: move definition to pci-dma.c Move dma_ops structure definition to pci-dma.c, where it belongs. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d741bde26dc3444eaeb269051d3f0b623b24de13 Author: Glauber Costa Date: Tue Apr 8 13:20:48 2008 -0300 x86: use dma_length in i386 This is done to get the code closer to x86_64. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b3e5b7273435f8a7f83d3556a09adfd6f247e36 Author: Glauber Costa Date: Tue Apr 8 13:20:49 2008 -0300 x86: use WARN_ON in mapping functions In the very same way i386 do, we use WARN_ON functions in map_simple and map_sg. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30db2cbf38d68f466fd34488f8312a151225c9ac Author: Glauber Costa Date: Tue Apr 8 13:20:47 2008 -0300 x86: use sg_phys in x86_64 To make the code usable in i386, where we have high memory mappings, we drop te virt_to_bus(sg_virt()) construction in favour of sg_phys. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4dcdd6b4fa33efee94e89cccd75e871c570c510 Author: Glauber Costa Date: Tue Apr 8 13:20:46 2008 -0300 x86: Add flush_write_buffers in nommu functions This patch adds flush_write_buffers() in some functions of pci-nommu_64.c They are added anywhere i386 would also have it. This is not a problem for x86_64, since flush_rite_buffers() an nop for it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f9ab46d557c32b9cad49c31d094d659ec3b59c0 Author: Glauber Costa Date: Tue Apr 8 13:20:45 2008 -0300 x86: implement mapping_error in pci-nommu_64.c This patch implements mapping_error for pci-nommu_64.c. It takes care to keep the same compatible behaviour it already had. Although this file is not (yet) used for i386, we introduce the i386 version here. Again, care is taken, even at the expense of an ifdef, to keep the same behaviour inconditionally. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d5df63f48a67400a26eba15624aa883897a4f4d1 Author: Glauber Costa Date: Tue Apr 8 13:20:44 2008 -0300 x86: delete empty functions from pci-nommu_64.c This functions are now called conditionally on their existence in the struct. So just delete them, instead of keeping an empty implementation. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 459121c9ec1e6c5d701f6520f4170719ac008951 Author: Glauber Costa Date: Tue Apr 8 13:20:43 2008 -0300 x86: introduce pci-dma.c This patch introduces pci-dma.c, a common file for pci dma between i386 and x86_64. As a start, dma_set_mask() is the same between architectures, and is placed there. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 19e395afb44746ce7422a9eabcf883d5eec2bb80 Author: Mark McLoughlin Date: Thu Mar 27 11:03:15 2008 +0000 x86: move dma_supported and dma_set_mask to pci-dma_32.c, fix ERROR: "dma_supported" [drivers/ssb/ssb.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/qla2xxx/qla2xxx.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/aic7xxx/aic7xxx.ko] undefined! ERROR: "dma_set_mask" [drivers/scsi/aic7xxx/aic79xx.ko] undefined! ERROR: "dma_supported" [drivers/net/pcnet32.ko] undefined! ERROR: "dma_supported" [drivers/media/video/saa7134/saa7134.ko] undefined! ERROR: "dma_set_mask" [drivers/media/video/meye.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx8802.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx8800.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx88/cx88-alsa.ko] undefined! ERROR: "dma_supported" [drivers/media/video/cx23885/cx23885.ko] undefined! They just need to be exported like on x86_64. dma_supported() and dma_set_mask() were previously inlined, but are now moved to pci-dma_32.c. Since they're used by various drivers, they need to be exported. Signed-off-by: Mark McLoughlin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b7107a3d9da2e122fb7f33dd1482254ff40fdf96 Author: Glauber Costa Date: Tue Mar 25 18:36:39 2008 -0300 x86: delete the arch-specific dma-mapping headers. all the code that is left is ready to be merged as-is in dma-mapping.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ae17a63b096b05007bacafd2f92414b881a0b4b4 Author: Glauber Costa Date: Tue Mar 25 18:36:38 2008 -0300 x86: move ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY to dma-mapping.h define it conditionally to i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c786df08f6df2833e34e78cee5ef62558e3b5346 Author: Glauber Costa Date: Tue Mar 25 18:36:37 2008 -0300 x86: unify dma_mapping_error We provide a map_error function in pci-base_32.c to make sure i386 keeps with the same behaviour it used to. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c18341665917b493fa40eeb3c7ff6c1a5ac47db Author: Glauber Costa Date: Tue Mar 25 18:36:36 2008 -0300 x86: provide a bad_dma_address symbol for i386 It's initially 0, since we don't expect any DMA there. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b48ee7135230ac43b6820d59a784ac0bd51ae552 Author: Glauber Costa Date: Tue Mar 25 18:36:35 2008 -0300 x86: align to clflush size Do it instead of using the conservative approach we're currently doing. This is the way x86_64 does, and this patch makes this piece of code the same between them, ready to be integrated. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 802c1f6648aeb3eea670b4ef8b10014169b65699 Author: Glauber Costa Date: Tue Mar 25 18:36:34 2008 -0300 x86: move dma_supported and dma_set_mask to pci-dma_32.c This is the way x86_64 does, so this make them equal. They have to be extern now in the header, and the extern definition is moved to the common dma-mapping.h header. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3cb6a91711a682adb3aa95da2ed8d47512cc3c41 Author: Glauber Costa Date: Tue Mar 25 18:36:33 2008 -0300 x86: move dma_cache_sync to common header they are the same in both architectures. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2be621498d461b63ca6124f86e3b9582e1a8e722 Author: Ingo Molnar Date: Sat Apr 19 19:19:56 2008 +0200 x86: dma-ops on highmem fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d92fbf231fe23ec07d18820a141c573a7f5017a Author: Glauber Costa Date: Tue Mar 25 18:36:32 2008 -0300 x86: move dma_map_page and dma_unmap_page to common header They are similar enough to do this move. the macro version is ugly, and we use inline functions instead. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8d396ded71a9b378fc3e846095e50565606f2df6 Author: Glauber Costa Date: Tue Mar 25 18:36:31 2008 -0300 x86: move alloc and free coherent to common header they are the same between architectures. (except for the fact that x86_64 has duplicate code) move them to dma-mapping.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7f3a913f91b7bfef3a93dff27930f24bdfcd2c0 Author: Glauber Costa Date: Tue Mar 25 18:36:30 2008 -0300 x86: move dma_sync_sg_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ed435dee9cb470082e4550edbfcbc7e81132e976 Author: Glauber Costa Date: Tue Mar 25 18:36:29 2008 -0300 x86: move dma_sync_sg_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 713623326c816b145105769f174ec237815e53f1 Author: Glauber Costa Date: Tue Mar 25 18:36:28 2008 -0300 x86: move dma_sync_single_range_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 627610fcb70164991ed0d11110a56c43b15b9312 Author: Glauber Costa Date: Tue Mar 25 18:36:27 2008 -0300 x86: move dma_sync_single_range_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9231b269e09ed60910c159cf668f887623b7ac58 Author: Glauber Costa Date: Tue Mar 25 18:36:26 2008 -0300 x86: move dma_sync_single_for_device to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c01dd8cf7d19b869af1668c80a34a955c871f607 Author: Glauber Costa Date: Tue Mar 25 18:36:25 2008 -0300 x86: move dma_sync_single_for_cpu to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72c784f82c378df1903676acd2efc5eeb5cac579 Author: Glauber Costa Date: Tue Mar 25 18:36:24 2008 -0300 x86: move dma_unmap_sg to common header i386 gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16a3ce9bae667178f79a4951fc0ba8b515b5b733 Author: Glauber Costa Date: Tue Mar 25 18:36:23 2008 -0300 x86: move dma_map_sg to common header the old i386 implementation is moved to pci-base_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0cb0ae68323657663e4e8c0c1ce82a5af6621bbb Author: Glauber Costa Date: Tue Mar 25 18:36:22 2008 -0300 x86: move dma_unmap_single to common header i386 base does not need it, so it gets an empty function. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22456b97148be300e25e9cb97244656775972475 Author: Glauber Costa Date: Tue Mar 25 18:36:21 2008 -0300 x86: implement dma_map_single through dma_ops That's already the name of the game for x86_64. For i386, we add a pci-base_32.c, that will hold the default operations. The function call itself goes through dma-mapping.h , the common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6f5366354bf86f8d2c1cf241c9bbf44b2d350e30 Author: Glauber Costa Date: Tue Mar 25 18:36:20 2008 -0300 x86: move dma_ops struct definition to dma-mapping.h take it off the x86_64 specific header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 752bea4abbff5e3ffef36802b860e80d0b632990 Author: Yinghai Lu Date: Fri Mar 7 15:02:50 2008 -0800 x86: reserve dma32 early for gart a system with 256 GB of RAM, when NUMA is disabled crashes the following way: Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Cannot allocate aperture memory hole (ffff8101c0000000,65536K) Kernel panic - not syncing: Not enough memory for aperture Pid: 0, comm: swapper Not tainted 2.6.25-rc4-x86-latest.git #33 Call Trace: [] panic+0xb2/0x190 [] ? release_console_sem+0x7c/0x250 [] ? __alloc_bootmem_nopanic+0x48/0x90 [] ? free_bootmem+0x29/0x50 [] gart_iommu_hole_init+0x5e7/0x680 [] ? alloc_large_system_hash+0x16b/0x310 [] ? _etext+0x0/0x1 [] pci_iommu_alloc+0x1c/0x40 [] mem_init+0x45/0x1a0 [] start_kernel+0x295/0x380 [] _sinittext+0x1c2/0x230 the root cause is : memmap PMD is too big, [ffffe200e0600000-ffffe200e07fffff] PMD ->ffff81383c000000 on node 0 almost near 4G..., and vmemmap_alloc_block will use up the ram under 4G. solution will be: 1. make memmap allocation get memory above 4G... 2. reserve some dma32 range early before we try to set up memmap for all. and release that before pci_iommu_alloc, so gart or swiotlb could get some range under 4g limit for sure. the patch is using method 2. because method1 may need more code to handle SPARSEMEM and SPASEMEM_VMEMMAP will get Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Mapping aperture over 65536 KB of RAM @ 4000000 Memory: 264245736k/268959744k available (8484k kernel code, 4187464k reserved, 4004k data, 724k init) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ec6e0d9f2fd7cb6ca6bc3bfab5ae7b5cdd8c36f Author: Suresh Siddha Date: Tue Mar 25 10:14:35 2008 -0700 srat, x86: add support for nodes spanning other nodes For example, If the physical address layout on a two node system with 8 GB memory is something like: node 0: 0-2GB, 4-6GB node 1: 2-4GB, 6-8GB Current kernels fail to boot/detect this NUMA topology. ACPI SRAT tables can expose such a topology which needs to be supported. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8705a49c35be088a50b8d5fc5e1aa24d6711fd5b Author: Roland McGrath Date: Mon Apr 14 12:19:30 2008 -0700 x86 vDSO: compile with -g, 64-bit The 64-bit vDSO's sources are compiled with -g0 for no good reason. Using -g when enabled lets their separate debug files be used at runtime via build ID matching, same as we can see 32-bit vDSO's assembly sources. Signed-off-by: Roland McGrath Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2adee9b30d1382fba97825b9c50e4f50a0117c36 Author: Suresh Siddha Date: Wed Apr 16 10:25:35 2008 +0200 x86: fpu xstate split fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1679f2710ac58df580d3716fab1f42ae50a226eb Author: Suresh Siddha Date: Wed Apr 16 10:27:53 2008 +0200 x86: fpu xstate split cleanup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa283f49276e7d840a40fb01eee6de97eaa7e012 Author: Suresh Siddha Date: Mon Mar 10 15:28:05 2008 -0700 x86, fpu: lazy allocation of FPU area - v5 Only allocate the FPU area when the application actually uses FPU, i.e., in the first lazy FPU trap. This could save memory for non-fpu using apps. for example: on my system after boot, there are around 300 processes, with only 17 using FPU. Signed-off-by: Suresh Siddha Cc: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 61c4628b538608c1a85211ed8438136adfeb9a95 Author: Suresh Siddha Date: Mon Mar 10 15:28:04 2008 -0700 x86, fpu: split FPU state from task struct - v5 Split the FPU save area from the task struct. This allows easy migration of FPU context, and it's generally cleaner. It also allows the following two optimizations: 1) only allocate when the application actually uses FPU, so in the first lazy FPU trap. This could save memory for non-fpu using apps. Next patch does this lazy allocation. 2) allocate the right size for the actual cpu rather than 512 bytes always. Patches enabling xsave/xrstor support (coming shortly) will take advantage of this. Signed-off-by: Suresh Siddha Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa5c4639419668cbb18ca3d20c1253559a3b43ae Author: Ingo Molnar Date: Wed Apr 16 02:29:42 2008 +0200 x86: rename find_max_pfn() to propagate_e820_map() this function doesnt just 'find' the max_pfn - it also has other side-effects such as registering sparse memory maps. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8bb6f4c1670c8324e4135c61ef07486f7f17379 Author: Thomas Gleixner Date: Tue Apr 1 19:45:18 2008 +0200 x86: tsc prevent time going backwards We already catch most of the TSC problems by sanity checks, but there is a subtle bug which has been in the code forever. This can cause time jumps in the range of hours. This was reported in: http://lkml.org/lkml/2007/8/23/96 and http://lkml.org/lkml/2008/3/31/23 I was able to reproduce the problem with a gettimeofday loop test on a dual core and a quad core machine which both have sychronized TSCs. The TSCs seems not to be perfectly in sync though, but the kernel is not able to detect the slight delta in the sync check. Still there exists an extremly small window where this delta can be observed with a real big time jump. So far I was only able to reproduce this with the vsyscall gettimeofday implementation, but in theory this might be observable with the syscall based version as well. CPU 0 updates the clock source variables under xtime/vyscall lock and CPU1, where the TSC is slighty behind CPU0, is reading the time right after the seqlock was unlocked. The clocksource reference data was updated with the TSC from CPU0 and the value which is read from TSC on CPU1 is less than the reference data. This results in a huge delta value due to the unsigned subtraction of the TSC value and the reference value. This algorithm can not be changed due to the support of wrapping clock sources like pm timer. The huge delta is converted to nanoseconds and added to xtime, which is then observable by the caller. The next gettimeofday call on CPU1 will show the correct time again as now the TSC has advanced above the reference value. To prevent this TSC specific wreckage we need to compare the TSC value against the reference value and return the latter when it is larger than the actual TSC value. I pondered to mark the TSC unstable when the readout is smaller than the reference value, but this would render an otherwise good and fast clocksource unusable without a real good reason. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f1326973262382150c26bf4dfccd0fce310c4a9c Author: Erik Bosman Date: Fri Apr 11 18:57:22 2008 +0200 generic, x86: add tests for prctl PR_GET_TSC and PR_SET_TSC This patch adds three tests that test whether the PR_GET_TSC and PR_SET_TSC commands have the desirable effect. The tests check whether the control register is updated correctly at context switches and try to discover bugs while enabling/disabling the timestamp counter. Signed-off-by: Erik Bosman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 529e25f646e08901a6dad5768f681efffd77225e Author: Erik Bosman Date: Mon Apr 14 00:24:18 2008 +0200 x86: implement prctl PR_GET_TSC and PR_SET_TSC This patch implements the PR_GET_TSC and PR_SET_TSC prctl() commands on the x86 platform (both 32 and 64 bit.) These commands control the ability to read the timestamp counter from userspace (the RDTSC instruction.) While the RDTSC instuction is a useful profiling tool, it is also the source of some non-determinism in ring-3. For deterministic replay applications it is useful to be able to trap and emulate (and record the outcome of) this instruction. This patch uses code earlier used to disable the timestamp counter for the SECCOMP framework. A side-effect of this patch is that the SECCOMP environment will now also disable the timestamp counter on x86_64 due to the addition of the TIF_NOTSC define on this platform. The code which enables/disables the RDTSC instruction during context switches is in the __switch_to_xtra function, which already handles other unusual conditions, so normal performance should not have to suffer from this change. Signed-off-by: Erik Bosman Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8fb402bccf203ecca8f9e0202b8fd3c937dece6f Author: Erik Bosman Date: Fri Apr 11 18:54:17 2008 +0200 generic, x86: add prctl commands PR_GET_TSC and PR_SET_TSC This patch adds prctl commands that make it possible to deny the execution of timestamp counters in userspace. If this is not implemented on a specific architecture, prctl will return -EINVAL. ned-off-by: Erik Bosman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5deb45e39b946901ae028ccd3a1d0b35fa387475 Author: Steven Rostedt Date: Sat Apr 19 19:19:55 2008 +0200 ftrace: add notrace annotations for NMI routines This annotates NMI functions with notrace. Some tracers may be able to live with this, but some cannot. The safest is to turn it off, it's not particularly interesting anyway. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4bd01600b214275a80a69b44393d7e81d43c2faa Author: Pavel Machek Date: Tue Feb 19 11:02:30 2008 +0100 x86: clean up =0 initializations in arch/x86/kernel/tsc_32.c Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f5a1b191b37ac2609e2babeec1b21f411da93e4d Author: Jiri Slaby Date: Sat Apr 12 10:28:25 2008 +0200 x86: fix exec mappings comments - noexec32 is on by default for years already - add noexec32 to kernel-parameters and fix noexec typo in there Signed-off-by: Jiri Slaby Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a9f54cfd21f313b9858f951783512d3f14e58a4 Author: Yinghai Lu Date: Thu Apr 10 15:06:38 2008 -0700 x86: cleanup: change _end to end_before_pgt cleanup: change the _end in compressed vmlinux_64.lds. also change _heap to _ebss that is not needed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c53976404e2f906c60b69cc5793add87ee49c6a Author: Alexander van Heukelum Date: Tue Apr 8 12:54:30 2008 +0200 x86: cleanup boot-heap usage The kernel decompressor wrapper uses memory located beyond the end of the image. This might lead to hard to debug problems, but even if it can be proven to be safe, it is at the very least unclean. I don't see any advantages either, unless you count it not being zeroed out as an advantage. This patch moves the boot-heap area to the bss segment. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c8337ac425b220594fec45ad6d3ac76d3ce2b90 Author: Randy Dunlap Date: Thu Apr 10 15:09:50 2008 -0700 x86: fix arch/x86/mm/ioremap.c warning Fix printk formats in x86/mm/ioremap.c: next-20080410/arch/x86/mm/ioremap.c:137: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t' next-20080410/arch/x86/mm/ioremap.c:188: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t' next-20080410/arch/x86/mm/ioremap.c:188: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a7a34af78923f8807d054a15133a8fcf47e385e Author: Jacek Luczak Date: Thu Apr 10 13:40:57 2008 +0200 x86: e820_64, fix section mismatch warning fix section mismatch warnings which occurs on my x86_64 box while compiling linux-next-20080410: Warning messages: WARNING: arch/x86/kernel/built-in.o(.text+0x7bc2): Section mismatch in reference from the function bad_addr() to the variable .init.data:early_res The function bad_addr() references the variable __initdata early_res. This is often because bad_addr lacks a __initdata annotation or the annotation of early_res is wrong. WARNING: arch/x86/kernel/built-in.o(.text+0x7c3b): Section mismatch in reference from the function bad_addr_size() to the variable .init.data:early_res The function bad_addr_size() references the variable __initdata early_res. This is often because bad_addr_size lacks a __initdata annotation or the annotation of early_res is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 120d5bf128906c790df810e159d2e1239d08fef1 Author: Jacek Luczak Date: Wed Apr 9 22:53:50 2008 +0200 x86: remove vm86.h inclusion from process_32.c I've made a small investigation about vm86.h inclusion rules and it looks like everything is more or less ok. Files that rely on asm/vm86.h symbols are: - kprobes.c - process_32.c - signal_32.c - traps_32.c - vm86_32.c File process_32.c includes vm86.h explicitly. We can remove that include and it won't break anything. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf9b111c170733dde39139e8989b676ec8b81573 Author: WANG Cong Date: Sat Mar 8 18:15:06 2008 +0800 x86: remove pointless comments Remove old comments that include the old arch/i386 directory. Signed-off-by: WANG Cong Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a7d5ac87b220829bb077cdc8e01c4fd4714ae41e Author: Harvey Harrison Date: Tue Mar 4 22:05:27 2008 -0800 x86: pageattr.c fix shadowed variable warning irqs_disabled() uses flags internally, use _flags to avoid shadowing code calling into this macro. Introduced between 2.6.25-rc3 and -rc4 Fixes the sparse warning: arch/x86/mm/pageattr.c:383:21: warning: symbol 'flags' shadows an earlier one arch/x86/mm/pageattr.c:369:16: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8ce116e5993cf64729a4d2b3dc2c0f072852654b Author: Ingo Molnar Date: Tue Feb 26 08:52:16 2008 +0100 x86: clean up cpu capabilities accesses, p4-clockmod.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b8106a0a3d3c1e5b69f091192bc99019ff4d81d Author: Yinghai Lu Date: Tue Mar 18 12:51:22 2008 -0700 x86_64: do not reserve ramdisk two times ramdisk is reserved via reserve_early in x86_64_start_kernel, later early_res_to_bootmem() will convert to reservation in bootmem. so don't need to reserve that again. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a3575fd436aa98957184afd745e4ada8f1542d8 Author: Huang, Ying Date: Mon Feb 25 15:18:37 2008 +0800 x86: EFI_PAGE_SHIFT fix Make x86 EFI code works when EFI_PAGE_SHIFT != PAGE_SHIFT. The memrage_efi_to_native() provided in this patch can be used on other EFI platform such as IA64 too. This patch has been tested on Intel x86_64 platform with EFI 64/32 firmware. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8dfd5ed149ae340451f25847b434297c20d4645 Author: Ingo Molnar Date: Sat Apr 19 19:19:54 2008 +0200 x86: KGDB build fix Signed-off-by: Ingo Molnar commit cf816ecb533ab96b883dfdc0db174598b5b5c4d2 Merge: adf6d34... 15f7d67... Author: Russell King Date: Sat Apr 19 17:17:34 2008 +0100 Merge branch 'merge-fixes' into devel commit adf6d34e460387ee3e8f1e1875d52bff51212c7d Merge: d1964da... 3760d31... Author: Russell King Date: Sat Apr 19 17:17:29 2008 +0100 Merge branch 'omap2-upstream' into devel commit d1964dab60ce7c104dd21590e987a8787db18051 Merge: ba92795... ad48ce7... b685004... c34002c... fdb72fd... c48b2e9... 3a8daaa... 04c366f... 8754925... 58762e7... 3e238be... 140749e... 05944d7... Author: Russell King Date: Sat Apr 19 17:17:25 2008 +0100 Merge branches 'arm', 'at91', 'ep93xx', 'iop', 'ks8695', 'misc', 'mxc', 'ns9x', 'orion', 'pxa', 'sa1100', 's3c' and 'sparsemem' into devel commit 58762e77aec49aa4b43a9ff62e7a3aee17720c41 Author: Guennadi Liakhovetski Date: Sun Apr 6 23:08:15 2008 +0200 [ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver Platform-specific code for Phytec's phyCORE-PXA270 platform Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 3f3acefb63dc70d767f730045ab7ebaa81938d77 Author: Guennadi Liakhovetski Date: Fri Apr 11 22:19:45 2008 +0200 [ARM] pxa: V4L2 soc_camera driver for PXA270 This patch adds a driver for the Quick Capture Interface on the PXA270. It is based on the original driver from Intel, but has been re-worked multiple times since then, now it also supports the V4L2 API. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 0e623941bec7e80c97b076d346327b31ae17d84a Author: Russell King Date: Sat Apr 19 16:46:54 2008 +0100 [ARM] pxa: restrict availability of pxa2xx PCMCIA drivers Not all PXA2xx platforms provide the necessary support files for PCMCIA to work, let alone build. Stop the build errors by making PXA2xx PCMCIA support only available on those platforms which have supplied the support files. Signed-off-by: Russell King commit 140749e2bf8d7c80a50c9fcce1435bb2b4e423c4 Author: Ben Dooks Date: Sat Apr 19 13:08:43 2008 +0100 [ARM] 5005/1: BAST: Fix kset_name initialiser Fix the pm sys device .name initialiser which was missed when updating the last patch submission. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eb1f7d10d6b6728c87f79f30d1ae844d01d3486a Author: Davide Rizzo Date: Sat Apr 12 15:08:15 2008 +0100 [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410 This patch adds functions to set clkout rate for Samsung S3C2410 This patch supersedes 4884/1, that contained an error Comments from Ben Dooks: Note, looks like this needs to be applied before 4882/1 Signed-off-by: Davide Rizzo Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b685004f8dea2daae0306edcd358ed7de751aee9 Author: Ryan Mallon Date: Wed Apr 16 02:56:35 2008 +0100 [ARM] 4988/1: Add GPIO lib support to the EP93xx Adds support for the generic GPIO lib to the EP93xx family. The gpio handling code has been moved from core.c to a new file called gpio.c. The GPIO based IRQ code has not been changed. Signed-off-by: Ryan Mallon Signed-off-by: Russell King commit 05944d74bc28fffbcce159cb915d0acff82f30a1 Author: Russell King Date: Thu Nov 30 20:43:51 2006 +0000 [ARM] Add initial sparsemem support Signed-off-by: Russell King commit 1c104e0e4f6ab396960c058e95e18bdedcac945b Author: Russell King Date: Sat Apr 19 10:59:24 2008 +0100 [ARM] pxa: initialise PXA devices before platform init code Initialise PXA devices before platform initialisation, so that platforms can parent devices to these. Acked-by: eric miao Signed-off-by: Russell King commit c546106cc15d300a5b3eba5a514c9238bb6593e8 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:06 2008 +0100 [ARM] 5002/1: tosa: add two more leds This adds support for two more leds: the wlan one (found in SL-6000W and SL-6000L) and the blutooth one (found in SL-6000W). Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit ba4eb7e60b11eba1ccd89d448e6d87d98df95da8 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:25 2008 +0100 [ARM] 5004/1: Tosa: make several unreferenced structures static. Now that scoop gpio's are converted to generic_gpio, tosascoop_device and tosascoop_jc_device don't have to be exported. Also make tosa_gpio_* static Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit d8a42fc45517081d1a8cf050a86eb79b0e290774 Author: Dmitry Baryshkov Date: Sat Apr 19 10:42:18 2008 +0100 [ARM] 5003/1: Shut up sparse warnings Shut up sparse warnings by making GPIO_IRQ_MASK unisgned Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit b907ef688ddb6d73fc1c83b6fbcd62f5c2c2a14f Author: Mark Brown Date: Tue Apr 15 16:12:44 2008 +0100 [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable() Add missing clk_enable() Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 768dec4cc397a9c041b0f3cd605d3f6f758883e4 Author: Mark Brown Date: Tue Apr 15 15:50:49 2008 +0100 [ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line Set up the IRQ line for the WM9713 device on the Zylonite. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 507012f0a503287f212ef1139683c8938ecedbcd Author: Dmitry Baryshkov Date: Sat Apr 12 21:26:39 2008 +0100 [ARM] 4974/1: Drop unused leds-tosa. As now tosa uses leds-gpio, drop leds-tosa driver. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 311c736c19ec5d9cfc9518542aeee844c2bc7a86 Author: Dmitry Baryshkov Date: Sat Apr 12 20:17:02 2008 +0100 [ARM] 4973/1: Tosa: use leds-gpio driver. Now as the scoop pins are covered by the generic gpio API, we can use leds-gpio driver instead of special leds-tosa. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit d4e7d09f7accd1b0d1c8f149a44deffc8c141a46 Author: Dmitry Baryshkov Date: Sat Apr 12 20:16:16 2008 +0100 [ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code Convert set/reset_scoop_gpio to generic gpio calls. This patch depends on the pxaficp_ir hooks patch. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit baf1c5d2a08c828d6333e0a37bcdf5afb3d5d003 Author: Dmitry Baryshkov Date: Sat Apr 12 20:08:16 2008 +0100 [ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks Let platform do some specific initialisation and cleanup things during pxaficp_ir probing and removing. E.g. this can be usefull to request/free gpios used by the platform to control the transceiver. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit e21e2d467ab4dd050dd02620c74be1e2665d20b9 Author: Russell King Date: Sun Apr 13 17:38:55 2008 +0100 [ARM] pxa: lubbock: move mis-placed SPI info The SPI information got placed in the middle of the SMC91x data. Lets move it up a few lines so that we keep related things grouped together. Signed-off-by: Russell King commit 0aa975613320fcd8434087b6d61ef6990ec24e7d Author: Dmitry Baryshkov Date: Sat Apr 12 20:02:50 2008 +0100 [ARM] 4970/1: tosa: correct gpio used for wake up. TOSA_GPIO_ON_KEY can't wakeup the device. But the board provides TOSA_GPIO_POWERON which is OR of (on_ac) and (on_button). Use it for wake up. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit b168281c07adf0a13f17368532fe787f1d23fd30 Author: Philipp Zabel Date: Sat Apr 12 13:29:22 2008 +0100 [ARM] 4966/1: magician: add MFP pin configuration Although the GPIO alternate functions should be correctly set by the bootloader, configure them here to be sure. To save power, FFUART/BTUART/STUART are left unconfigured (output, low) until they are needed by pxaficp or the magician GSM chipset driver. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 81447b2ee6a62cef884aa017e70bbe8c02f0d63b Author: Philipp Zabel Date: Sat Apr 12 13:28:02 2008 +0100 [ARM] 4965/1: magician: use htc-pasic3,leds-pasic3,ds1wm,leds-gpio This patch enables LEDs and the 1-wire bus (connected to a DS2760 battery monitor) on the magician. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 5dc3339aa5ba29593ea57814049ddca8c12831c8 Author: Philipp Zabel Date: Sat Apr 12 13:25:41 2008 +0100 [ARM] 4964/1: htc-pasic3: MFD driver for PASIC3 LED control + DS1WM chip This driver will provide registers, clocks and GPIOs of the HTC PASIC3 (AIC3) and PASIC2 (AIC2) chips to the ds1wm and leds-pasic3 drivers. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 481ea5a16aaabe2570d56b5a4d29fa80adc8008b Author: Dmitry Baryshkov Date: Thu Apr 10 15:43:18 2008 +0100 [ARM] 4958/2: tosa: fix i2c registration. Add a call to pxa_set_i2c_info() to force i2c registration Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 2cb4734232e62ee95c1f7dafdc032b652eef49d7 Author: Dmitry Baryshkov Date: Thu Apr 10 11:00:32 2008 +0100 [ARM] 4960/1: Rewrite tosa pin configuration to use MFP tables. Clean up all pins configuration to use currently proposed MFP table schema. Signed-off-by: Dmitry Baryshkov Acked-by: eric miao Signed-off-by: Russell King commit 64c1dd3bbf67c958992c098d5d464a014df3fa46 Author: Mike Rapoport Date: Thu Apr 10 06:34:29 2008 +0100 [ARM] 4959/1: PXA: Fix misprint in CICR1_RGBT_CONV This patch fixes misprint in definition of CICR1_RGBT_CONV in include/asm-arm/arch-pxa/pxa-regs.h Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 60802188ece1c5b63deefc05b7b442625e575476 Author: Philipp Zabel Date: Wed Apr 9 19:28:53 2008 +0100 [ARM] 4953/1: magician: add backlight power switching GPIOs Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit e07ff8d8091eff8e208fe1e406c15e5de0fffd63 Author: Philipp Zabel Date: Wed Apr 9 19:27:10 2008 +0100 [ARM] 4952/1: magician: add LCD detection, LCD power switching, update pxafb settings All magician devices I've encountered so far have featured the Toppoly TD028STEB1 display, so the Samsung LTP280QV support is untested. The power-on sequence is not correct because pxafb doesn't yet support enabling the LCD controller in the middle of the it. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 350d115d1eaa29e64324847badf27c93159ba8e0 Author: Philipp Zabel Date: Wed Apr 9 19:25:56 2008 +0100 [ARM] 4951/1: magician: enable external power supply (pda_power) driver Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit bdb0c16acb51b7bf15d626848f287691ef39dbe8 Author: Philipp Zabel Date: Wed Apr 9 19:24:55 2008 +0100 [ARM] 4950/1: magician: enable MMC support Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit aa7975901b949501d47af8225f23bee1116cd441 Author: Philipp Zabel Date: Wed Apr 9 19:24:05 2008 +0100 [ARM] 4949/1: magician: enable flash VPP GPIO and build in MTD, physmap-flash and JFFS2 This enables rootfs on StrataFlash if the bootloader supplies the partition list. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 70e357f8426c54e1500ac4fdb6b1172df16d8b93 Author: Philipp Zabel Date: Wed Apr 9 19:22:57 2008 +0100 [ARM] 4948/1: magician: use htc-egpio to drive the GPIO/IRQ expander CPLD needed for power management (audio, BT, charging, GSM, LCD, SD), GSM, flash and SD operation and audio routing. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit a1635b8fe59de2c5223cda5ca8397b875c901904 Author: Philipp Zabel Date: Wed Apr 9 19:20:34 2008 +0100 [ARM] 4947/1: htc-egpio, a driver for GPIO/IRQ expanders with fixed input/output pins implemented in CPLD chips on several HTC devices. The original driver was written by Kevin O'Connor, I have adapted it to use gpiolib and made the bus/register widths configurable. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit e6816f34e4ee237fc1b54e0357e9ea31462ad411 Author: Philipp Zabel Date: Wed Apr 9 19:14:15 2008 +0100 [ARM] 4944/2: magician: enable i2c bus Since recent PXA changes the (non-power-)I2C bus has to be explicitly enabled from board initialisation code. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 103a1754894eecf488103f7739061e7e767049ad Author: Philipp Zabel Date: Wed Apr 9 19:11:52 2008 +0100 [ARM] 4943/2: magician: fix magician.h GPIO header includes PXA GPIO definitions were split from pxa-regs.h into pxa2xx-gpio.h. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit df56eacdd5b1018f3f2831ff245a7cb70c602454 Author: Philipp Zabel Date: Tue Apr 8 19:36:06 2008 +0100 [ARM] 4942/1: magician: fix the backlight driver name corgi_bl was renamed to generic_bl. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 4fa575b2376c26a2204f9d848e7555452888b69b Author: Philipp Zabel Date: Tue Apr 8 19:35:18 2008 +0100 [ARM] 4941/1: Add initial defconfig for HTC Magician PDA phones Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit b86a5da8f7f57b9b0fe468d83d3f2af297fa1e14 Author: Mark Brown Date: Wed Apr 9 11:32:21 2008 +0100 [ARM] 4946/1: pxa3xx: Print an error if we refuse to suspend The PXA3xx will not suspend if there are no wakeup sources configured. Print a diagnostic message to make it easier for the user to see what's happening. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 835e7f1c9ab03db6aa51973aee71d13ccb09cb19 Author: Mark Brown Date: Mon Apr 7 17:16:34 2008 +0100 [ARM] 4901/3: mainstone: Register primary I2C bus Mainstone has the primary I2C bus exposed for use on plugin modules. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 90b8fc34968d3f6c70e309d97597682f119220b9 Author: Jaya Kumar Date: Sat Mar 15 05:11:07 2008 +0100 [ARM] 4867/1: Adds flash, udc, mci support for gumstix F boards This patch implements support for Gumstix-F flash, udc and mci. Fixes since the last time are: - Steve Sakoman as maintainer - cleanup for udc and mci setup Signed-off-by: Jaya Kumar Signed-off-by: Russell King commit 4354e188121d92c28647146b70a8c303b46a7dcd Author: eric miao Date: Fri Feb 22 13:48:15 2008 +0800 [ARM] pxa: remove keypad register definitions from pxa-regs.h Keypad registers are now fully defined within pxa27x-keypad.c, no need to keep those definitions in pxa-regs.h Signed-off-by: eric miao Signed-off-by: Russell King commit 5fa41510f0f481d5139c732c5c6aac4b4a722828 Author: eric miao Date: Wed Jan 23 15:07:22 2008 +0800 [ARM] pxa: add keypad support for littleton Signed-off-by: eric miao Signed-off-by: Russell King commit 468e086f78fb4ff69cefc256d7cd0673e95906d6 Author: eric miao Date: Wed Jan 23 14:25:50 2008 +0800 [ARM] pxa: add keypad support for zylonite Signed-off-by: eric miao Signed-off-by: Russell King commit 55c26e4011572a2e1329cbff92e930838010ba88 Author: eric miao Date: Wed Jan 23 14:25:27 2008 +0800 [ARM] pxa: add partial keypad support for mainstone This is partial because mainstone's keypad is really special, some of the keys like '1', '2', ... are actually connected to two row/column juntions, thus pressing '1' is equivalent to pressing 'A' & 'H'. This is really brain damanged since it makes distinguishing between pressing '1' and multiple keys pressing of 'A' & 'H' difficult. So these special keys are not supported for the time being. Signed-off-by: eric miao Signed-off-by: Russell King commit 37320980414f5a7654ee08a047194224c6bba46e Author: eric miao Date: Wed Jan 23 13:39:13 2008 +0800 [ARM] pxa: add pxa27x_keypad device and pxa_set_keypad_info() also update the clk definitions in pxa27x and pxa3xx. Signed-off-by: eric miao Signed-off-by: Russell King commit 450d28749c9bf2cc6d274695fe454bb53456428d Author: eric miao Date: Tue Mar 11 10:06:38 2008 +0800 [ARM] pxa: use gpio_keys.c to support mainstone's wakeup switch of GPIO1 NOTE: currently don't know if the key code of KEY_SUSPEND is fit for such usage. Signed-off-by: eric miao Signed-off-by: Russell King commit c0a596d6a138ea281bed4ff3018c07c45dd245a2 Author: eric miao Date: Tue Mar 11 09:46:28 2008 +0800 [ARM] pxa: allow dynamic enable/disable of GPIO wakeup for pxa{25x,27x} Changes include: 1. rename MFP_LPM_WAKEUP_ENABLE into MFP_LPM_CAN_WAKEUP to indicate the board capability of this pin to wakeup the system 2. add gpio_set_wake() and keypad_set_wake() to allow dynamically enable/disable wakeup from GPIOs and keypad GPIO * these functions are currently kept in mfp-pxa2xx.c due to their dependency to the MFP configuration 3. pxa2xx_mfp_config() only gives early warning if MFP_LPM_CAN_WAKEUP is set on incorrect pins So that the GPIO's wakeup capability is now decided by the following: a) processor's capability: (only those GPIOs which have dedicated bits within PWER/PRER/PFER can wakeup the system), this is initialized by pxa{25x,27x}_init_mfp() b) board design decides: - whether the pin is designed to wakeup the system (some of the GPIOs are configured as other functions, which is not intended to be a wakeup source), by OR'ing the pin config with MFP_LPM_CAN_WAKEUP - which edge the pin is designed to wakeup the system, this may depends on external peripherals/connections, which is totally board specific; this is indicated by MFP_LPM_EDGE_* c) the corresponding device's (most likely the gpio_keys.c) wakeup attribute: Signed-off-by: eric miao Signed-off-by: Russell King commit 9b02b2df0099c083ea40ba8c7068e3dcbe381302 Author: eric miao Date: Wed Feb 13 08:52:38 2008 +0800 [ARM] pxa: use new pin configuration mechanism for lubbock Signed-off-by: eric miao Signed-off-by: Russell King commit fef06d274feb9b0e5a2d20c29b2979634514243f Author: eric miao Date: Mon Feb 4 17:15:50 2008 +0800 [ARM] pxa: use new pin configuration mechanism for mainstone 1. the following code to configure PGSRx is no way portable and intuitive: - PGSR0 = 0x00008800; - PGSR1 = 0x00000002; - PGSR2 = 0x0001FC00; - PGSR3 = 0x00001F81; this is removed as low power state has already been encoded in the pin configuration definitions. Note: there is no specific reason for some of the GPIOs to drive high in low power mode as indicated by the above setting, those bits are ignored, and the result is validated to work. 2. the following code to configure GPIO wakeup is removed as this is now totally handled by pxa2xx_mfp_config(): - PWER = 0xC0000002; - PRER = 0x00000002; - PFER = 0x00000002; Signed-off-by: eric miao Signed-off-by: Russell King commit 3d3934c357103504d0f0a5e9ab808bb57e356f6a Author: eric miao Date: Sun Feb 3 15:49:09 2008 +0800 [ARM] pxa: move ARRAY_AND_SIZE definition to generic.h for use by other platforms Signed-off-by: eric miao Signed-off-by: Russell King commit 7facc2f9374159795af2a3f8b3e682b4ee230643 Author: eric miao Date: Wed Mar 5 17:16:29 2008 +0800 [ARM] pxa: add MFP-alike pin configuration support for pxa{25x, 27x} Pin configuration on pxa{25x,27x} has now separated from generic GPIO into dedicated mfp-pxa2xx.c by this patch. The name "mfp" is borrowed from pxa3xx and is used here to alert the difference between the two concepts: pin configuration and generic GPIOs. A GPIO can be called a "GPIO" _only_ when the corresponding pin is configured so. A pin configuration on pxa{25x,27x} is composed of: - alternate function selection (or pin mux as commonly called) - low power state or sleep state - wakeup enabling from low power mode The following MFP_xxx bit definitions in mfp.h are re-used: - MFP_PIN(x) - MFP_AFx - MFP_LPM_DRIVE_{LOW, HIGH} - MFP_LPM_EDGE_* Selecting alternate function on pxa{25x, 27x} involves configuration of GPIO direction register GPDRx, so a new bit and MFP_DIR_{IN, OUT} are introduced. And pin configurations are defined by the following two macros: - MFP_CFG_IN : for input alternate functions - MFP_CFG_OUT : for output alternate functions Every configuration should provide a low power state if it configured as output using MFP_CFG_OUT(). As a general guideline, the low power state should be decided to minimize the overall power dissipation. As an example, it is better to drive the pin as high level in low power mode if the GPIO is configured as an active low chip select. Pins configured as GPIO are defined by MFP_CFG_IN(). This is to avoid side effects when it is firstly configured as output. The actual direction of the GPIO is configured by gpio_direction_{input, output} Wakeup enabling on pxa{25x, 27x} is actually GPIO based wakeup, thus the device based enable_irq_wake() mechanism is not applicable here. E.g. invoking enable_irq_wake() with a GPIO IRQ as in the following code to enable OTG wakeup is by no means portable and intuitive, and it is valid _only_ when GPIO35 is configured as USB_P2_1: enable_irq_wake( gpio_to_irq(35) ); To make things worse, not every GPIO is able to wakeup the system. Only a small number of them can, on either rising or falling edge, or when level is high (for keypad GPIOs). Thus, another new bit is introduced to indicate that the GPIO will wakeup the system: - MFP_LPM_WAKEUP_ENABLE The following macros can be used in platform code, and be OR'ed to the GPIO configuration to enable its wakeup: - WAKEUP_ON_EDGE_{RISE, FALL, BOTH} - WAKEUP_ON_LEVEL_HIGH The WAKEUP_ON_LEVEL_HIGH is used for keypad GPIOs _only_, there is no edge settings for those GPIOs. These WAKEUP_ON_* flags OR'ed on wrong GPIOs will be ignored in case that platform code author is careless enough. The tradeoff here is that the wakeup source is fully determined by the platform configuration, instead of enable_irq_wake(). Signed-off-by: eric miao Signed-off-by: Russell King commit a683b14df8f4320d0ef6cac93a6d9806173bf339 Author: eric miao Date: Mon Mar 3 09:44:25 2008 +0800 [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h two reasons: 1. GPIO namings and their mode definitions are conceptually not part of the PXA register definitions 2. this is actually a temporary move in the transition of PXA2xx to use MFP-alike APIs (as what PXA3xx is now doing), so that legacy code will still work and new code can be added in step by step Signed-off-by: eric miao Signed-off-by: Russell King commit 4be35e236c4a0e346442d98de3e470cf87c4e947 Author: eric miao Date: Mon Feb 4 10:07:09 2008 +0800 [ARM] pxa: move mfp sysdev registeration out for suspend/resume order MFP configurations after resume should be done before the GPIO registers are restored. Move the mfp sysdev registeration to the same place where GPIO and IRQ sysdev(s) are registered to better control the order. Signed-off-by: eric miao Signed-off-by: Russell King commit 06b2666e89c85640c7eddd67e7bee292a9afeceb Author: eric miao Date: Mon Mar 3 08:59:13 2008 +0800 [ARM] pxa: rename mfp.c to mfp-pxa3xx.c to indicate it's pxa3xx specific Signed-off-by: eric miao Signed-off-by: Russell King commit 689c04a3904d68343a9258e2de12412e3bb89d09 Author: eric miao Date: Tue Mar 4 17:18:38 2008 +0800 [ARM] pxa: make pxa_gpio_irq_type() processor generic The main issue here is that pxa3xx does not have GAFRx registers, access directly to these registers should be avoided for pxa3xx: 1. introduce __gpio_is_occupied() to indicate the GAFRx and GPDRx registers are already configured on pxa{25x,27x} while returns 0 always on pxa3xx 2. pxa_gpio_mode(gpio | GPIO_IN) is replaced directly with assign- ment of GPDRx, the side effect of this change is that the pin _must_ be configured before use, pxa_gpio_irq_type() will not change the pin to GPIO, as this restriction is sane, esp. with the new MFP framework Signed-off-by: eric miao Signed-off-by: Russell King commit 663707c1a99b23a79f9e21117b7c1bdbfe80a899 Author: eric miao Date: Tue Mar 4 16:13:58 2008 +0800 [ARM] pxa: move GPIO sysdev outside of generic.c into gpio.c Signed-off-by: eric miao Signed-off-by: Russell King commit b9e25aced33eeb7279ccbaef198f28370cfb4e93 Author: eric miao Date: Tue Mar 4 14:19:58 2008 +0800 [ARM] pxa: merge assignment of set_wake into pxa_init_{irq,gpio}() To further clean up the GPIO and IRQ structure: 1. pxa_init_irq_gpio() and pxa_init_gpio() combines into a single function pxa_init_gpio() 2. assignment of set_wake merged into pxa_init_{irq,gpio}() as an argument Signed-off-by: eric miao Signed-off-by: Russell King commit f6fb7af4768bc1ddc2349f6eaefedd746c8e4913 Author: eric miao Date: Tue Mar 4 13:53:05 2008 +0800 [ARM] pxa: integrate low IRQ chip (ICIP) and high IRQ chip (ICIP2) into one This makes the code better organized and simplified a bit. The change will lose a bit of performance when performing IRQ ack/mask/unmask,but that's not too much after checking the result binary. This patch also removes the ugly #ifdef CONFIG_PXA27x .. #endif by carefully not to access those pxa{27x,3xx} specific registers, this is done by keeping an internal IRQ number variable. The pxa-regs.h is also modified so registers for IRQ > PXA_IRQ(31) are made public even if CONFIG_PXA{27x,3xx} isn't defined (for pxa25x's sake) The incorrect assumption in the original code that internal irq starts from 0 is also corrected by comparing with PXA_IRQ(0). "struct sys_device" for the IRQ are reduced into one single device on pxa{27x,3xx}. Signed-off-by: eric miao Signed-off-by: Russell King commit e3630db1fa7677b350fd5a1ac5498cc48448ae28 Author: eric miao Date: Tue Mar 4 11:42:26 2008 +0800 [ARM] pxa: move GPIO IRQ specific code out of irq.c into gpio.c Signed-off-by: eric miao Signed-off-by: Russell King commit 0e037bbb4a639fff01cebf552db19237ec688678 Author: eric miao Date: Mon Mar 3 13:20:20 2008 +0800 [ARM] pxa: introduce GPIO_CHIP() macro to clean up the definitions Signed-off-by: eric miao Signed-off-by: Russell King commit dfa1067996390dfd4b1ce449676500fab4980ce2 Author: eric miao Date: Tue Mar 4 11:18:48 2008 +0800 [ARM] pxa: cleanup the coding style of pxa_gpio_set_type() by 1. wrapping long lines and making comments tidy 2. using IRQ_TYPE_* instead of migration macros __IRQT_* 3. introduce a pr_debug() for the commented printk(KERN_DEBUG ...) stuff Signed-off-by: eric miao Signed-off-by: Russell King commit a7bf4dbabac2a1ccd56527a56c82af720e7a00d1 Author: eric miao Date: Tue Mar 4 11:12:14 2008 +0800 [ARM] pxa: make GPIO IRQ code less dependent on the internal IRQs by: 1. introduce dedicated pxa_{mask,unmask}_low_gpio() 2. remove set_irq_chip(IRQ_GPIO_2_x, ...) which has already been initialized in pxa_init_irq() 3. introduce dedicated pxa_init_gpio_set_wake() Signed-off-by: eric miao Signed-off-by: Russell King commit 7a26d3a33fd9adcbfd4fa2ca2d7e8a8272817935 Author: eric miao Date: Tue Mar 4 10:57:18 2008 +0800 [ARM] pxa: generalize the muxed gpio IRQ handling code with loop and ffs() 1. As David Brownell suggests, using ffs() is going to make the loop a bit faster (by avoiding unnecessary shift and iteration) 2. Russell suggested find_{first,next}_bit() being used with the gedr[] array Signed-off-by: eric miao Cc: David Brownell Signed-off-by: Russell King commit d72b1370b0b45f1fabda5ae4d603773d8a2c226a Author: Robert Jarzmik Date: Sun Mar 16 11:55:32 2008 +0100 [ARM] 4868/1: Enhance pxa270 GPIO definitions Enhanced GPIO alternate functions descriptions, taken from Intel PXA270 Developers Manual. Signed-off-by: Robert Jarzmik Signed-off-by: Russell King commit 942de47bfee24143ecbf75b981b32143bd414529 Author: Mark Brown Date: Tue Mar 4 11:14:24 2008 +0100 [ARM] 4834/3: Convert ASoC pxa2xx-ac97 driver to use the clock API Signed-off-by: Mark Brown Acked-by: Takashi Iwai Acked-by: eric miao Signed-off-by: Russell King commit 93873fbfd86c08ac3e4f1b37e667cf858a8b2fab Author: Mark Brown Date: Tue Mar 4 11:14:25 2008 +0100 [ARM] 4833/3: Convert non-SoC PXA2xx AC97 driver to clock API Signed-off-by: Mark Brown Acked-by: Takashi Iwai Acked-by: eric miao Signed-off-by: Russell King commit 60bfe7fa3dc13fe90d273371b65ae3ec89583c52 Author: Mark Brown Date: Tue Mar 4 11:14:23 2008 +0100 [ARM] 4832/2: Support AC97CLK on PXA3xx via the clock API The AC97 clock rate on PXA3xx is generated with a configurable divider from sys_pll. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit 27b98a671ff4cda89ba279452115000da59a9067 Author: Mark Brown Date: Tue Mar 4 11:14:22 2008 +0100 [ARM] 4831/2: Add PXA2xx AC97 clocks to clock API Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit dcc88a170ce9f90e4b819c67feebb16e8a123f79 Author: Mark Brown Date: Wed Feb 13 16:39:21 2008 +0100 [ARM] 4830/1: Add support for the CLK_POUT pin on PXA3xx CPUs Expose control of the PXA3xx 13MHz CLK_POUT pin via the clock API Signed-off-by: Mark Brown Signed-off-by: Russell King commit c48b2e90aecf037f53913fc8d198d01fce0fbf3c Author: Johannes Weiner Date: Fri Apr 18 13:29:47 2008 -0700 [ARM] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 28fab1a2fd5b1aa92f9ad1adc9e3b8914f89bc74 Author: Russell King Date: Sun Apr 13 17:47:35 2008 +0100 [ARM] Fix kernel mode preemption Luc Van Oostenryck reported: The code removed by this patch tested the irq_cpustat_t members __local_irq_count and __local_bh_count but these fields have been removed some time ago: http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=3ab146c93e039dec99fec8d441a8dd046fe510cc Fix this oversight. Acked-by: Bill Gatliff Signed-off-by: Russell King commit 84081bd2205efd1e6c7203bc7099b4350839ee39 Author: Lennert Buytenhek Date: Fri Mar 28 21:11:47 2008 +0100 [ARM] 4881/1: print unrecognised processor ID as part of failure message If we fail to boot due to an unsupported processor ID, print the processor ID as part of the failure message. Signed-off-by: Lennert Buytenhek Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 0f9801463b0aa9ac7253a250ec6bc37e6f77d31d Author: Uwe Kleine-König Date: Thu Mar 6 16:22:33 2008 +0100 [ARM] 4854/1: fix the load address of uImage for CONFIG_ZBOOT_ROM=y U-Boot puts an image at the load address specified in the uImage header before jumping to the entry point. In the CONFIG_ZBOOT_ROM case ZBOOT_ROM_TEXT is the right load address. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit cbfc0f04069a426f3c8b4b35021117f6833df9ca Author: Uwe Kleine-König Date: Thu Mar 6 16:22:00 2008 +0100 [ARM] 4852/1: Add timerfd_create, timerfd_settime and timerfd_gettime syscall entries Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 184dd48102425467fbbb209765894b04f668a9de Author: Russell King Date: Sat Mar 8 15:58:03 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 15f7d677ccff6f0f5de8a1ee43a792567e9f9de9 Author: Russell King Date: Sat Apr 19 10:14:31 2008 +0100 [ARM] Remove leds-tosa.c See f99ee0b99214cf5329e711859e3f5fd02c820a24 Signed-off-by: Russell King commit ad775f5a8faa5845377f093ca11caf577404add9 Author: Dave Hansen Date: Fri Feb 15 14:38:01 2008 -0800 [PATCH] r/o bind mounts: debugging for missed calls There have been a few oopses caused by 'struct file's with NULL f_vfsmnts. There was also a set of potentially missed mnt_want_write()s from dentry_open() calls. This patch provides a very simple debugging framework to catch these kinds of bugs. It will WARN_ON() them, but should stop us from having any oopses or mnt_writer count imbalances. I'm quite convinced that this is a good thing because it found bugs in the stuff I was working on as soon as I wrote it. [hch: made it conditional on a debug option. But it's still a little bit too ugly] [hch: merged forced remount r/o fix from Dave and akpm's fix for the fix] Signed-off-by: Dave Hansen Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 2e4b7fcd926006531935a4c79a5e9349fe51125b Author: Dave Hansen Date: Fri Feb 15 14:38:00 2008 -0800 [PATCH] r/o bind mounts: honor mount writer counts at remount Originally from: Herbert Poetzl This is the core of the read-only bind mount patch set. Note that this does _not_ add a "ro" option directly to the bind mount operation. If you require such a mount, you must first do the bind, then follow it up with a 'mount -o remount,ro' operation: If you wish to have a r/o bind mount of /foo on bar: mount --bind /foo /bar mount -o remount,ro /bar Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 3d733633a633065729c9e4e254b2e5442c00ef7e Author: Dave Hansen Date: Fri Feb 15 14:37:59 2008 -0800 [PATCH] r/o bind mounts: track numbers of writers to mounts This is the real meat of the entire series. It actually implements the tracking of the number of writers to a mount. However, it causes scalability problems because there can be hundreds of cpus doing open()/close() on files on the same mnt at the same time. Even an atomic_t in the mnt has massive scalaing problems because the cacheline gets so terribly contended. This uses a statically-allocated percpu variable. All want/drop operations are local to a cpu as long that cpu operates on the same mount, and there are no writer count imbalances. Writer count imbalances happen when a write is taken on one cpu, and released on another, like when an open/close pair is performed on two Upon a remount,ro request, all of the data from the percpu variables is collected (expensive, but very rare) and we determine if there are any outstanding writers to the mount. I've written a little benchmark to sit in a loop for a couple of seconds in several cpus in parallel doing open/write/close loops. http://sr71.net/~dave/linux/openbench.c The code in here is a a worst-possible case for this patch. It does opens on a _pair_ of files in two different mounts in parallel. This should cause my code to lose its "operate on the same mount" optimization completely. This worst-case scenario causes a 3% degredation in the benchmark. I could probably get rid of even this 3%, but it would be more complex than what I have here, and I think this is getting into acceptable territory. In practice, I expect writing more than 3 bytes to a file, as well as disk I/O to mask any effects that this has. (To get rid of that 3%, we could have an #defined number of mounts in the percpu variable. So, instead of a CPU getting operate only on percpu data when it accesses only one mount, it could stay on percpu data when it only accesses N or fewer mounts.) [AV] merged fix for __clear_mnt_mount() stepping on freed vfsmount Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 2c463e95480829a2fe8f386589516e13b1289db6 Author: Dave Hansen Date: Fri Feb 15 14:37:56 2008 -0800 [PATCH] r/o bind mounts: check mnt instead of superblock directly If we depend on the inodes for writeability, we will not catch the r/o mounts when implemented. This patches uses __mnt_want_write(). It does not guarantee that the mount will stay writeable after the check. But, this is OK for one of the checks because it is just for a printk(). The other two are probably unnecessary and duplicate existing checks in the VFS. This won't make them better checks than before, but it will make them detect r/o mounts. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit ec82687f29127a954dd0da95dc1e0a4ce92b560c Author: Dave Hansen Date: Fri Feb 15 14:37:53 2008 -0800 [PATCH] r/o bind mounts: elevate count for xfs timestamp updates Elevate the write count during the xfs m/ctime updates. XFS has to do it's own timestamp updates due to an unfortunate VFS design limitation, so it will have to track writers by itself aswell. [hch: split out from the touch_atime patch as it's not related to it at all] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 2f676cbc0d60ae806216c7a61c6971bd72dedde8 Author: Dave Hansen Date: Fri Feb 15 14:37:55 2008 -0800 [PATCH] r/o bind mounts: make access() use new r/o helper It is OK to let access() go without using a mnt_want/drop_write() pair because it doesn't actually do writes to the filesystem, and it is inherently racy anyway. This is a rare case when it is OK to use __mnt_is_readonly() directly. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 9ac9b8474c39c3ae2c2b37d8e1f08db8a9146124 Author: Dave Hansen Date: Fri Feb 15 14:37:52 2008 -0800 [PATCH] r/o bind mounts: write counts for truncate() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 2af482a7edfb8810539cacc2fdd8242611ca43bb Author: Dave Hansen Date: Fri Feb 15 14:37:50 2008 -0800 [PATCH] r/o bind mounts: elevate write count for chmod/chown callers chown/chmod,etc... don't call permission in the same way that the normal "open for write" calls do. They still write to the filesystem, so bump the write count during these operations. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 4a3fd211ccfc08a88edc824300e25a87785c6a5f Author: Dave Hansen Date: Fri Feb 15 14:37:48 2008 -0800 [PATCH] r/o bind mounts: elevate write count for open()s This is the first really tricky patch in the series. It elevates the writer count on a mount each time a non-special file is opened for write. We used to do this in may_open(), but Miklos pointed out that __dentry_open() is used as well to create filps. This will cover even those cases, while a call in may_open() would not have. There is also an elevated count around the vfs_create() call in open_namei(). See the comments for more details, but we need this to fix a 'create, remount, fail r/w open()' race. Some filesystems forego the use of normal vfs calls to create struct files. Make sure that these users elevate the mnt writer count because they will get __fput(), and we need to make sure they're balanced. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 42a74f206b914db13ee1f5ae932dcd91a77c8579 Author: Dave Hansen Date: Fri Feb 15 14:37:46 2008 -0800 [PATCH] r/o bind mounts: elevate write count for ioctls() Some ioctl()s can cause writes to the filesystem. Take these, and make them use mnt_want/drop_write() instead. [AV: updated] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 20ddee2c75339cc095f6191c3115f81da8955e96 Author: Dave Hansen Date: Fri Feb 15 14:37:43 2008 -0800 [PATCH] r/o bind mounts: write count for file_update_time() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 74f9fdfa1f229284ee1ea58fa47f2cdeeb12f6fe Author: Dave Hansen Date: Fri Feb 15 14:37:42 2008 -0800 [PATCH] r/o bind mounts: elevate write count for do_utimes() Now includes fix for oops seen by akpm. "never let a libc developer write your kernel code" - hch "nor, apparently, a kernel developer" - akpm Acked-by: Al Viro Signed-off-by: Christoph Hellwig Cc: Valdis Kletnieks Cc: Balbir Singh Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit cdb70f3f74b31576cc4d707a3d3b00d159cab8bb Author: Dave Hansen Date: Fri Feb 15 14:37:41 2008 -0800 [PATCH] r/o bind mounts: write counts for touch_atime() Remove handling of NULL mnt while we are at it - that can't happen these days. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit a761a1c03a739f04afd6c8d37fd16405bbe754da Author: Dave Hansen Date: Fri Feb 15 14:37:39 2008 -0800 [PATCH] r/o bind mounts: elevate write count for ncp_ioctl() Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 18f335aff86913de3c76f88d32c8135c1da62ce6 Author: Dave Hansen Date: Fri Feb 15 14:37:38 2008 -0800 [PATCH] r/o bind mounts: elevate write count for xattr_permission() callers This basically audits the callers of xattr_permission(), which calls permission() and can perform writes to the filesystem. [AV: add missing parts - removexattr() and nfsd posix acls, plug for a leak spotted by Miklos] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf Author: Dave Hansen Date: Fri Feb 15 14:37:49 2008 -0800 [PATCH] r/o bind mounts: get write access for vfs_rename() callers This also uses the little helper in the NFS code to make an if() a little bit less ugly. We introduced the helper at the beginning of the series. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 75c3f29de7451677c59580b0a959f694f36aac28 Author: Dave Hansen Date: Fri Feb 15 14:37:45 2008 -0800 [PATCH] r/o bind mounts: write counts for link/symlink [AV: add missing nfsd pieces] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 463c3197263bd26ac59a00d2484990e17e35c50e Author: Dave Hansen Date: Fri Feb 15 14:37:57 2008 -0800 [PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir() This takes care of all of the direct callers of vfs_mknod(). Since a few of these cases also handle normal file creation as well, this also covers some calls to vfs_create(). So that we don't have to make three mnt_want/drop_write() calls inside of the switch statement, we move some of its logic outside of the switch and into a helper function suggested by Christoph. This also encapsulates a fix for mknod(S_IFREG) that Miklos found. [AV: merged mkdir handling, added missing nfsd pieces] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 0622753b800e4cc6cb9319b36b27658c72dd7cdc Author: Dave Hansen Date: Fri Feb 15 14:37:34 2008 -0800 [PATCH] r/o bind mounts: elevate write count for rmdir and unlink. Elevate the write count during the vfs_rmdir() and vfs_unlink(). [AV: merged rmdir and unlink parts, added missing pieces in nfsd] Acked-by: Serge Hallyn Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 49e0d02cf018d4edf24bfc8531a816a26367e4ce Author: Dave Hansen Date: Fri Feb 15 14:37:32 2008 -0800 [PATCH] r/o bind mounts: drop write during emergency remount The emergency remount code forcibly removes FMODE_WRITE from filps. The r/o bind mount code notices that this was done without a proper mnt_drop_write() and properly gives a warning. This patch does a mnt_drop_write() to keep everything balanced. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit aceaf78da92a53f5e1b105649a1b8c0afdb2135c Author: Dave Hansen Date: Fri Feb 15 14:37:31 2008 -0800 [PATCH] r/o bind mounts: create helper to drop file write access If someone decides to demote a file from r/w to just r/o, they can use this same code as __fput(). NFS does just that, and will use this in the next patch. AV: drop write access in __fput() only after we evict from file list. Signed-off-by: Dave Hansen Cc: Erez Zadok Cc: Trond Myklebust Cc: "J Bruce Fields" Acked-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Christoph Hellwig Signed-off-by: Al Viro commit 8366025eb80dfa0d8d94b286d53027081c280ef1 Author: Dave Hansen Date: Fri Feb 15 14:37:30 2008 -0800 [PATCH] r/o bind mounts: stub functions This patch adds two function mnt_want_write() and mnt_drop_write(). These are used like a lock pair around and fs operations that might cause a write to the filesystem. Before these can become useful, we must first cover each place in the VFS where writes are performed with a want/drop pair. When that is complete, we can actually introduce code that will safely check the counts before allowing r/w<->r/o transitions to occur. Acked-by: Serge Hallyn Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit a70e65df8812c52252fa07a2eb92a46451a4427f Author: Christoph Hellwig Date: Fri Feb 15 14:37:28 2008 -0800 [PATCH] merge open_namei() and do_filp_open() open_namei() will, in the future, need to take mount write counts over its creation and truncation (via may_open()) operations. It needs to keep these write counts until any potential filp that is created gets __fput()'d. This gets complicated in the error handling and becomes very murky as to how far open_namei() actually got, and whether or not that mount write count was taken. That makes it a bad interface. All that the current do_filp_open() really does is allocate the nameidata on the stack, then call open_namei(). So, this merges those two functions and moves filp_open() over to namei.c so it can be close to its buddy: do_filp_open(). It also gets a kerneldoc comment in the process. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit d57999e1527f0b0c818846dcba5a23015beb4823 Author: Dave Hansen Date: Fri Feb 15 14:37:27 2008 -0800 [PATCH] do namei_flags calculation inside open_namei() My end goal here is to make sure all users of may_open() return filps. This will ensure that we properly release mount write counts which were taken for the filp in may_open(). This patch moves the sys_open flags to namei flags calculation into fs/namei.c. We'll shortly be moving the nameidata_to_filp() calls into namei.c, and this gets the sys_open flags to a place where we can get at them when we need them. Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 6188e10d38b8d7244ee7776d5f1f88c837b4b93f Author: Matthew Wilcox Date: Fri Apr 18 22:21:05 2008 -0400 Convert asm/semaphore.h users to linux/semaphore.h Signed-off-by: Matthew Wilcox commit d7b1acd3b524b39f418e463e836b48ac041954d6 Author: Matthew Wilcox Date: Tue Feb 26 10:49:01 2008 -0500 security: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit f42b38009e1dbd4509a865e5ea0e91a1722c979d Author: Matthew Wilcox Date: Tue Feb 26 10:48:12 2008 -0500 lib: Remove unnecessary inclusions of asm/semaphore.h reed_solomon doesn't use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit a6550207538619bc9b90bac2e1d5e54902a432ad Author: Matthew Wilcox Date: Tue Feb 26 10:47:18 2008 -0500 kernel: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit 5a6483feb0c5193519625d0ea8c4254364d423cc Author: Matthew Wilcox Date: Tue Feb 26 10:00:17 2008 -0500 include: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they (or some user of them) rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have to fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit cb688371e27880d86c42323826846d1cd7caad8f Author: Matthew Wilcox Date: Tue Feb 26 09:59:26 2008 -0500 fs: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. Signed-off-by: Matthew Wilcox commit d3135846f6c1858dbad6ccb780a42e6c98953e6d Author: Matthew Wilcox Date: Fri Apr 18 22:16:32 2008 -0400 drivers: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 5f090dcb4d4fff373ce7165bce4ba5e87534d50a Author: Matthew Wilcox Date: Fri Apr 18 22:15:50 2008 -0400 net: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 950e4da32426859ee4b37b2c95026d4f1efa5d05 Author: Matthew Wilcox Date: Tue Feb 26 09:55:29 2008 -0500 arch: Remove unnecessary inclusions of asm/semaphore.h None of these files use any of the functionality promised by asm/semaphore.h. It's possible that they rely on it dragging in some unrelated header file, but I can't build all these files, so we'll have fix any build failures as they come up. Signed-off-by: Matthew Wilcox commit 3925e6fc1f774048404fdd910b0345b06c699eb4 Merge: 334d094... 7cea51b... Author: Linus Torvalds Date: Fri Apr 18 18:18:30 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: fix up documentation for security_module_enable Security: Introduce security= boot parameter Audit: Final renamings and cleanup SELinux: use new audit hooks, remove redundant exports Audit: internally use the new LSM audit hooks LSM/Audit: Introduce generic Audit LSM hooks SELinux: remove redundant exports Netlink: Use generic LSM hook Audit: use new LSM hooks instead of SELinux exports SELinux: setup new inode/ipc getsecid hooks LSM: Introduce inode_getsecid and ipc_getsecid hooks commit 334d094504c2fe1c44211ecb49146ae6bca8c321 Merge: d1a4be6... d1643d2... Author: Linus Torvalds Date: Fri Apr 18 18:02:35 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits) [NET]: Fix and allocate less memory for ->priv'less netdevices [IPV6]: Fix dangling references on error in fib6_add(). [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found [PKT_SCHED]: Fix datalen check in tcf_simp_init(). [INET]: Uninline the __inet_inherit_port call. [INET]: Drop the inet_inherit_port() call. SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked. [netdrvr] forcedeth: internal simplifications; changelog removal phylib: factor out get_phy_id from within get_phy_device PHY: add BCM5464 support to broadcom PHY driver cxgb3: Fix __must_check warning with dev_dbg. tc35815: Statistics cleanup natsemi: fix MMIO for PPC 44x platforms [TIPC]: Cleanup of TIPC reference table code [TIPC]: Optimized initialization of TIPC reference table [TIPC]: Remove inlining of reference table locking routines e1000: convert uint16_t style integers to u16 ixgb: convert uint16_t style integers to u16 sb1000.c: make const arrays static sb1000.c: stop inlining largish static functions ... commit 7cea51be4e91edad05bd834f3235b45c57783f0d Author: James Morris Date: Fri Mar 7 12:23:49 2008 +1100 security: fix up documentation for security_module_enable security_module_enable() can only be called during kernel init. Signed-off-by: James Morris commit 076c54c5bcaed2081c0cba94a6f77c4d470236ad Author: Ahmed S. Darwish Date: Thu Mar 6 18:09:10 2008 +0200 Security: Introduce security= boot parameter Add the security= boot parameter. This is done to avoid LSM registration clashes in case of more than one bult-in module. User can choose a security module to enable at boot. If no security= boot parameter is specified, only the first LSM asking for registration will be loaded. An invalid security module name will be treated as if no module has been chosen. LSM modules must check now if they are allowed to register by calling security_module_enable(ops) first. Modify SELinux and SMACK to do so. Do not let SMACK register smackfs if it was not chosen on boot. Smackfs assumes that smack hooks are registered and the initial task security setup (swapper->security) is done. Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 04305e4aff8b0533dc05f9f6f1a34d0796bd985f Author: Ahmed S. Darwish Date: Sat Apr 19 09:59:43 2008 +1000 Audit: Final renamings and cleanup Rename the se_str and se_rule audit fields elements to lsm_str and lsm_rule to avoid confusion. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 9d57a7f9e23dc30783d245280fc9907cf2c87837 Author: Ahmed S. Darwish Date: Sat Mar 1 22:03:14 2008 +0200 SELinux: use new audit hooks, remove redundant exports Setup the new Audit LSM hooks for SELinux. Remove the now redundant exported SELinux Audit interface. Audit: Export 'audit_krule' and 'audit_field' to the public since their internals are needed by the implementation of the new LSM hook 'audit_rule_known'. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit d7a96f3a1ae279a2129653d6cb18d722f2f00f91 Author: Ahmed S. Darwish Date: Sat Mar 1 22:01:11 2008 +0200 Audit: internally use the new LSM audit hooks Convert Audit to use the new LSM Audit hooks instead of the exported SELinux interface. Basically, use: security_audit_rule_init secuirty_audit_rule_free security_audit_rule_known security_audit_rule_match instad of (respectively) : selinux_audit_rule_init selinux_audit_rule_free audit_rule_has_selinux selinux_audit_rule_match Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris commit 03d37d25e0f91b28c4b6d002be6221f1af4b19d8 Author: Ahmed S. Darwish Date: Sat Mar 1 22:00:05 2008 +0200 LSM/Audit: Introduce generic Audit LSM hooks Introduce a generic Audit interface for security modules by adding the following new LSM hooks: audit_rule_init(field, op, rulestr, lsmrule) audit_rule_known(krule) audit_rule_match(secid, field, op, rule, actx) audit_rule_free(rule) Those hooks are only available if CONFIG_AUDIT is enabled. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 6b89a74be0fbbc6cc639d5cf7dcf8e6ee0f120a7 Author: Ahmed S. Darwish Date: Sat Mar 1 21:58:32 2008 +0200 SELinux: remove redundant exports Remove the following exported SELinux interfaces: selinux_get_inode_sid(inode, sid) selinux_get_ipc_sid(ipcp, sid) selinux_get_task_sid(tsk, sid) selinux_sid_to_string(sid, ctx, len) They can be substitued with the following generic equivalents respectively: new LSM hook, inode_getsecid(inode, secid) new LSM hook, ipc_getsecid*(ipcp, secid) LSM hook, task_getsecid(tsk, secid) LSM hook, sid_to_secctx(sid, ctx, len) Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 0ce784ca729dce8c9076a6339a15530ca13212f2 Author: Ahmed S. Darwish Date: Sat Mar 1 21:56:22 2008 +0200 Netlink: Use generic LSM hook Don't use SELinux exported selinux_get_task_sid symbol. Use the generic LSM equivalent instead. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Acked-by: David S. Miller Reviewed-by: Paul Moore commit 2a862b32f3da5a2120043921ad301322ad526084 Author: Ahmed S. Darwish Date: Sat Mar 1 21:54:38 2008 +0200 Audit: use new LSM hooks instead of SELinux exports Stop using the following exported SELinux interfaces: selinux_get_inode_sid(inode, sid) selinux_get_ipc_sid(ipcp, sid) selinux_get_task_sid(tsk, sid) selinux_sid_to_string(sid, ctx, len) kfree(ctx) and use following generic LSM equivalents respectively: security_inode_getsecid(inode, secid) security_ipc_getsecid*(ipcp, secid) security_task_getsecid(tsk, secid) security_sid_to_secctx(sid, ctx, len) security_release_secctx(ctx, len) Call security_release_secctx only if security_secid_to_secctx succeeded. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 713a04aeaba35bb95d442cdeb52055498519be25 Author: Ahmed S. Darwish Date: Sat Mar 1 21:52:30 2008 +0200 SELinux: setup new inode/ipc getsecid hooks Setup the new inode_getsecid and ipc_getsecid() LSM hooks for SELinux. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 8a076191f373abaeb4aa5f6755d22e49db98940f Author: Ahmed S. Darwish Date: Sat Mar 1 21:51:09 2008 +0200 LSM: Introduce inode_getsecid and ipc_getsecid hooks Introduce inode_getsecid(inode, secid) and ipc_getsecid(ipcp, secid) LSM hooks. These hooks will be used instead of similar exported SELinux interfaces. Let {inode,ipc,task}_getsecid hooks set the secid to 0 by default if CONFIG_SECURITY is not defined or if the hook is set to NULL (dummy). This is done to notify the caller that no valid secid exists. Signed-off-by: Casey Schaufler Signed-off-by: Ahmed S. Darwish Acked-by: James Morris Reviewed-by: Paul Moore commit 076d8423a98659a92837b07aa494cb74bfefe77c Author: Steve French Date: Fri Apr 18 23:26:26 2008 +0000 [CIFS] Fix UNC path prefix on QueryUnixPathInfo to have correct slash When a share was in DFS and the server was Unix/Linux, we were sending paths of the form \\server\share/dir/file rather than //server/share/dir/file There was some discussion between me and jra over whether we should use /server/share/dir/file as MS sometimes says - but the documentation for this claims it should be doubleslash for this type of UNC-like path format and that works, so leaving it as doubleslash but converting the \ to / in the the //server/share portion. This gets Samba to now correctly return STATUS_PATH_NOT_COVERED when it is supposed to (Windows already did since the direction of the slash was not an issue for them). Still need another minor change to fully enable DFS (need to finish some chages to SMBGetDFSRefer Signed-off-by: Steve French commit d1643d24c61b725bef399cc1cf2944b4c9c23177 Author: Alexey Dobriyan Date: Fri Apr 18 15:43:32 2008 -0700 [NET]: Fix and allocate less memory for ->priv'less netdevices This patch effectively reverts commit d0498d9ae1a5cebac363e38907266d5cd2eedf89 aka "[NET]: Do not allocate unneeded memory for dev->priv alignment." It was found to be buggy because of final unconditional += NETDEV_ALIGN_CONST removal. For example, for sizeof(struct net_device) being 2048 bytes, "alloc_size" was also 2048 bytes, but allocator with debugging options turned on started giving out !32-byte aligned memory resulting in redzones overwrites. Patch does small optimization in ->priv'less case: bumping size to next 32-byte boundary was always done to ensure ->priv will also be aligned. But, no ->priv, no need to do that. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit ba9279519b371340e01cadf4c230e9d52a4bf8c4 Author: Catalin Marinas Date: Fri Apr 18 22:43:17 2008 +0100 Allow the L2X0 outer cache support to be configurable By default, this option was selected by the platform Kconfig. This patch adds "depends on" to L2X0 so that it can be enabled/disabled manually. Signed-off-by: Catalin Marinas commit bc02c58bd13cfaf5a9930d7f2ca4f7d5ed4fa807 Author: Bahadir Balban Date: Fri Apr 18 22:43:16 2008 +0100 RealView: Add the configuration and build changes for PB1176 This patch enables the building of Linux for the PB1176 platform. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 14a6acc23fa49446529bd99742264192939819bc Author: Catalin Marinas Date: Fri Apr 18 22:43:16 2008 +0100 RealView: Add uncompressing support for PB1176 This patch adds the UART0 base address detection in uncompress.h. Signed-off-by: Catalin Marinas commit a0316b244e75d80df3790b69b0a2cb0bbf4c1562 Author: Bahadir Balban Date: Fri Apr 18 22:43:15 2008 +0100 RealView: Base support for the PB1176 platform This patch adds the base files for the PB1176 platform support. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 387847ee0fb258a50032db81e216be4ec1350586 Author: Bahadir Balban Date: Fri Apr 18 22:43:14 2008 +0100 RealView: Add compactflash support for the PB11MPCore platform This patch adds the resource and device definitions for the compact flash. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 78fdcb4287b5781d8175115430ca50e30899bf09 Author: Bahadir Balban Date: Fri Apr 18 22:43:14 2008 +0100 RealView: Enable the configuration options for PB11MPCore This patch adds the PB11MPCore support to the corresponding Kconfig and Makefile to enable building. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 34401ec4668c01156c6c4540930a63840f567a61 Author: Catalin Marinas Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Add uncompressing support to PB11MPCore This patch adds the UART address detection in uncompress.h for the PB11MPCore platform. Signed-off-by: Catalin Marinas commit e67172f5793293370a3ded597742b8d12bd42b82 Author: Catalin Marinas Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Add the SMP initialisation support for PB11MPCore This patch adds the initialisation calls for the SMP support on the PB11MPCore platform. Signed-off-by: Catalin Marinas commit a9b67db504b0c75d21bda801de1a03dd52e91c98 Author: Bahadir Balban Date: Fri Apr 18 22:43:13 2008 +0100 RealView: Base support for the PB11MPCore platform This patch adds the base files for the PB11MPCore platform support. Signed-off-by: Bahadir Balban Signed-off-by: Catalin Marinas commit 51faf9b5c048f9e465322f8256e838586f4c11a7 Author: Catalin Marinas Date: Fri Apr 18 22:43:12 2008 +0100 RealView: Change the IO_ADDRESS macro This patch changes the IO_ADDRESS macro for the RealView platforms to accomodate a wider range of physical addresses on PB11MPCore. Signed-off-by: Catalin Marinas commit 41267e208e3ad5d960284a908c58d4c27cc5857b Author: Catalin Marinas Date: Fri Apr 18 22:43:12 2008 +0100 RealView: Allow ARMv7 support for RealView/EB This patch changes the CPU_V7 configuration dependency to allow MACH_REALVIEW_EB. Signed-off-by: Catalin Marinas commit 393538e6d2ea1afe42c4ae9382cc78ed51a479f9 Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move more device address definitions to board-eb.h The upcoming PB11MPCore and PB1176 have different memory maps and some of the definitions in platform.h are no longer common. This patch moves them to the board-eb.h file and updates their usage in realview_eb.c. Signed-off-by: Catalin Marinas commit 9a386f0651d06002a0468ce4d0e15aaf7c316a3c Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move the UART definitions to EB specific files Since the PB1176 has different UART base addresses, this patch moves the definitions form platorm.h to board-eb.h. It also modifies uncompress.h to detect the platform type at run-time. Signed-off-by: Catalin Marinas commit 80192735e4b01a2e4d437699f2e9b5b93dfab13c Author: Catalin Marinas Date: Fri Apr 18 22:43:11 2008 +0100 RealView: Move the timer definitions into the EB specific files This patch moves the timer definitions from platform.h into board-eb.h as they are different on PB11MPCore and PB1176. It also adds timerX_va_base variables in core.c which are set by the realview_eb_timer_init function before invoking realview_timer_init. Signed-off-by: Catalin Marinas commit a44ddfd5bf5354281eebd0f0ae0d6dcf8818fc5c Author: Catalin Marinas Date: Fri Apr 18 22:43:10 2008 +0100 RealView: Move the flash definitions out of platform.h This patch moves the patch definitions into board-eb.h and realview_eb.c (from core.c) as they are different on the PB11MPCore and PB1176 platforms. Signed-off-by: Catalin Marinas commit 073b6ff3b94c4737c91c45ed0f0c4d40cf1cb1c8 Author: Catalin Marinas Date: Fri Apr 18 22:43:09 2008 +0100 RealView: Move the EB GIC definitions to the board file This is in preparation for the RealView PB11MPCore and PB1176 patches which have different base addresses for the GIC. Signed-off-by: Catalin Marinas commit be4f3c8691492934c8ee03dbecb3a3a865ac6cd6 Author: Catalin Marinas Date: Fri Apr 18 22:43:09 2008 +0100 Add RealView/EB support for the LAN9118 Ethernet chip RealView/EB revD platform comes with the SMSC LAN9118 Ethernet chip. This patch allows either the smc91x or the smc911x drivers to be used with the RealView/EB platform. Signed-off-by: Catalin Marinas commit b7b0ba942f7b18de678cd081902aad8a0b6581c6 Author: Catalin Marinas Date: Fri Apr 18 22:43:08 2008 +0100 RealView: Move the SCU initialisation out of __v6_setup This patch moves the SCU initialisation from __v6_setup to the smp_prepare_cpus() function as it relies on platform-specific settings. Changes to get_core_count() are mainly for allowing cleaner code with the upcoming PB11MPCore patches. Signed-off-by: Catalin Marinas commit cb170a45d69b573a08247acfbbff3b9d6e6e2f8f Author: Paul Brook Date: Fri Apr 18 22:43:08 2008 +0100 Linux Thumb-2 support for user-space applications This patch implements Thumb-2 application support in Linux. Original implementation by Paul Brook with fixes for VFP and Neon by Catalin Marinas. Signed-off-by: Paul Brook Signed-off-by: Catalin Marinas commit 48d7927bdf071d05cf5d15b816cf06b0937cb84f Author: Paul Brook Date: Fri Apr 18 22:43:07 2008 +0100 Add a prefetch abort handler This patch adds a prefetch abort handler similar to the data abort one and renames the latter for consistency. Initial implementation by Paul Brook with some renaming by Catalin Marinas. Signed-off-by: Paul Brook Signed-off-by: Catalin Marinas commit d7f864be8323e5394040e2877594645b0e7da85d Author: Catalin Marinas Date: Fri Apr 18 22:43:06 2008 +0100 ARMv7: Add support for the ThumbEE state saving/restoring This patch adds the detection and handling of the ThumbEE extension on ARMv7 CPUs. Signed-off-by: Catalin Marinas commit d1a4be630fb068f251d64b62919f143c49ca8057 Author: Ingo Molnar Date: Fri Apr 18 21:32:22 2008 +0200 x86 PAT: fix mmap() of holes do not return a -EINVAL when mmap()-ing PCI holes. Signed-off-by: Ingo Molnar Acked-by: Venkatesh Pallipadi Acked-by: Suresh Siddha Acked-by: H. Peter Anvin Acked-by: Thomas Gleixner Acked-by: Arjan van de Ven commit 2cca775baecbfede2fec20c99add709232311fe7 Merge: eddeb0e... 94795b6... Author: Linus Torvalds Date: Fri Apr 18 11:25:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (137 commits) [SCSI] iscsi: bidi support for iscsi_tcp [SCSI] iscsi: bidi support at the generic libiscsi level [SCSI] iscsi: extended cdb support [SCSI] zfcp: Fix error handling for blocked unit for send FCP command [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock [SCSI] zfcp: fix 31 bit compile warnings [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands [SCSI] bsg: remove minor in struct bsg_device [SCSI] bsg: use better helper list functions [SCSI] bsg: replace kobject_get with blk_get_queue [SCSI] bsg: takes a ref to struct device in fops->open [SCSI] qla1280: remove version check [SCSI] libsas: fix endianness bug in sas_ata [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next) [SCSI] aacraid: Do not describe check_reset parameter with its value [SCSI] aacraid: Fix down_interruptible() to check the return value [SCSI] sun3_scsi_vme: add MODULE_LICENSE [SCSI] st: rename flush_write_buffer() [SCSI] tgt: use KMEM_CACHE macro [SCSI] initio: fix big endian problems for auto request sense ... commit eddeb0e2d863e3941d8768e70cb50c6120e61fa0 Merge: 855d854... db8be07... Author: Linus Torvalds Date: Fri Apr 18 11:24:29 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (43 commits) firewire: cleanups firewire: fix synchronization of gap counts firewire: wait until PHY configuration packet was transmitted (fix bus reset loop) firewire: remove unused struct member firewire: use bitwise and to get reg in handle_registers firewire: replace more hex values with defined csr constants firewire: reread config ROM when device reset the bus firewire: replace static ROM cache by allocated cache firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more) firewire: fw-ohci: extend logging of bus generations and node ID firewire: fw-ohci: conditionally log busReset interrupts firewire: fw-ohci: don't append to AT context when it's not active firewire: fw-ohci: log regAccessFail events firewire: fw-ohci: make sure HCControl register LPS bit is set firewire: fw-ohci: missing PPC PMac feature calls in failure path firewire: fw-ohci: untangle a mixed unsigned/signed expression firewire: debug interrupt events firewire: fw-ohci: catch self_id_count == 0 firewire: fw-ohci: add self ID error check firewire: fw-ohci: refactor probe, remove, suspend, resume ... commit 855d854a33fca71cf68bad258bd5e66e5b265d10 Author: James Bottomley Date: Fri Apr 18 13:18:48 2008 -0500 libata: fix boot panic with SATAPI devices on non-SFF HBAs The kernel now panics reliably on boot if you have a SATAPI device connected. The problem was introduced by the libata merge trying to pull out all the SFF code into a separate module. Unfortunately, if you're a satapi device you usually need to call atapi_request_sense, which has a bare invocation of a SFF callback which is NULL on non-SFF HBAs. Fix this by making the call conditional. Signed-off-by: James Bottomley Signed-off-by: Linus Torvalds commit e70aa3fac1ac50c7a75ac676a1489dd1ea3b4be5 Author: Adrian Bunk Date: Sun Apr 13 21:15:52 2008 +0300 mmc: sdio_ops.c should #include "sdio_ops.h" Every file should include the headers containing the externs for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 98b843be56079ad26fe4b9e421fd11b0598b85f3 Author: Adrian Bunk Date: Sun Apr 13 21:15:50 2008 +0300 mmc: proper prototypes for mmc_attach_*() This patch adds proper prototypes for mmc_attach_*() in drivers/mmc/core/core.h Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 261172fd1b23769bc7632047e2cb826c9b8b1a50 Author: Adrian Bunk Date: Sun Apr 13 21:15:47 2008 +0300 mmc: make __mmc_release_bus() static This patch makes the needlessly global __mmc_release_bus() static. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 0b82684c3c19aff092bb303959a31dbe5c965922 Author: Pierre Ossman Date: Sun Apr 13 16:03:38 2008 +0200 sdhci: improve no card, no reset quirk The quirk was meant to just inhibit some resets, but ended up blocking all of them. Fortunately, this was just what was needed. Change the comment to reflect reality. Also, this issue has just been observed on Samsung laptops, so reduce the number of chips the quirk affects. Signed-off-by: Pierre Ossman commit 9d7c6eee523c78b6ea4b56bd3927860d850616e5 Author: Jarkko Lavinen Date: Wed Mar 26 16:10:02 2008 -0400 MMC: OMAP: Do not busy wait for end of command for ever The limit was a fixed 100k limit in the busy loop, which is not accurate. It would better to have time limit for the worst case which occurs when sending 80 cycles at 400 kHz and takes about 200 microseconds, so limit the max time spend in the busy loop for some 250 microseconds. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0f602ec79ac4fd2a42075c5a170086ded439f36d Author: Jarkko Lavinen Date: Wed Mar 26 16:09:58 2008 -0400 MMC: OMAP: Start new commands from work queue instead of irq Use work queues for starting new commands instead of starting them directly from irq handler. The command scheduling needs to be delayed a bit for some cards which should not be done from an interrupt. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0807a9b5739a73ba0d0fcd9f36a51794757be881 Author: Jarkko Lavinen Date: Wed Mar 26 16:09:52 2008 -0400 MMC: OMAP: Lazy clock shutdown MMCA spec says the mmc clock should be kept running for at least 8 cycles after the last RW request. Ensure this with lazy clock disable after a request, or with an explicit delay before switching a slot. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 0fb4723d405111a13bb8f04e902eadf14402c7ba Author: Jarkko Lavinen Date: Wed Mar 26 16:09:48 2008 -0400 MMC: OMAP: Move failing command abortion to workqueue Abort failed command from workqueue rather than from an interrupt, allowing longer delays in abortion. Signed-off-by: Jarkko Lavinen Signed-off-by: Pierre Ossman commit 7584d276d47a55afaeb614ed16cf306cbe2d6117 Author: Jarkko Lavinen Date: Wed Mar 26 16:09:42 2008 -0400 MMC: OMAP: Use tasklet instead of workqueue for cover switch notification The cover waitqueue is occasionally scheduled twice from timer and the interrupt and oops follows. It would have been possible to fix this problem with spinlocks but using tasklet was a dropin solution with no need for locking. This path also adds some cleanups. Signed-off-by: Jarkko Lavinen Signed-off-by: Hiroshi DOYU Signed-off-by: Pierre Ossman commit 8348f0029d85828671e3a1d11db41fe53afbdc0d Author: Kyungmin Park Date: Wed Mar 26 16:09:38 2008 -0400 MMC: OMAP: Check the get_cover_state function pointer if not set If the get_cover_state is not set, it occurs the oops. Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 01e77e13fc5a1e6c00ebb4f688293fa3116315ee Author: Carlos Eduardo Aguiar Date: Wed Mar 26 16:09:34 2008 -0400 MMC: OMAP: Using setup_timer instead of init_timer Using setup_timer() instead of init_timer() on omap.c file. Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit eb1860bccd01a75b20fd7298af89b9cbda2202ba Author: Jarkko Lavinen Date: Wed Mar 26 16:09:29 2008 -0400 MMC: OMAP: Abort stuck commands When a card is removed while it is being accessed, a command can get stuck so that no timeout or end of command interrupt ever occurs. The command getting stuck is almost always CDM12, but also the other commands can get stuck. Catch a stuck command with a timer and try sending the initialization stream until the controller starts running again and responds with the end of command status. Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 2a50b8889b707b9c7bcd09c0ae4cbcef7dca4e29 Author: Juha Yrjola Date: Wed Mar 26 16:09:26 2008 -0400 MMC: OMAP: General cleanup for MMC multislot support General code cleanup, modifications at some dev_* functions and other hacks at mmc_omap_irq() for MMC multislot support. Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 65b5b6e51bdeab1934a147aec41ecea82d3cc31d Author: Juha Yrjola Date: Wed Mar 26 16:09:22 2008 -0400 MMC: OMAP: Power functions modified to MMC multislot support Modifications at power functions to MMC multislot support. This patch also move board-specific code out of MMC OMAP driver. Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit b8f9f0e90a6c3fb999d00301f45bb2213dbe8c00 Author: Juha Yrjola Date: Wed Mar 26 16:09:16 2008 -0400 MMC: OMAP: Fix timeout calculation for MMC multislot support Fix the data timeout calculation for MMC multislot support. Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit a914ded23565d8688e2b7e435916630def5bdd19 Author: Juha Yrjola Date: Wed Mar 26 16:09:12 2008 -0400 MMC: OMAP: New release dma and abort xfer functions New functions to support MMC multislot: mmc_omap_release_dma() and mmc_omap_abort_xfer(). Signed-off-by: Juha Yrjola Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 5a0f3f1f71e0bc4a843673e8e7cf09a32bb07c32 Author: Juha Yrjola Date: Wed Mar 26 16:09:08 2008 -0400 MMC: OMAP: Add back cover switch support This patch adds back MMC cover switch support in a way that supports multiple slots. Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit abfbe5f7854a083ca324282bf7e39f10bc438313 Author: Juha Yrjola Date: Wed Mar 26 16:08:57 2008 -0400 MMC: OMAP: Introduce new multislot structure and change driver to use it Introduce new MMC multislot structure and change driver to use it. Note that MMC clocking is now enabled in mmc_omap_select_slot() and disabled in mmc_omap_release_slot(). Signed-off-by: Juha Yrjola Signed-off-by: Jarkko Lavinen Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 4bc9e35556bf4444014ba65b80abb2fb9f70899a Author: Tony Lindgren Date: Wed Mar 26 16:08:53 2008 -0400 MMC: OMAP: Remove cover switch handling to allow adding multislot support This patch removes the MMC cover switch handling temporarily to make following multislot patches cleaner. MMC cover switch handling will be added back in later patches after adding basic multislot support. Signed-off-by: Tony Lindgren Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit d365abe27db12df25660fe254e09876cea8a9ad8 Author: Francisco Alecrim Date: Wed Mar 26 16:08:48 2008 -0400 MMC: OMAP: Fix the BYTEBLOCK capability removal According with commit 255d01af9a990fd5166f04ed0cc0b30b7b67e81e from Linux-OMAP tree, the BYTEBLOCK capability was removed by Pierre Ossman. MMC_CAP_BYTEBLOCK is not defined causing the compile error: drivers/mmc/host/omap.c: In function `mmc_omap_probe': drivers/mmc/host/omap.c:1077: error: `MMC_CAP_BYTEBLOCK' undeclared (first use in this function) drivers/mmc/host/omap.c:1077: error: (Each undeclared identifier is reported only once drivers/mmc/host/omap.c:1077: error: for each function it appears in.) Signed-off-by: Francisco Alecrim Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit ec2f362a9126237e79a21d5c3cd225f5a07f8e89 Author: Tony Lindgren Date: Wed Mar 26 16:08:45 2008 -0400 MMC: OMAP: Remove extra divisor increase As noted by Kyungmin Park, the divisor calculation has an unnecessary increase. Signed-off-by: Tony Lindgren Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit 5ec21b1ccf554593d25fba0f411c03e1d6fd88c5 Author: Carlos Eduardo Aguiar Date: Wed Mar 26 16:08:41 2008 -0400 MMC: OMAP: Remove some opcodes from host driver This patch removes some opcodes from host driver so there's no need on putting '#include ', that should not be needed in host drivers. Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit 6fee65cfde519ae811c3cde47c622271168ca449 Author: Robert P. J. Day Date: Fri Mar 28 14:34:47 2008 -0700 mmc: use shorter, equivalent set_current_state() Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit 2f730fec83be76f1b3b8f0066b3447f55c50d7a0 Author: Pierre Ossman Date: Mon Mar 17 10:29:38 2008 +0100 sdhci: allow led to be controlled freely Hook up the controller LED to the LED subsystem, allowing more flexible control than simply indicating an ongoing request. Signed-off-by: Pierre Ossman commit b69c9058907642f8e1b32076906755c6623ea060 Author: Pierre Ossman Date: Sat Mar 8 23:44:25 2008 +0100 sdhci: remove custom controller name Remove the use of the sdhci specific device name and use the mmc controller name instead. Signed-off-by: Pierre Ossman commit ff3112f5adcc9dc33c107c826f82017db8f889f5 Author: Pierre Ossman Date: Sat Mar 8 23:43:19 2008 +0100 mmc: set controller name early Reorganise code so that mmc_hostname() works directly after allocation. That way host drivers can use that name for resource allocations and messages during probing. Signed-off-by: Pierre Ossman commit e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48 Merge: ef38ff9... 2309e9e... Author: Linus Torvalds Date: Fri Apr 18 10:15:22 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (64 commits) ocfs2/net: Add debug interface to o2net ocfs2: Only build ocfs2/dlm with the o2cb stack module ocfs2/cluster: Get rid of arguments to the timeout routines ocfs2: Put tree in MAINTAINERS ocfs2: Use BUG_ON ocfs2: Convert ocfs2 over to unlocked_ioctl ocfs2: Improve rename locking fs/ocfs2/aops.c: test for IS_ERR rather than 0 ocfs2: Add inode stealing for ocfs2_reserve_new_inode ocfs2: Add ac_alloc_slot in ocfs2_alloc_context ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits ocfs2: Enable cross extent block merge. ocfs2: Add support for cross extent block ocfs2: Move /sys/o2cb to /sys/fs/o2cb sysfs: Allow removal of symlinks in the sysfs root ocfs2: Reconnect after idle time out. ocfs2/dlm: Cleanup lockres print ocfs2/dlm: Fix lockname in lockres print function ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c ocfs2/dlm: Dumps the purgelist into a debugfs file ... commit ef38ff9d372d4fe69e415370939a0f1fb5783af1 Merge: fda31d7... 62be1f7... Author: Linus Torvalds Date: Fri Apr 18 10:02:46 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (49 commits) [GFS2] fix assertion in log_refund() [GFS2] fix GFP_KERNEL misuses [GFS2] test for IS_ERR rather than 0 [GFS2] Invalidate cache at correct point [GFS2] fs/gfs2/recovery.c: suppress warnings [GFS2] Faster gfs2_bitfit algorithm [GFS2] Streamline quota lock/check for no-quota case [GFS2] Remove drop of module ref where not needed [GFS2] gfs2_adjust_quota has broken unstuffing code [GFS2] possible null pointer dereference fixup [GFS2] Need to ensure that sector_t is 64bits for GFS2 [GFS2] re-support special inode [GFS2] remove gfs2_dev_iops [GFS2] fix file_system_type leak on gfs2meta mount [GFS2] Allow bmap to allocate extents [GFS2] Fix a page lock / glock deadlock [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops [GFS2] gfs2/ops_file.c should #include "ops_inode.h" [GFS2] be*_add_cpu conversion [GFS2] Fix bug where we called drop_bh incorrectly ... commit fda31d7d4b5a9c663ac3ed1ba244018a88deecaf Author: Harvey Harrison Date: Fri Apr 18 09:54:38 2008 -0700 x86: kgdb build fix TF_MASK is no longer defined, use X86_EFLAGS_TF. Signed-off-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 94795b61e84994a3b058f92d041d1fb3d869c7d5 Author: Boaz Harrosh Date: Fri Apr 18 10:11:53 2008 -0500 [SCSI] iscsi: bidi support for iscsi_tcp access the right scsi_in() and/or scsi_out() side of things. also for resid Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c07d444407de63b2f414a8be9428f88cadba503f Author: Boaz Harrosh Date: Fri Apr 18 10:11:52 2008 -0500 [SCSI] iscsi: bidi support at the generic libiscsi level - prepare the additional bidi_read rlength header. - access the right scsi_in() and/or scsi_out() side of things. also for resid. - Handle BIDI underflow overflow from target Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38d1c069db8c87eb6cb10ca1ede9d9b673531ddd Author: Boaz Harrosh Date: Fri Apr 18 10:11:51 2008 -0500 [SCSI] iscsi: extended cdb support Support for extended CDBs in iscsi. All we need is to check if command spills over 16 bytes then allocate an iscsi-extended-header for the leftovers. Signed-off-by: Boaz Harrosh Reviewed-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 57b7658aed76f1763416878ead9be4ffa288b7a3 Author: Christof Schmitt Date: Fri Apr 18 12:51:57 2008 +0200 [SCSI] zfcp: Fix error handling for blocked unit for send FCP command In the case the unit is blocked, zfcp_unit_get has not been called yet, so the error handling path should not call zfcp_unit_put. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 6071d7ec36054e78f02f7d5a66c3784aeb65ce92 Author: Christof Schmitt Date: Fri Apr 18 12:51:56 2008 +0200 [SCSI] zfcp: Remove zfcp_erp_wait from slave destory handler to fix deadlock The testcase # chchp -v 0 0.da && sleep 59 && chchp -v 1 0.da results in this deadlock situation: STACK TRACE FOR TASK: 0x7e9a2048 (zfcperp0.0.c613) 0 schedule+816 [0x356b3c] 1 schedule_timeout+172 [0x357340] 2 wait_for_common+192 [0x3565fc] 3 flush_cpu_workqueue+116 [0x52af0] 4 flush_workqueue+116 [0x533b8] 5 fc_remote_port_add+64 [0x1c83ec] 6 zfcp_erp_thread+4534 [0x26585a] 7 kernel_thread_starter+6 [0x195d2] STACK TRACE FOR TASK: 0x7f8ec048 (fc_wq_0) 0 schedule+816 [0x356b3c] 1 zfcp_erp_wait+104 [0x264568] 2 zfcp_scsi_slave_destroy+64 [0x261b24] 3 __scsi_remove_device+154 [0x1c24ba] 4 scsi_remove_device+62 [0x1c2512] 5 __scsi_remove_target+198 [0x1c25ea] 6 __remove_child+58 [0x1c26d6] 7 device_for_each_child+66 [0x1ab566] 8 scsi_remove_target+98 [0x1c268a] 9 run_workqueue+200 [0x5272c] 10 worker_thread+146 [0x52882] 11 kthread+140 [0x58360] 12 kernel_thread_starter+6 [0x195d2] Remove the zfcp_erp_wait call that is not required here to prevent the deadlock situation. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 1f6f7129ebac007629b28764bfa5147817682692 Author: Martin Peschke Date: Fri Apr 18 12:51:55 2008 +0200 [SCSI] zfcp: fix 31 bit compile warnings drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_rscn’: drivers/s390/scsi/zfcp_aux.c:1379: warning: cast from pointer to integer of different size drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_plogi’: drivers/s390/scsi/zfcp_aux.c:1432: warning: cast from pointer to integer of different size drivers/s390/scsi/zfcp_aux.c: In function ‘zfcp_fsf_incoming_els_logo’: drivers/s390/scsi/zfcp_aux.c:1457: warning: cast from pointer to integer of different size .. Just passing pointers rids us of these warnings and improves readability. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 440fc172ae333c52c458401fe059afcc6e91eebf Author: Paul Mundt Date: Wed Apr 9 17:58:22 2008 +0900 sh: Fix up L2 cache probe. SH7723 is the first hard silicon to implement the L2, and unsurprisingly, does the precise inverse of what the specification alleges. XOR the URAM/L2 size bits to get back in line with the existing parsing logic. Signed-off-by: Paul Mundt commit e5a4c65bef19366112ba002bc06d87450f02ad74 Author: Paul Mundt Date: Wed Apr 9 17:57:05 2008 +0900 sh: Fix up SH-4A part probe. The SH-4A series probe we were relying on doesn't work any more on the newer parts, bump this up to use CVR.CHIP instead so we have consistent behaviour across all of the parts, which is what this should have been testing in the first place. Signed-off-by: Paul Mundt commit 178dd0cd28168287a0be6444a7eef8918b6c544e Author: Paul Mundt Date: Wed Apr 9 17:56:18 2008 +0900 sh: Add support for SH7723 CPU subtype. This adds basic support for the SH7723 MobileR2 CPU. Signed-off-by: Paul Mundt commit 47aa8f493f94c6f60ebc5aa70eec90cc83f499f3 Author: Paul Mundt Date: Wed Apr 9 17:53:11 2008 +0900 sh: Fix up SH7763 build. Signed-off-by: Paul Mundt commit 67908abf02fb83dee1730adf70d9e31367119190 Author: Magnus Damm Date: Tue Mar 25 17:30:45 2008 +0900 sh: Add migor_ts support to MigoR Add support for the migor_ts touch panel to the MigoR board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 577958671eadf5ab1deed66f99cdbe67b502ea66 Author: Magnus Damm Date: Tue Mar 25 17:24:31 2008 +0900 sh: Add rs5c732b RTC support to MigoR Add support for the rs5c372b RTC chip to MigoR. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0c6111ecccb33b1a7d79b6daf64c0cc4391ff3fa Author: Magnus Damm Date: Tue Mar 25 17:20:24 2008 +0900 sh: Add I2C support to MigoR Enable the sh7722 I2C controller on the MigoR board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef1b2327d27901596d896820722bb2cefa2d1f64 Author: Magnus Damm Date: Tue Mar 25 17:14:03 2008 +0900 sh: Add I2C platform data to sh7722 Add platform data for the SuperH Mobile I2C block to sh7722. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3c803a9a676c30e87b49f9cfcfd29713bc438552 Author: Magnus Damm Date: Fri Mar 21 18:44:04 2008 +0900 sh: MigoR NAND flash support using gen_flash Add NAND flash support to the MigoR board by giving board specific data to the gen_nand platform driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b8808786e85a71afb1a169b5f059666c666f08d8 Author: Magnus Damm Date: Fri Mar 21 18:43:55 2008 +0900 sh: MigoR NOR flash support using physmap-flash Add NOR flash support to the MigoR board by giving board specific data to the physmap-flash platform driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8ed6dfdd0900dfd6ddc7ba3c766a80f7b88911c9 Author: Paul Mundt Date: Tue Mar 25 16:49:53 2008 +0900 sh: Fix up mach-types formatting from merge damage. Signed-off-by: Paul Mundt commit c2933965de89a60688d51c810d535c1f2cce8448 Author: Paul Mundt Date: Tue Mar 25 16:49:30 2008 +0900 sh: r7780rp: Hook up the I2C and SMBus platform devices. Signed-off-by: Paul Mundt commit b026a23c07d1bf21188c57e90118782c58db6061 Author: Magnus Damm Date: Fri Mar 21 18:43:46 2008 +0900 sh: Use phyical addresses for MigoR smc91x resources Use physical addresses and change resource name of MigoR ethernet chip. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a0d29798e568116aa6c32aef7bab2d9e620c88ad Author: Magnus Damm Date: Fri Mar 21 18:43:28 2008 +0900 sh: Use physical addresses for sh7722 USBF resources Use physical addresses and change resource name to follow data sheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9db913c3a62a66517def9cb973bbaa45a2739018 Author: Magnus Damm Date: Fri Mar 21 18:43:19 2008 +0900 sh: Add MigoR header file This patch adds a MigoR specific header file. We may want to use a cpu specific header file instead, but this will do for now. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6dea7814e1c6a27701a63b271fc580791e066537 Author: Magnus Damm Date: Fri Mar 21 20:14:46 2008 +0900 Fix sh_keysc double free Avoid double free situation from happening by removing input_free_device() after input_unregister_device(). Suggested by Dmitry Torokhov. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9460c0ce9b29825d279081d5078815a32c268ada Author: Paul Mundt Date: Fri Mar 21 18:08:58 2008 +0900 sh: Fix up __access_ok() check for nommu. Presently this only checks to see if an address is an RAM, but this doesn't work with XIP, so just always return 1. Follows m68knommu. Signed-off-by: Paul Mundt commit 5c0cbd74bb56aeb7f3de883ab79c5f501622ccb1 Author: Paul Mundt Date: Fri Mar 21 18:07:04 2008 +0900 sh: Allow optimized clear/copy page routines to be used on SH-2. Presently these are restricted to SH-3 and SH-4, so we reorder the ifdefs a bit to let other parts use these also. Signed-off-by: Paul Mundt commit 2163b4cb01cd79cd1291696fc4636740026d61cb Author: Paul Mundt Date: Fri Mar 21 18:05:47 2008 +0900 sh: Hook up the rest of the SH7770 serial ports. Signed-off-by: Paul Mundt commit 6e862995a07629858bfa16e0991a258de35007f3 Author: Yoshihiro Shimoda Date: Fri Mar 21 15:54:13 2008 +0900 sh: Add support for Solution Engine SH7721 board Add support for Solution Engine SH7721 board(MS7721RP01). Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit d391c6217d3214bd8278e1e3517ef57abbc4b317 Author: Masayuki Hosokawa Date: Fri Mar 21 13:38:00 2008 +0900 sh: Hook up remaining IRQ sources for R7780MP FPGA. Signed-off-by: Masayuki Hosokawa Signed-off-by: Paul Mundt commit 2ad699080bbe3a88d17a1ff11e5575b76850174f Author: Paul Mundt Date: Thu Mar 13 12:52:44 2008 +0900 sh: Initial support for the MX-G CPU. Signed-off-by: Paul Mundt commit b9e393c2babb8b6956de52fc580b7c23f3629232 Author: Paul Mundt Date: Fri Mar 7 17:19:58 2008 +0900 sh: Create an sh debugfs root. Signed-off-by: Paul Mundt commit b420b1a7a17ea88531d0e12b2f2679a0c8365803 Author: Angelo Castello Date: Thu Mar 6 12:50:53 2008 +0900 rtc: rtc-sh: Add support for periodic IRQs. This adds support for periodic IRQs to the rtc-sh driver. RTC_IRQP_READ/RTC_IRQP_SET are added, with a number of other fixes and reordering across the rest of the code. Signed-off-by: Angelo Castello Signed-off-by: Giuseppe Cavallaro Signed-off-by: Paul Mundt commit 90fce7f4fb98c4256976aaa89b4453a544d74fd4 Author: Magnus Damm Date: Tue Mar 4 15:23:46 2008 -0800 sh: SuperH KEYSC keypad data for Solution Engine 7722 Add KEYSC platform data for the Solution Engine 7722 board. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 92cfeb610d1da059b395501142915fadaa1625bf Author: Magnus Damm Date: Tue Mar 4 15:23:45 2008 -0800 sh: SuperH KEYSC keypad data for MigoR Add KEYSC platform data for the sh7722 MigoR board. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 795e6bf33561ff03e253a6a756d5eb663b4a56bd Author: Magnus Damm Date: Tue Mar 4 15:23:45 2008 -0800 sh: SuperH KEYSC platform driver Add a platform driver for the SuperH KEYSC block. The driver expects to get mode, timing information and keypad layout from the board code as platform data. The board code is resonsible for pin configuration. Both sh7343 and sh7722 should be supported, but only the sh7722 processor has been tested so far. SH_KEYSC_MODE_3 is yet to be tested. Signed-off-by: Magnus Damm Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 99773aab0377ee5bcaf37b7cd2577c3465422dab Author: FUJITA Tomonori Date: Mon Mar 31 10:03:42 2008 +0900 [SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands Before bsg_complete_all_commands is called, BSG_F_BLOCK bit is always set. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 842ea771c38a3f0f78bdb1b4d47881e6a210fc15 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:41 2008 +0900 [SCSI] bsg: remove minor in struct bsg_device minor in struct bsg_device is used as identifier to find the corresponding struct bsg_device_class. However, request_queuse can be used as identifier for that and the minor in struct bsg_device is unnecessary. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:40 2008 +0900 [SCSI] bsg: use better helper list functions This replace hlist_for_each and list_entry with hlist_for_each_entry and list_first_entry respectively. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42 Author: FUJITA Tomonori Date: Mon Mar 31 10:03:39 2008 +0900 [SCSI] bsg: replace kobject_get with blk_get_queue Both takes a ref to a queue. But blk_get_queue checks QUEUE_FLAG_DEAD and is more appropriate interface here. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit d45ac4fa8f277e1ec5acfb67ce5d6406555760cf Author: FUJITA Tomonori Date: Mon Mar 31 10:03:38 2008 +0900 [SCSI] bsg: takes a ref to struct device in fops->open bsg_register_queue() takes a ref to struct device that a caller passes. For example, bsg takes a ref to the sdev_gendev for scsi devices. However, bsg doesn't inrease the refcount in fops->open. So while an application opens a bsg device, the scsi device that the bsg device holds can go away (bsg also takes a ref to a queue, but it doesn't prevent the device from going away). With this patch, bsg increases the refcount of struct device in fops->open and decreases it in fops->release. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4786b4ee22de6304e841b12ee22b849230d7fba3 Merge: 253ba4e... 71b264f... Author: Linus Torvalds Date: Fri Apr 18 09:44:55 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (27 commits) [IA64] kdump: Add crash_save_vmcoreinfo for INIT [IA64] Fix NUMA configuration issue [IA64] Itanium Spec updates [IA64] Untangle sync_icache_dcache() page size determination [IA64] arch/ia64/kernel/: use time_* macros [IA64] remove redundant display of free swap space in show_mem() [IA64] make IOMMU respect the segment boundary limits [IA64] kprobes: kprobe-booster for ia64 [IA64] fix getpid and set_tid_address fast system calls for pid namespaces [IA64] Replace explicit jiffies tests with time_* macros. [IA64] use goto to jump out do/while_each_thread [IA64] Fix unlock ordering in smp_callin [IA64] pgd_offset() constfication. [IA64] kdump: crash.c coding style fix [IA64] kdump: add kdump_on_fatal_mca [IA64] Minimize per_cpu reservations. [IA64] Correct pernodesize calculation. [IA64] Kernel parameter for max number of concurrent global TLB purges [IA64] Multiple outstanding ptc.g instruction support [IA64] Implement smp_call_function_mask for ia64 ... commit 2302aca8508ee727a0c5edde3a7518a4ee03da1b Author: Steve French Date: Fri Apr 18 16:40:32 2008 +0000 [CIFS] Reserve new proxy cap for WAFS New WAFS filer uses ioctls which are shown to be available on a share by querying this info level Acked-by: Sam Liddicott Signed-off-by: Stevef French commit 2309e9e040fe29469fb85a384636c455b62fe525 Author: Sunil Mushran Date: Mon Apr 14 10:46:19 2008 -0700 ocfs2/net: Add debug interface to o2net This patch exposes o2net information via debugfs. The information includes the list of sockets (sock_containers) as well as the list of outstanding messages (send_tracking). Useful for o2dlm debugging. (This patch is derived from an earlier one written by Zach Brown that exposed the same information via /proc.) [Mark: checkpatch fixes] Signed-off-by: Sunil Mushran Reviewed-by: Joel Becker Signed-off-by: Mark Fasheh commit 93b06edb5127315473d87e075b2b1d1acf74659c Author: Mark Fasheh Date: Fri Apr 4 12:45:55 2008 -0700 ocfs2: Only build ocfs2/dlm with the o2cb stack module fs/ocfs2/dlm/ocfs2_dlm.ko and fs/ocfs2/dlm/ocfs2_dlmfs.ko get built if CONFIG_FS_OCFS2 is specified. This isn't quite how it should happen any more - the "o2cb" dlm modules should only be built if CONFIG_FS_OCFS2_O2CB is set, so update the dlm Makefile accordingly. Signed-off-by: Mark Fasheh Acked-by: Randy Dunlap Acked-by: Joel Becker commit 409753bf6da4a2db038027471abaf324e063db2f Author: Jeff Mahoney Date: Fri Mar 28 16:44:13 2008 -0700 ocfs2/cluster: Get rid of arguments to the timeout routines We keep seeing bug reports related to NULL pointer derefs in o2net_set_nn_state(). When I originally wrote up the configurable timeout patch, I had tried to plan for multiple clusters. This was silly. The timeout routines all use o2nm_single_cluster so there's no point in passing an argument at all. This patch removes the arguments and kills those bugs dead. Signed-off-by: Jeff Mahoney Signed-off-by: Mark Fasheh commit dda47bce91b8624ef0806f7f8157ffc91e153c9d Author: Joel Becker Date: Sat Mar 22 22:08:07 2008 -0700 ocfs2: Put tree in MAINTAINERS The ocfs2 MAINTAINERS entry should have the git tree URL. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b1f3550fa1471b691ad6c2f35b5b22e93eaa5855 Author: Julia Lawall Date: Tue Mar 4 15:21:05 2008 -0800 ocfs2: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit c9ec14884d69a303eef4faae42bd3c4e25b19941 Author: Andi Kleen Date: Sun Jan 27 03:17:17 2008 +0100 ocfs2: Convert ocfs2 over to unlocked_ioctl As far as I can see there is nothing in ocfs2_ioctl that requires the BKL, so use unlocked_ioctl Signed-off-by: Andi Kleen Signed-off-by: Mark Fasheh commit 5dabd69515765156605b09261abf969236a77803 Author: Jan Kara Date: Thu Feb 21 18:00:00 2008 +0100 ocfs2: Improve rename locking ocfs2_rename() was being too aggressive with the rename lock - we only need it for certain forms of directory rename. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 58dadcdbc2584db050969f9781727fc5a3f618db Author: Julia Lawall Date: Fri Mar 28 14:43:10 2008 -0700 fs/ocfs2/aops.c: test for IS_ERR rather than 0 The function ocfs2_start_trans always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit 4d0ddb2ce25db2254d468233d942276ecf40bff8 Author: Tao Ma Date: Wed Mar 5 16:11:46 2008 +0800 ocfs2: Add inode stealing for ocfs2_reserve_new_inode Inode allocation is modified to look in other nodes allocators during extreme out of space situations. We retry our own slot when space is freed back to the global bitmap, or whenever we've allocated more than 1024 inodes from another slot. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit a4a4891164d4f6f383cc17e7c90828a7ca6a1146 Author: Tao Ma Date: Mon Mar 3 17:12:30 2008 +0800 ocfs2: Add ac_alloc_slot in ocfs2_alloc_context In inode stealing, we no longer restrict the allocation to happen in the local node. So it is neccessary for us to add a new member in ocfs2_alloc_context to indicate which slot we are using for allocation. We also modify the process of local alloc so that this member can be used there also. Signed-off-by: Tao Ma Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit ffda89a3bf3b968bdc268584c6bc1da5c173cf12 Author: Tao Ma Date: Mon Mar 3 17:12:09 2008 +0800 ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits In some cases(Inode stealing from other nodes), we may not want ocfs2_reserve_suballoc_bits to allocate new groups from the global_bitmap since it may already be full. So add a new parameter for this. Signed-off-by: Tao Ma Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit ad5a4d7093a76fa245e277e6f0f0e168a08aeff7 Author: Tao Ma Date: Wed Jan 30 14:21:32 2008 +0800 ocfs2: Enable cross extent block merge. In ocfs2_figure_merge_contig_type, we judge whether there exists a cross extent block merge and enable it by setting CONTIG_LEFT and CONTIG_RIGHT accordingly. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 677b975282e48d1818df4181336307377d56b04e Author: Tao Ma Date: Wed Jan 30 14:21:05 2008 +0800 ocfs2: Add support for cross extent block In ocfs2_merge_rec_left, when we find the merge extent is "CONTIG_RIGHT" with the first extent record of the next extent block, we will merge it to the next extent block and change all the related extent blocks accordingly. In ocfs2_merge_rec_right, when we find the merge extent is "CONTIG_LEFT" with the last extent record of the previous extent block, we will merge it to the prevoius extent block and change all the related extent blocks accordingly. As for CONTIG_LEFTRIGHT, we will handle CONTIG_RIGHT first so that when the index is zero, the merge process will be more efficient and easier. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 52f7c21b613f80cb425d115c9e5b4ed958a133c0 Author: Mark Fasheh Date: Tue Jan 29 17:08:26 2008 -0800 ocfs2: Move /sys/o2cb to /sys/fs/o2cb /sys/fs is where we really want file system specific sysfs objects. Ocfs2-tools has been updated to look in /sys/fs/o2cb. We can maintain backwards compatibility with old ocfs2-tools by using a sysfs symlink. After some time (2 years), the symlink can be safely removed. This patch also adds documentation to make it easier for people to figure out what /sys/fs/o2cb is used for. Signed-off-by: Mark Fasheh commit a839c5afcdc345aecb35b0d3bcd0e09b571329c3 Author: Mark Fasheh Date: Tue Jan 29 14:35:18 2008 -0800 sysfs: Allow removal of symlinks in the sysfs root Allow callers of sysfs_remove_link() to pass a NULL kobj, in which case sysfs_root will be used as the parent directory. This allows us to tear down top level symlinks created via sysfs_create_link(), which already has similar handling of a NULL parent object. Signed-off-by: Mark Fasheh Acked-by: Greg Kroah-Hartman commit 5cc3bf2786f63cceb191c3c02ddd83c6f38a7d64 Author: Tao Ma Date: Wed Mar 5 15:50:12 2008 +0800 ocfs2: Reconnect after idle time out. Currently, o2net connects to a node on hb_up and disconnects on hb_down and net timeout. It disconnects on net timeout is ok, but it should attempt to reconnect back. This is because sometimes nodes get overloaded enough that the network connection breaks but the disk hb does not. And if we get into that situation, we either fence (unnecessarily) or wait for its disk hb to die (and sometimes hang in the process). So in this updated scheme, when the network disconnects, we keep attempting to reconnect till we succeed or we get a disk hb down event. If the other node is really dead, then we will eventually get a node down event. If not, we should be able to connect again and continue. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 8f50eb978935431ccbf89b0344efd4ce6a924875 Author: Sunil Mushran Date: Fri Mar 14 11:18:24 2008 -0700 ocfs2/dlm: Cleanup lockres print A previous patch added KERN_NOTICE to printks printing the lockres that cluttered the output. This patch removes the log level. For people concerned with syslog clutter, please note we now use this facility to print lockres only during an error. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit c834cdb15702dd0147875b352cc7d4df93d7d900 Author: Sunil Mushran Date: Mon Mar 10 15:16:29 2008 -0700 ocfs2/dlm: Fix lockname in lockres print function __dlm_print_one_lock_resource was printing lockname incorrectly. Also, we now use printk directly instead of mlog as the latter prints the line context which is not useful for this print. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e5a0334cbd65e27f8dfd9985aa805874fe59e879 Author: Sunil Mushran Date: Mon Mar 10 15:16:28 2008 -0700 ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c This patch helps in consolidating debugging related functions in dlmdebug.c. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 7209300a9b987e017cae2ef9d7ef55b0fdd71869 Author: Sunil Mushran Date: Mon Mar 10 15:16:27 2008 -0700 ocfs2/dlm: Dumps the purgelist into a debugfs file This patch dumps all the lockres' on the purgelist it can fit in one page into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d0129aceaecc2b1f5171b8e8036eb469b6e0fe81 Author: Sunil Mushran Date: Mon Mar 10 15:16:26 2008 -0700 ocfs2/dlm: Dumps the mles into a debugfs file This patch dumps all mles it can fit in one page into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 751155a953e1fe558d3d3c3db7087712ffc15c3e Author: Sunil Mushran Date: Mon Mar 10 15:16:25 2008 -0700 ocfs2/dlm: Move struct dlm_master_list_entry to dlmcommon.h This patch moves some mle related definitions from dlmmaster.c to dlmcommon.h. Future patches need these definitions to dump mle debugging information. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4e3d24ed1a1285fe3289653aacc965642706bacb Author: Sunil Mushran Date: Mon Mar 10 15:16:24 2008 -0700 ocfs2/dlm: Dumps the lockres' into a debugfs file This patch dumps all the lockres' alongwith all the locks into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 007dce53a29ccffc000ab5373d188f73881390fd Author: Sunil Mushran Date: Mon Mar 10 15:16:23 2008 -0700 ocfs2/dlm: Dump the dlm state in a debugfs file This patch dumps the dlm state (dlm_ctxt) into a debugfs file. Useful for debugging. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6325b4a22b8f5e40ea9353288b3d6a32181f9718 Author: Sunil Mushran Date: Mon Mar 10 15:16:22 2008 -0700 ocfs2/dlm: Create debugfs dirs This patch creates the debugfs directories that will hold the files to be used to dump the dlm state. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 29576f8bb54045be944ba809d4fca1ad77c94165 Author: Sunil Mushran Date: Mon Mar 10 15:16:21 2008 -0700 ocfs2/dlm: Link all lockres' to a tracking list This patch links all the lockres' to a tracking list in dlm_ctxt. We will use this in an upcoming patch that will walk the entire list and to dump the lockres states to a debugfs file. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 724bdca9b8449d9ee5f779dc27ee3d906a04508c Author: Sunil Mushran Date: Mon Mar 10 15:16:20 2008 -0700 ocfs2/dlm: Create slabcaches for lock and lockres This patch makes the o2dlm allocate memory for lockres, lockname and lock structures from slabcaches rather than kmalloc. This allows us to not only make these allocs more efficient but also allows us to track the memory being consumed by these structures. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 12eb0035d6f0466038ef2c6e5f6f9296b9b74d91 Author: Sunil Mushran Date: Mon Mar 10 15:16:19 2008 -0700 ocfs2/dlm: Rename slabcache dlm_mle_cache to o2dlm_mle This patch renames dlm_mle_slabcache to prevent namespace clashes with fs/dlm. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 53f67e33865927049b20839ce15ce0fb5b7ebe2d Author: Joel Becker Date: Mon Mar 31 16:22:55 2008 -0700 ocfs2: Document /sys/fs/ocfs2 Add ABI documentation for these files: /sys/fs/ocfs2/max_locking_protocol /sys/fs/ocfs2/loaded_cluster_plugins /sys/fs/ocfs2/active_cluster_plugin /sys/fs/ocfs2/cluster_stack Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9341d22942d63d6a1e4cc90f246980dbb7e1ca94 Author: Joel Becker Date: Tue Mar 4 17:58:56 2008 -0800 ocfs2: Allow selection of cluster plug-ins. ocfs2 now supports plug-ins for the classic O2CB stack as well as userspace cluster stacks in conjunction with fs/dlm. This allows zero, one, or both of the plug-ins to be selected in Kconfig. For local mounts (non-clustered), neither plug-in is needed. Both plugins can be loaded at one time, the runtime will select the one needed for the cluster systme in use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b92eccdd28e1e3870a5b2aa625282c9ae8e35cec Author: Joel Becker Date: Wed Nov 28 14:53:30 2007 -0800 ocfs2: Add kbuild for ocfs2_stack_user.ko Add ocfs2_stack_user.ko to the Makefile so that it builds. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8f318311faf57481452895448e6ffaec7c38a146 Author: Joel Becker Date: Tue Mar 4 16:09:39 2008 -0800 ocfs2: Change mlog_bug_on to BUG_ON in ocfs2_lockid.h The masklog code is in the o2cb stack, but ocfs2_lockid.h now needs to be included by the user stack. The BUG() in ocfs2_lock_type_string() does not need masklog support, so change it to a regular BUG_ON(). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit cf4d8d75d8aba537a19b313a9364fd08ddbd5622 Author: David Teigland Date: Wed Feb 20 14:29:27 2008 -0800 ocfs2: add fsdlm to stackglue Add code to use fs/dlm. [ Modified to be part of the stack_user module -- Joel ] Signed-off-by: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d4b95eef4dc4a59bcd42bdf783638a2eaa57b4c8 Author: Joel Becker Date: Wed Feb 20 15:39:44 2008 -0800 ocfs2: Add the 'set version' message to the ocfs2_control device. The "SETV" message sets the filesystem locking protocol version as negotiated by the client. The client negotiates based on the maximum version advertised in /sys/fs/ocfs2/max_locking_protocol. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3cfd4ab6b6b4bee2035b62e1c293801c3d257502 Author: Joel Becker Date: Wed Feb 20 14:44:34 2008 -0800 ocfs2: Add the local node id to the handshake. This is the second part of the ocfs2_control handshake. After negotiating the ocfs2_control protocol, the daemon tells the filesystem what the local node id is via the SETN message. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit de870ef02295c9f5601dbf2efdc1be6df44b187b Author: Joel Becker Date: Mon Feb 18 17:07:09 2008 -0800 ocfs2: Introduce the DOWN message to ocfs2_control When the control daemon sees a node go down, it sends a DOWN message through the ocfs2_control device. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 462c7e6a257e547eebe1648396cf7c45e684091b Author: Joel Becker Date: Mon Feb 18 19:40:12 2008 -0800 ocfs2: Start the ocfs2_control handshake. When a control daemon opens the ocfs2_control device, it must perform a handshake to tell the filesystem it is something capable of monitoring cluster status. Only after the handshake is complete will the filesystem allow mounts. This is the first part of the handshake. The daemon reads all supported ocfs2_control protocols, then writes in the protocol it will use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6427a727557d9c964b7b162ae11bb156e2c501d5 Author: Joel Becker Date: Mon Feb 18 19:23:28 2008 -0800 ocfs2: Add the ocfs2_control misc device. The ocfs2_control misc device is how a userspace control daemon (controld) talks to the filesystem. Introduce the bare-bones filesystem ops. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8adf0536c9fb578a8542dcf81104d3438a5287e4 Author: Joel Becker Date: Wed Nov 28 14:38:40 2007 -0800 ocfs2: Add the user stack module. Add a skeleton for the stack_user module. It's just the barebones module code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9c6c877c04ce17d76a35d2173d3a3840d6b796a2 Author: Joel Becker Date: Fri Feb 1 15:17:30 2008 -0800 ocfs2: Add the 'cluster_stack' sysfs file. Userspace can now query and specify the cluster stack in use via the /sys/fs/ocfs2/cluster_stack file. By default, it is 'o2cb', which is the classic stack. Thus, old tools that do not know how to modify this file will work just fine. The stack cannot be modified if there is a live filesystem. ocfs2_cluster_connect() now takes the expected cluster stack as an argument. This way, the filesystem and the stack glue ensure they are speaking to the same backend. If the stack is 'o2cb', the o2cb stack plugin is used. For any other value, the fsdlm stack plugin is selected. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b61817e1166c5e19c08baf05196477cc345e1b1a Author: Joel Becker Date: Fri Feb 1 15:08:23 2008 -0800 ocfs2: Add the USERSPACE_STACK incompat bit. The filesystem gains the USERSPACE_STACK incomat bit and the s_cluster_info field on the superblock. When a userspace stack is in use, the name of the stack is stored on-disk for mount-time verification. The "cluster_stack" option is added to mount(2) processing. The mount process needs to pass the matching stack name. If the passed name and the on-disk name do not match, the mount is failed. When using the classic o2cb stack, the incompat bit is *not* set and no mount option is used other than the usual heartbeat=local. Thus, the filesystem is compatible with older tools. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 74ae4e104dfc57017783fc07d5f2f9129062207f Author: Joel Becker Date: Thu Jan 31 23:56:17 2008 -0800 ocfs2: Create stack glue sysfs files. Introduce a set of sysfs files that describe the current stack glue state. The files live under /sys/fs/ocfs2. The locking_protocol file displays the version of ocfs2's locking code. The loaded_cluster_plugins file displays all of the currently loaded stack plugins. When filesystems are mounted, the active_cluster_plugin file will display the plugin in use. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 286eaa95c5c5915a6b72cc3f0a2534161fd7928b Author: Joel Becker Date: Fri Feb 1 15:03:57 2008 -0800 ocfs2: Break out stackglue into modules. We define the ocfs2_stack_plugin structure to represent a stack driver. The o2cb stack code is split into stack_o2cb.c. This becomes the ocfs2_stack_o2cb.ko module. The stackglue generic functions are similarly split into the ocfs2_stackglue.ko module. This module now provides an interface to register drivers. The ocfs2_stack_o2cb driver registers itself. As part of this interface, ocfs2_stackglue can load drivers on demand. This is accomplished in ocfs2_cluster_connect(). ocfs2_cluster_disconnect() is now notified when a _hangup() is pending. If a hangup is pending, it will not release the driver module and will let _hangup() do that. Signed-off-by: Joel Becker commit e3dad42bf993a0f24eb6e46152356c9b119c15e8 Author: Joel Becker Date: Fri Feb 1 15:02:36 2008 -0800 ocfs2: Create ocfs2_stack_operations and split out the o2cb stack. Define the ocfs2_stack_operations structure. Build o2cb_stack_ops from all of the o2cb-specific stack functions. Change the generic stack glue functions to call the stack_ops instead of the o2cb functions directly. The o2cb functions are moved to stack_o2cb.c. The headers are cleaned up to where only needed headers are included. In this code, stackglue.c and stack_o2cb.c refer to some shared extern variables. When they become modules, that will change. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 553aa7e408eac402c00b67ddfa7aec13fe1f3a33 Author: Joel Becker Date: Fri Feb 1 14:51:03 2008 -0800 ocfs2: Split o2cb code from generic stack functions. Split off the o2cb-specific funtionality from the generic stack glue calls. This is a precurser to wrapping the o2cb functionality in an operations vector. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50 Author: Joel Becker Date: Wed Jan 30 16:58:36 2008 -0800 ocfs2: Clean up stackglue initialization The stack glue initialization function needs a better name so that it can be used cleanly when stackglue becomes a module. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit cf0acdcd640e9466059e69951c557e90b4bee45a Author: Joel Becker Date: Tue Jan 29 16:59:55 2008 -0800 ocfs2: Abstract out a debugging function for underlying dlms. dlmglue.c was still referencing a raw o2dlm lksb in one instance. Let's create a generic ocfs2_dlm_dump_lksb() function. This allows underlying DLMs to print whatever they want about their lock. We then move the o2dlm dump into stackglue.c where it belongs. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1693a5c0117f8ccd010a666f97aaf0f14fb0a0e4 Author: David Teigland Date: Wed Jan 30 16:52:53 2008 -0800 ocfs2: handle async EAGAIN from NOQUEUE request When using fsdlm, -EAGAIN is returned in the async callback for NOQUEUE requests. Fix up dlmglue to expect this. Signed-off-by: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit de551246e7bc5558371c3427889a8db1b8cc60f4 Author: Joel Becker Date: Fri Feb 1 14:45:08 2008 -0800 ocfs2: Remove CANCELGRANT from the view of dlmglue. o2dlm has the non-standard behavior of providing a cancel callback (unlock_ast) even when the cancel has failed (the locking operation succeeded without canceling). This is called CANCELGRANT after the status code sent to the callback. fs/dlm does not provide this callback, so dlmglue must be changed to live without it. o2dlm_unlock_ast_wrapper() in stackglue now ignores CANCELGRANT calls. Because dlmglue no longer sees CANCELGRANT, ocfs2_unlock_ast() no longer needs to check for it. ocfs2_locking_ast() must catch that a cancel was tried and clear the cancel state. Making these changes opens up a locking race. dlmglue uses the the OCFS2_LOCK_BUSY flag to ensure only one thread is calling the dlm at any one time. But dlmglue must unlock the lockres before calling into the dlm. In the small window of time between unlocking the lockres and calling the dlm, the downconvert thread can try to cancel the lock. The downconvert thread is checking the OCFS2_LOCK_BUSY flag - it doesn't know that ocfs2_dlm_lock() has not yet been called. Because ocfs2_dlm_lock() has not yet been called, the cancel operation will just be a no-op. There's nothing to cancel. With CANCELGRANT, dlmglue uses the CANCELGRANT callback to clear up the cancel state. When it comes around again, it will retry the cancel. Eventually, the first thread will have called into ocfs2_dlm_lock(), and either the lock or the cancel will succeed. The downconvert thread can then do its downconvert. Without CANCELGRANT, there is nothing to clean up the cancellation state. The downconvert thread does not know to retry its operations. More importantly, the original lock may be blocking on the other node that is trying to cancel us. With neither able to make progress, the ast is never called and the cancellation state is never cleaned up that way. dlmglue is deadlocked. The OCFS2_LOCK_PENDING flag is introduced to remedy this window. It is set at the same time OCFS2_LOCK_BUSY is. Thus, the downconvert thread can check whether the lock is cancelable. If not, it just loops around to try again. Once ocfs2_dlm_lock() is called, the thread then clears OCFS2_LOCK_PENDING and wakes the downconvert thread. Now, if the downconvert thread finds the lock BUSY, it can safely try to cancel it. Whether the cancel works or not, the state will be properly set and the lock processing can continue. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0abd6d1803b01c741430af270026d1d95a103d9c Author: Mark Fasheh Date: Tue Jan 29 16:59:56 2008 -0800 ocfs2: Fill node number during cluster stack init It doesn't make sense to query for a node number before connecting to the cluster stack. This should be safe to do because node_num is only just printed, and we're actually only moving the setting of node num a small amount further in the mount process. [ Disconnect when node query fails -- Joel ] Reviewed-by: Joel Becker Signed-off-by: Mark Fasheh commit 6953b4c008628b945bfe0cee97f6e78a98773859 Author: Joel Becker Date: Tue Jan 29 16:59:56 2008 -0800 ocfs2: Move o2hb functionality into the stack glue. The last bit of classic stack used directly in ocfs2 code is o2hb. Specifically, the check for heartbeat during mount and the call to ocfs2_hb_ctl during unmount. We create an extra API, ocfs2_cluster_hangup(), to encapsulate the call to ocfs2_hb_ctl. Other stacks will just leave hangup() empty. The check for heartbeat is moved into ocfs2_cluster_connect(). It will be matched by a similar check for other stacks. With this change, only stackglue.c includes cluster/ headers. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 19fdb624dc8ccb663f6e48b3a3a3fa4e4e567fc1 Author: Joel Becker Date: Wed Jan 30 15:38:24 2008 -0800 ocfs2: Abstract out node number queries. ocfs2 asks the cluster stack for the local node's node number for two reasons; to fill the slot map and to print it. While the slot map isn't necessary for userspace cluster stacks, the printing is very nice for debugging. Thus we add ocfs2_cluster_this_node() as a generic API to get this value. It is anticipated that the slot map will not be used under a userspace cluster stack, so validity checks of the node num only need to exist in the slot map code. Otherwise, it just gets used and printed as an opaque value. [ Fixed up some "int" versus "unsigned int" issues and made osb->node_num truly opaque. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4670c46ded9a18268d1265417ff4ac72145a7917 Author: Joel Becker Date: Fri Feb 1 14:39:35 2008 -0800 ocfs2: Introduce the new ocfs2_cluster_connect/disconnect() API. This step introduces a cluster stack agnostic API for initializing and exiting. fs/ocfs2/dlmglue.c no longer uses o2cb/o2dlm knowledge to connect to the stack. It is all handled in stackglue.c. heartbeat.c no longer needs to know how it gets called. ocfs2_do_node_down() is now a clean recovery trigger. The big gotcha is the ordering of initializations and de-initializations done underneath ocfs2_cluster_connect(). ocfs2_dlm_init() used to do all o2dlm initialization in one block. Thus, the o2dlm functionality of ocfs2_cluster_connect() is very straightforward. ocfs2_dlm_shutdown(), however, did a few things between de-registration of the eviction callback and actually shutting down the domain. Now de-registration and shutdown of the domain are wrapped within the single ocfs2_cluster_disconnect() call. I've checked the code paths to make sure we can safely tear down things in ocfs2_dlm_shutdown() before calling ocfs2_cluster_disconnect(). The filesystem has already set itself to ignore the callback. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8f2c9c1b16bf6ed0903b29c49d56fa0109a390e4 Author: Joel Becker Date: Fri Feb 1 12:16:57 2008 -0800 ocfs2: Create the lock status block union. Wrap the lock status block (lksb) in a union. Later we will add a union element for the fs/dlm lksb. Create accessors for the status and lvb fields. Other than a debugging function, dlmglue.c does not directly reference the o2dlm locking path anymore. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 7431cd7e8dd0e46e9b12bd6a1ac1286f4b420371 Author: Joel Becker Date: Fri Feb 1 12:15:37 2008 -0800 ocfs2: Use -errno instead of dlm_status for ocfs2_dlm_lock/unlock() API. Change the ocfs2_dlm_lock/unlock() functions to return -errno values. This is the first step towards elminiating dlm_status in fs/ocfs2/dlmglue.c. The change also passes -errno values to ->unlock_ast(). [ Fix a return code in dlmglue.c and change the error translation table into an array of ints. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit bd3e76105d4478ab89951a52d1a35250d24a9f16 Author: Joel Becker Date: Fri Feb 1 12:14:57 2008 -0800 ocfs2: Use global DLM_ constants in generic code. The ocfs2 generic code should use the values in . stackglue.c will convert them to o2dlm values. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 24ef1815e5e13e50196eb1ab8ddc0d783443bdf8 Author: Joel Becker Date: Tue Jan 29 17:37:32 2008 -0800 ocfs2: Separate out dlm lock functions. This is the first in a series of patches to isolate ocfs2 from the underlying cluster stack. Here we wrap the dlm locking functions with ocfs2-specific calls. Because ocfs2 always uses the same dlm lock status callbacks, we can eliminate the callbacks from the filesystem visible functions. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 386a2ef8576e966076c293f6496b9e3d7e3d9035 Author: Joel Becker Date: Fri Feb 1 12:06:54 2008 -0800 ocfs2: New slot map format The old slot map had a few limitations: - It was limited to one block, so the maximum slot count was 255. - Each slot was signed 16bits, limiting node numbers to INT16_MAX. - An empty slot was marked by the magic 0xFFFF (-1). The new slot map format provides 32bit node numbers (UINT32_MAX), a separate space to mark a slot in use, and extra room to grow. The slot map is now bounded by i_size, not a block. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit fb86b1f07120b66769a39c445da5c4300069dd44 Author: Joel Becker Date: Fri Feb 1 11:59:05 2008 -0800 ocfs2: Define the contents of the slot_map file. The slot map file is merely an array of __le16. Wrap it in a structure for cleaner reference. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit fc881fa0d59596c02f8707b5572567c369d4789a Author: Joel Becker Date: Fri Feb 1 12:04:48 2008 -0800 ocfs2: De-magic the in-memory slot map. The in-memory slot map uses the same magic as the on-disk one. There is a special value to mark a slot as invalid. It relies on the size of certain types and so on. Write a new in-memory map that keeps validity as a separate field. Outside of the I/O functions, OCFS2_INVALID_SLOT now means what it is supposed to. It also is no longer tied to the type size. This also means that only the I/O functions refer to 16bit quantities. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 1c8d9a6a330f46b3a6ddd204a2580131d5f0d6b7 Author: Joel Becker Date: Fri Feb 1 11:59:07 2008 -0800 ocfs2: slot_map I/O based on max_slots. The slot map code assumed a slot_map file has one block allocated. This changes the code to I/O as many blocks as will cover max_slots. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 553abd046af609191a91af7289d87d477adc659f Author: Joel Becker Date: Fri Feb 1 12:03:57 2008 -0800 ocfs2: Change the recovery map to an array of node numbers. The old recovery map was a bitmap of node numbers. This was sufficient for the maximum node number of 254. Going forward, we want node numbers to be UINT32. Thus, we need a new recovery map. Note that we can't keep track of slots here. We must write down the node number to recovery *before* we get the locks needed to convert a node number into a slot number. The recovery map is now an array of unsigned ints, max_slots in size. It moves to journal.c with the rest of recovery. Because it needs to be initialized, we move all of recovery initialization into a new function, ocfs2_recovery_init(). This actually cleans up ocfs2_initialize_super() a little as well. Following on, recovery cleaup becomes part of ocfs2_recovery_exit(). A number of node map functions are rendered obsolete and are removed. Finally, waiting on recovery is wrapped in a function rather than naked checks on the recovery_event. This is a cleanup from Mark. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit d85b20e4b300edfd290f21fc2d790ba16d2f225b Author: Joel Becker Date: Fri Feb 1 12:01:05 2008 -0800 ocfs2: Make ocfs2_slot_info private. Just use osb_lock around the ocfs2_slot_info data. This allows us to take the ocfs2_slot_info structure private in slot_info.c. All access is now via accessors. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 8e8a4603b5422c9145880e73b23bc4c2c4de0098 Author: Mark Fasheh Date: Fri Feb 1 11:59:09 2008 -0800 ocfs2: Move slot map access into slot_map.c journal.c and dlmglue.c would refresh the slot map by hand. Instead, have the update and clear functions do the work inside slot_map.c. The eventual result is to make ocfs2_slot_info defined privately in slot_map.c Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit db8be076cad4b843aa743ef462c75022cddd9c63 Author: Adrian Bunk Date: Mon Mar 31 02:22:11 2008 +0300 firewire: cleanups This patch contains the following cleanups: - #if 0 the following unused structs: - fw-transaction.c:fw_low_memory_region - fw-transaction.c:fw_private_region - fw-transaction.c:fw_csr_region - fw-transaction.c:fw_unit_space_region - remove the following unused EXPORT_SYMBOL's: - fw-card.c:fw_core_add_descriptor - fw-card.c:fw_core_remove_descriptor - fw-iso.c:fw_iso_context_create - fw-iso.c:fw_iso_context_destroy - fw-iso.c:fw_iso_context_start - fw-iso.c:fw_iso_context_queue - fw-iso.c:fw_iso_context_stop Signed-off-by: Adrian Bunk Signed-off-by: Stefan Richter commit 25b1c3d8889f982ebc6c7b996cfc7fa5f1dce533 Author: Stefan Richter Date: Mon Mar 24 20:57:12 2008 +0100 firewire: fix synchronization of gap counts Fix: The fact that nodes had different gap counts would be overlooked if the bus manager code would pick gap count 63 because of beta repeaters or because of very large hop counts. In this case, the bus manager code would miss that it actually has to send the PHY config packet with gap count 63. Related trivial changes: Use bool for an int used as bool, touch up some comments. Signed-off-by: Stefan Richter commit 2a0a2590498be7b92e3e76409c9b8ee722e23c8f Author: Stefan Richter Date: Thu Mar 20 23:48:23 2008 +0100 firewire: wait until PHY configuration packet was transmitted (fix bus reset loop) We now exit fw_send_phy_config /after/ the PHY config packet has been transmitted, instead of before. A subsequent fw_core_initiate_bus_reset will therefore not overlap with the transmission. This is meant to make the send PHY config packet + reset bus routine more deterministic. Fixes bus reset loop and eventual panic with - VIA VT6307 + IOGEAR hub + Unibrain Fire-i camera http://bugzilla.kernel.org/show_bug.cgi?id=10128 - JMicron card Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit e09770db0fa33baf8df21fbc18aa24a080330c3f Author: Stefan Richter Date: Tue Mar 11 02:23:29 2008 +0100 firewire: remove unused struct member request_generation is internal to fw-ohci and unneeded in fw_card. Signed-off-by: Stefan Richter commit 15f0d833f63da2fa49aed81480a37d5e896b5b9b Author: Jarod Wilson Date: Sat Mar 8 13:18:58 2008 -0500 firewire: use bitwise and to get reg in handle_registers for code efficiency. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit cca6097713c62eac43aef27b31e7f1553dde4f94 Author: Jarod Wilson Date: Sat Mar 8 12:52:03 2008 -0500 firewire: replace more hex values with defined csr constants Trivial change to replace more meaningless (to the untrained eye) hex values with defined CSR constants. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit c9755e14a01987ada4063e8b4c50c2b6738d879e Author: Stefan Richter Date: Mon Mar 24 20:54:28 2008 +0100 firewire: reread config ROM when device reset the bus When a device changes its configuration ROM, it announces this with a bus reset. firewire-core has to check which node initiated a bus reset and whether any unit directories went away or were added on this node. Tested with an IOI FWB-IDE01AB which has its link-on bit set if bus power is available but does not respond to ROM read requests if self power is off. This implements - recognition of the units if self power is switched on after fw-core gave up the initial attempt to read the config ROM, - shutdown of the units when self power is switched off. Also tested with a second PC running Linux/ieee1394. When the eth1394 driver is inserted and removed on that node, fw-core now notices the addition and removal of the IPv4 unit on the ieee1394 node. Signed-off-by: Stefan Richter commit 1dadff71d6356ebb804c3f4f1d3049247e16111c Author: Stefan Richter Date: Sun Mar 2 19:35:42 2008 +0100 firewire: replace static ROM cache by allocated cache read_bus_info_block() is repeatedly called by workqueue jobs. These will step on each others toes eventually if there are multiple workqueue threads, and we end up with corrupt config ROM images. Signed-off-by: Stefan Richter commit d34316a4bdcd4fef050da584401c7f4ed22482f2 Author: Stefan Richter Date: Sat Apr 12 22:31:25 2008 +0200 firewire: fw-ohci: work around generation bug in TI controllers (fix AV/C and more) Unlike the ohci1394 driver, fw-ohci uses the selfIDGeneration field of bus reset packets to determine the generation of incoming requests as per OHCI 1.1 clause 8.4.2.3. This is more precise --- provided that the controller inserts the correct generation. Texas Instruments chips often don't. This prevented the transmission of response packets, which for example broke AV/C transactions as used when communicating with miniDV cameras and any other AV/C devices. There is apparently no way to detect and adjust incorrect generations. Therefore we ignore the generation of bus reset packets from TI chips and use the generation of the self ID buffer instead. Alas this is received at a slightly wrong time. In rare cases, this could cause us to not respond to legitimate requests or to respond to expired requests. (The latter is less likely because the bus reset packet AR event is typically handled before the self ID complete event.) Bug reported by Mladen Kuntner, who was extraordinarily patient while dealing with the driver maintainers. Fix confirmed to be required and effective for TSB82AA2 and a TSB43AB22 or TSB43AB22A. https://bugzilla.redhat.com/show_bug.cgi?id=243081 Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 08ddb2f4c270b5dff063f7dbcd7e9248a52e7c65 Author: Stefan Richter Date: Fri Apr 11 00:51:15 2008 +0200 firewire: fw-ohci: extend logging of bus generations and node ID Extend the logging of "AR evt_bus_reset, link internal" to "AR evt_bus_reset, generation ${selfIDGeneration}". That way we can check whether this generation matches the one seen in self ID complete event logging. See OHCI 1.1 clause 8.4.2.3. Also extend logging of "firewire_ohci: * selfIDs, generation *" by "local node ID ffc*" in self ID logging to make the local node in AT/AR event logs more obvious. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit a007bb857e0b26f5d8b73c2ff90782d9c0972620 Author: Stefan Richter Date: Mon Apr 7 22:33:35 2008 +0200 firewire: fw-ohci: conditionally log busReset interrupts Add a debug option to watch bus reset interrupt events. Half of this patch is taken from Jarod Wilson's first version of the JMicron fix. BusReset interrupts are only generated if the respective module parameter flag was set before the controller is being initialized. Else we keep this event masked to reduce IRQ load in normal operation and to avoid potential problems with buggy chips. Note, this is unlike the other IRQ events whose logging can be enabled any time after chip initialization. This and the influence on what interrupts the chip generates is why I added an extra flag for it. Also, reorder the debug parameter flags according to their perceived usefulness. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 76f73ca1b291a8d014ff0d2d802c817404dd9887 Author: Jarod Wilson Date: Mon Apr 7 22:32:33 2008 +0200 firewire: fw-ohci: don't append to AT context when it's not active I finally tracked down the issues with this JMicron PCI-e card in my possession to a failure to comply with section 7.2.3.2 of the OHCI 1.1 specification (thanks to Kristian for the pointer to illustrate that it is indeed a flaw in this card, not the driver). The controller should simply flush the packets we've appended to its AT queue if a bus reset occurs before they've been transmitted and we'll try again, but something goes wrong and the controller winds up hung. However, we can avoid the problem by simply checking if the IntEvent.busReset register had been set before we try appending to the AT context. When busReset is set, the AT context is completely halted until busReset is cleared, so there's no point in appending AT packets until the register is cleared. So at_context_queue_packet() now checks for busReset being set, and bails with an RCODE_GENERATION packet ack, which results in us trying to append the packet again after recognizing the fact there has been a bus reset, and clearing busReset. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 75f7832e3b032c6e4a83c14b58341abd9f2d81ef Author: Jarod Wilson Date: Thu Apr 3 17:18:23 2008 -0400 firewire: fw-ohci: log regAccessFail events While trying to debug this piece of crap JMicron PCI-e controller in my possession, one thought was that perhaps I was encountering register access failures. I'm not, but logging them would be good, so we can see if they are a real problem we should be taking into account anywhere in the code. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter (added list contact) commit 022147242ff6e4b7ab770f00716063f48c088391 Author: Jarod Wilson Date: Fri Mar 28 10:02:50 2008 -0400 firewire: fw-ohci: make sure HCControl register LPS bit is set I've now witnessed multiple occasions where one of my controllers (a very poorly working JMicron PCIe card) fails to get its registers properly set up in ohci_enable(), apparently due to an occasionally very slow to initiate SClk. The easy fix for this problem is to add a tiny while loop to try again a time or three after initially enabling LPS before we move on (or give up). Of course, the card still isn't fully functional yet, but this gets it at least one tiny step closer... Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 130d5496e2c9104dcabdaa5c19cd941770e20edc Author: Stefan Richter Date: Mon Mar 24 20:55:28 2008 +0100 firewire: fw-ohci: missing PPC PMac feature calls in failure path Balance ohci_pmac_on and ohci_pmac_off if pci_driver.probe fails. Signed-off-by: Stefan Richter commit 43286568adb3ccd4b2f1d0cb7393c355f03e4f39 Author: Stefan Richter Date: Tue Mar 11 21:22:26 2008 +0100 firewire: fw-ohci: untangle a mixed unsigned/signed expression and make another expression more readable. Signed-off-by: Stefan Richter commit ad3c0fe8b8d1656a56ce2ef05ed5ccba790b4566 Author: Stefan Richter Date: Thu Mar 20 22:04:36 2008 +0100 firewire: debug interrupt events This adds debug printks for asynchronous transmission and reception and for self ID reception. They can be enabled at module load time, and at runtime via /sys/module/firewire_ohci/parameters/debug. Signed-off-by: Jarod Wilson Also added: Logging of interrupt event codes and of cancelled AT packets. The code now depends on a Kconfig variable. This makes it easier to build firewire-ohci without the feature or to make it an option in the future. The variable is currently hidden and always on. This feature inflates firewire-ohci.ko by 7 kB = 27% on x86-64 and by 4 kB = 23% on i686. Signed-off-by: Stefan Richter commit 016bf3dfcf7c7fbad8f02e72b6e01d6773426f9d Author: Stefan Richter Date: Wed Mar 19 22:05:02 2008 +0100 firewire: fw-ohci: catch self_id_count == 0 fw_core_handle_bus_reset() incorrectly relied on the assumption that self_id_count > 0. We check early in fw-ohci and discard the self ID complete event if self_id_count == 0 because a valid event always has at least one self ID packet in it (the one of the local node). Hence treat self_id_count == 0 like any other kind of invalid self ID buffer. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit c8a9a498e16b2a6c0e4e367b1a01f80fdfd7b6e2 Author: Stefan Richter Date: Wed Mar 19 21:40:32 2008 +0100 firewire: fw-ohci: add self ID error check Discard self ID buffer contents if - the selfIDError flag is set, - any of the self ID packets has bit errors. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 2ed0f181f0d18d2f565bfbd259fe33d53769f72b Author: Stefan Richter Date: Sat Mar 1 12:35:29 2008 +0100 firewire: fw-ohci: refactor probe, remove, suspend, resume Clean up shared code and variable names. Signed-off-by: Stefan Richter commit eb5ca72effaa7f691f7df5187c5c5d1268311326 Author: Stefan Richter Date: Sat Mar 1 12:34:50 2008 +0100 firewire: fw-ohci: switch on bus power after resume on PPC PMac The platform feature calls in the suspend method switched off cable power, but the calls in the resume method did not switch it back on. Add the necessary feature call to .resume. Also add the corresponding call to .suspend to make .suspend's behavior explicitly the same on all PMacs. Signed-off-by: Stefan Richter commit 080de8c2c57e3199eee837fe8b6d35a43679f8c1 Author: Stefan Richter Date: Thu Feb 28 20:54:43 2008 +0100 firewire: fw-ohci: add option for remote debugging This way firewire-ohci can be used for remote debugging like ohci1394. Version with amendment from Fri, 11 Apr 2008 00:08:08 +0200. Signed-off-by: Stefan Richter Acked-by: Bernhard Kaindl commit 17cff9ff871bb5081cade4f99a9e9382b9f1c01c Author: Jarod Wilson Date: Fri Mar 7 01:43:31 2008 -0500 firewire: fw-sbp2: set dual-phase cycle_limit Try to write dual-phase retry protocol limits to BUSY_TIMEOUT register. - The dual-phase retry protocol is optional to implement, and if not supported, writes to the dual-phase portion of the register will be ignored. We try to write the original 1394-1995 default here. - In the case of devices that are also SBP-3-compliant, all writes are ignored, as the register is read-only, but contains single-phase retry of 15, which is what we're trying to set for all SBP-2 device anyway, so this write attempt is safe and yields more consistent behavior for all devices. See section 8.3.2.3.5 of the 1394-1995 spec, section 6.2 of the SBP-2 spec, and section 6.4 of the SBP-3 spec for further details. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit a5fd9ec7a29202f388fc011a11cfb0101d9f9a34 Author: Stefan Richter Date: Thu Feb 28 20:53:45 2008 +0100 firewire: fw-sbp2: reduce log noise The block/unblock logic is now sufficiently tested. Signed-off-by: Stefan Richter commit 6f73100cbbb9728c098bd05e9363d206b9eeab47 Author: Stefan Richter Date: Thu Feb 28 20:52:43 2008 +0100 firewire: fw-sbp2: remove unnecessary memset orb came from kzalloc. Signed-off-by: Stefan Richter commit 0d7dcbf2a3b6042351948ecf1f171eb3f1d72cd3 Author: Stefan Richter Date: Thu Feb 28 20:52:02 2008 +0100 firewire: fw-sbp2: simplify some macros How hard can it be to switch on one bit? :-) Signed-off-by: Stefan Richter commit 71ee9f01f2bc2b717dacc69c85f257e1efff12ee Author: Stefan Richter Date: Thu Feb 28 20:51:11 2008 +0100 firewire: fw-sbp2: remove usages of fw_memcpy_to_be32 Write directly in big endian instead of byte-swapping after the fact. This saves a few conversions, lets gcc use constant endianess conversions where possible, and enables deeper endianess annotation. Signed-off-by: Stefan Richter commit 8ac3a47cab32e5e5a40de4bc210b5b0063bf6e84 Author: Stefan Richter Date: Sun Jan 27 22:31:27 2008 +0100 firewire: fw-sbp2: relax SCSI DMA alignment Signed-off-by: Stefan Richter commit 1dc3bea78b6cd71c2017aa5da076684c049d8b98 Author: Stefan Richter Date: Sun Feb 24 19:01:21 2008 +0100 firewire: refactor fw_unit reference counting Add wrappers for getting and putting a unit. Remove some line breaks. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 7c1fca336661aaeb70b9094c4b8eaae389027509 Author: Stefan Richter Date: Sun Feb 24 19:00:51 2008 +0100 firewire: fw-sbp2: fix reference counting The reference count of the unit dropped too low in an error path in sbp2_probe. Fixed by moving the _get further up. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit bd7dee6311156b7cdf884344feb34628909398ad Author: Stefan Richter Date: Sun Feb 24 18:59:55 2008 +0100 firewire: remove superfluous reference counting The card->kref became obsolete since patch "firewire: fix crash in automatic module unloading" added another counter of card users. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit a6ca4f7081095e3cdeb1a45d66fbe4856eca10d3 Author: Philippe De Muyter Date: Fri Apr 11 16:27:59 2008 +0200 ieee1394: limit early node speed to host interface speed The following patch limits the node speed to the host interface speed, before using it. Signed-off-by: Philippe De Muyter It should actually suffice to do this only for the local node's speedcap[]. But there is another bug in the speed calculation: The local node's speed is not correctly propagated to the speeds which are to be used to access remote nodes. http://thread.gmane.org/gmane.linux.kernel.firewire.devel/11772/focus=12024 Signed-off-by: Stefan Richter commit ee2d91e2b3e422f3f61cd7c6a58bd98a5ec72bd1 Author: Robert P. J. Day Date: Thu Mar 27 10:48:37 2008 -0400 ieee1394: Remove superfluous calls to kobject_set_name(). Unless you're adding a kobject to the sysfs hierarchy, there is no point setting its kobject name. Signed-off-by: Robert P. J. Day Signed-off-by: Stefan Richter commit 9508c208aa6e0a7501d8250d4a9d35344056d573 Author: Stefan Richter Date: Mon Mar 24 20:53:34 2008 +0100 ieee1394: ohci1394: missing PPC PMac feature calls in failure path The failure path of ohci1394_pci_probe() reuses ohci1394_pci_remove(). Doing so it missed to call ohci1394_pmac_off() in a few unlikely early error cases. Signed-off-by: Stefan Richter commit c4e2e02bc96f0a1605f858df3d6d5ea70fc459fc Author: Stefan Richter Date: Mon Mar 24 20:52:42 2008 +0100 ieee1394: ohci1394: refactor some printk format strings to reduce the size of ohci1394.ko. Signed-off-by: Stefan Richter commit d09c68038306442e3566366b6988a6dd83481251 Author: Stefan Richter Date: Mon Mar 24 20:49:01 2008 +0100 ieee1394: ohci1394: unroll a macro with return We don't want to hide something like return in a preprocessor macro. Unroll the macro and use a goto, which also reduces the size of ohci1394.ko. Signed-off-by: Stefan Richter commit e351c4d069254b1267b66a3b101ece7547178485 Author: Robert P. J. Day Date: Sun Mar 23 10:15:28 2008 -0400 ieee1394: Use shorter list_splice_init() for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: Stefan Richter commit b1ce1fd778997b3313599a2561bcbd42a34bfb56 Author: Harvey Harrison Date: Wed Mar 5 18:24:54 2008 -0800 ieee1394: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter commit b25d166616ea30adedee70d99c40ba82d126d7cb Author: Stefan Richter Date: Sat Mar 1 12:36:42 2008 +0100 ieee1394: ohci1394: refactor probe, remove, suspend, resume Clean up shared code and variable names. Signed-off-by: Stefan Richter commit 38275ac36d60882db750d6301ef507881b4c8420 Author: Stefan Richter Date: Sat Mar 1 12:36:06 2008 +0100 ieee1394: ohci1394: switch on bus power after resume on PPC PMac The platform feature calls in the suspend method switched off cable power, but the calls in the resume method did not switch it back on. Add the necessary feature call to .resume. Also add the corresponding call to .suspend to make .suspend's behavior explicitly the same on all PMacs. Signed-off-by: Stefan Richter commit d2ace29fa44589da51fedc06a67b3f05301f3bfd Author: Stefan Richter Date: Mon Feb 18 21:11:07 2008 +0100 ieee1394: prevent device binding of raw1394, video1394, dv1394 These drivers don't need to match any unit_directory type device. They just need the id_table for module autoloading per module alias. Not binding any of these drivers allows special-purpose drivers with similar or same IDs to bind to devices. This currently only benefits out-of-tree drivers; on the other hand it is in no way detrimental to in-tree drivers. Signed-off-by: Stefan Richter commit 63995d46506a774f5ddd6b51c017d42c3fbfaedb Author: Marcin Slusarz Date: Wed Feb 13 00:06:07 2008 +0100 ieee1394: be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Stefan Richter commit a4b47d62c5018e81e2b8ee9843d8a8268e886d25 Author: Stefan Richter Date: Sun Jan 27 22:32:22 2008 +0100 ieee1394: sbp2: relax SCSI DMA alignment Signed-off-by: Stefan Richter commit 253ba4e79edc695b2925bd2ef34de06ff4d4070c Merge: 188da98... 65e67f5... Author: Linus Torvalds Date: Fri Apr 18 08:39:39 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (87 commits) [XFS] Fix merge failure [XFS] The forward declarations for the xfs_ioctl() helpers and the [XFS] Update XFS documentation for noikeep/ikeep. [XFS] Update XFS Documentation for ikeep and ihashsize [XFS] Remove unused HAVE_SPLICE macro. [XFS] Remove CONFIG_XFS_SECURITY. [XFS] xfs_bmap_compute_maxlevels should be based on di_forkoff [XFS] Always use di_forkoff when checking for attr space. [XFS] Ensure the inode is joined in xfs_itruncate_finish [XFS] Remove periodic logging of in-core superblock counters. [XFS] fix logic error in xfs_alloc_ag_vextent_near() [XFS] Don't error out on good I/Os. [XFS] Catch log unmount failures. [XFS] Sanitise xfs_log_force error checking. [XFS] Check for errors when changing buffer pointers. [XFS] Don't allow silent errors in xfs_inactive(). [XFS] Catch errors from xfs_imap(). [XFS] xfs_bulkstat_one_dinode() never returns an error. [XFS] xfs_iflush_fork() never returns an error. [XFS] Catch unwritten extent conversion errors. ... commit 188da98800893691e47eea9335a234378e32aceb Merge: 07fe944... 273b838... Author: Linus Torvalds Date: Fri Apr 18 08:39:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (58 commits) ide: remove ide_init_default_irq() macro ide: move default IDE ports setup to ide_generic host driver ide: remove obsoleted "idex=noprobe" kernel parameter (take 2) ide: remove needless hwif->irq check from ide_hwif_configure() ide: init hwif->{io_ports,irq} explicitly in legacy VLB host drivers ide: limit legacy VLB host drivers to alpha, x86 and mips cmd640: init hwif->{io_ports,irq} explicitly cmd640: cleanup setup_device_ptrs() ide: add ide-4drives host driver (take 3) ide: remove ppc ifdef from init_ide_data() ide: remove ide_default_io_ctl() macro ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2) ppc/pmac: remove no longer needed IDE quirk ppc: don't include ppc: remove ppc_ide_md ppc/pplus: remove ppc_ide_md.ide_init_hwif hook ppc/sandpoint: remove ppc_ide_md hooks ppc/lopec: remove ppc_ide_md hooks ppc/mpc8xx: remove ppc_ide_md hooks ... commit 07fe944e87d79f8d7e1b090913fe9f2ace78f41d Merge: 8019aa9... 636bdea... Author: Linus Torvalds Date: Fri Apr 18 08:38:55 2008 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: dmaengine: ack to flags: make use of the unused bits in the 'ack' field iop-adma: remove the workaround for missed interrupts on iop3xx async_tx: kill ->device_dependency_added async_tx: fix multiple dependency submission fsldma: Split the MPC83xx event from MPC85xx and refine irq codes. fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always. commit 8019aa946af5218bc4446c21e43cc19c9401ac68 Merge: 73e3e64... 48feb3c... Author: Linus Torvalds Date: Fri Apr 18 08:38:06 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (79 commits) ata-acpi: don't call _GTF for disabled drive sata_mv add temporary 3 second init delay for SiliconImage PMs sata_mv remove redundant edma init code sata_mv add basic port multiplier support sata_mv fix SOC flags, enable NCQ on SOC sata_mv disable hotplug for now sata_mv cosmetics sata_mv hardreset rework [libata] improve Kconfig help text for new PMP, SFF options libata: make EH fail gracefully if no reset method is available libata: Be a bit more slack about early devices libata: cable logic libata: move link onlineness check out of softreset methods libata: kill dead code paths in reset path pata_scc: fix build breakage libata: make PMP support optional libata: implement PMP helpers libata: separate PMP support code from core code libata: make SFF support optional libata: don't use ap->ioaddr in non-SFF drivers ... commit 73e3e6481f56b3b5b618671a8d32b19a35f84316 Merge: 4adeaaf... 6993fc5... Author: Linus Torvalds Date: Fri Apr 18 08:37:41 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: clocksource: make clocksource watchdog cycle through online CPUs Documentation: move timer related documentation to a single place clockevents: optimise tick_nohz_stop_sched_tick() a bit locking: remove unused double_spin_lock() hrtimers: simplify lockdep handling timers: simplify lockdep handling posix-timers: fix shadowed variables timer_list: add annotations to workqueue.c hrtimer: use nanosleep specific restart_block fields hrtimer: add nanosleep specific restart_block member commit 4adeaaf51ebcc3f629f5512b96aebb5089388bca Merge: 9732b61... 15732a1... Author: Linus Torvalds Date: Fri Apr 18 08:37:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: replace __inline with inline jfs: le*_add_cpu conversion commit 9732b6112343df2872518ec6701c8ef729310a05 Merge: 9e9abec... 1a9a3e7... Author: Linus Torvalds Date: Fri Apr 18 08:37:01 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb: kgdb: always use icache flush for sw breakpoints kgdb: fix SMP NMI kgdb_handle_exception exit race kgdb: documentation fixes kgdb: allow static kgdbts boot configuration kgdb: add documentation kgdb: Kconfig fix kgdb: add kgdb internal test suite kgdb: fix several kgdb regressions kgdb: kgdboc pl011 I/O module kgdb: fix optional arch functions and probe_kernel_* kgdb: add x86 HW breakpoints kgdb: print breakpoint removed on exception kgdb: clocksource watchdog kgdb: fix NMI hangs kgdb: fix kgdboc dynamic module configuration kgdb: document parameters x86: kgdb support consoles: polling support, kgdboc kgdb: core uaccess: add probe_kernel_write() commit 9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e Merge: d7bb545... 77ad386... Author: Linus Torvalds Date: Fri Apr 18 08:25:51 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (613 commits) x86: standalone trampoline code x86: move suspend wakeup code to C x86: coding style fixes to arch/x86/kernel/acpi/sleep.c x86: setup_trampoline() - fix section mismatch warning x86: section mismatch fixes, #1 x86: fix paranoia about using BIOS quickboot mechanism. x86: print out buggy mptable x86: use cpu_online() x86: use cpumask_of_cpu() x86: remove unnecessary tmp local variable x86: remove unnecessary memset() x86: use ioapic_read_entry() and ioapic_write_entry() x86: avoid redundant loop in io_apic_level_ack_pending() x86: remove superfluous initialisation in boot code. x86: merge mpparse_{32,64}.c x86: unify mp_register_gsi x86: unify mp_config_acpi_legacy_irqs x86: unify mp_register_ioapic x86: unify uniq_io_apic_id x86: unify smp_scan_config ... commit d7bb545d86825e635cab33a1dd81ca0ad7b92887 Merge: 75e98b3... 2342e51... Author: Linus Torvalds Date: Fri Apr 18 08:25:29 2008 -0700 Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: Remove DEBUG_SEMAPHORE from Kconfig Improve semaphore documentation Simplify semaphore implementation Add down_timeout and change ACPI to use it Introduce down_killable() Generic semaphore implementation Add semaphore.h to kernel_lock.c Fix quota.h includes commit 75e98b34155264d943aa53edce465e87f3ccbadf Merge: 30bc945... 0a22ab9... Author: Linus Torvalds Date: Fri Apr 18 08:20:06 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (104 commits) IB/iser: Don't change itt endianness IB/mlx4: Update module version and release date IPoIB: Handle case when P_Key is deleted and re-added at same index IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event IB/mlx4: Fix incorrect comment IB/mlx4: Fix race when detaching a QP from a multicast group IB/ehca: Support all ibv_devinfo values in query_device() and query_port() RDMA/nes: Free IRQ before killing tasklet IB/mthca: Update module version and release date IB/mlx4: Update QP state if query QP succeeds IB/mthca: Update QP state if query QP succeeds RDMA/amso1100: Add check for NULL reply_msg in c2_intr() IB/mlx4: Add support for resizing CQs IB/mlx4: Add support for modifying CQ moderation parameters IPoIB: Support modifying IPoIB CQ event moderation IB/core: Add support for modify CQ IPoIB: Add basic ethtool support mlx4_core: Increase max number of QPs to 128K RDMA/amso1100: Add support for "send with invalidate" work requests IB/core: Add support for "send with invalidate" work requests ... commit 30bc94566e396b432b72e2f3518e19225dc2672d Merge: 4cba84b... 5f46ce1... Author: Linus Torvalds Date: Fri Apr 18 08:19:40 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: security: enhance DEFAULT_MMAP_MIN_ADDR description SELinux: add netport.[ch] SELinux: Add network port SID cache SELinux: turn mount options strings into defines selinux/ss/services.c should #include selinux: introduce permissive types selinux: remove ptrace_sid SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG() security: code cleanup security: replace remaining __FUNCTION__ occurrences SELinux: create new open permission selinux: selinux/netlabel.c should #include "netlabel.h" SELinux: unify printk messages SELinux: remove unused backpointers from security objects SELinux: Correct the NetLabel locking for the sk_security_struct commit 4cba84b5d61af81f1f329f4d05170427a9819c39 Merge: 7d939fb... ca68305... Author: Linus Torvalds Date: Fri Apr 18 08:19:15 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (36 commits) [S390] Remove code duplication from monreader / dcssblk. [S390] kernel: show last breaking-event-address on oops [S390] lowcore: Change type of lowcores softirq_pending to __u32. [S390] zcrypt: Comments and kernel-doc cleanup [S390] uaccess: Always access the correct address space. [S390] Fix a lot of sparse warnings. [S390] Convert s390 to GENERIC_CLOCKEVENTS. [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h [S390] Convert monitor calls to function calls. [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters [S390] replace remaining __FUNCTION__ occurrences [S390] remove redundant display of free swap space in show_mem() [S390] qdio: remove outdated developerworks link. [S390] Add debug_register_mode() function to debug feature API [S390] crypto: use more descriptive function names for init/exit routines. [S390] switch sched_clock to store-clock-extended. [S390] zcrypt: add support for large random numbers [S390] hw_random: allow rng_dev_read() to return hardware errors. [S390] Vertical cpu management. [S390] cpu topology support for s390. ... commit 7d939fbdfee49e5c06bd27214d25f726fb87a25a Merge: 18c98b6... 0f389ec... Author: Linus Torvalds Date: Fri Apr 18 08:19:00 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: No need for per node slab counters if !SLUB_DEBUG slub: Move map/flag clearing to __free_slab slub: Fixes to per cpu stat output in sysfs slub: Deal with config variable dependencies slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic slub: Initialize per-cpu stats commit 18c98b65279c00c3c983a4525161207f1aa6a04b Author: Roland McGrath Date: Thu Apr 17 18:44:38 2008 -0700 ptrace_signal subroutine This breaks out the ptrace handling from get_signal_to_deliver into a new subroutine. The actual code there doesn't change, and it gets inlined into nearly identical compiled code. This makes the function substantially shorter and thus easier to read, and it nicely isolates the ptrace magic. Signed-off-by: Roland McGrath Acked-by: Kyle McMartin Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 0e04388f0189fa1f6812a8e1cb6172136eada87e Author: Li Zefan Date: Thu Apr 17 11:37:15 2008 +0800 cgroup: fix a race condition in manipulating tsk->cg_list When I ran a test program to fork mass processes and at the same time 'cat /cgroup/tasks', I got the following oops: ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:72! invalid opcode: 0000 [#1] SMP Pid: 4178, comm: a.out Not tainted (2.6.25-rc9 #72) ... Call Trace: [] ? cgroup_exit+0x55/0x94 [] ? do_exit+0x217/0x5ba [] ? do_group_exit+0.65/0x7c [] ? sys_exit_group+0xf/0x11 [] ? syscall_call+0x7/0xb [] ? init_cyrix+0x2fa/0x479 ... EIP: [] list_del+0x35/0x53 SS:ESP 0068:ebc7df4 ---[ end trace caffb7332252612b ]--- Fixing recursive fault but reboot is needed! After digging into the code and debugging, I finlly found out a race situation: do_exit() ->cgroup_exit() ->if (!list_empty(&tsk->cg_list)) list_del(&tsk->cg_list); cgroup_iter_start() ->cgroup_enable_task_cg_list() ->list_add(&tsk->cg_list, ..); In this case the list won't be deleted though the process has exited. We got two bug reports in the past, which seem to be the same bug as this one: http://lkml.org/lkml/2008/3/5/332 http://lkml.org/lkml/2007/10/17/224 Actually sometimes I got oops on list_del, sometimes oops on list_add. And I can change my test program a bit to trigger other oops. The patch has been tested both on x86_32 and x86_64. Signed-off-by: Li Zefan Acked-by: Paul Menage Cc: Andrew Morton Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 5f46ce14bd432cf52bf91079270af164ca48f821 Author: maximilian attems Date: Wed Apr 16 19:36:36 2008 +0200 security: enhance DEFAULT_MMAP_MIN_ADDR description Got burned by setting the proposed default of 65536 across all Debian archs. Thus proposing to be more specific on which archs you may set this. Also propose a value for arm and friends that doesn't break sshd. Reword to mention working archs ia64 and ppc64 too. Signed-off-by: maximilian attems Cc: Martin Michlmayr Cc: Gordon Farquharson Acked-by: Eric Paris Signed-off-by: James Morris commit 27cc2a6e572e1a86a08a02918517558f175f6974 Author: James Morris Date: Mon Apr 14 15:09:53 2008 +1000 SELinux: add netport.[ch] Thank you, git. Signed-off-by: James Morris commit 3e11217263d0521e212cb8a017fbc2a1514db78f Author: Paul Moore Date: Thu Apr 10 10:48:14 2008 -0400 SELinux: Add network port SID cache Much like we added a network node cache, this patch adds a network port cache. The design is taken almost completely from the network node cache which in turn was taken from the network interface cache. The basic idea is to cache entries in a hash table based on protocol/port information. The hash function only takes the port number into account since the number of different protocols in use at any one time is expected to be relatively small. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 832cbd9aa1293cba57d06571f5fc8f0917c672af Author: Eric Paris Date: Tue Apr 1 13:24:09 2008 -0400 SELinux: turn mount options strings into defines Convert the strings used for mount options into #defines rather than retyping the string throughout the SELinux code. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0e55a004b58847c53e48d846b9a4570b1587c382 Author: Adrian Bunk Date: Mon Mar 31 01:54:02 2008 +0300 selinux/ss/services.c should #include Every file should include the headers containing the externs for its global code. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 64dbf07474d011540ca479a2e87fe998f570d6e3 Author: Eric Paris Date: Mon Mar 31 12:17:33 2008 +1100 selinux: introduce permissive types Introduce the concept of a permissive type. A new ebitmap is introduced to the policy database which indicates if a given type has the permissive bit set or not. This bit is tested for the scontext of any denial. The bit is meaningless on types which only appear as the target of a decision and never the source. A domain running with a permissive type will be allowed to perform any action similarly to when the system is globally set permissive. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0356357c5158c71d4cbf20196b2f784435dd916c Author: Roland McGrath Date: Wed Mar 26 15:46:39 2008 -0700 selinux: remove ptrace_sid This changes checks related to ptrace to get rid of the ptrace_sid tracking. It's good to disentangle the security model from the ptrace implementation internals. It's sufficient to check against the SID of the ptracer at the time a tracee attempts a transition. Signed-off-by: Roland McGrath Acked-by: Stephen Smalley Signed-off-by: James Morris commit eda4f69ca5a532b425db5a6c2c6bc50717b9b5fe Author: Eric Paris Date: Tue Mar 11 14:19:34 2008 -0400 SELinux: requesting no permissions in avc_has_perm_noaudit is a BUG() This patch turns the case where we have a call into avc_has_perm with no requested permissions into a BUG_ON. All callers to this should be in the kernel and thus should be a function we need to fix if we ever hit this. The /selinux/access permission checking it done directly in the security server and not through the avc, so those requests which we cannot control from userspace should not be able to trigger this BUG_ON. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit f0115e6c8980ea9125a17858291c90ecd990bc1c Author: Andrew Morton Date: Thu Mar 6 10:05:08 2008 +1100 security: code cleanup ERROR: "(foo*)" should be "(foo *)" #168: FILE: security/selinux/hooks.c:2656: + "%s, rc=%d\n", __func__, (char*)value, -rc); total: 1 errors, 0 warnings, 195 lines checked ./patches/security-replace-remaining-__function__-occurences.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Harvey Harrison Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit dd6f953adb5c4deb9cd7b6a5054e7d5eafe4ed71 Author: Harvey Harrison Date: Thu Mar 6 10:03:59 2008 +1100 security: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit b0c636b99997c8594da6a46e166ce4fcf6956fda Author: Eric Paris Date: Thu Feb 28 12:58:40 2008 -0500 SELinux: create new open permission Adds a new open permission inside SELinux when 'opening' a file. The idea is that opening a file and reading/writing to that file are not the same thing. Its different if a program had its stdout redirected to /tmp/output than if the program tried to directly open /tmp/output. This should allow policy writers to more liberally give read/write permissions across the policy while still blocking many design and programing flaws SELinux is so good at catching today. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Reviewed-by: Paul Moore Signed-off-by: James Morris commit d4ee4231a3a8731576ef0e0a7e1225e4fde1e659 Author: Adrian Bunk Date: Wed Feb 27 23:20:42 2008 +0200 selinux: selinux/netlabel.c should #include "netlabel.h" Every file should include the headers containing the externs for its global code. Signed-off-by: Adrian Bunk Acked-by: Paul Moore Signed-off-by: James Morris commit 454d972c24e6efce3d7b07a97f1ad18b14845de9 Author: James Morris Date: Tue Feb 26 20:42:02 2008 +1100 SELinux: unify printk messages Replace "security:" prefixes in printk messages with "SELinux" to help users identify the source of the messages. Also fix a couple of minor formatting issues. Signed-off-by: James Morris commit 98e9894650455426f67c2157db4f39bd14fac2f6 Author: James Morris Date: Tue Feb 26 09:52:58 2008 +1100 SELinux: remove unused backpointers from security objects Remove unused backpoiters from security objects. Signed-off-by: James Morris commit f74af6e816c940c678c235d49486fe40d7e49ce9 Author: Paul Moore Date: Mon Feb 25 11:40:33 2008 -0500 SELinux: Correct the NetLabel locking for the sk_security_struct The RCU/spinlock locking approach for the nlbl_state in the sk_security_struct was almost certainly overkill. This patch removes both the RCU and spinlock locking, relying on the existing socket locks to handle the case of multiple writers. This change also makes several code reductions possible. Less locking, less code - it's a Good Thing. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3c051235a7f115c34e675c9cf55820bd3435f860 Author: David S. Miller Date: Fri Apr 18 01:46:19 2008 -0700 [IPV6]: Fix dangling references on error in fib6_add(). Fixes bugzilla #8895 If a super-tree leaf has 'rt' assigned to it and we get an error from fib6_add_rt2node(), we'll leave a reference to 'rt' in pn->leaf and then do an unconditional dst_free(). We should prune such references. Based upon a report by Vincent Perrier. Signed-off-by: David S. Miller commit 62be1f71677c53d5e51223807a06ac9052f49b0f Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 17:25:37 2008 +0200 [GFS2] fix assertion in log_refund() since unsigned, unused >= 0 is always true. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Steven Whitehouse commit 1e42198609d73ed1a9adcba2af275c24c2678420 Merge: 794eb6b... 4b119e2... Author: David S. Miller Date: Thu Apr 17 23:56:30 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 9f264be6101c42cb9e471c58322fb83a5cde1461 Author: Paul Mackerras Date: Fri Apr 18 14:26:08 2008 +1000 [POWERPC] Optimize fls64() on 64-bit processors 64-bit powerpc processors can find the leftmost 1 bit in a 64-bit doubleword in one instruction, so use that rather than using the generic fls64(), which does two 32-bit fls() calls. Signed-off-by: Paul Mackerras commit 794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a Author: Jesper Juhl Date: Thu Apr 17 23:22:54 2008 -0700 [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found dev_get_by_index() may return NULL if nothing is found. In net/netlabel/netlabel_unlabeled.c::netlbl_unlabel_staticlist_gen() the function is called, but the return value is never checked. If it returns NULL then we'll deref a NULL pointer on the very next line. I checked the callers, and I don't think this can actually happen today, but code changes over time and in the future it might happen and it does no harm to be defensive and check for the failure, so that if/when it happens we'll fail gracefully instead of crashing. Signed-off-by: Jesper Juhl Acked-by: Paul Moore Signed-off-by: David S. Miller commit f5ba2d32170679eb9b7c251ac3d9687916a41c18 Author: Patrick McHardy Date: Thu Apr 17 23:19:55 2008 -0700 [PKT_SCHED]: Fix datalen check in tcf_simp_init(). datalen is unsigned so it can never be less than zero, but that's ok because the attribute passed to nla_len() has been validated and therefore a negative return value is impossible. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53083773dcbd3c80477e2ace143e361e1e806745 Author: Pavel Emelyanov Date: Thu Apr 17 23:18:15 2008 -0700 [INET]: Uninline the __inet_inherit_port call. This deblats ~200 bytes when ipv6 and dccp are 'y'. Besides, this will ease compilation issues for patches I'm working on to make inet hash tables more scalable wrt net namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e56d8b8a2ee5fb7f63ceba58e1c0fb3c844888a4 Author: Pavel Emelyanov Date: Thu Apr 17 23:17:34 2008 -0700 [INET]: Drop the inet_inherit_port() call. As I can see from the code, two places (tcp_v6_syn_recv_sock and dccp_v6_request_recv_sock) that call this one already run with BHs disabled, so it's safe to call __inet_inherit_port there. Besides (in case I missed smth with code review) the calltrace tcp_v6_syn_recv_sock `- tcp_v4_syn_recv_sock `- __inet_inherit_port and the similar for DCCP are valid, but assumes BHs to be disabled. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 945feb174b14e7098cc7ecf0cf4768d35bc52f9c Author: Benjamin Herrenschmidt Date: Thu Apr 17 14:35:01 2008 +1000 [POWERPC] irqtrace support for 64-bit powerpc This adds the low level irq tracing hooks to the powerpc architecture needed to enable full lockdep functionality. This is partly based on Johannes Berg's initial version. I removed the asm trampoline that isn't needed (thus improving performance) and modified all sorts of bits and pieces, reworking most of the assembly, etc... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd3e0bbc6052ca9747a5332b382584ece83aab6d Author: Christoph Hellwig Date: Thu Apr 17 14:35:00 2008 +1000 [POWERPC] Stacktrace support for lockdep This adds stacktrace support for powerpc, which will be needed for lockdep. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ec2b36b9f23cfbbe94d89724b796b44fd57d5221 Author: Benjamin Herrenschmidt Date: Thu Apr 17 14:34:59 2008 +1000 [POWERPC] Move stackframe definitions to common header This moves various definitions used all over the place to parse stack frames to ptrace.h so only one definition is needed. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f4ac7b5eb79ef15819c966b1f6b84bf443949123 Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:36 2008 +1000 [POWERPC] Fix device-tree locking vs. interrupts Lockdep found out that we can occasionally take the device-tree lock for reading from softirq time (from rtas_token called by the rtas real time clock code called by the NTP code), while we take it occasionally for writing without masking interrupts. The combination of those two can thus deadlock. While some of those cases of interrupt read lock could be fixed (such as caching the RTAS tokens) I figured that taking the lock for writing is so rare (device-tree modification) that we may as well penalize that case and allow reading from interrupts. Thus, this turns all the writers to take the lock with irqs masked to avoid the situation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f13f4ca8036516ca1b99a41f95f7dea7e4dce104 Author: Trent Piepho Date: Wed Apr 9 12:19:32 2008 +1000 [POWERPC] Make pci_bus_to_host()'s struct pci_bus * argument const A) It's not modified and so it can be made const. const is good. B) If one has a function that was given a const pci_bus pointer and you want to get a pointer to its pci_controller, you'll get a warning from gcc when you use pci_bus_to_host(). This is the right way to stop that warning. Signed-off-by: Trent Piepho Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 49a99978849e86541c3bb789788f7f874a841935 Author: Olof Johansson Date: Tue Apr 8 01:33:07 2008 +1000 [POWERPC] Remove unused __max_memory variable Remove the __max_memory variable, as it is not referenced anywhere in the tree besides some code in arch/ppc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 1af9fa8994a049359c2bb9093a2f33775e28e7ea Author: Michael Ellerman Date: Tue Apr 1 17:42:27 2008 +1100 [POWERPC] Simplify xics direct/lpar irq_host setup The xics code currently has a direct and lpar variant of xics_host_map, the only difference being which irq_chip they use. If we remember which irq_chip we're using we can combine these two routines. That also allows us to have a single irq_host_ops instead of two. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f01567d6d5688f8f613cd23da31aaf02d9538525 Author: Michael Ellerman Date: Tue Apr 1 17:42:26 2008 +1100 [POWERPC] Use pseries_setup_i8259_cascade() in pseries_mpic_init_IRQ() pseries_mpic_init_IRQ() implements the same logic as the xics code did to find the i8259 cascade irq. Now that we've pulled that logic out into pseries_setup_i8259_cascade() we can use it in the mpic code. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 30d6ad251b5dcf497a266c4dc7d38fcde7185422 Author: Michael Ellerman Date: Tue Apr 1 17:42:25 2008 +1100 [POWERPC] Turn xics_setup_8259_cascade() into a generic pseries_setup_i8259_cascade() Remove the xics references from xics_setup_8259_cascade(), and merge the good bits from the almost identical logic in pseries_mpic_init_IRQ(). Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 032ace7e17f141a5cf350e4ec0c5bf4f5faf1c49 Author: Michael Ellerman Date: Tue Apr 1 17:42:25 2008 +1100 [POWERPC] Move xics_setup_8259_cascade() into platforms/pseries/setup.c The code in xics.c to setup the i8259 cascaded irq handler is not really xics specific, so move it into setup.c - we will clean this up further in a subsequent patch. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 47b9d9bddf1877187d965f4dd4d7d454d8cdb50c Author: Alexander van Heukelum Date: Wed Apr 16 15:55:08 2008 +0200 [POWERPC] Use asm-generic/bitops/find.h in bitops.h Powerpc and ppc have some code in their bitops.h that is exactly the same as asm-generic/bitops/find.h. Include this header instead of the private implementation. Signed-off-by: Alexander van Heukelum Signed-off-by: Paul Mackerras commit 11a55f2274bf0d719e4dd05f4ac5e89a15740211 Merge: 858c52d... 1a9ebc0... Author: Paul Mackerras Date: Fri Apr 18 13:34:30 2008 +1000 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit 858c52d15f186e055dc33a1872f5b45a66d42296 Merge: 7711684... ada397e... Author: Paul Mackerras Date: Fri Apr 18 13:33:43 2008 +1000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs commit 65e67f5165c8a156b34ee7adf65d5ed3b16a910d Author: Lachlan McIlroy Date: Fri Apr 18 12:59:45 2008 +1000 [XFS] Fix merge failure commit 3b2816be271b8b364294a5b48721a3e68af46cfa Author: Lachlan McIlroy Date: Fri Apr 18 12:43:35 2008 +1000 [XFS] The forward declarations for the xfs_ioctl() helpers and the associated comment about gcc behavior really aren't needed; all of these functions are marked STATIC which includes noinline, and the stack usage won't be a problem. This effectively just removes the forward declarations and moves xfs_ioctl() back to the end of the file. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30534a Signed-off-by: Eric Sandeen Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit f6e9f28865552bd9d79a9df93cf120436b073223 Author: Josef Sipek Date: Fri Apr 11 17:11:02 2008 +1000 [XFS] Update XFS documentation for noikeep/ikeep. Mention how DMAPI affects default for noikeep. Slightly modified since Josef's patch was based on an old xfs.txt prior to Dave's (dgc) checkin which missed going to oss. Signed-off-by: Josef Sipek Signed-off-by: Tim Shimmin commit 033bfb1a65242e0d60e6fc991cd9b3553053d334 Author: David Chinner Date: Fri Apr 11 17:05:49 2008 +1000 [XFS] Update XFS Documentation for ikeep and ihashsize Update xfs docs for: * In memory inode hashes has been removed. * noikeep is now the default. SGI-PV: 969561 SGI-Modid: 2.6.x-xfs-melb:linux:29481b Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit e687330b5ed1ea899fdaf0dea50aba196b6e019a Author: Donald Douwsma Date: Thu Apr 17 16:50:28 2008 +1000 [XFS] Remove unused HAVE_SPLICE macro. HAVE_SPLICE was part of the infrastructure for building 2.4 and 2.6 kernels out of the same tree. Now we don't build 2.4 kernels this SGI-PV: 971046 SGI-Modid: xfs-linux-melb:xfs-kern:30878a Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f7d3c34788696f5ba9ac9fa414ad80e2a91d4b2e Author: Eric Sandeen Date: Thu Apr 17 16:50:22 2008 +1000 [XFS] Remove CONFIG_XFS_SECURITY. There is no point to the CONFIG_XFS_SECURITY option; it disables the ability to set security attributes at runtime, but it does not actually slim down or remove any code for runtime. Just remove it and always allow security attributes to be set. SGI-PV: 980310 SGI-Modid: xfs-linux-melb:xfs-kern:30877a Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit 6d1337b29bf09a97682d39db36ac2d0dfc6659c0 Author: Tim Shimmin Date: Thu Apr 17 16:50:16 2008 +1000 [XFS] xfs_bmap_compute_maxlevels should be based on di_forkoff Fix up xfs_bmap_compute_maxlevels() to account for the case when we go from using attr2 to using attr1. In that case attr1 will no longer necessarily be at m_attr_offset>>3, but could be at a different value for di_forkoff. Therefore, we return the worst case scenario using MINDBTPTRS and MINABTPTRS, as this function is used for determining the maximum log space. SGI-PV: 979606 SGI-Modid: xfs-linux-melb:xfs-kern:30862a Signed-off-by: Tim Shimmin Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit cb49dbb130e17a6f9af4cb4714cf6976cf09afdf Author: Eric Sandeen Date: Thu Apr 17 16:50:09 2008 +1000 [XFS] Always use di_forkoff when checking for attr space. In the case where we mount a filesystem which was previously using the attr2 format as attr1, returning the default mp->m_attroffset instead of the per-inode di_forkoff for inline attribute fit calculations, may result in corruption, if for example, the data fork is already taking more space than the default fork offset and we try to add an extended attribute. Fix tested by xfstests/186. SGI-PV: 979606 SGI-Modid: xfs-linux-melb:xfs-kern:30861a Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit f6485057c5cfbc84e5eff639ddea1ce0d668607b Author: David Chinner Date: Thu Apr 17 16:50:04 2008 +1000 [XFS] Ensure the inode is joined in xfs_itruncate_finish On success, we still need to join the inode to the current transaction in xfs_itruncate_finish(). Fixes regression from error handling changes. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30845a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7e20694d91f817f8e9f62404aca793ae0df4d98a Author: David Chinner Date: Thu Apr 17 16:49:55 2008 +1000 [XFS] Remove periodic logging of in-core superblock counters. xfssyncd triggers the logging of superblock counters every 30s if the filesystem is made with lazy-count=1. This will prevent disks from idling and spinning down as there will be a log write every 30s. With the way counter recovery works for lazy-count=1, this code is unnecessary and provides no real benefit, so just remove it. SGI-PV: 980145 SGI-Modid: xfs-linux-melb:xfs-kern:30840a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit e6430037e9fd0b3d02ceaf5ab99bfe3ccb763be7 Author: David Chinner Date: Thu Apr 17 16:49:49 2008 +1000 [XFS] fix logic error in xfs_alloc_ag_vextent_near() Fix a logic error in xfs_alloc_ag_vextent_near(). This is a regression introduced by the error handling changes. SGI-PV: 890084 SGI-Modid: xfs-linux-melb:xfs-kern:30838a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Lachlan McIlroy commit d4055947bd0913864f4d8ac96bf1197338071622 Author: David Chinner Date: Thu Apr 17 16:49:35 2008 +1000 [XFS] Don't error out on good I/Os. xfsbdstrat() made all I/Os error out, good or bad. Fix it. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30836a Signed-off-by: David Chinner Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 1bb7d6b5a82f1d9487fd44415484a368f7c87bed Author: David Chinner Date: Thu Apr 10 12:24:38 2008 +1000 [XFS] Catch log unmount failures. Unmounting the log can fail. unlikely, but it can. Catch all the error conditions an make sure it's propagated upwards. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30833a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit b911ca0472c3762d2bafc4d21e432a9056844064 Author: David Chinner Date: Thu Apr 10 12:24:30 2008 +1000 [XFS] Sanitise xfs_log_force error checking. xfs_log_force() is declared to return an error, but we almost never check it. We don't need to check it in most cases; if there's a log I/O error then we'll be shutting down the filesystem anyway and that means we'll catch the error somewhere else. However, on certain calls we should be returning an error - sync transactions, fsync, sync writes, etc. so this isn't a pure black and white distinction. Hence make xfs_log_force() a void function that issues a warning to the syslog on error, and call _xfs_log_force() in all the places where we actually care about the error status returned. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30832a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 234f56aca20a4f66b6ba3d3bf2787634dd9e0999 Author: David Chinner Date: Thu Apr 10 12:24:24 2008 +1000 [XFS] Check for errors when changing buffer pointers. xfs_buf_associate_memory() can fail, but the return is never checked. Propagate the error through XFS_BUF_SET_PTR() so that failures are detected. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30831a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 78e9da77f1bf265fe750b9223ec15707473fb6e8 Author: David Chinner Date: Thu Apr 10 12:24:17 2008 +1000 [XFS] Don't allow silent errors in xfs_inactive(). xfs_inactive() fails to report errors when committing the inactive transaction. Hence we can get silent failures either finishing off the truncation or committing the transaction. Even if we get errors, we need to continue, so simply warn loudly to the system if we get errors here. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30830a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 64bfe1bfae833e89ed77f72c61ded19f4b1976f8 Author: David Chinner Date: Thu Apr 10 12:24:10 2008 +1000 [XFS] Catch errors from xfs_imap(). Catch errors from xfs_imap() in log recovery when we might be trying to map an invalid inode number due to a corrupted log. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30829a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 7b07339048f7b020575706b492c004b5664b67ab Author: David Chinner Date: Thu Apr 10 12:24:04 2008 +1000 [XFS] xfs_bulkstat_one_dinode() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30828a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit e4ac967b117c5780760abbd9ae996210c31cb398 Author: David Chinner Date: Thu Apr 10 12:23:58 2008 +1000 [XFS] xfs_iflush_fork() never returns an error. xfs_iflush_fork() never returns an error. Mark it void and clean up the code calling it that checks for errors. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30827a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit cc88466f3f67bb16fc91b0b974e51c2a43a9e597 Author: David Chinner Date: Thu Apr 10 12:23:52 2008 +1000 [XFS] Catch unwritten extent conversion errors. On unwritten I/O completion, we fail to propagate an error when converting the extent to a written extent. This means that the I/O silently fails. propagate the error onto the ioend so that the inode is marked with an error appropriately. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30826a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 958d4ec606d4af590f86a601a238613f21e878ee Author: David Chinner Date: Thu Apr 10 12:23:46 2008 +1000 [XFS] xfs_bdwrite() does not return errors. xfs_bdwrite() cannot return an error; it only queues buffers to the delayed write list and as such never encounters anything that can fail. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30825a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit db7a19f2c89d99b66874a7e0c0dc681ff1f37b4e Author: David Chinner Date: Thu Apr 10 12:22:24 2008 +1000 [XFS] Ensure xfs_bawrite() errors are checked. xfs_bawrite() can return immediate error status on async writes. Unlike xfsbdstrat() we don't ever check the error on the buffer after the call, so we currently do not catch errors at all here. Ensure we catch and propagate or warn to the syslog about up-front async write errors. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30824a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit d64e31a2f53cdcb2f95b782196faacb0995ca0c0 Author: David Chinner Date: Thu Apr 10 12:22:17 2008 +1000 [XFS] Ensure errors from xfs_bdstrat() are correctly checked. xfsbdstrat() is declared to return an error. That is never checked because the error is propagated by the xfs_buf_t that is passed through the function. Mark xfsbdstrat() as returning void and comment the prototype on the methods needed for error checking. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30823a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 556b8b166c9514b5f940047a41dad8fe8cd9a778 Author: Barry Naujok Date: Thu Apr 10 12:22:07 2008 +1000 [XFS] remove bhv_vname_t and xfs_rename code SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30804a Signed-off-by: Barry Naujok Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 7c9ef85c5672ae316aafd7bbe0bbadebe90301e6 Author: David Chinner Date: Thu Apr 10 12:21:59 2008 +1000 [XFS] Catch errors returned from xfs_bmap_last_offset(). xfs_bmap_last_offset() can fail and return an error. xfs_iomap_write_allocate() fails to detect and propagate the error. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30802a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit fc6149d8d9634814cdcd9283b8f2efd3359181df Author: David Chinner Date: Thu Apr 10 12:21:53 2008 +1000 [XFS] Check for xfs_free_extent() failing. xfs_free_extent() can fail, but log recovery never bothers to check if it successfully free the extent it was supposed to. This could lead to silent corruption during log recovery. Abort log recovery if we fail to free an extent. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30801a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit d87dd6360dce86cad9099aed74f14b4dd0143301 Author: David Chinner Date: Thu Apr 10 12:21:46 2008 +1000 [XFS] Warn if errors come from block_truncate_page(). block_truncate_page() can return errors that we currently ignore and silently discard. We should not ever get errors reported here - an error indicates a bug somewhere else. Hence catch the error and issue a stack dump to the syslog because we cannot propagate the error any further up the call chain. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30800a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit c2b1cba6833da77b1b478ac144f9cf5144d276ec Author: David Chinner Date: Thu Apr 10 12:21:40 2008 +1000 [XFS] xfs_bmap_adjacent() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30798a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 12375c82375ec39ec948a3ad62e5e77533515e83 Author: David Chinner Date: Thu Apr 10 12:21:32 2008 +1000 [XFS] Make xfs_alloc_compute_aligned() void. xfs_alloc_compute_aligned() returns a value based on a comparison of the computed extent length and the minimum length allowed. This is only used by some callers - the other four return parameters are used more often. Hence move the comparison to the code that actually needs to do it and make xfs_alloc_compute_aligned() a void function. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30797a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit f4586e40613a9f8bb9f7f9c8a796062a9ab1614c Author: David Chinner Date: Thu Apr 10 12:21:25 2008 +1000 [XFS] Clean up xfs_alloc_search_busy() return values. xfs_alloc_search_busy() returns an index into the busy array if the extent was found in the array. This is never checked, and the xfs_alloc_search_busy() does a log force to prevent reuse of the extent before the free transaction hits the disk. Hence the return value is useless. Declare the function void and remove the slot number from the tracing as well. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30796a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit e5720eec0548c08943d759e39db0388d8fe59287 Author: David Chinner Date: Thu Apr 10 12:21:18 2008 +1000 [XFS] Propagate errors from xfs_trans_commit(). xfs_trans_commit() can return errors when there are problems in the transaction subsystem. They are indicative that the entire transaction may be incomplete, and hence the error should be propagated as there is a good possibility that there is something fatally wrong in the filesystem. Catch and propagate or warn about commit errors in the places where they are currently ignored. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30795a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c1e2bbe5bcdcd435510a05eb121fa74b848e24f Author: David Chinner Date: Thu Apr 10 12:21:11 2008 +1000 [XFS] Propagate xfs_trans_reserve() errors. xfs_trans_reserve() reports errors that should not be ignored. For example, a shutdown filesystem will report errors through xfs_trans_reserve() to prevent further changes from being attempted on a damaged filesystem. Catch and propagate all error conditions from xfs_trans_reserve(). SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30794a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 5ca1f261a08d5cff5f29eaa0887b59baae2ae7f7 Author: David Chinner Date: Thu Apr 10 12:21:04 2008 +1000 [XFS] Catch errors from xfs_acl_vremove(). Removing an ACL can return an error. Propagate it. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30793a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 0c928299676c8df2b00e75d5691cd4846e6c0868 Author: David Chinner Date: Thu Apr 10 12:20:58 2008 +1000 [XFS] Catch errors from xfs_acl_setmode(). Propagate the error status from xfs_acl_setmode() so that callers know if the ACl was set correctly or not. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30792a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 88ab02085363b7c45935d66ab3e969b4fec9a20c Author: David Chinner Date: Thu Apr 10 12:20:51 2008 +1000 [XFS] Propagate quota file truncation errors. Truncating the quota files can silently fail. Ensure that truncation errors are propagated to the callers. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30791a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit cb6edc26c386d2268dcf61bcdec02b6fb50b6ba2 Author: David Chinner Date: Thu Apr 10 12:20:45 2008 +1000 [XFS] Catch errors when turning off quotas. When turning off quota, we need to write various transactions to the log to ensure that they are cleanly removed in the case of a crash. We need to check that the transactions hit the disk correctly. If we fail to write the final quota off transaction, we are corrupt in memory and so the only option is to shut the filesystem down at this point. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30790a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 31d5577b35d8397dea19f2ba7550e9225605a785 Author: David Chinner Date: Thu Apr 10 12:20:38 2008 +1000 [XFS] Catch errors resetting quota flags. Warn to the syslog if we fail to reset the quota flags in the superblock when a quota check fails. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30789a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 53aa7915d67b9d0f5986c9f08e76846fedc520d4 Author: David Chinner Date: Thu Apr 10 12:20:31 2008 +1000 [XFS] Clean up quotamount error handling. xfs_qm_mount_quotas() returns an error status that is ignored. If we fail to mount quotas, we continue with quota's turned off, which is all handled inside xfs_qm_mount_quotas(). Mark it as void to indicate that errors need not be returned to the callers. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30788a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c56836f92683cb871ebbf44c512069b0d48a08f Author: David Chinner Date: Thu Apr 10 12:20:24 2008 +1000 [XFS] Check for dquot flush errors xfs_qm_dqflush() can fail, but the return is not checked anywhere. Hence we never know if we've failed to flush a dquot to disk. Propagate the error and warn to the syslog if a flush ever fails. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30787a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 4b8879df8c21bed3efd1eb2da5d72501199aba29 Author: David Chinner Date: Thu Apr 10 12:20:17 2008 +1000 [XFS] Propagate xfs_qm_dqflush_all() errors. xfs_qm_dqflush_all() can return flush errors. Ensure they are propagated into the quotacheck code to determine if the quotacheck succeeded or not. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30786a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 5b1397385bf536cbdb60f3362f44079d15d5f5ee Author: David Chinner Date: Thu Apr 10 12:20:10 2008 +1000 [XFS] xfs_qm_reset_dqcounts() does not return errors. Declare it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30785a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 714082bc12b6c305f825411df02177efcb0085f1 Author: David Chinner Date: Thu Apr 10 12:20:03 2008 +1000 [XFS] Report errors from xfs_reserve_blocks(). xfs_reserve_blocks() can fail in interesting ways. In neither case is it a fatal error, but the result can lead to sub-optimal behaviour. Warn to the syslog if the call fails but otherwise continue. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30784a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 36fbe6e6bd5408b09341043dfece978b4a7a0f34 Author: David Chinner Date: Thu Apr 10 12:19:56 2008 +1000 [XFS] xfs_icsb_counter_disabled() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30782a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit a414047fc97aea7db6237176ce00013117839cd5 Author: David Chinner Date: Thu Apr 10 12:19:47 2008 +1000 [XFS] Remove useless whitespace in function prototypes Makes it simpler to annotate function prototypes with __must_check via sed scripts. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30781a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 3c85c36cc2e87018d38fcd033f41bbdf1360c07a Author: David Chinner Date: Thu Apr 10 12:19:40 2008 +1000 [XFS] xfs_quiesce_fs() never returns an error. Mark it void. SGI-PV: 980084 SGI-Modid: xfs-linux-melb:xfs-kern:30780a Signed-off-by: David Chinner Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit b6ddc4e6fed9c6f4adb273c8b36e1731f90ec17e Author: Christoph Hellwig Date: Thu Apr 10 12:19:27 2008 +1000 [XFS] Don't validate symlink target component length This target component validation is not POSIX conformant and it is not done by any other Linux filesystem so remove it from XFS. SGI-PV: 980080 SGI-Modid: xfs-linux-melb:xfs-kern:30776a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 34a622b2e1c8e11c8990184634f101c1aad42fec Author: Harvey Harrison Date: Thu Apr 10 12:19:21 2008 +1000 [XFS] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30775a Signed-off-by: Harvey Harrison Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 0225da1f35df46c67785eb08526995d7cdb4e3b0 Author: Harvey Harrison Date: Thu Apr 10 12:19:10 2008 +1000 [XFS] Replace __inline with inline Remove the remaining uses of __inline in the XFS code base. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30774a Signed-off-by: Harvey Harrison Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 6b1d1a732f886936fe515d911b1a01d9cc50e179 Author: David Chinner Date: Thu Apr 10 12:19:02 2008 +1000 [XFS] Fix lock inversion in forced shutdown. Recent changes to xlog_state_release_iclog() placed the grant_lock inside the icloglock. forced unmount of the log does this the opposite way around, but does not depend on the order for correct working. Fix the inversion by changing the order locks are gained in xfs_log_force_umount(). SGI-PV: 979661 SGI-Modid: xfs-linux-melb:xfs-kern:30773a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4679b2d36d53ed508c956337972fbbea8db99a77 Author: David Chinner Date: Thu Apr 10 12:18:54 2008 +1000 [XFS] Reorganise xlog_t for better cacheline isolation of contention To reduce contention on the log in large CPU count, separate out different parts of the xlog_t structure onto different cachelines. Move each lock onto a different cacheline along with all the members that are accessed/modified while that lock is held. Also, move the debugging code into debug code. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30772a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit eb01c9cd87c7a9998c2edf209721ea069e3e3652 Author: David Chinner Date: Thu Apr 10 12:18:46 2008 +1000 [XFS] Remove the xlog_ticket allocator The ticket allocator is just a simple slab implementation internal to the log. It requires the icloglock to be held when manipulating it and this contributes to contention on that lock. Just kill the entire allocator and use a memory zone instead. While there, allow us to gracefully fail allocation with ENOMEM. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30771a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 114d23aae51233b2bc62d8e2a632bcb55de1953d Author: David Chinner Date: Thu Apr 10 12:18:39 2008 +1000 [XFS] Per iclog callback chain lock Rather than use the icloglock for protecting the iclog completion callback chain, use a new per-iclog lock so that walking the callback chain doesn't require holding a global lock. This reduces contention on the icloglock during transaction commit and log I/O completion by reducing the number of times we need to hold the global icloglock during these operations. SGI-PV: 978729 SGI-Modid: xfs-linux-melb:xfs-kern:30770a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 2abdb8c88110bab78bfe17e51346e735560daa02 Author: Lachlan McIlroy Date: Thu Mar 27 18:01:14 2008 +1100 [XFS] Prevent xfs_bmap_check_leaf_extents() referencing unmapped memory. While investigating the extent corruption bug I ran into this bug in debug only code. xfs_bmap_check_leaf_extents() loops through the leaf blocks of the extent btree checking that every extent is entirely before the next extent. It also compares the last extent in the previous block to the first extent in the current block when the previous block has been released and potentially unmapped. So take a copy of the last extent instead of a pointer. Also move the last extent check out of the loop because we only need to do it once. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30718a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 433550990e6c2e94995239bac6a52b4df454cae0 Author: Christoph Hellwig Date: Thu Mar 27 18:01:08 2008 +1100 [XFS] remove most calls to VN_RELE Most VN_RELE calls either directly contain a XFS_ITOV or have the corresponding xfs_inode already in scope. Use the IRELE helper instead of VN_RELE to clarify the code. With a little more work we can kill VN_RELE altogether and define IRELE in terms of iput directly. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30710a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit df26cfe849d8fd767b26fcd4bfebfff67bda9f3a Author: Lachlan McIlroy Date: Fri Apr 18 11:44:03 2008 +1000 [XFS] split xfs_ioc_xattr The three subcases of xfs_ioc_xattr don't share any semantics and almost no code, so split it into three separate helpers. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30709a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f3dcc13f6fa20af1171eac7a537a4b89b1a84849 Author: Christoph Hellwig Date: Thu Mar 27 18:00:54 2008 +1100 [XFS] cleanup root inode handling in xfs_fs_fill_super - rename rootvp to root for clarify - remove useless vn_to_inode call - check is_bad_inode before calling d_alloc_root - use iput instead of VN_RELE in the error case SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30708a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 59a33f9f776b051018ec98af95bd9fe8ba9d0f3e Author: David Chinner Date: Thu Mar 27 18:00:45 2008 +1100 [XFS] Ensure a btree insert returns a valid cursor. When writing into preallocated regions there is a case where XFS can oops or hang doing the unwritten extent conversion on I/O completion. It turns out that the problem is related to the btree cursor being invalid. When we do an insert into the tree, we may need to split blocks in the tree. When we only split at the leaf level (i.e. level 0), everything works just fine. However, if we have a multi-level split in the btreee, the cursor passed to the insert function is no longer valid once the insert is complete. The leaf level split is handled correctly because all the operations at level 0 are done using the original cursor, hence it is updated correctly. However, when we need to update the next level up the tree, we don't use that cursor - we use a cloned cursor that points to the index in the next level up where we need to do the insert. Hence if we need to split a second level, the changes to the tree are reflected in the cloned cursor and not the original cursor. This clone-and-move-up-a-level-on-split behaviour recurses all the way to the top of the tree. The complexity here is that these cloned cursors do not point to the original index that was inserted - they point to the newly allocated block (the right block) and the original cursor pointer to that level may still point to the left block. Hence, without deep examination of the cloned cursor and buffers, we cannot update the original cursor with the new path from the cloned cursor. In these cases the original cursor could be pointing to the wrong block(s) and hence a subsequent modification to the tree using that cursor will lead to corruption of the tree. The crash case occurs when the tree changes height - we insert a new level in the tree, and the cursor does not have a buffer in it's path for that level. Hence any attempt to walk back up the cursor to the root block will result in a null pointer dereference. To make matters even more complex, the BMAP BT is rooted in an inode, so we can have a change of height in the btree *without a root split*. That is, if the root block in the inode is full when we split a leaf node, we cannot fit the pointer to the new block in the root, so we allocate a new block, migrate all the ptrs out of the inode into the new block and point the inode root block at the newly allocated block. This changes the height of the tree without a root split having occurred and hence invalidates the path in the original cursor. The patch below prevents xfs_bmbt_insert() from returning with an invalid cursor by detecting the cases that invalidate the original cursor and refresh it by do a lookup into the btree for the original index we were inserting at. Note that the INOBT, AGFBNO and AGFCNT btree implementations also have this bug, but the cursor is currently always destroyed or revalidated after an insert for those trees. Hence this patch only address the problem in the BMBT code. SGI-PV: 979339 SGI-Modid: xfs-linux-melb:xfs-kern:30701a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 75de2a91c98a6f486f261c1367fe59f5583e15a3 Author: David Chinner Date: Thu Mar 27 18:00:38 2008 +1100 [XFS] Account for inode cluster alignment in all allocations At ENOSPC, we can get a filesystem shutdown due to a cancelling a dirty transaction in xfs_mkdir or xfs_create. This is due to the initial allocation attempt not taking into account inode alignment and hence we can prepare the AGF freelist for allocation when it's not actually possible to do an allocation. This results in inode allocation returning ENOSPC with a dirty transaction, and hence we shut down the filesystem. Because the first allocation is an exact allocation attempt, we must tell the allocator that the alignment does not affect the allocation attempt. i.e. we will accept any extent alignment as long as the extent starts at the block we want. Unfortunately, this means that if the longest free extent is less than the length + alignment necessary for fallback allocation attempts but is long enough to attempt a non-aligned allocation, we will modify the free list. If we then have the exact allocation fail, all other allocation attempts will also fail due to the alignment constraint being taken into account. Hence the initial attempt needs to set the "alignment slop" field so that alignment, while not required, must be taken into account when determining if there is enough space left in the AG to do the allocation. That means if the exact allocation fails, we will not dirty the freelist if there is not enough space available fo a subsequent allocation to succeed. Hence we get an ENOSPC error back to userspace without shutting down the filesystem. SGI-PV: 978886 SGI-Modid: xfs-linux-melb:xfs-kern:30699a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 535f6b3735db6ef6026537bfe55ae00c3d9cc1ee Author: Josef 'Jeff' Sipek Date: Thu Mar 27 17:58:27 2008 +1100 [XFS] Replace custom AIL linked-list code with struct list_head Replace the xfs_ail_entry_t with a struct list_head and clean the surrounding code up. Also fixes a livelock in xfs_trans_first_push_ail() by terminating the loop at the head of the list correctly. SGI-PV: 978682 SGI-Modid: xfs-linux-melb:xfs-kern:30636a Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit a45c796867df8dabc8eed6e72898d7ba1609bd7e Author: Christoph Hellwig Date: Thu Mar 6 13:49:36 2008 +1100 [XFS] Remove superflous xfs_readsb call in xfs_mountfs. When xfs_mountfs is called by xfs_mount xfs_readsb was called 35 lines above unconditionally, so there is no need to try to read the superblock if it's not present. If any other port doesn't have the superblock read at this point it should just call it directly from it's xfs_mount equivalent. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30603a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit dfa18b117974d7667a2d5b941853fac3f2e256db Author: Niv Sardi Date: Thu Mar 6 13:49:26 2008 +1100 [XFS] kill t_sema member of struct xfs_trans It's completely unused so we might aswell kill it. Note that there is another t_sema in struct xlog_ticket, which is used and actually an sv_t despite the name. That one is left untouched by this patch. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30591a Signed-off-by: Niv Sardi Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 5f90150abad61b49dbb4a6ca1087fe0a75001ef9 Author: Christoph Hellwig Date: Thu Mar 6 13:46:49 2008 +1100 [XFS] cleanup vnode use in xfs_bmap.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30553a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit af048193fcfe2650e7ed3b1ab3d48b1ed0efb467 Author: Christoph Hellwig Date: Thu Mar 6 13:46:43 2008 +1100 [XFS] cleanup vnode use in xfs_iops.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30552a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit dcf49cc5cfbbc0070ad4307428f8282dc7e04e58 Author: Christoph Hellwig Date: Thu Mar 6 13:46:37 2008 +1100 [XFS] cleanup vnode use in xfs_lrw.c SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30551a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit ef1f5e7ad38e5414d016983a8cc5a8db7654a61d Author: Christoph Hellwig Date: Thu Mar 6 13:46:25 2008 +1100 [XFS] cleanup vnode use in xfs_lookup SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30550a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3937be5ba836a204d3d1df96b518eecd6cdacbb9 Author: Christoph Hellwig Date: Thu Mar 6 13:46:19 2008 +1100 [XFS] cleanup vnode use in xfs_symlink and xfs_rename SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30548a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a3da789640871c897901c5f766e33be78d56f35a Author: Christoph Hellwig Date: Thu Mar 6 13:46:12 2008 +1100 [XFS] cleanup vnode use in xfs_link SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30547a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 979ebab11623894528d4d37b947533ea4e8649d1 Author: Christoph Hellwig Date: Thu Mar 6 13:46:05 2008 +1100 [XFS] cleanup vnode use in xfs_create/mknod/mkdir SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30546a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit bc4ac74a4e5bd7db02976eb1b681e1d11f81c9ce Author: Christoph Hellwig Date: Thu Mar 6 13:45:58 2008 +1100 [XFS] cleanup vnode use in dmapi calls SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30545a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit d234154125197053d5215711b5df867979e55ebd Author: David Chinner Date: Thu Mar 6 13:45:43 2008 +1100 [XFS] Use power-of-2 sized buffers to reduce overhead Now that the ktrace_enter() code is using atomics, the non-power-of-2 buffer sizes - which require modulus operations to get the index - are showing up as using substantial CPU in the profiles. Force the buffer sizes to be rounded up to the nearest power of two and use masking rather than modulus operations to convert the index counter to the buffer index. This reduces ktrace_enter overhead to 8% of a CPU time, and again almost halves the trace intensive test runtime. SGI-PV: 977546 SGI-Modid: xfs-linux-melb:xfs-kern:30538a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 6ee4752ffe782be6e86bea1403a2fe0f682aa71a Author: David Chinner Date: Thu Mar 6 13:45:35 2008 +1100 [XFS] Use atomic counters for ktrace buffer indexes ktrace_enter() is consuming vast amounts of CPU time due to the use of a single global lock for protecting buffer index increments. Change it to use per-buffer atomic counters - this reduces ktrace_enter() overhead during a trace intensive test on a 4p machine from 58% of all CPU time to 12% and halves test runtime. SGI-PV: 977546 SGI-Modid: xfs-linux-melb:xfs-kern:30537a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 44d814ced4cffbfe6a775c5bb8b941a6e734e7d9 Author: David Chinner Date: Thu Mar 6 13:45:29 2008 +1100 [XFS] Update c/mtime correctly on truncates XFS changes the c/mtime of an inode when truncating it to the same size. The c/mtime is only supposed to change if the size is changed. Not to be confused with ftruncate, where the c/mtime is supposed to be changed even if the size is not changed. The Linux VFS encodes this semantic difference in the flags it sends down to ->setattr, which XFS currently ignores. We need to make XFS pay attention to the VFS flags and hence Do The Right Thing. SGI-PV: 977547 SGI-Modid: xfs-linux-melb:xfs-kern:30536a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 24bd861d1c3fff5248de7ba3bdddb3369087ad46 Author: Christoph Hellwig Date: Thu Mar 6 13:45:16 2008 +1100 [XFS] don't encode parent in nfs filehandles unless nessecary As Dave pointed out after the export ops changes we now always encode the parent into the filehandle for regular files, but it's not actually needed when the filesystem is export with no_subtree_check. This one-liner fixes xfs_fs_encode_fh to skip encoding the parent unless nessecary. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30535a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 126468b1156211e26d97f74b2f1767acd141005a Author: Christoph Hellwig Date: Thu Mar 6 13:44:57 2008 +1100 [XFS] kill xfs_rwlock/xfs_rwunlock We can just use xfs_ilock/xfs_iunlock instead and get rid of the ugly bhv_vrwlock_t. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30533a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 43973964a386348af0a392266f008ba24170aa30 Author: Christoph Hellwig Date: Thu Mar 6 13:44:50 2008 +1100 [XFS] kill xfs_get_dir_entry Instead of of xfs_get_dir_entry use a macro to get the xfs_inode from the dentry in the callers and grab the reference manually. Only grab the reference once as it's fine to keep it over the dmapi calls. (And even that reference is actually superflous in Linux but I'll leave that for another patch) SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30531a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a8b3acd57e3aaaf73a863a28e0e9f6cca37cd8e3 Author: Christoph Hellwig Date: Thu Mar 6 13:44:41 2008 +1100 [XFS] vnode cleanup in xfs_fs_subr.c Cleanup the unneeded intermediate vnode step in the flushing helpers and go directly from the xfs_inode to the struct address_space. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30530a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit db0bb7baa1533db156d8af3ebeda1f0473a0197a Author: Christoph Hellwig Date: Thu Mar 6 13:44:35 2008 +1100 [XFS] cleanup xfs_vn_mknod - use proper goto based unwinding instead of the current mess of multiple conditionals - rename ip to inode because that's the normal convention for Linux inodes while ip is the convention for xfs_inodes - remove unlikely checks for the default_acl - branches marked unlikely might lead to extreme branch bredictor slowdons if taken and for some workloads a default acl is quite common - properly indent the switch statements - remove xfs_has_fs_struct as nfsd has a fs_struct in any semi-recent kernel SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30529a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 155cc6b784a959ed456fe46dca522e1d28b3b718 Author: David Chinner Date: Thu Mar 6 13:44:14 2008 +1100 [XFS] Use atomics for iclog reference counting Now that we update the log tail LSN less frequently on transaction completion, we pass the contention straight to the global log state lock (l_iclog_lock) during transaction completion. We currently have to take this lock to decrement the iclog reference count. there is a reference count on each iclog, so we need to take he global lock for all refcount changes. When large numbers of processes are all doing small trnasctions, the iclog reference counts will be quite high, and the state change that absolutely requires the l_iclog_lock is the except rather than the norm. Change the reference counting on the iclogs to use atomic_inc/dec so that we can use atomic_dec_and_lock during transaction completion and avoid the need for grabbing the l_iclog_lock for every reference count decrement except the one that matters - the last. SGI-PV: 975671 SGI-Modid: xfs-linux-melb:xfs-kern:30505a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit b589334c7a1fff85d2f009d5db4c34fad48925e9 Author: David Chinner Date: Thu Mar 6 13:44:06 2008 +1100 [XFS] Prevent AIL lock contention during transaction completion When hundreds of processors attempt to commit transactions at the same time, they can contend on the AIL lock when updating the tail LSN held in the in-core log structure. At the moment, the tail LSN is only needed when actually writing out an iclog, so it really does not need to be updated on every single transaction completion - only those that result in switching iclogs and flushing them to disk. The result is that we reduce the number of times we need to grab the AIL lock and the log grant lock by up to two orders of magnitude on large processor count machines. The problem has previously been hidden by AIL lock contention walking the AIL list which was recently solved and uncovered this issue. SGI-PV: 975671 SGI-Modid: xfs-linux-melb:xfs-kern:30504a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit 3354040897f828644be6ca5783588e9f64a53b8e Author: David Chinner Date: Thu Mar 6 13:43:59 2008 +1100 [XFS] Use xfs_inode_clean() in more places Remove open coded checks for the whether the inode is clean and replace them with an inlined function. SGI-PV: 977461 SGI-Modid: xfs-linux-melb:xfs-kern:30503a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit bad5584332e888ac40ca13584e8c114149ddb01e Author: David Chinner Date: Thu Mar 6 13:43:49 2008 +1100 [XFS] Remove the xfs_icluster structure Remove the xfs_icluster structure and replace with a radix tree lookup. We don't need to keep a list of inodes in each cluster around anymore as we can look them up quickly when we need to. The only time we need to do this now is during inode writeback. Factor the inode cluster writeback code out of xfs_iflush and convert it to use radix_tree_gang_lookup() instead of walking a list of inodes built when we first read in the inodes. This remove 3 pointers from each xfs_inode structure and the xfs_icluster structure per inode cluster. Hence we reduce the cache footprint of the xfs_inodes by between 5-10% depending on cluster sparseness. To be truly efficient we need a radix_tree_gang_lookup_range() call to stop searching once we are past the end of the cluster instead of trying to find a full cluster's worth of inodes. Before (ia64): $ cat /sys/slab/xfs_inode/object_size 536 After: $ cat /sys/slab/xfs_inode/object_size 512 SGI-PV: 977460 SGI-Modid: xfs-linux-melb:xfs-kern:30502a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a3f74ffb6d1448d9a8f482e593b80ec15f1695d4 Author: David Chinner Date: Thu Mar 6 13:43:42 2008 +1100 [XFS] Don't block pdflush when writing back inodes When pdflush is writing back inodes, it can get stuck on inode cluster buffers that are currently under I/O. This occurs when we write data to multiple inodes in the same inode cluster at the same time. Effectively, delayed allocation marks the inode dirty during the data writeback. Hence if the inode cluster was flushed during the writeback of the first inode, the writeback of the second inode will block waiting for the inode cluster write to complete before writing it again for the newly dirtied inode. Basically, we want to avoid this from happening so we don't block pdflush and slow down all of writeback. Hence we introduce a non-blocking async inode flush flag that pdflush uses. If this flag is set, we use non-blocking operations (e.g. try locks) whereever we can to avoid blocking or extra I/O being issued. SGI-PV: 970925 SGI-Modid: xfs-linux-melb:xfs-kern:30501a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 4ae29b4321b99b711bcfde5527c4fbf249eac60f Author: David Chinner Date: Thu Mar 6 13:43:34 2008 +1100 [XFS] Factor xfs_itobp() and xfs_inotobp(). The only difference between the functions is one passes an inode for the lookup, the other passes an inode number. However, they don't do the same validity checking or set all the same state on the buffer that is returned yet they should. Factor the functions into a common implementation. SGI-PV: 970925 SGI-Modid: xfs-linux-melb:xfs-kern:30500a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e9a56b7cdaf6129892fd7c8d950b71a1a4304bb0 Author: Lachlan McIlroy Date: Thu Mar 6 13:43:27 2008 +1100 [XFS] Fix regression due to refcache removal SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30490a Signed-off-by: Lachlan McIlroy Signed-off-by: Donald Douwsma commit 163d3686bb09d88e2120bffe780a3f2d7cc4c948 Author: Donald Douwsma Date: Thu Mar 6 13:43:20 2008 +1100 [XFS] Remove the xfs_refcache Remove the xfs_refcache, it was only needed while we were still building for 2.4 kernels. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30472a Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 461aa8a22595e3bd3e6f4dc2894d7c4315ea2bb9 Author: Lachlan McIlroy Date: Thu Mar 6 13:43:11 2008 +1100 [XFS] make inode reclaim synchronise with xfs_iflush_done() On a forced shutdown, xfs_finish_reclaim() will skip flushing the inode. If the inode flush lock is not already held and there is an outstanding xfs_iflush_done() then we might free the inode prematurely. By acquiring and releasing the flush lock we will synchronise with xfs_iflush_done(). SGI-PV: 909874 SGI-Modid: xfs-linux-melb:xfs-kern:30468a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner commit e12070a5dca8bfeee352e9655ae79772a96b32f8 Author: Niv Sardi Date: Thu Mar 6 13:43:03 2008 +1100 [XFS] actually check error returned by xfs_flush_pages, clean up and bailout if fails. SGI-PV: 973041 SGI-Modid: xfs-linux-melb:xfs-kern:30462a Signed-off-by: Niv Sardi Signed-off-by: Lachlan McIlroy commit 675c46796d601f63f2d47c6dd07332bca77ddae5 Author: Steve French Date: Thu Apr 17 23:41:01 2008 +0000 [CIFS] Add various missing flags and defintions Signed-off-by: Steve French commit 20e673810c69d18bee2ed74d19af3806ec2504f5 Merge: 8d14213... 4b119e2... Author: Steve French Date: Thu Apr 17 23:38:45 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 273b8385e5817a4765f82257004c5ec661a6a5b2 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove ide_init_default_irq() macro * Use ide_default_irq() instead of ide_init_default_irq() in ide_generic host driver (so the correct IRQ is always set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI). * Remove no longer needed ide_init_default_irq() macro. Signed-off-by: Bartlomiej Zolnierkiewicz commit 486c92e2900d618c650a7099536310651aa6cf1b Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: move default IDE ports setup to ide_generic host driver * Make CONFIG_IDE_GENERIC depended on CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS. * Move default IDE ports setup from init_ide_data() to ide_generic. * Use ide_init_port_hw() in ide_generic. * Remove no longer needed CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS. Signed-off-by: Bartlomiej Zolnierkiewicz commit f01674e459923c6df540e6c983d37e5fc94d43b8 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove obsoleted "idex=noprobe" kernel parameter (take 2) * Remove obsoleted "idex=noprobe" kernel parameter. * Remove no longer needed hwif->noprobe quirk from ide_hwif_configure() and hwif->noprobe checking from cmd640.c. v2: * "ide?=noprobe" -> "ide?=ata66" in Documentation/kernel-parameters.txt. Signed-off-by: Bartlomiej Zolnierkiewicz commit aab8ad9ec81255ee08825bed36b57484052b94ea Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: remove needless hwif->irq check from ide_hwif_configure() ide_init_default_irq() is always zero for CONFIG_PCI=y so hwif->irq check in ide_hwif_configure() can be safely removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit dfd87842a97e848cb5d62a5249d3f479c5f92c4b Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: init hwif->{io_ports,irq} explicitly in legacy VLB host drivers Do explicit port setup in legacy VLB host drivers instead of depending on init_ide_data(). This way hwif->io_ports[] and hwif->irq are always correctly set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI. Signed-off-by: Bartlomiej Zolnierkiewicz commit e4079df0c273719f539aaa7cc19ed17c9a5b0aba Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:35 2008 +0200 ide: limit legacy VLB host drivers to alpha, x86 and mips These host drivers indirectly depend on CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=y which is defined only on alpha, x86, ia64, m32r, mips and ppc32. Moreover: - on ia64 there is no ISA - m32r is too new for VLB - on ppc32 ISA is available only on PPC_CHRP (no default IDE ports) and PPC_PREP (marked as BROKEN) [ the common sense tells me that VLB was only used on x86 but there are urban legends that one of these host drivers was needed on some other arch - thus the extra care ] Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d3803b68e29d898c29eab5185261682f8f07650 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 cmd640: init hwif->{io_ports,irq} explicitly Do explicit port setup instead of depending on init_ide_data(). This way hwif->io_ports[] and hwif->irq are always correctly set regardless of CONFIG_PCI / CONFIG_BLK_DEV_IDEPCI. While at it fix printk(). Signed-off-by: Bartlomiej Zolnierkiewicz commit daaad24fdc2ed7cd45d9a09abdec46c0d34031a1 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 cmd640: cleanup setup_device_ptrs() This loop is no longer needed. Signed-off-by: Bartlomiej Zolnierkiewicz commit ffd4f6f0eed0423652826f3775077d11918b4180 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: add ide-4drives host driver (take 3) CONFIG_BLK_DEV_4DRIVES deserves its own host driver: * Add drivers/ide/legacy/ide-4drives.c and move "4drives" support there. * Add ide-4drives.o in the link order after all other legacy host drivers enabled by "ide0=" options (they all are mutually exclusive). * Make ide-4drives host driver probe itself for IDE devices instead of indirectly depending on ide_generic host driver. * Add "probe" module parameter to ide-4drives and update documentation. v2: * s/paramater/parameter/ in ide.txt. (Noticed by Randy Dunlap) v3: * s/ide_4drives.probe/ide-4drives.probe/ in help entry. (Noticed by Sergei Shtylyov) Signed-off-by: Bartlomiej Zolnierkiewicz commit 26d799b729003220c0f3e5d9e046e1588c011897 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: remove ppc ifdef from init_ide_data() On PPC32 ide_init_default_irq() is non-zero only for PPLUS and PPC_PREP (the latter marked as BROKEN currently) so this ifdef can be removed. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9dfcd15a6dc1ef81307295e08b797fa9212be71a Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:34 2008 +0200 ide: remove ide_default_io_ctl() macro It is always == '((base) + 0x206)' if CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=y and it is not needed otherwise (arm, blackfin, parisc, ppc64, sh, sparc[64]). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c50427090303a6552949c14128200154ff69594 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:33 2008 +0200 ide: remove CONFIG_IDE_ARCH_OBSOLETE_INIT * Use CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS instead of CONFIG_IDE_ARCH_OBSOLETE_INIT in init_ide_data(). * Remove no longer needed CONFIG_IDE_ARCH_OBSOLETE_INIT. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e33555fffdc8490630d98070e76e5fe031bcac2 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:33 2008 +0200 ide: add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS (take 2) * Add CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS to drivers/ide/Kconfig and use it instead of defining IDE_ARCH_OBSOLETE_DEFAULTS in . v2: * Define ide_default_irq() in ide-probe.c/ns87415.c if not already defined and drop defining ide_default_irq() for CONFIG_IDE_ARCH_OBSOLETE_DEFAULTS=n. [ Thanks to Stephen Rothwell and David Miller for noticing the problem. ] Cc: Stephen Rothwell Cc: David Miller Signed-off-by: Bartlomiej Zolnierkiewicz commit 359c2e2d2039029a8167fb00499296b228928024 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc/pmac: remove no longer needed IDE quirk IDE PMAC host driver and all IDE PCI host drivers use pci_enable_device() nowadays so the following quirk in pmac_pcibios_after_init() can be removed. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e41e7b3f010f047f1b6cc0d13eab2591382367c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc: don't include Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d850bd0b291efd1740b8d87ce025363436eb6dc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:32 2008 +0200 ppc: remove ppc_ide_md * Add special cases for pplus and prep to ide_default_{irq,io_base}() (+ FIXMEs about the need to use IDE platform host driver instead). * Remove no longer needed ppc_ide_md and struct ide_machdep_calls. * Then remove include from: - arch/powerpc/kernel/setup_32.c - arch/ppc/kernel/ppc_ksyms.c - arch/ppc/kernel/setup.c - arch/ppc/platforms/pplus.c - arch/ppc/platforms/prep_setup.c There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d682e4407d8364c286650baafcccae54d4b7c89 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:31 2008 +0200 ppc/pplus: remove ppc_ide_md.ide_init_hwif hook * Call ide_init_default_irq() for pplus in init_ide_data(). * Remove no longer needed pplus_ide_init_hwif_ports(). There should be no functional changes caused by this patch. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ef8df81def587ddb610b1c6f4572178ce0a97a6 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:30 2008 +0200 ppc/sandpoint: remove ppc_ide_md hooks * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-Sandpoint platform to sl82c105 host driver. * Disable ide_generic host driver in arch/ppc/configs/sandpoint_defconfig and enable sl82c105 one. * Remove ppc_ide_md hooks from arch/ppc/platforms/sandpoint.c - no need for them (sl82c105 host driver takes care of all this setup). * Then remove no longer needed include. * Also update arch/ppc/platforms/sandpoint.h. Unfortunately (unlike lopec's case) sl82c105 host driver was not enabled in defconfing so there is a funcionality change. [ Not a big deal since sl82c105 is superior over ide_generic. ] Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 5510b1255726d5d4ff424be4264aa0c99275dfdc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/lopec: remove ppc_ide_md hooks * Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag for Motorola-LoPEC platform to sl82c105 host driver. * Remove ppc_ide_md hooks from arch/ppc/platforms/lopec.c - no need for them (sl82c105 host driver takes care of all this setup). * Then remove no longer needed include. Looking at arch/ppc/configs/lopec_defconfig: ... CONFIG_IDE_GENERIC=y CONFIG_BLK_DEV_IDEPCI=y # CONFIG_IDEPCI_SHARE_IRQ is not set # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_BLK_DEV_GENERIC=y # CONFIG_BLK_DEV_OPTI621 is not set CONFIG_BLK_DEV_SL82C105=y ... there should be no functional changes unless somebody preferred to disable sl82c105 host driver and use only ide_generic one (but why would anybody want to do such thing :-). PS It seems that lopec_defconfig hasn't been updated for ages but if somebody is going to do it please look into disabling IDE_GENERIC and BLK_DEV_GENERIC config options. Thanks. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 2661b13a21f609b279b4048978f8625d518df6e1 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/mpc8xx: remove ppc_ide_md hooks * Initialize IDE ports in mpc8xx_ide_probe(). * Remove m8xx_ide_init() and ppc_ide_md hooks - no need for them (IDE mpc8xx host driver takes care of all this setup). * Remove needless 'if (irq)' and 'if (data_port >= MAX_HWIFS)' checks from m8xx_ide_init_hwif_ports(). * Remove 'ctrl_port' and 'irq' arguments from m8xx_ide_init_hwif_ports(). * Rename m8xx_ide_init_hwif_ports() to m8xx_ide_init_ports(). * Add __init tag to m8xx_ide_init_ports(). This patch fixes hwif->irq always being overriden to 0 (== auto-probe, is this even working on PPC?) because of ide_init_default_irq() call in ide.c. There should be no other functional changes. Cc: Benjamin Herrenschmidt Acked-by: Vitaly Bordug Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c58666fae58cd69f862beaeb88d293ad00f6e37 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:29 2008 +0200 ppc/pmac: remove ppc_ide_md hooks * Add pmac_ide_init_ports() helper and use it instead of pmac_ide_init_hwif_ports(). * Remove ppc_ide_md hooks - no need for them (IDE pmac host driver takes care of all this setup). * Then remove no longer needed include from arch/powerpc/platforms/powermac/pmac.h. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e4f7f3a0994522303c006c84cb651e4caba1158e Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ppc/ppc4xx: remove ppc_ide_md hooks There are no "default" IDE ports on PPC4xx so ppc4xx_ide_init_hwif_ports() is unnecessary, remove it. Also remove no longer needed include. There should be no functional changes caused by this patch. Cc: Josh Boyer Cc: Matt Porter Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 3671e9a9ecb5090c38454cbf830a640f6c221ca8 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ppc/hdpu: remove dead IDE code Also remove now not needed include. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit af007ec6c9467c2a26f5f684cee52efa497280c4 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:28 2008 +0200 ide-pmac: remove dead code Remove unused pmac_ide_{check_base,get_irq}() and pmac_find_ide_boot(), then remove no longer needed ide_majors[] and pmac_ide_count. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit e3bfae4c105c9b79a539bb868e8541d2ad38deee Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-scsi: do non-atomic pc->flags testing ...also, convert ide-scsi to using the generic pc->flags defines. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit eaec3e7ded9dbc88bad393c076b65f4b7b11d30d Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide: use generic ATAPI packet command flags in ide-{floppy,tape} Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c2b2b29361dde5f1d9169a487c3021b14cf36518 Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-floppy: rename end_request handler properly mv idefloppy_do_end_request -> idefloppy_end_request as is the case with ide-cd Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c065787c0359fc3b438c1c0aa2fcfd514fef07a Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-scsi: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e555123911cc912427bd25b52ebfb7b6c08e39a Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-floppy: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d236d74c0d91c7eeaef26560d3690430189e171f Author: Borislav Petkov Date: Fri Apr 18 00:46:27 2008 +0200 ide-tape: convert driver to using generic ide_atapi_pc Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8303b46e18b58b2d0257e6842e60b50ac880a6d1 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide: add generic packet command representation ide_atapi_pc This new struct unifies ide{-floppy,-tape,-scsi}'s view of a packet command. For now, it represents the common denominator between the three drivers while adding driver- specific members at the end of the struct which will be merged/simplified into the generic ATAPI handling code in later steps, or removed completely. Bart: - move struct ide_atapi_pc outside of #ifdef/#endif CONFIG_IDE_PROC_FS Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 346331f82823682fb5c2df6e827db25d95cc2e92 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide-tape: remove atomic test/set macros for packet commands Removing the atomic tests for pc's is unobjectionable. Since this driver will probably go to /dev/null soon, the atomic tests for tape->flags are left in place for there are some situations where they're needed (chrdev DSC handling, low level pipeline operation and so on). While at it, rename all test/set flag bit defines explicitly to *_FLAG_* for clarity. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 03056b909b72c47cbba3605ea3b48a63ef031736 Author: Borislav Petkov Date: Fri Apr 18 00:46:26 2008 +0200 ide-tape: move all struct and other defs at the top Bart: - no need to move defines for tape flags around (they are completely rewritten by the next patch) Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23579a2a170265aacf78069f4817a41c1d6e9323 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:26 2008 +0200 ide: remove IDE_*_REG macros * Add IDE_{ALTSTATUS,IREASON,BCOUNTL,BCOUNTH}_OFFSET defines. * Remove IDE_*_REG macros - this results in more readable and slightly smaller code. There should be no functional changes caused by this patch. Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7616c0ad2087c7d244b8985390c63059a6223c45 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:26 2008 +0200 ide: add ide_atapi_{discard_data,write_zeros} inline helpers Add ide_atapi_{discard_data,write_zeros} inline helpers to and use them instead of home-brewn helpers in ide-{floppy,tape,scsi}. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ad6776cca21f2456b7288f44f224b344ac3c4d0 Author: Borislav Petkov Date: Fri Apr 18 00:46:25 2008 +0200 ide-floppy: remove struct idefloppy_id_gcw Bart: - minor fixups Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3d53ba87f079c078f608729120ada862cb0896e0 Author: Akira Iguchi Date: Fri Apr 18 00:46:25 2008 +0200 scc_pata.c: do setup itself instead of ide_setup_pci_device() scc_pata has the different BAR configuration and using ide_setup_pci_device() is inappropriate. (ide_setup_pci_device() expects a normal PCI IDE controller with BAR0..BAR3 either non-existant or being primary/secondary port bases in I/O space.) This patch do all needed setup itself instead of calling ide_setup_pci_device(). [bart: minor checkpatch.pl fixes] Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e6bfa38a4803646e212ef542b957344e790c3733 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:25 2008 +0200 ide: remove ide_init_hwif_ports() ide_init_hwif_ports() is only used by init_ide_data() now, inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit 05734266c07ac588d1773bd9ae51a0ff20456443 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:25 2008 +0200 ide: remove init_hwif_default() init_hwif_default() is only used by init_ide_data() now, inline it there. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2304dc6481f9d4fb4f0cb5b72497dfe1694cef9c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove ->hold field from ide_hwif_t (take 2) ->hold is write-only now, remove it. v2: * v1 missed bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 93de00fd1c70e1a23a73a865e0f9abfe74a7a719 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS and given the number of bugs we can assume that there are no real users: * DMA has no chance of working because DMA resources are released by ide_unregister() and they are never allocated again. * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls don't work for almost all hosts with "non-standard" (== non ISA-like) layout of IDE taskfile registers (there is a lot of such host drivers). * ide_port_init_devices() is not called when probing IDE devices so: - drive->autotune is never set and IDE host/devices are not programmed for the correct PIO/DMA transfer modes (=> possible data corruption) - host specific I/O 32-bit and IRQ unmasking settings are not applied (=> possible data corruption) - host specific ->port_init_devs method is not called (=> no luck with ht6560b, qd65xx and opti621 host drivers) * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support). * ->serialized flag is not preserved (=> possible data corruption when using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366 (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers). * ->ack_intr method is not preserved (=> needed by ide-cris, buddha, gayle and macide host drivers). * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it isn't initialized again (SiI3112 support needs them). * To issue an ioctl() there need to be at least one IDE device present in the system. * ->cable_detect method is not preserved + it is not called when probing IDE devices so cable detection is broken (however since DMA support is also broken it doesn't really matter ;-). * Some objects which may have already been freed in ide_unregister() are restored by ide_hwif_restore() (i.e. ->hwgroup). * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[] slot cannot be found. * When IDE host drivers are modular unregistered port may be re-used by different host driver that owned it first causing subtle bugs. Since we now have a proper warm-plug support remove these ioctls, then remove no longer needed: - ide_register_hw() and ide_hwif_restore() functions - 'init_default' and 'restore' arguments of ide_unregister() - zeroeing of hwif->{dma,extra}_* fields in ide_unregister() As an added bonus IDE core code size shrinks by ~3kB (x86-32). v2: * fix ide_unregister() arguments in cleanup_module() (Andrew Morton). v3: * fix ide_unregister() arguments in palm_bk3710.c. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a0e77f28b50128df0c9e26ae489e44e29a7270a Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters (take 2) * Remove obsoleted "idex=base[,ctl[,irq]]" kernel parameters and update Documentation/ide/ide.txt. * Remove no longer needed ide_forced chipset type. v2: * is_chipset_set[] -> is_chipset_set in ide.c. * Documentation/ide/ide.txt fix. Signed-off-by: Bartlomiej Zolnierkiewicz commit 80aa31cb460d12c1e02327b43eceb3eebc6e7090 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:24 2008 +0200 ide: remove CONFIG_BLK_DEV_HD_IDE config option (take 2) * Remove CONFIG_BLK_DEV_HD hack from init_hwif_default() ("hda=noprobe hdb=noprobe" kernel parameters should be used instead if somebody wishes to use the old "hd" driver). * Make CONFIG_BLK_DEV_HD_ONLY config option available also when IDE subsystem is used and update help entry. * Remove no longer needed CONFIG_BLK_DEV_HD_IDE config option. v2: * Update documentation to suggest "hda=noprobe hdb=noprobe" instead of obsoleted "ide0=noprobe". * Update Documentation/ide/ide.txt. Signed-off-by: Bartlomiej Zolnierkiewicz commit fef39d95ea19d4b5e2547e344809a5398eba8b3c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: remove needless CONFIG_BLK_DEV_HD hack from init_hwif() request_irq() will fail if there is already another IRQ handler registered and IRQ flags are mismatched. Signed-off-by: Bartlomiej Zolnierkiewicz commit f0298512c86ebc2eae9f4556d0b15087aa750646 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide-generic: add ide_generic class and attribute for adding new interfaces * Add ide_generic_sysfs_init() helper registering 'ide_generic' class (together with ide_generic_class_release() ->class_release method) and use it in ide_generic_init(). * Add "add" class attribute to 'ide_generic' class for adding new interfaces (it is intended to be a replacement for obsoleted "idex=base[,ctl[,irq]]" kernel parameters). Signed-off-by: Bartlomiej Zolnierkiewicz commit f74c91413ec6140ee0553180c5f56fdd27c22a2e Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: add warm-plug support for IDE devices (take 2) * Add 'struct class ide_port_class' ('ide_port' class) and a 'struct device *portdev' ('ide_port' class device) in ide_hwif_t. * Register 'ide_port' class in ide_init() and unregister it in cleanup_module(). * Create ->portdev in ide_register_port () and unregister it in ide_unregister(). * Add "delete_devices" class device attribute for unregistering IDE devices on a port and "scan" one for probing+registering IDE devices on a port. * Add ide_sysfs_register_port() helper for registering "delete_devices" and "scan" attributes with ->portdev. Call it in ide_device_add_all(). * Document IDE warm-plug support in Documentation/ide/warm-plug-howto.txt. v2: * Convert patch from using 'struct class_device' to use 'struct device'. (thanks to Kay Sievers for doing it) Signed-off-by: Bartlomiej Zolnierkiewicz commit 50672e5d7486c9ab312432cbe180ac071f1de8e0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: remove dead/obsolete ->busproc method ->busproc method is used by HDIO_SET_BUSSTATE ioctl but it has no chance of working as intended (in 2.4.x days) because to issue an ioctl there is a device node needed and: - for BUSSTATE_TRISTATE+OFF it is too late (devices are already gone) - for BUSSTATE_TRISTATE+ON it is too early (devices are not registered yet) Just remove ->busproc method for now (it was only implemented by hpt366, siimage and tc86c001 host drivers). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2dde7861afa23cd59db83515cb0b810b92b220aa Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:23 2008 +0200 ide: rework PowerMac media-bay support (take 2) Rework PowerMac media-bay support in such way that instead of un/registering the IDE interface we un/register IDE devices: * Add ide_port_scan() helper for probing+registerering devices on a port. * Rename ide_port_unregister_devices() to __ide_port_unregister_devices(). * Add ide_port_unregister_devices() helper for unregistering devices on a port. * Add 'ide_hwif_t *cd_port' to 'struct media_bay_info', pass 'hwif' instead of hwif->index to media_bay_set_ide_infos() and use it to setup 'cd_port'. * Use ide_port_unregister_devices() instead of ide_unregister() and ide_port_scan() instead of ide_register_hw() in media_bay_step(). * Unexport ide_register_hw() and make it static. v2: * Fix build by adding include to . (Reported by Michael/Kamalesh/Andrew). Cc: Kamalesh Babulal Cc: Michael Ellerman Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 26042d058ba21305aeb8ac92e4b1483dbec642ac Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: move ide_port_setup_devices() call to ide_device_add_all() Add ide_cfg_mtx lock/unlock to ide_port_setup_devices() and then move ide_port_setup_devices() call from init_irq() to ide_device_add_all(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 43514ed1ee6a2325692e173ea4eb41068bf72de0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out devices init from ide_init_port_data() * Factor out devices init from ide_init_port_data() to ide_port_init_devices_data(). While at it: * Add explicit clearing of IDE device structure. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 71bf9f6fe822397e2cce781a2408c658a776fd68 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out code unregistering devices from ide_unregister() Factor out code unregistering devices from ide_unregister() to ide_port_unregister_devices(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b0c4b30a625927340a3e7f565aa4de8b60489cc Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: remove IDE devices from /proc/ide/ before unregistering them IDE devices need to be removed from /proc/ide/ _before_ being unregistered: * Drop 'ide_hwif_t *hwif' argument from destroy_proc_ide_device() and use drive->hwif instead. * Rename destroy_proc_ide_device() to ide_proc_unregister_device(). * Call ide_proc_unregister_device() in drive_release_dev(). * Remove no longer needed destroy_proc_ide_drives(). Signed-off-by: Bartlomiej Zolnierkiewicz commit c7f6f21aaeb826a9b04b5897a92f29226995170f Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:22 2008 +0200 ide: factor out cable detection from ide_init_port() * Factor out cable detection from ide_init_port() to ide_port_cable_detect(). * Move ide_port_cable_detect() call to ide_device_add_all(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f22a72bf52e76d6bcd11bf9e695fdde61bd454c Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide-acpi: add missing drive->acpidata zeroing There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f0eee4d877e3b617b6a22d209d52b3dfca2b2a7 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide: use ide_find_port() instead of ide_deprecated_find_port() * Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/ palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw(). * Remove no longer needed ide_deprecated_find_port(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2625cd52b6eafb63b72f2e53f933f41ba9e34dff Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide: fix ide_find_port() * Instead of checking for '->io_ports[IDE_DATA_OFFSET] == 0' check for '->chipset == ide_unknown' when looking for an empty ide_hwifs[] slot. * Do ide-pnp initialization after ide-generic when IDE is built-in (ide-pnp is the only user of ide_find_port() which needs such fixup). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce9b248bb451134fcb41e189e83e3838fb57caf0 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 18 00:46:21 2008 +0200 ide-generic: set hwif->chipset This hwif->chipset fixup is already present in ide_device_add_all() but for warm-plug support we also need to reserve not currently present interfaces. Signed-off-by: Bartlomiej Zolnierkiewicz commit a594eeb1a1d320981fccc29584b6f21fcebd765f Author: Greg Kroah-Hartman Date: Fri Apr 18 00:46:20 2008 +0200 IDE: remove ide=reverse IDE core This option is obsolete and can be removed safely. It allows us to remove the pci_get_device_reverse() function from the PCI core. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b73a07c8ffaa70683022566080f4df3328ea18d Author: Gui Jianfeng Date: Thu Apr 17 14:22:18 2008 -0700 SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked. According to RFC4960 7.2.2, When all of the data transmitted by the sender has been acknowledged by the recerver, partial_bytes_acked is initialized to 0. This patch conforms to rfc requirement. Without this fix, cwnd might be error incremented. Signed-off-by: Gui Jianfeng Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 2e5a3eaca386ce026f240c7b21e5c4958fcea946 Merge: 8c95b47... 36b30ea... Author: David S. Miller Date: Thu Apr 17 14:13:13 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 21e197f231343201368338603cb0909a13961bac Author: Ivan Vecera Date: Thu Apr 17 22:48:41 2008 +0200 r8169: fix oops in r8169_get_mac_version r8169_get_mac_version crashes when it meets an unknown MAC due to tp->pci_dev not being set. Initialize it early. Signed-off-by: Ivan Vecera Acked-by: Francois Romieu commit cee60c377de6d9d10f0a2876794149bd79a15020 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Apr 17 22:35:54 2008 +0200 r8169: fix past rtl_chip_info array size for unknown chipsets 'i' is unsigned. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Francois Romieu commit 636bdeaa1243327501edfd2a597ed7443eb4239a Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 dmaengine: ack to flags: make use of the unused bits in the 'ack' field 'ack' is currently a simple integer that flags whether or not a client is done touching fields in the given descriptor. It is effectively just a single bit of information. Converting this to a flags parameter allows the other bits to be put to use to control completion actions, like dma-unmap, and capture results, like xor-zero-sum == 0. Changes are one of: 1/ convert all open-coded ->ack manipulations to use async_tx_ack and async_tx_test_ack. 2/ set the ack bit at prep time where possible 3/ make drivers store the flags at prep time 4/ add flags to the device_prep_dma_interrupt prototype Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit c4fe15541d0ef5cc8cc1ce43057663851f8fc387 Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 iop-adma: remove the workaround for missed interrupts on iop3xx This workaround was covering the dependency submission bug in async_tx. Signed-off-by: Dan Williams commit ce4d65a5db77e1568c82d5151a746f627c4f6ed5 Author: Dan Williams Date: Thu Apr 17 20:17:26 2008 -0700 async_tx: kill ->device_dependency_added DMA drivers no longer need to be notified of dependency submission events as async_tx_run_dependencies and async_tx_channel_switch will handle the scheduling and execution of dependent operations. [sfr@canb.auug.org.au: extend this for fsldma] Acked-by: Shannon Nelson Signed-off-by: Dan Williams commit 19242d7233df7d658405d4b7ee1758d21414cfaa Author: Dan Williams Date: Thu Apr 17 20:17:25 2008 -0700 async_tx: fix multiple dependency submission Shrink struct dma_async_tx_descriptor and introduce async_tx_channel_switch to properly inject a channel switch interrupt in the descriptor stream. This simplifies the locking model as drivers no longer need to handle dma_async_tx_descriptor.lock. Acked-by: Shannon Nelson Signed-off-by: Dan Williams commit 1c62979ed29a8e2bf9fbe1db101c81a0089676f8 Author: Zhang Wei Date: Thu Apr 17 20:17:25 2008 -0700 fsldma: Split the MPC83xx event from MPC85xx and refine irq codes. Split MPC83xx EOCDI event from MPC85xx EOLNI event, which is also need to update cookie and start the next transfer. The DMA channel irq handler function code is refined. The patch is tested on MPC8377MDS board. Signed-off-by: Zhang Wei Signed-off-by; Andrew Morton Signed-off-by: Dan Williams commit 411e23dbe9c5867045f34ba83ee84b31b5b9950c Author: Zhang Wei Date: Thu Apr 17 20:17:25 2008 -0700 fsldma: Remove CONFIG_FSL_DMA_SELFTEST, keep fsl_dma_self_test() running always. Always enabling the fsl_dma_self_test() to ensure the DMA controller should works well after the driver probed. Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit 48feb3c419508487becfb9ea3afcc54c3eac6d80 Author: Shaohua Li Date: Tue Mar 25 16:50:45 2008 +0800 ata-acpi: don't call _GTF for disabled drive I got below log after a S3 resume in a ASUS A6VC laptop. The system has only one IDE drive. It appears there is no reason calling _GTF for disabled drive. ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV0._GTF] (Node df822bd0), AE_AML_OPERAND_VALUE ata2.00: _GTF evaluation failed (AE 0x3006) ACPI Error (dsopcode-0483): Attempt to CreateField of length zero [20070126] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.RATA] (Node df822a7c), AE_AML_OPERAND_VALUE ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.IDE0.CHN1.DRV1._GTF] (Node df822b94), AE_AML_OPERAND_VALUE ata2.01: _GTF evaluation failed (AE 0x3006) Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit 094e50b2f74146d8ee924fea4808e58c4ed2f163 Author: Mark Lord Date: Wed Apr 16 15:01:19 2008 -0400 sata_mv add temporary 3 second init delay for SiliconImage PMs sata_mv does not yet fully support hotplug (coming soon, though). This means that the driver may not find a Silicon Image port-multiplier when first loaded, because those devices take in exceess of 3 seconds to sync up the SATA PHY (most devices do this in mere microseconds). So, as a short-term interim measure, here we insert a 3-second pause on initial driver load, once per controller board (not once per port!), to allow the Silicon Image port-multipliers to be detected later. This will be removed again (soon!) once hotplug is fully implemented/working. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8a74f1a4680614dfb77fc5dfd37d0ece13b2b357 Author: Mark Lord Date: Wed Apr 16 15:00:17 2008 -0400 sata_mv remove redundant edma init code Remove unnecessary edma init code from port_start. This sequence gets done later on the first I/O to the port. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e49856d82a887ce365637176f9f99ab68076eae8 Author: Mark Lord Date: Wed Apr 16 14:59:07 2008 -0400 sata_mv add basic port multiplier support Add basic port-multiplier support to sata_mv. This works in Command-based-switching mode for Gen-II chipsets, and in FIS-based-switching mode for Gen-IIe chipsets. Error handling remains at the primary port level for now (works okay, but not great). This will get fixed in a subsequent patch series for IRQ/EH handling fixes. There are also some known NCQ/PMP errata to be dealt with in the near future, once we have this basic PMP support in place. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 02c1f32f1c524d2a389989f2482121f7c7d9b164 Author: Mark Lord Date: Wed Apr 16 14:58:13 2008 -0400 sata_mv fix SOC flags, enable NCQ on SOC The System-On-Chip (SOC) core supports all of the same features as the other recent Marvell chips, including NCQ and IRQ coalescing. Fix the chip_soc flags to enable these capabilities (note that the driver currently does nothing special for IRQ coalescing, though). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 40f0bc2d77d2d9ead3812f4eec2eefc11455e5de Author: Mark Lord Date: Wed Apr 16 14:57:25 2008 -0400 sata_mv disable hotplug for now Disable hot plug/unplug detection in sata_mv for now. It is currently broken, and also interferes with PMP support. This will get fixed in a subsequent patch series. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 17c5aab5b34e351531466e35b154ca86db7d46a9 Author: Mark Lord Date: Wed Apr 16 14:56:51 2008 -0400 sata_mv cosmetics More cosmetic cleanups to unclutter the changes needed for PMP support. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 0d8be5cbff8fd95da72d749a64e150b851f470c6 Author: Mark Lord Date: Wed Apr 16 14:56:12 2008 -0400 sata_mv hardreset rework Rework and simplify sata_mv's hardreset code to take advantage of libata improvements since it was first coded. Also, get rid of the now unnecessary prereset, postreset, and phy_reset functions. This patch also paves the way for subsequent pmp support patches, which will follow once this one passes muster. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f3360ebffae254ab99a64bf97c7b4f8380b1e114 Author: Jeff Garzik Date: Thu Apr 17 15:55:24 2008 -0400 [libata] improve Kconfig help text for new PMP, SFF options commit 4f7faa3f2b99f8fb246c8cdeef971e55ceda4e52 Author: Tejun Heo Date: Wed Jan 30 18:18:26 2008 +0900 libata: make EH fail gracefully if no reset method is available When no reset method is available, libata currently oopses. Although the condition can't happen unless there's a bug in a low level driver, oopsing isn't the best way to report the error condition. Complain, dump stack and fail reset instead. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b93fda12357b3f1aa55cf69d8e088372788ea9ea Author: Alan Cox Date: Tue Apr 8 16:36:44 2008 +0100 libata: Be a bit more slack about early devices We have a certain number of 'ATA' emulations often on CF or other flash devices that are at best "loosely based" on the CF 1.1 standard. These devices report themselves as disk but don't support the ATA minimal command set only the CF 1.1 set. Relax the PIO checking for devices reporting ATA rev 0, or no iordy support, or CFA. Rework the code a bit as it was already messy and this made it quite ugly. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f792068e43a3a156139569304b29ec8fc5dec4e3 Author: Alan Cox Date: Tue Apr 8 16:37:50 2008 +0100 libata: cable logic The cable detect isolation patch inadvertently removed 40 wire short cable handling. Put it back Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45db2f6c95eee7c6622ea1b3edb9abafba58e3ab Author: Tejun Heo Date: Tue Apr 8 01:46:56 2008 +0900 libata: move link onlineness check out of softreset methods Currently, SATA softresets should do link onlineness check before actually performing SRST protocol but it doesn't really belong to softreset. This patch moves onlineness check in softreset to ata_eh_reset() and ata_eh_followup_srst_needed() to clean up code and help future sata_mv changes which need clear separation between SCR and TF accesses. sata_fsl is peculiar in that its softreset really isn't softreset but combination of hardreset and softreset. This patch adds dummy private ->prereset to keep the current behavior but the driver really should implement separate hard and soft resets and return -EAGAIN from hardreset if it should be follwed by softreset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2a0c15ca39f5881aa1b472ca856bb7a2e584ece7 Author: Tejun Heo Date: Tue Apr 8 01:25:35 2008 +0900 libata: kill dead code paths in reset path Some code paths which had been made obsolete by recent reset simplification were still around. Kill them. * ata_eh_reset() checked for ATA_DEV_UNKNOWN to determine classification failure. This is no longer applicable. * ata_do_reset() should convert ATA_DEV_UNKNOWN to ATA_DEV_NONE regardless of reset result (e.g. -EAGAIN). * LLDs don't need to convert ATA_DEV_UNKNOWN to ATA_DEV_NONE. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e50e3ce5e70e36e6069a8cc8292df76058fa9e23 Author: Stephen Rothwell Date: Wed Apr 9 13:34:40 2008 +1000 pata_scc: fix build breakage drivers/ata/pata_scc.c: In function 'scc_bus_softreset': drivers/ata/pata_scc.c:594: error: 'deadlien' undeclared (first use in this function) drivers/ata/pata_scc.c:594: error: (Each undeclared identifier is reported only once drivers/ata/pata_scc.c:594: error: for each function it appears in.) Signed-off-by: Stephen Rothwell Signed-off-by: Jeff Garzik commit 88fcd5627563722483427a55113c0a83f56e8080 Author: Tejun Heo Date: Mon Apr 7 22:47:22 2008 +0900 libata: make PMP support optional Make PMP support optional by adding CONFIG_SATA_PMP and leaving out libata-pmp.c if it isn't set. PMP helpers return constant values if PMP support is not enabled and PMP declarations alias non-PMP counterparts. This makes the compiler to leave out PMP related part out and LLDs to use non-PMP counterparts automatically. Signed-off-by: Tejun Heo commit 071f44b1d2c051641b62a3571223314737ccbe59 Author: Tejun Heo Date: Mon Apr 7 22:47:22 2008 +0900 libata: implement PMP helpers Implement helpers to test whether PMP is supported, attached and determine pmp number to use when issuing SRST to a link. While at it, move ata_is_host_link() so that it's together with the two new PMP helpers. This change simplifies LLDs and helps making PMP support optional. Signed-off-by: Tejun Heo commit 48515f6c006c2a9d7b624ee8ad068018c2d3fe0e Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: separate PMP support code from core code Most of PMP support code is already in libata-pmp.c. All that are in libata-core.c are sata_pmp_port_ops and EXPORTs. Move them to libata-pmp.c. Also, collect PMP related prototypes and declarations in header files and move them right above of SFF stuff. This change is to make PMP support optional. Signed-off-by: Tejun Heo commit 127102aea2ea9ec4e9ca233e2b1a75c8d3b058c4 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: make SFF support optional Now that SFF support is completely separated out from the core layer, it can be made optional. Add CONFIG_ATA_SFF and let SFF drivers depend on it. If CONFIG_ATA_SFF isn't set, all codes in libata-sff.c and data structures for SFF support are disabled. This saves good number of bytes for small systems. Signed-off-by: Tejun Heo commit 350756f6dab6d37ef9ed3f18dec520e88969ddac Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: don't use ap->ioaddr in non-SFF drivers ap->ioaddr is to carry addresses for TF and BMDMA registers of a SFF controller, don't abuse it in non-SFF controllers. Signed-off-by: Tejun Heo commit 182d7bbac322d6921ce81f8e6aa23d250816381d Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: clean up dummy port_ops Now that SFF assumptions are removed from core layer, dummy port_ops can be slimmed down. Chop it down. Signed-off-by: Tejun Heo commit c9f75b04ed5ed65a058d18a8a8dda50632a96de8 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: kill ata_noop_dev_select() Now that SFF assumptions are separated out from non-SFF reset sequence, port_ops->sff_dev_select() is no longer necessary for non-SFF controllers. Kill ata_noop_dev_select() and ->sff_dev_select initialization from base and other non-SFF port_ops. Signed-off-by: Tejun Heo commit 520d06f92b32d7abe5127d7cc46a819db0f384e6 Author: Tejun Heo Date: Mon Apr 7 22:47:21 2008 +0900 libata: remove check_status from non-SFF drivers Now that all SFF stuff is separated out of core layer, core layer doesn't call ops->[alt_]check_status(). In fact, no one calls them for non-SFF drivers anymore. Kill them. Signed-off-by: Tejun Heo commit 4c9bf4e799ce06a7378f1196587084802a414c03 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: replace tf_read with qc_fill_rtf for non-SFF drivers Now that all SFF stuff is separated out of core layer, core layer doesn't call ops->tf_read directly. It gets called only via ops->qc_fill_rtf() for non-SFF drivers. This patch directly implements private ops->qc_fill_rtf() for non-SFF controllers and kill ops->tf_read(). This is much cleaner for non-SFF controllers as some of them have to cache SFF register values in private data structure and report the cached values via ops->tf_read(). Also, ops->tf_read() gets nasty for controllers which don't have clear notion of TF registers when operation is not in progress. As this change makes default ops->qc_fill_rtf unnecessary, move ata_sff_qc_fill_rtf() form ata_base_port_ops to ata_sff_port_ops where it belongs. Signed-off-by: Tejun Heo commit 79f97dadfe9b4b561634d202225ba2fa910dc225 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: drop @finish_qc from ata_qc_complete_multiple() ata_qc_complete_multiple() took @finish_qc and called it on every qc before completing it. This was to give opportunity to update TF cache before ata_qc_complete() tries to fill result_tf. Now that result TF is a separate operation, this is no longer necessary. Update sata_sil24, which was the only user of this mechanism, such that it implements its own ops->qc_fill_rtf() and drop @finish_qc from ata_qc_complete_multiple(). Signed-off-by: Tejun Heo commit 22183bf569c8600ff414ac25f23134044e0ef453 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: add qc_fill_rtf port operation On command completion, ata_qc_complete() directly called ops->tf_read to fill qc->result_tf. This patch adds ops->qc_fill_rtf to replace hardcoded ops->tf_read usage. ata_sff_qc_fill_rtf() which uses ops->tf_read to fill result_tf is implemented and set in ata_base_port_ops and other ops tables which don't inherit from ata_base_port_ops, so this patch doesn't introduce any behavior change. ops->qc_fill_rtf() is similar to ops->sff_tf_read() but can only be called when a command finishes. As some non-SFF controllers don't have TF registers defined unless they're associated with in-flight commands, this limited operation makes life easier for those drivers and help lifting SFF assumptions from libata core layer. Signed-off-by: Tejun Heo commit 305d2a1ab137d11d573319c315748a87060fe82d Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: unify mechanism to request follow-up SRST Previously, there were two ways to trigger follow-up SRST from hardreset method - returning -EAGAIN and leaving all device classes unmodified. Drivers never used the latter mechanism and the only use case for the former was when hardreset couldn't classify. Drop the latter mechanism and let -EAGAIN mean "perform follow-up SRST if classification is required". This change removes unnecessary follow-up SRSTs and simplifies reset implementations. Signed-off-by: Tejun Heo commit 5958e3025fd9d97429163e074d9cfa3848f51f28 Author: Tejun Heo Date: Mon Apr 7 22:47:20 2008 +0900 libata: move PMP SCR access failure during reset to ata_eh_reset() If PMP fan-out reset fails and SCR isn't accessible, PMP should be reset. This used to be tested by sata_pmp_std_hardreset() and communicated to EH by -ERESTART. However, this logic is generic and doesn't really have much to do with specific hardreset implementation. This patch moves SCR access failure detection logic to ata_eh_reset() where it belongs. As this makes sata_pmp_std_hardreset() identical to sata_std_hardreset(), the function is killed and replaced with the standard method. Signed-off-by: Tejun Heo commit ac371987a81c61c2efbd6931245cdcaf43baad89 Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: clear SError after link resume SError used to be cleared in ->postreset. This has small hotplug race condition. If a device is plugged in after reset is complete but postreset hasn't run yet, its hotplug event gets lost when SError is cleared. This patch makes sata_link_resume() clear SError. This kills the race condition and makes a lot of sense as some PMP and host PHYs don't work properly without SError cleared. This change makes sata_pmp_std_{pre|post}_reset()'s unnecessary as they become identical to ata_std counterparts. It also simplifies sata_pmp_hardreset() and ahci_vt8251_hardreset(). Signed-off-by: Tejun Heo commit 57c9efdfb3cee5d4564fcb5f70555e2edb1bc52a Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: implement and use sata_std_hardreset() Implement sata_std_hardreset(), which simply wraps around sata_link_hardreset(). sata_std_hardreset() becomes new standard hardreset method for sata_port_ops and sata_sff_hardreset() moves from ata_base_port_ops to ata_sff_port_ops, which is where it really belongs. ata_is_builtin_hardreset() is added so that both ata_std_error_handler() and ata_sff_error_handler() skip both builtin hardresets if SCR isn't accessible. piix_sidpr_hardreset() in ata_piix.c is identical to sata_std_hardreset() in functionality and got replaced with the standard function. Signed-off-by: Tejun Heo commit 9dadd45b24145d6aee2fabb28d7aef972301892b Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: move generic hardreset code from sata_sff_hardreset() to sata_link_hardreset() sata_sff_hardreset() contains link readiness wait logic which isn't SFF specific. Move that part into sata_link_hardreset(), which now takes two more parameters - @online and @check_ready. Both are optional. The former is out parameter for link onlineness after reset. The latter is used to wait for link readiness after hardreset. Users of sata_link_hardreset() is updated to use new funtionality and ahci_hardreset() is updated to use sata_link_hardreset() instead of sata_sff_hardreset(). This doesn't really cause any behavior change. Signed-off-by: Tejun Heo commit a89611e8489ac24f371c9fd6fef6605b170b16ba Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 ahci: use ata_wait_after_reset() instead of ata_sff_wait_ready() Implement ahci_check_ready() and replace ata_sff_wait_after_reset() with ata_wait_after_reset(). As ahci was faking TF access, this change doesn't result in any functional difference. Signed-off-by: Tejun Heo commit aa2731ad9ad80ac3fca48bd1c4cf0eceede4810e Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: separate out ata_wait_ready() and implement ata_wait_after_reset() Factor out waiting logic (which is common to all ATA controllers) from ata_sff_wait_ready() into ata_wait_ready(). ata_wait_ready() takes @check_ready function pointer and uses it to poll for readiness. This allows non-SFF controllers to use ata_wait_ready() to wait for link readiness. This patch also implements ata_wait_after_reset() - generic version of ata_sff_wait_after_reset() - using ata_wait_ready(). ata_sff_wait_ready() is reimplemented using ata_wait_ready() and ata_sff_check_ready(). Functionality remains the same. Signed-off-by: Tejun Heo commit 705e76beb90b97421e1f61e857c4246799781bb5 Author: Tejun Heo Date: Mon Apr 7 22:47:19 2008 +0900 libata: restructure SFF post-reset readiness waits Previously, post-softreset readiness is waited as follows. 1. ata_sff_wait_after_reset() waits for 150ms and then for ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet. 2. ata_bus_softreset() finishes with -ENODEV if status is still 0xff. If not, continue to #3. 3. ata_bus_post_reset() waits readiness of dev0 and/or dev1 depending on devmask using ata_sff_wait_ready(). And for post-hardreset readiness, 1. ata_sff_wait_after_reset() waits for 150ms and then for ATA_TMOUT_FF_WAIT if status is 0xff and other conditions meet. 2. sata_sff_hardreset waits for device readiness using ata_sff_wait_ready(). This patch merges and unifies post-reset readiness waits into ata_sff_wait_ready() and ata_sff_wait_after_reset(). ATA_TMOUT_FF_WAIT handling is merged into ata_sff_wait_ready(). If TF status is 0xff, link status is unknown and the port is SATA, it will continue polling till ATA_TMOUT_FF_WAIT. ata_sff_wait_after_reset() is updated to perform the following steps. 1. waits for 150ms. 2. waits for dev0 readiness using ata_sff_wait_ready(). Note that this is done regardless of devmask, as ata_sff_wait_ready() handles 0xff status correctly, this preserves the original behavior except that it may wait longer after softreset if link is online but status is 0xff. This behavior change is very unlikely to cause any actual difference and is intended. It brings softreset behavior to that of hardreset. 3. waits for dev1 readiness just the same way ata_bus_post_reset() did. Now both soft and hard resets call ata_sff_wait_after_reset() after reset to wait for readiness after resets. As ata_sff_wait_after_reset() contains calls to ->sff_dev_select(), explicit call near the end of sata_sff_hardreset() is removed. This change makes reset implementation simpler and more consistent. While at it, make the magical 150ms wait post-reset wait duration a constant and ata_sff_wait_ready() and ata_sff_wait_after_reset() take @link instead of @ap. This is to make them consistent with other reset helpers and ease core changes. pata_scc is updated accordingly. Signed-off-by: Tejun Heo commit 203c75b8245c5386044721d9c5eda5c6b71b3d14 Author: Tejun Heo Date: Mon Apr 7 22:47:18 2008 +0900 libata: separate out ata_std_postreset() from ata_sff_postreset() Separate out generic ATA portion from ata_sff_postreset() into ata_std_postreset() and implement ata_sff_postreset() using the std version. ata_base_port_ops now has ata_std_postreset() for its postreset and ata_sff_port_ops overrides it to ata_sff_postreset(). This change affects pdc_adma, ahci, sata_fsl and sata_sil24. pdc_adma now specifies postreset to ata_sff_postreset() explicitly. sata_fsl and sata_sil24 now use ata_std_postreset() which makes no difference to them. ahci now calls ata_std_postreset() from its own postreset method, which causes no behavior difference. Signed-off-by: Tejun Heo commit 0aa1113d544226bc2c4a20d6ac1d71170512a361 Author: Tejun Heo Date: Mon Apr 7 22:47:18 2008 +0900 libata: separate out ata_std_prereset() from ata_sff_prereset() Separate out generic ATA portion from ata_sff_prereset() into ata_std_prereset() and implement ata_sff_prereset() using the std version. Waiting for device readiness is the only SFF specific part. ata_base_port_ops now has ata_std_prereset() for its prereset and ata_sff_port_ops overrides it to ata_sff_prereset(). This change can affect pdc_adma, ahci, sata_fsl and sata_sil24. pdc_adma implements its own prereset using ata_sff_prereset() and the rest has hardreset and thus are unaffected by this change. This change reflects real world situation. There is no generic way to wait for device readiness for non-SFF controllers and some of them don't have any mechanism for that. Non-sff drivers which don't have hardreset should wrap ata_std_prereset() and wait for device readiness itself but there's no such driver now and isn't likely to be popular in the future either. Signed-off-by: Tejun Heo commit 288623a06c652239d2f57d271af12bb024cf7218 Author: Tejun Heo Date: Mon Apr 7 22:47:17 2008 +0900 libata: clean up port_ops->sff_irq_clear() ->sff_irq_clear() is called only from SFF interrupt handler, so there is no reason to initialize it for non-SFF controllers. Also, ata_sff_irq_clear() can handle both BMDMA and non-BMDMA SFF controllers. This patch kills ata_noop_irq_clear() and removes it from base port_ops and sets ->sff_irq_clear to ata_sff_irq_clear() in sff port_ops instead of bmdma port_ops. Signed-off-by: Tejun Heo commit 5682ed33aae05d10a25c95633ef9d9c062825888 Author: Tejun Heo Date: Mon Apr 7 22:47:16 2008 +0900 libata: rename SFF port ops Add sff_ prefix to SFF specific port ops. This rename is in preparation of separating SFF support out of libata core layer. This patch strictly renames ops and doesn't introduce any behavior difference. Signed-off-by: Tejun Heo commit 9363c3825ea9ad76561eb48a395349dd29211ed6 Author: Tejun Heo Date: Mon Apr 7 22:47:16 2008 +0900 libata: rename SFF functions SFF functions have confusing names. Some have sff prefix, some have bmdma, some std, some pci and some none. Unify the naming by... * SFF functions which are common to both BMDMA and non-BMDMA are prefixed with ata_sff_. * SFF functions which are specific to BMDMA are prefixed with ata_bmdma_. * SFF functions which are specific to PCI but apply to both BMDMA and non-BMDMA are prefixed with ata_pci_sff_. * SFF functions which are specific to PCI and BMDMA are prefixed with ata_pci_bmdma_. * Drop generic prefixes from LLD specific routines. For example, bfin_std_dev_select -> bfin_dev_select. The following renames are noteworthy. ata_qc_issue_prot() -> ata_sff_qc_issue() ata_pci_default_filter() -> ata_bmdma_mode_filter() ata_dev_try_classify() -> ata_sff_dev_classify() This rename is in preparation of separating SFF support out of libata core layer. This patch strictly renames functions and doesn't introduce any behavior difference. Signed-off-by: Tejun Heo commit b67a1064cb1c1d3b43e01e8b43a6a8dcdefed733 Author: Mark Lord Date: Mon Mar 31 19:35:13 2008 -0400 sata_mv fix ifctl handling Fix handling of the SATA_INTERFACE_CFG register to match datasheet requirements. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit b562468cc3bd0c81decba1f5f39a7173f839e57e Author: Mark Lord Date: Mon Mar 31 19:34:40 2008 -0400 sata_mv clean up mv_stop_edma usage Clean up uses of mv_stop_edma{_engine}() to match datasheet requirements. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e12bef50b7660cf7c19d1cd3eac381b9eff734d7 Author: Mark Lord Date: Mon Mar 31 19:33:56 2008 -0400 sata_mv cosmetic fixes Various cosmetic fixes in preparation for real code changes later on. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 83c063dd730cb56bf3fc89b70250ff9a398fec1e Author: Yoichi Yuasa Date: Thu Feb 28 21:43:13 2008 +0900 use ATA_TAG_INTERNAL in ata_tag_internal() It should be ATA_TAG_INTERNAL. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit c30484d775eb0b899f2b6a8f5508a99ecaba59fc Author: Chris Wedgwood Date: Tue Mar 18 15:06:48 2008 -0700 Add 'short help text' to ATA_ACPI so it's [de]selectable. ATA_ACPI isn't selectable right now because it lacks 'short help text'. This means it's always enabled and always enables ACPI_DOCK. Add text so it's now [de]selectable. cc: Jeff Garzik cc: Tejun Heo cc: Len Brown Signed-off-by: Chris Wedgwood Signed-off-by: Jeff Garzik commit fc4712d12e332a46f200b9ba641855182df282c0 Author: Tejun Heo Date: Tue Mar 25 21:36:06 2008 +0900 pdc_adma: kill adma_host_stop() adma_host_stop() does the same thing that adma_port_stop() does. Kill it. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit b0316b15ace0570c87b74c81f1296cf7bf8d459e Author: Tejun Heo Date: Tue Mar 25 21:35:30 2008 +0900 pdc_adma: inherit ata_sff_port_ops With the previous ops standardization, pdc_adma now can inherit ata_sff_port_ops instead of ata_base_port_ops. Make the change. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit ed82f96425e744dffe62115e46f08eb785c0b2f3 Author: Tejun Heo Date: Tue Mar 25 21:34:39 2008 +0900 libata/pdc_adma: make SFF EH handle non-bmdma SFF drivers and standardize pdc_adma ops pdc_adma has interface similar to SFF but has its own DMA interface. It currently implements noop bmdma ops to avoid crashing ata_bmdma_error_handler() which BTW actually is EH for SFF drivers. This patch makes ata_bmdma_error_handler() dereference bmdma ops iff bmdma_addr is initialized as done in ata_bmdma_post_internal_cmd. This change allows pdc_adma to standardize ops and use SFF error_handler and post_internal_cmd. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit d8b81b8008a0f131e01bb6eb5c681c900c327e2b Author: Tejun Heo Date: Thu Mar 27 19:14:25 2008 +0900 libata: kill unused ata_flush_cache() ata_flush_code() hasn't been in use for quite some time now. Kill it. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 03faab7827e4e45823fd27c47b84c133e20a0cd0 Author: Tejun Heo Date: Thu Mar 27 19:14:24 2008 +0900 libata: implement ATA_QCFLAG_RETRY Currently whether a command should be retried after failure is determined inside ata_eh_finish(). Add ATA_QCFLAG_RETRY and move the logic into ata_eh_autopsy(). This makes things clearer and helps extending retry determination logic. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a5987e0a1b569146ed9cfa0a8c275a21b344fcaa Author: Tejun Heo Date: Thu Mar 27 19:14:23 2008 +0900 libata: make ata_tf_to_lba[48]() generic ata_tf_to_lba[48]() currently return LBA in tf + 1 for ata_read_native_max_address(). Make them return LBA and make it global so that it can be used to read LBA off TF for other purposes. ata_read_native_max_address() now adds 1 itself. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 06993d2237da45615b5a9a4dde3f344ce97ca17d Author: Jeff Garzik Date: Fri Apr 4 03:34:45 2008 -0400 [libata] sata_nv: disable ADMA by default Continues to have open issues, and engineering support is extremely difficult to come by, according to fellow NVIDIA engineers. Signed-off-by: Jeff Garzik commit 826cd156de6cea1e4982f32238077215cfa4ae63 Author: Al Viro Date: Tue Mar 25 05:18:11 2008 +0000 libata annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 9c0bf675054883acd10dec99c0c854514e139f06 Author: Tejun Heo Date: Wed Mar 26 16:00:58 2008 +0900 ata_piix: kill ich6_sata_ahci and clean up ich6_sata_ahci and ich6_sata are identical. Kill ich6_sata_ahci and drop _ahci postfixes from controller ids, which doesn't really mean anything at this point. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5016d7d212dbcc85cdc5130b1228d23f3423bd61 Author: Tejun Heo Date: Wed Mar 26 15:46:58 2008 +0900 ata_piix: don't attach to ICH6M in ahci mode ata_piix when attached to ICH6M in AHCI mode doesn't provide any benefit over using ahci and has detection problems. Don't let ata_piix claim ICH6M if it's in AHCI mode. This change makes ICH6R the only one which ata_piix can attach to even when it's in ahci mode which is necessary as some devices don't work properly under ahci mode. Drop PIIX_FLAG_AHCI and match the controller directly so that piix_disable_ahci() is called only for it. This change makes PIIX_SCC no longer used and it gets dropped too. This fixes bz 9491. Signed-off-by: Tejun Heo Cc: Robert M. Albrecht Signed-off-by: Jeff Garzik commit c1796d9850aaa97ee7492d090499b5508971514b Author: Tejun Heo Date: Thu Mar 27 19:44:24 2008 +0900 pata_scc: fix compile warning Missed one during mass conversion (dc14c0c5). Fix it. Spotted by Stephen Rothwell. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Signed-off-by: Jeff Garzik commit 15a5551c847c8787d6cd75b8cf7682cd6d642e1b Author: Alan Cox Date: Fri Mar 28 14:33:46 2008 -0700 libata: isolate and rework cable logic Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d21279f4125893c63ec285962e1f2164b4d71117 Author: Zoltan Boszormenyi Date: Fri Mar 28 14:33:46 2008 -0700 ata: SWNCQ should be enabled by default Signed-off-by: Zoltan Boszormenyi Cc: Robert Hancock Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9c74fbead08de13e3965e1c6ffe289f24f45479 Author: Harvey Harrison Date: Fri Mar 28 14:33:56 2008 -0700 pata_amd: fix sparse warning Current code is essentially choosing between dividing by 1 or dividing by two, make the conditions a little more obvious. As a bonus, removes a sparse error: drivers/ata/pata_amd.c:59:11: warning: symbol '__x' shadows an earlier one drivers/ata/pata_amd.c:59:11: originally declared here Signed-off-by: Harvey Harrison Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6fd36390117f7844ad147377878ddb52088f583a Author: Tejun Heo Date: Tue Mar 25 22:16:44 2008 +0900 libata: kill ata_chk_status() ata_chk_status() just calls ops->check_status and it only adds confusion with other status functions. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3d5a3d67a578d95ac3a11a862d16a054e2d4d9cd Author: Tejun Heo Date: Tue Mar 25 22:16:43 2008 +0900 libata: kill ata_chk_status() call from ata_dev_configure() ata_dev_configure() isn't tied to any controller interface except for the probe debug message printing at the end of the function. Kill the message. This is to help separating out SFF support from core layer. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 071ce34d57924edb76b76f7de460eb4991463959 Author: Tejun Heo Date: Tue Mar 25 22:16:42 2008 +0900 libata: move ata_pci_default_filter() out of CONFIG_PCI ata_pci_default_filter() doesn't really have anything to do with PCI. It's generally applicable to BMDMA controllers. Move it out of CONFIG_PCI. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 624d5c514eed18d5a93062e9d86d67065175f30a Author: Tejun Heo Date: Tue Mar 25 22:16:41 2008 +0900 libata: reorganize SFF related stuff * Move SFF related functions from libata-core.c to libata-sff.c. ata_[bmdma_]sff_port_ops, ata_devchk(), ata_dev_try_classify(), ata_std_dev_select(), ata_tf_to_host(), ata_busy_sleep(), ata_wait_after_reset(), ata_wait_ready(), ata_bus_post_reset(), ata_bus_softreset(), ata_bus_reset(), ata_std_softreset(), sata_std_hardreset(), ata_fill_sg(), ata_fill_sg_dumb(), ata_qc_prep(), ata_dump_qc_prep(), ata_data_xfer(), ata_data_xfer_noirq(), ata_pio_sector(), ata_pio_sectors(), atapi_send_cdb(), __atapi_pio_bytes(), atapi_pio_bytes(), ata_hsm_ok_in_wq(), ata_hsm_qc_complete(), ata_hsm_move(), ata_pio_task(), ata_qc_issue_prot(), ata_host_intr(), ata_interrupt(), ata_std_ports() * Make ata_pio_queue_task() global as it's now called from libata-sff.c. * Move SFF related stuff in include/linux/libata.h and drivers/ata/libata.h into one place. While at it, move timing constants into the global enum definition and fortify comments a bit. This patch strictly moves stuff around and as such doesn't cause any functional difference. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 272f7884e8c0effe594e5537092b9c0ccc0140b0 Author: Tejun Heo Date: Tue Mar 25 22:16:40 2008 +0900 libata: reorder functions in libata-sff.c Reorder functions in drivers/ata/libata-sff.c such that functions generally follow ops table order and init functions come last. This is in preparation of SFF cleanup. This patch strictly moves stuff around and as such doesn't cause any functional difference. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 21572ea58a1f99a59044febde90c31167d2f59ae Author: Tejun Heo Date: Tue Mar 25 22:16:39 2008 +0900 libata: drop ata_dev_select() from ata_dev_read_id There is no reason to issue device select in read_id, it will be done by ops->qc_issue() when IDENTIFY[_PACKET] is issued via ata_exec_internal(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a1efdaba2dbd6fb89e23a87b66d3f4dd92c9f5af Author: Tejun Heo Date: Tue Mar 25 12:22:50 2008 +0900 libata: make reset related methods proper port operations Currently reset methods are not specified directly in the ata_port_operations table. If a LLD wants to use custom reset methods, it should construct and use a error_handler which uses those reset methods. It's done this way for two reasons. First, the ops table already contained too many methods and adding four more of them would noticeably increase the amount of necessary boilerplate code all over low level drivers. Second, as ->error_handler uses those reset methods, it can get confusing. ie. By overriding ->error_handler, those reset ops can be made useless making layering a bit hazy. Now that ops table uses inheritance, the first problem doesn't exist anymore. The second isn't completely solved but is relieved by providing default values - most drivers can just override what it has implemented and don't have to concern itself about higher level callbacks. In fact, there currently is no driver which actually modifies error handling behavior. Drivers which override ->error_handler just wraps the standard error handler only to prepare the controller for EH. I don't think making ops layering strict has any noticeable benefit. This patch makes ->prereset, ->softreset, ->hardreset, ->postreset and their PMP counterparts propoer ops. Default ops are provided in the base ops tables and drivers are converted to override individual reset methods instead of creating custom error_handler. * ata_std_error_handler() doesn't use sata_std_hardreset() if SCRs aren't accessible. sata_promise doesn't need to use separate error_handlers for PATA and SATA anymore. * softreset is broken for sata_inic162x and sata_sx4. As libata now always prefers hardreset, this doesn't really matter but the ops are forced to NULL using ATA_OP_NULL for documentation purpose. * pata_hpt374 needs to use different prereset for the first and second PCI functions. This used to be done by branching from hpt374_error_handler(). The proper way to do this is to use separate ops and port_info tables for each function. Converted. Signed-off-by: Tejun Heo commit 959471936241bd83da7d0a76411cef6772140fe6 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: kill port_info->sht and ->irq_handler libata core layer doesn't care about sht or ->irq_handler. Those are only of interest to the LLD during initialization. This is confusing and has caused several drivers to have duplicate unused initializers for these fields. Currently only sata_nv uses these fields. Make sata_nv use ->private_data, which is supposed to carry LLD-specific information, instead and kill ->sht and ->irq_handler. nv_pi_priv structure is defined and struct literals are used to initialize private_data. Notational overhead is negligible. Signed-off-by: Tejun Heo commit 887125e3740283be25564bfc6fb5d24974b651ab Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: stop overloading port_info->private_data port_info->private_data is currently used for two purposes - to record private data about the port_info or to specify host->private_data to use when allocating ata_host. This overloading is confusing and counter-intuitive in that port_info->private_data becomes host->private_data instead of port->private_data. In addition, port_info and host don't correspond to each other 1-to-1. Currently, the first non-NULL port_info->private_data is used. This patch makes port_info->private_data just be what it is - private_data for the port_info where LLD can jot down extra info. libata no longer sets host->private_data to the first non-NULL port_info->private_data, @host_priv argument is added to ata_pci_init_one() instead. LLDs which use ata_pci_init_one() can use this argument to pass in pointer to host private data. LLDs which don't should use init-register model anyway and can initialize host->private_data directly. Adding @host_priv instead of using init-register model for LLDs which use ata_pci_init_one() is suggested by Alan Cox. Signed-off-by: Tejun Heo Cc: Alan Cox commit 1bd5b715a305f6f13455e89becbd839010dd14b5 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: make ata_pci_init_one() not use ops->irq_handler and pi->sht ata_pci_init_one() is the only function which uses ops->irq_handler and pi->sht. Other initialization functions take the same information as arguments. This causes confusion and duplicate unused entries in structures. Make ata_pci_init_one() take sht as an argument and use ata_interrupt implicitly. All current users use ata_interrupt and if different irq handler is necessary open coding ata_pci_init_one() using ata_prepare_sff_host() and ata_activate_sff_host can be done under ten lines including error handling and driver which requires custom interrupt handler is likely to require custom initialization anyway. As ata_pci_init_one() was the last user of ops->irq_handler, this patch also kills the field. Signed-off-by: Tejun Heo commit 029cfd6b74fc5c517865fad78cf4a3ea8d9b664a Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: implement and use ops inheritance libata lets low level drivers build ata_port_operations table and register it with libata core layer. This allows low level drivers high level of flexibility but also burdens them with lots of boilerplate entries. This becomes worse for drivers which support related similar controllers which differ slightly. They share most of the operations except for a few. However, the driver still needs to list all operations for each variant. This results in large number of duplicate entries, which is not only inefficient but also error-prone as it becomes very difficult to tell what the actual differences are. This duplicate boilerplates all over the low level drivers also make updating the core layer exteremely difficult and error-prone. When compounded with multi-branched development model, it ends up accumulating inconsistencies over time. Some of those inconsistencies cause immediate problems and fixed. Others just remain there dormant making maintenance increasingly difficult. To rectify the problem, this patch implements ata_port_operations inheritance. To allow LLDs to easily re-use their own ops tables overriding only specific methods, this patch implements poor man's class inheritance. An ops table has ->inherits field which can be set to any ops table as long as it doesn't create a loop. When the host is started, the inheritance chain is followed and any operation which isn't specified is taken from the nearest ancestor which has it specified. This operation is called finalization and done only once per an ops table and the LLD doesn't have to do anything special about it other than making the ops table non-const such that libata can update it. libata provides four base ops tables lower drivers can inherit from - base, sata, pmp, sff and bmdma. To avoid overriding these ops accidentaly, these ops are declared const and LLDs should always inherit these instead of using them directly. After finalization, all the ops table are identical before and after the patch except for setting .irq_handler to ata_interrupt in drivers which didn't use to. The .irq_handler doesn't have any actual effect and the field will soon be removed by later patch. * sata_sx4 is still using old style EH and currently doesn't take advantage of ops inheritance. Signed-off-by: Tejun Heo commit 68d1d07b510bb57a504588adc2bd2758adea0965 Author: Tejun Heo Date: Tue Mar 25 12:22:49 2008 +0900 libata: implement and use SHT initializers libata lets low level drivers build scsi_host_template and register it to the SCSI layer. This allows low level drivers high level of flexibility but also burdens them with lots of boilerplate entries. This patch implements SHT initializers which can be used to initialize all the boilerplate entries in a sht. Three variants of them are implemented - BASE, BMDMA and NCQ - for different types of drivers. Note that entries can be overriden by putting individual initializers after the helper macro. All sht tables are identical before and after this patch. Signed-off-by: Tejun Heo commit 6bd99b4e0998571808fc1f09d5162348f21ff8c1 Author: Tejun Heo Date: Tue Mar 25 12:22:48 2008 +0900 libata: normalize port_info, port_operations and sht tables Over the time, port info, ops and sht structures developed quite a bit of inconsistencies. This patch updates drivers. * Enable/disable_pm callbacks added to all ahci ops tables. * Every driver for SFF controllers now uses ata_sff_port_start() instead of ata_port_start() unless the driver has custom implementation. * Every driver for SFF controllers now uses ata_pci_default_filter() unless the driver has custom implementation. * Removed an odd port_info->sht initialization from ata_piix.c. Likely a merge byproduct. * A port which has ATA_FLAG_SATA set doesn't need to set cable_detect to ata_cable_sata(). Remove it from via and mv port ops. * Some drivers had unnecessary .max_sectors initialization which is ignored and was missing .slave_destroy callback. Fixed. * Removed unnecessary sht initializations port_info's. * Removed onsolete scsi device suspend/resume callbacks from pata_bf54x. * No reason to set ata_pci_default_filter() and bmdma functions for PIO-only drivers. Remove those callbacks and replace ata_bmdma_irq_clear with ata_noop_irq_clear. * pata_platform sets port_start to ata_dummy_ret0. port_start can just be set to NULL. * sata_fsl supports NCQ but was missing qc_defer. Fixed. * pata_rb600_cf implements dummy port_start. Removed. Signed-off-by: Tejun Heo commit 358f9a77a668660729e705fde9c3cf69f013aa98 Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: implement and use ata_noop_irq_clear() ->irq_clear() is used to clear IRQ bit of a SFF controller and isn't useful for drivers which don't use libata SFF HSM implementation. However, it's a required callback and many drivers implement their own noop version as placeholder. This patch implements ata_noop_irq_clear and use it to replace those custom placeholders. Also, SFF drivers which don't support BMDMA don't need to use ata_bmdma_irq_clear(). It becomes noop if BMDMA address isn't initialized. Convert them to use ata_noop_irq_clear(). Signed-off-by: Tejun Heo commit c1bc899f5805771926c9198e2ab4d77122c356a1 Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: reorganize ata_port_operations Over the time, ops in ata_port_operations has become a bit confusing. Reorganize. SFF/BMDMA ops are separated into separate a group as they will be taken out of ata_port_operations later. Signed-off-by: Tejun Heo commit f08048e94564d009b19038cfbdd800aa83e79c7f Author: Tejun Heo Date: Tue Mar 25 12:22:47 2008 +0900 libata: PCI device should be powered up before being accessed PCI device should be powered up or powered up before its PCI regsiters are accessed. Although PCI configuration register access is allowed in D3hot, PCI device is free to reset its status when transiting from D3hot to D0 causing configuration data to change. Many libata SFF drivers which use ata_pci_init_one() read and update configuration registers before calling ata_pci_init_one() which enables the PCI device. Also, in resume paths, some drivers access registers without resuming the PCI device. This patch adds a call to pcim_enable_device() in init path if register is accessed before calling ata_pci_init_one() and make resume paths first resume PCI devices, access PCI configuration regiters then resume ATA host. While at it... * cmd640 was strange in that it set ->resume even when CONFIG_PM is not. This is by-product of minimal build fix. Updated. * In cs5530, Don't BUG() on reinit failure. Just whine and fail resume. Signed-off-by: Tejun Heo commit b558edddb1c42c70a30cfe494984d4be409f7b2b Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ata_ehi_schedule_probe() ata_ehi_schedule_probe() was created to hide details of link-resuming reset magic. Now that all the softreset workarounds are gone, scheduling probe is very simple - set probe_mask and request RESET. Kill ata_ehi_schedule_probe() and open code it. This also increases consistency as ata_ehi_schedule_probe() couldn't cover individual device probings so they were open-coded even when the helper existed. While at it, define ATA_ALL_DEVICES as mask of all possible devices on a link and always use it when requesting probe on link level for simplicity and consistency. Setting extra bits in the probe_mask doesn't hurt anybody. Signed-off-by: Tejun Heo commit 8cebf274dd1c955a6e03385a85fd6569ce445946 Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_LFLAG_SKIP_D2H_BSY Some controllers can't reliably record the initial D2H FIS after SATA link is brought online for whatever reason. Advanced controllers which don't have traditional TF register based interface often have this problem as they don't really have the TF registers to update while the controller and link are being initialized. SKIP_D2H_BSY works around the problem by skipping the wait for device readiness before issuing SRST, so for such controllers libata issues SRST blindly and hopes for the best. Now that libata defaults to hardreset, this workaround is no longer necessary. For controllers which have support for hardreset, SRST is never issued by itself. It is only issued as follow-up SRST for device classification and PMP initialization, so there's no need to wait for it from prereset. Kill ATA_LFLAG_SKIP_D2H_BSY. Signed-off-by: Tejun Heo commit 672b2d65ba83a6f3f801fd3d58851aa9c0725a54 Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_EHI_RESUME_LINK ATA_EHI_RESUME_LINK has two functions - promote reset to hardreset if ATA_LFLAG_HRST_TO_RESUME is set and preventing EH from shortcutting reset action when probing is requested. The former is gone now and the latter can easily be achieved by making EH to perform at least one reset if reset is requested, which also makes more sense than depending on RESUME_LINK flag. As ATA_EHI_RESUME_LINK was the only EHI reset modifier, this also kills reset modifier handling. Signed-off-by: Tejun Heo commit d692abd92f22a81b38d52c39601871003262841c Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: kill ATA_LFLAG_HRST_TO_RESUME Now that hardreset is the preferred method of resetting, there's no need for ATA_LFLAG_HRST_TO_RESUME flag. Kill it. Signed-off-by: Tejun Heo commit cf48062658e7ab3bc55e10c65676c3c73c16f8bf Author: Tejun Heo Date: Thu Jan 24 00:05:14 2008 +0900 libata: prefer hardreset When both soft and hard resets are available, libata preferred softreset till now. The logic behind it was to be softer to devices; however, this doesn't really help much. Rationales for the change: * BIOS may freeze lock certain things during boot and softreset can't unlock those. This by itself is okay but during operation PHY event or other error conditions can trigger hardreset and the device may end up with different configuration. For example, after a hardreset, previously unlockable HPA can be unlocked resulting in different device size and thus revalidation failure. Similar condition can occur during or after resume. * Certain ATAPI devices require hardreset to recover after certain error conditions. On PATA, this is done by issuing the DEVICE RESET command. On SATA, COMRESET has equivalent effect. The problem is that DEVICE RESET needs its own execution protocol. For SFF controllers with bare TF access, it can be easily implemented but more advanced controllers (e.g. ahci and sata_sil24) require specialized implementations. Simply using hardreset solves the problem nicely. * COMRESET initialization sequence is the norm in SATA land and many SATA devices don't work properly if only SRST is used. For example, some PMPs behave this way and libata works around by always issuing hardreset if the host supports PMP. Like the above example, libata has developed a number of mechanisms aiming to promote softreset to hardreset if softreset is not going to work. This approach is time consuming and error prone. Also, note that, dependingon how you read the specs, it could be argued that PMP fan-out ports require COMRESET to start operation. In fact, all the PMPs on the market except one don't work properly if COMRESET is not issued to fan-out ports after PMP reset. * COMRESET is an integral part of SATA connection and any working device should be able to handle COMRESET properly. After all, it's the way to signal hardreset during reboot. This is the most used and recommended (at least by the ahci spec) method of resetting devices. So, this patch makes libata prefer hardreset over softreset by making the following changes. * Rename ATA_EH_RESET_MASK to ATA_EH_RESET and use it whereever ATA_EH_{SOFT|HARD}RESET used to be used. ATA_EH_{SOFT|HARD}RESET is now only used to tell prereset whether soft or hard reset will be issued. * Strip out now unneeded promote-to-hardreset logics from ata_eh_reset(), ata_std_prereset(), sata_pmp_std_prereset() and other places. Signed-off-by: Tejun Heo commit 36b30ea940bb88d88c90698e0e3d97a805ab5856 Author: Jeff Garzik Date: Tue Oct 16 01:40:30 2007 -0400 [netdrvr] forcedeth: internal simplifications; changelog removal * remove changelog from source; its kept in git repository * consolidate descriptor version tests using nv_optimized() * consolidate NIC DMA start, stop and drain into nv_start_txrx(), nv_stop_txrx(), nv_drain_txrx() Signed-off-by: Jeff Garzik commit cac1f3c8a80f3fc0b4489d1d3ba29214677ffab2 Author: Paul Gortmaker Date: Tue Apr 15 12:49:21 2008 -0400 phylib: factor out get_phy_id from within get_phy_device We were already doing what amounts to a get_phy_id from within get_phy_device, and rather than duplicate this for the TBIPA probing, we might as well just factor it out and make it available instead. Signed-off-by: Paul Gortmaker Acked-by: Andy Fleming Signed-off-by: Jeff Garzik commit b1394f961a90a7195ea177ee56d54fe5c37181ca Author: Paul Gortmaker Date: Mon Apr 14 23:35:41 2008 -0400 PHY: add BCM5464 support to broadcom PHY driver The BCM5464 can be used with the current broadcom PHY driver by just adding the appropriate chip ID and using the existing support within. Signed-off-by: Paul Gortmaker Signed-off-by: Jeff Garzik commit d96a51f6b8040ef2b25b88032f23ffdb1ddba681 Author: Dan Noe Date: Sat Apr 12 22:34:38 2008 -0400 cxgb3: Fix __must_check warning with dev_dbg. Fix the warning: drivers/net/cxgb3/cxgb3_main.c: In function ‘offload_open’: drivers/net/cxgb3/cxgb3_main.c:936: warning: ignoring return value of ‘sysfs_create_group’, declared with attribute warn_unused_result Now the return value is checked; if sysfs_create_group() returns failure, a warning is printed using dev_dbg, and the code continues as before. Use of dev_dbg ensures printk is not needlessly included unless desired for debugging. Signed-off-by: Dan Noe Signed-off-by: Jeff Garzik commit 10e05f78c5566cb762ced12bf70307c60168d56e Author: Atsushi Nemoto Date: Sun Apr 13 00:11:46 2008 +0900 tc35815: Statistics cleanup On Sat, 12 Apr 2008 05:00:49 -0400, Jeff Garzik wrote: > applied 1-6 Thanks. Could you apply this too, or hopufully fold into Andy Fleming's "phy: Change mii_bus id field to a string" patch (commit c69fedae) ? ------------------------------------------------------ Subject: [PATCH] tc35815: build fix Fix build failure caused by Andy Fleming's "phy: Change mii_bus id field to a string" patch. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 703bb99ca73aa38d3f200d4c7e9bb460dce35fda Author: Sergei Shtylyov Date: Sat Apr 12 20:58:30 2008 +0400 natsemi: fix MMIO for PPC 44x platforms The driver stores the PCI resource address into 'unsigned long' variable before calling ioremap() on it. This warrants a kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that creates an illusion of the PCI memory resources are mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3 Author: Jason Wessel Date: Tue Apr 1 16:55:28 2008 -0500 kgdb: always use icache flush for sw breakpoints On the ppc 4xx architecture the instruction cache must be flushed as well as the data cache. This patch just makes it generic for all architectures where CACHE_FLUSH_IS_SAFE is set to 1. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 56fb70932964927597ce30bbd820471633c72adc Author: Jason Wessel Date: Tue Apr 1 16:55:27 2008 -0500 kgdb: fix SMP NMI kgdb_handle_exception exit race Fix the problem of protecting the kgdb handle_exception exit which had an NMI race condition, while trying to restore normal system operation. There was a small window after the master processor sets cpu_in_debug to zero but before it has set kgdb_active to zero where a non-master processor in an SMP system could receive an NMI and re-enter the kgdb_wait() loop. As long as the master processor sets the cpu_in_debug before sending the cpu roundup the cpu_in_debug variable can also be used to guard against the race condition. The kgdb_wait() function no longer needs to check kgdb_active because it is done in the arch specific code and handled along with the nmi traps at the low level. This also allows kgdb_wait() to exit correctly if it was entered for some unknown reason due to a spurious NMI that could not be handled by the arch specific code. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 225a4424ade24e913c081d5a4c4bd71a0fe2e0ac Author: Jason Wessel Date: Tue Apr 1 16:55:26 2008 -0500 kgdb: documentation fixes Minor cleanups to kgdb docs. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 974460c5bfd9f6c38aa3dda189a63f9fc351035f Author: Jason Wessel Date: Thu Mar 20 13:43:44 2008 -0500 kgdb: allow static kgdbts boot configuration This patch adds in the ability to compile the kgdb internal test string into the kernel so as to run the tests at boot without changing the kernel boot arguments. This patch also changes all the error paths to invoke WARN_ON(1) which will emit the line number of the file and dump the kernel stack when an error occurs. You can disable the tests in a kernel that is built this way using "kgdbts=" Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit e3e2aaf7dc0d82a055e084cfd48b9257c0c66b68 Author: Jason Wessel Date: Thu Mar 20 13:43:45 2008 -0500 kgdb: add documentation Add in the kgdb documentation for kgdb. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 4a1b5502d426df09b9ba1cbcc74fd09702a74cd8 Author: Andrew Morton Date: Fri Mar 7 15:51:16 2008 -0800 kgdb: Kconfig fix ERROR: "uart_parse_options" [drivers/serial/serial_core.ko] undefined! Cc: Jason Wessel Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit e8d31c204e36e019b9134f2a11926cac0fcf9b19 Author: Jason Wessel Date: Fri Mar 7 16:34:17 2008 -0600 kgdb: add kgdb internal test suite This patch adds regression tests for testing the kgdb core and arch specific implementation. The kgdb test suite is designed to be built into the kernel and not as a module because it uses a number of low level kernel and kgdb primitives which should not be exported externally. The kgdb test suite is designed as a KGDB I/O module which simulates the communications that a debugger would have with kgdb. The tests are broken up in to a line by line and referenced here as a "get" which is kgdb requesting input and "put" which is kgdb sending a response. The kgdb suite can be invoked from the kernel command line arguments system or executed dynamically at run time. The test suite uses the variable "kgdbts" to obtain the information about which tests to run and to configure the verbosity level. The following are the various characters you can use with the kgdbts= line: When using the "kgdbts=" you only choose one of the following core test types: A = Run all the core tests silently V1 = Run all the core tests with minimal output V2 = Run all the core tests in debug mode You can also specify optional tests: N## = Go to sleep with interrupts of for ## seconds to test the HW NMI watchdog F## = Break at do_fork for ## iterations S## = Break at sys_open for ## iterations NOTE: that the do_fork and sys_open tests are mutually exclusive. To invoke the kgdb test suite from boot you use a kernel start argument as follows: kgdbts=V1 kgdbwait Or if you wanted to perform the NMI test for 6 seconds and do_fork test for 100 forks, you could use: kgdbts=V1N6F100 kgdbwait The test suite can also be invoked at run time with: echo kgdbts=V1N6F100 > /sys/module/kgdbts/parameters/kgdbts Or as another example: echo kgdbts=V2 > /sys/module/kgdbts/parameters/kgdbts When developing a new kgdb arch specific implementation or using these tests for the purpose of regression testing, several invocations are required. 1) Boot with the test suite enabled by using the kernel arguments "kgdbts=V1F100 kgdbwait" ## If kgdb arch specific implementation has NMI use "kgdbts=V1N6F100 2) After the system boot run the basic test. echo kgdbts=V1 > /sys/module/kgdbts/parameters/kgdbts 3) Run the concurrency tests. It is best to use n+1 while loops where n is the number of cpus you have in your system. The example below uses only two loops. ## This tests break points on sys_open while [ 1 ] ; do find / > /dev/null 2>&1 ; done & while [ 1 ] ; do find / > /dev/null 2>&1 ; done & echo kgdbts=V1S10000 > /sys/module/kgdbts/parameters/kgdbts fg # and hit control-c fg # and hit control-c ## This tests break points on do_fork while [ 1 ] ; do date > /dev/null ; done & while [ 1 ] ; do date > /dev/null ; done & echo kgdbts=V1F1000 > /sys/module/kgdbts/parameters/kgdbts fg # and hit control-c Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 737a460f21febe551ff1d2299b63bae9b154078f Author: Jason Wessel Date: Fri Mar 7 16:34:16 2008 -0600 kgdb: fix several kgdb regressions kgdb core fixes: - Check to see that mm->mmap_cache is not null before calling flush_cache_range(), else on arch=ARM it will cause a fatal fault. - Breakpoints should only be restored if they are in the BP_ACTIVE state. - Fix a typo in comments to "kgdb_register_io_module" x86 kgdb fixes: - Fix the x86 arch handler such that on a kill or detach that the appropriate cleanup on the single stepping flags gets run. - Add in the DIE_NMIWATCHDOG call for x86_64 - Touch the nmi watchdog before returning the system to normal operation after performing any kind of kgdb operation, else the possibility exists to trigger the watchdog. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 84b5ae15216aa3ea0314f395536ef9829af21e14 Author: Jason Wessel Date: Wed Feb 20 13:33:39 2008 -0600 kgdb: kgdboc pl011 I/O module Implement the serial polling hooks for the pl011 uart for use with kgdboc. This patch was specifically tested on the ARM Versatile AB reference platform. [ mingo@elte.hu: minor cleanups. ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4b8ac524d9b6ed7229017145afa1d7afbea4a48 Author: Jason Wessel Date: Wed Feb 20 13:33:38 2008 -0600 kgdb: fix optional arch functions and probe_kernel_* Fix two regressions dealing with the kgdb core. 1) kgdb_skipexception and kgdb_post_primary_code are optional functions that are only required on archs that need special exception fixups. 2) The kernel address space scope must be set on any probe_kernel_* function or archs such as ARCH=arm will not allow access to the kernel memory space. As an example, it is required to allow the full kernel address space is when you the kernel debugger to inspect a system call. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 64e9ee3095b61d0300ea548216a57d2536611309 Author: Jason Wessel Date: Fri Feb 15 14:55:56 2008 -0600 kgdb: add x86 HW breakpoints Add HW breakpoints into the arch specific portion of x86 kgdb. In the current x86 kernel.org kernels HW breakpoints are changed out in lazy fashion because there is no infrastructure around changing them when changing to a kernel task or entering the kernel mode via a system call. This lazy approach means that if a user process uses HW breakpoints the kgdb will loose out. This is an acceptable trade off because the developer debugging the kernel is assumed to know what is going on system wide and would be aware of this trade off. There is a minor bug fix to the kgdb core so as to correctly call the hw breakpoint functions with a valid value from the enum. There is also a minor change to the x86_64 startup code when using early HW breakpoints. When the debugger is connected, the cpu startup code must not zero out the HW breakpoint registers or you cannot hit the breakpoints you are interested in, in the first place. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 67baf94cd260dc37504dbd15ba3faa2d8cf8a444 Author: Jason Wessel Date: Fri Feb 15 14:55:55 2008 -0600 kgdb: print breakpoint removed on exception If kgdb does remove a breakpoint that had a problem on the recursion check, it should also print the address of the breakpoint. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 7c3078b637882303b1dcf6a16229d0e35f6b60a5 Author: Jason Wessel Date: Fri Feb 15 14:55:54 2008 -0600 kgdb: clocksource watchdog In order to not trip the clocksource watchdog, kgdb must touch the clocksource watchdog on the return to normal system run state. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit d359752407f8916c29ad53a5c30ac73e338f2797 Author: Jason Wessel Date: Fri Feb 15 14:55:53 2008 -0600 kgdb: fix NMI hangs This patch fixes the hang regression with kgdb when the NMI interrupt comes in while the master core is returning from an exception. Adjust the NMI logic such that KGDB will not stop NMI exceptions from occurring by in general returning NOTIFY_DONE. It is not possible to distinguish the debug NMI sync vs the normal NMI apic interrupt so kgdb needs to catch the unknown NMI if it the debugger was previously active on one of the cpus. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit c191e5ad6b3fd8cc84b2b6d62c02fcd6837c8a8f Author: Jason Wessel Date: Fri Feb 15 14:55:52 2008 -0600 kgdb: fix kgdboc dynamic module configuration Fix the run time configuration of kgdboc such that it does not default to 9600 baud if you use the "echo" command to configure the sysfs module paramater. Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar commit 6cdf6e06d70dcf42314edb2c43b7c7ebc56e32e5 Author: Jason Wessel Date: Thu Apr 17 20:05:38 2008 +0200 kgdb: document parameters document the kgdboc module/boot parameter. Signed-off-by: Jason Wessel Signed-off-by: Jan Kiszka Signed-off-by: Ingo Molnar commit 82da3ff89dc2a1842cff9b0d4cbc345cb90b59e1 Author: Ingo Molnar Date: Thu Apr 17 20:05:37 2008 +0200 x86: kgdb support simplified and streamlined kgdb support on x86, both 32-bit and 64-bit, based on patch from: Subject: kgdb: core-lite From: Jason Wessel [ and countless other authors - see the patch for details. ] Signed-off-by: Ingo Molnar Signed-off-by: Jason Wessel Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit f2d937f3bf00665ccf048b3b6616ef95859b0945 Author: Jason Wessel Date: Thu Apr 17 20:05:37 2008 +0200 consoles: polling support, kgdboc polled console handling support, to access a console in an irq-less way while in debug or irq context. absolutely zero impact as long as CONFIG_CONSOLE_POLL is disabled. (which is the default) [ jan.kiszka@siemens.com: lots of cleanups ] [ mingo@elte.hu: redesign, splitups, cleanups. ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit dc7d552705215ac50a0617fcf51bb9c736255b8e Author: Jason Wessel Date: Thu Apr 17 20:05:37 2008 +0200 kgdb: core kgdb core code. Handles the protocol and the arch details. [ mingo@elte.hu: heavily modified, simplified and cleaned up. ] [ xemul@openvz.org: use find_task_by_pid_ns ] Signed-off-by: Jason Wessel Signed-off-by: Ingo Molnar Signed-off-by: Jan Kiszka Reviewed-by: Thomas Gleixner commit c33fa9f5609e918824446ef9a75319d4a802f1f4 Author: Ingo Molnar Date: Thu Apr 17 20:05:36 2008 +0200 uaccess: add probe_kernel_write() add probe_kernel_read() and probe_kernel_write(). Uninlined and restricted to kernel range memory only, as suggested by Linus. Signed-off-by: Ingo Molnar Reviewed-by: Thomas Gleixner commit 0e4ff797d7f2f2bb860b8f31dc5d1f2273b2f05a Author: Adrian Bunk Date: Thu Apr 17 12:37:01 2008 +0300 [SCSI] qla1280: remove version check There's no point for an in-kernel driver to check whether it's compiled under kernel < 2.6.0 . Signed-off-by: Adrian Bunk Cc: Jes Sorensen Signed-off-by: James Bottomley commit 17b7a8de3bf1eb2cba14d5c8d919e55d511d8a71 Author: Al Viro Date: Wed Apr 16 23:27:45 2008 +0100 [SCSI] libsas: fix endianness bug in sas_ata Signed-off-by: Al Viro Signed-off-by: James Bottomley commit ee95a16d3950367d32beb6ffed287666631dbda9 Author: Martin Peschke Date: Thu Apr 17 00:08:03 2008 +0200 [SCSI] zfcp: fix compiler warning caused by poking inside new semaphore (linux-next) as seen in linux-next tree: drivers/s390/scsi/zfcp_dbf.c: In function ‘zfcp_rec_dbf_event_thread’: drivers/s390/scsi/zfcp_dbf.c:697: warning: passing argument 1 of ‘atomic_read’ from incompatible pointer type Caused by recent git commit: commit 348447e85749120ad600a5c8e23b6bb7058b931d Author: Martin Peschke Date: Thu Mar 27 14:22:01 2008 +0100 [SCSI] zfcp: Add trace records for recovery thread and its queues We are not supposed to poke inside semaphore. Signed-off-by: Martin Peschke Acked-by: Christof Schmitt Signed-off-by: James Bottomley commit 71b264f85ff50c14fe945ffff06ae0d5e9a9124e Merge: f4df39c... 072f042... Author: Tony Luck Date: Thu Apr 17 10:14:51 2008 -0700 Pull miscellaneous into release branch Conflicts: arch/ia64/kernel/mca.c commit f4df39cbdd9e9ab615e80148cc271db22a8508ad Merge: a49072b... a6c75b86... Author: Tony Luck Date: Thu Apr 17 10:13:57 2008 -0700 Pull nptcg into release branch Conflicts: arch/ia64/mm/tlb.c commit a49072bb367a94a9af6c6a6dcbaa1dc5617d7fa0 Merge: fc494d6... 31a6b11... Author: Tony Luck Date: Thu Apr 17 10:13:09 2008 -0700 Pull kvm-patches into release branch commit fc494d6c1825de37f04abe147741d50be08403ab Merge: 78514c1... 2c6e6db... Author: Tony Luck Date: Thu Apr 17 10:12:55 2008 -0700 Pull percpureserve into release branch commit 78514c106b90b628a90c630a3bc87a6538aed865 Merge: 14d0647... 4cd8dc8... Author: Tony Luck Date: Thu Apr 17 10:12:44 2008 -0700 Pull regset into release branch commit 14d0647c98f52e2d76113d44de6b771ec87a934f Merge: 2a467d5... b64f34c... Author: Tony Luck Date: Thu Apr 17 10:12:27 2008 -0700 Pull virt-cpu-accounting into release branch commit 2a467d5f7d6bdc90c365db167a10022dd8351894 Merge: 4b119e2... 4fe01c6... Author: Tony Luck Date: Thu Apr 17 10:12:07 2008 -0700 Pull fsys_gettimeofday into release branch commit 79b34afa68de4088081bcb7b4aed0fc4d8bf3618 Author: David Anders Date: Thu Apr 10 22:36:59 2008 +0100 [ARM] 4963/1: S3C2410 - add basic machine support for the TCT Hammer Add the TinCanTools Hammer board to list of supported machines in the arch/arm/mach-s3c2410 directory, as well as a default config entry. the mach-tct_hammer.c file initializes basic i/o, clocks, irqs, as well as the mtd flash layout if enabled in the kernel configuration. Signed-off-by: David Anders Signed-off-by: Ben Dooks Signed-off-by: Russell King commit de56a2f9228477866449963c2aff9df4728ea7fb Author: Davide Rizzo Date: Sun Mar 30 08:58:33 2008 +0100 [ARM] 4883/1: Adds some missing gpio defines for S3C2410 This is a small addition of forgotten defines to regs-gpio.h include file for the Samsung S3C2410 ARM9 SoC Signed-off-by: Davide Rizzo Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3c7d9c81e1302c244180e62999a08ca95b175cf5 Author: Ben Dooks Date: Wed Apr 16 00:15:20 2008 +0100 [ARM] 4987/1: S3C24XX: Ensure watchdog reset initiated from cached code. There seems to be some problem with at-least the S3C2440 and bus traffic during an reset. It is unlikely, but still possible that the system will hang in such a way that the watchdog cannot get the system out of the state it is in. Change to making the code that calls the watchdog reset run from cached memory so that instruction fetches have quiesced before the watchdog fires. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d96a980441a70168a8ead0a0f23c4c63725da5fa Author: Ben Dooks Date: Wed Apr 16 00:12:39 2008 +0100 [ARM] 4986/1: S3C24XX: Simtec machines need UCLK as parent to DCLK All current Simtec designs source the DCLK outputs from the UPLL. This means the DCLK's parent must be set to UPLL so that anything enabling and disabling an UPLL sourced clock does not shutdown the DCLK due to missing open counts. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1017be88d341c05adc8d790d8092781b7330dafd Author: Ben Dooks Date: Wed Apr 16 00:08:36 2008 +0100 [ARM] 4985/1: S3C2412: Fix ARMDIVN name in CLKDIVN definition. Fix the name of the S3C2412_CLKDIVN_ARMDIVN define. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 6ddc4b07a2669bdb8b90e3e12fb1ccfb6dc4a99c Author: Ben Dooks Date: Wed Apr 16 00:06:14 2008 +0100 [ARM] 4984/1: S3C24XX: Do not assert nRSTOUT on BAST over suspend. Change GPA21 to output over reset so that nRSTOUT is not asserted whilst suspended. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c63fc13f806b11576e8c41969d4b1598dd261d80 Author: Ben Dooks Date: Wed Apr 16 00:04:19 2008 +0100 [ARM] 4983/1: S3C2412: Add initial memory controller registers Add initial defines for the S3C2412's memory controller registers. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 77ad386e596c6b0930cc2e09e3cce485e3ee7f72 Author: Ingo Molnar Date: Fri Mar 21 15:23:19 2008 +0100 x86: standalone trampoline code move the trampoline setup code out of smpboot.c - UP kernels can have suspend support too. Signed-off-by: Ingo Molnar commit e44b7b7525ad9d43163ab5e60c784325419e0ea6 Author: Pavel Machek Date: Thu Apr 10 23:28:10 2008 +0200 x86: move suspend wakeup code to C Move wakeup code to .c, so that video mode setting code can be shared between boot and wakeup. Remove nasty assembly code in 64-bit case by re-using trampoline code. Stack setup was fixed to clear high 16bits of %esp, maybe that fixes some machines. .c code sharing and morse code was done H. Peter Anvin, Sam Ravnborg reviewed kbuild related stuff, and it seems okay to him. Rafael did some cleanups. [rjw: * Made the patch stop breaking compilation on x86-32 * Added arch/x86/kernel/acpi/sleep.h * Got rid of compiler warnings in arch/x86/kernel/acpi/sleep.c * Fixed 32-bit compilation on x86-64 systems * Added include/asm-x86/trampoline.h and fixed the non-SMP compilation on 64-bit x86 * Removed arch/x86/kernel/acpi/sleep_32.c which was not used * Fixed some breakage caused by the integration of smpboot.c done under us in the meantime] Signed-off-by: Pavel Machek Signed-off-by: H. Peter Anvin Reviewed-by: Sam Ravnborg Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar commit f49688d459c5eaa62db3597cbfd3cb13e361d415 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:39 2008 +0100 x86: coding style fixes to arch/x86/kernel/acpi/sleep.c Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e223f162a1d37aeeaa6c1ee37d81cc084aa2b004 Author: Jacek Luczak Date: Thu Apr 10 21:16:41 2008 +0200 x86: setup_trampoline() - fix section mismatch warning this patch fixes section mismatch warnings (on x86_64 host) in setup_trampoline(), which was referencing __initdata variables trampoline_data and trampoline_end. Warning messages: WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b6a): Section mismatch in reference from the function setup_trampoline() to the variable .init.data:trampoline_data The function __cpuinit setup_trampoline() references a variable __initdata trampoline_data. If trampoline_data is only used by setup_trampoline then annotate trampoline_data with a matching annotation. WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b71): Section mismatch in reference from the function setup_trampoline() to the variable .init.data:trampoline_end The function __cpuinit setup_trampoline() references a variable __initdata trampoline_end. If trampoline_end is only used by setup_trampoline then annotate trampoline_end with a matching annotation. Signed-off-by: Ingo Molnar commit df96323dfaebdf7e17cdf0656096e6ab2158ec76 Author: Jacek Luczak Date: Fri Apr 11 13:28:37 2008 +0200 x86: section mismatch fixes, #1 This patch fixes mismatch warnings in smp_checks() (in arch/x86/kernel/smpboot.c): WARNING: arch/x86/kernel/built-in.o(.text+0x11922): Section mismatch in reference from the function smp_checks() to the variable .cpuinit.data:smp_b_stepping The function smp_checks() references the variable __cpuinitdata smp_b_stepping. This is often because smp_checks lacks a __cpuinitdata annotation or the annotation of smp_b_stepping is wrong. Signed-off-by: Jacek Luczak Signed-off-by: Ingo Molnar commit 63d38198a0f57dca87e6cb79931c7bedbb7ab069 Author: Alok Kataria Date: Mon Apr 7 11:38:33 2008 -0700 x86: fix paranoia about using BIOS quickboot mechanism. > > Make sure that we clear the "shutdown status flag" in the CMOS > > register after each CPU is brought up. This fixes a problem where the > > "shutdown status flag" may remain set when a CPU is brought up after > > booting. > > btw., what problem does this result in, exactly? The shutdown status flag set to "0xA", corresponds to "JMP double word request without INT init". This JMP at reboot time is at an unintended location. And results in Triple faults in our case. Though this error at reboot can be safely ignored in a VM environment, am not sure what the effect would be on a physical system. May be it will result in a triple fault and an eventual hardware reset thus masking this BUG in the kernel. This fix just makes sure that we reset that status flag after initialization is done. Fix paranoia about using BIOS quickboot mechanism. Make sure that we clear the "shutdown status flag" in the CMOS register after each CPU is brought up. This fixes a problem where the "shutdown status flag" may remain set when a CPU is brought up after booting. Signed-off-by: Alok N Kataria Signed-off-by: Dan Arai Signed-off-by: Ingo Molnar commit 711554dbc4d5402338ce115dca0df38e9f633330 Author: Yinghai Lu Date: Mon Apr 7 11:36:39 2008 -0700 x86: print out buggy mptable print out buggy mptable, instead of skipping it quietly Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6107a7c4e2a871c37bb6c49e5e8286079f0968f9 Author: Akinobu Mita Date: Sat Apr 5 22:39:09 2008 +0900 x86: use cpu_online() Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 7281c96f37f784d64b0241a7b082bb13bab9580b Author: Akinobu Mita Date: Sat Apr 5 22:39:08 2008 +0900 x86: use cpumask_of_cpu() Use cpumask_of_cpu() rather than the pair of cpus_clear() and cpu_set(). Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit addfc66bb55234c154bb43f0f7606bc5c9fc511d Author: Akinobu Mita Date: Sat Apr 5 22:39:07 2008 +0900 x86: remove unnecessary tmp local variable There is no reason to use obscurer name. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 07004b12a1199f82c016eb976f493e5b70820a1d Author: Akinobu Mita Date: Sat Apr 5 22:39:06 2008 +0900 x86: remove unnecessary memset() No need to clear the memory allocated by alloc_bootmem(). It is already filled with zero. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit a2249cba2f1d7d06633de09c71353ae6b1567206 Author: Akinobu Mita Date: Sat Apr 5 22:39:05 2008 +0900 x86: use ioapic_read_entry() and ioapic_write_entry() Remove duplicate code by using ioapic_read_entry() and ioapic_write_entry() in io_apic_{32,64}.c Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 9d25cb0811fd0bca2cfd80095ee7663147363f68 Author: Akinobu Mita Date: Sat Apr 5 22:39:04 2008 +0900 x86: avoid redundant loop in io_apic_level_ack_pending() If one can find an ack pending pin, there is no need to check the rest of them. Signed-off-by: Akinobu Mita Signed-off-by: Ingo Molnar commit 03056c88cf65ec8375753900246b36ae1c4b8a33 Author: Alexander van Heukelum Date: Sun Apr 6 14:47:00 2008 +0200 x86: remove superfluous initialisation in boot code. In arch/x86/boot/compressed/misc.c, the variable vidmem is the only variable that ends up in de data segment. It's also superfluous, because the first thing the code does is: if (RM_SCREEN_INFO.orig_video_mode == 7) { vidmem = (char *) 0xb0000; vidport = 0x3b4; } else { vidmem = (char *) 0xb8000; vidport = 0x3d4; } This patch removes the initialisation. Signed-off-by: Ingo Molnar commit 85bdddec5eaeb2464bf1cad6a17225416e65a8d6 Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:18 2008 +0400 x86: merge mpparse_{32,64}.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit cfa08d6cc3421bb08ebaa34467107e58999a7c28 Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:12 2008 +0400 x86: unify mp_register_gsi Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c769bfee5731f2614983bd7a9079eb90514e4b9f Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:06 2008 +0400 x86: unify mp_config_acpi_legacy_irqs Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 57b733e902f179dc453609db6334f8e9801cbb7a Author: Alexey Starikovskiy Date: Fri Apr 4 23:43:00 2008 +0400 x86: unify mp_register_ioapic Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 22cbb4bd12a86b80125accb77515482894ee670f Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:53 2008 +0400 x86: unify uniq_io_apic_id Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 92fd4b7abdb2b5b85d73ca0adbb6ad3f8b79f805 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:46 2008 +0400 x86: unify smp_scan_config Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4421b1c8b9f5da24f8c737ede2c05d399dea2015 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:40 2008 +0400 x86: unify get_smp_config Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 62441bf1e0d5153dfb0cf8497df16deacff90789 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:34 2008 +0400 x86: unify construct_default_ioirq_mptable Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e950bea8bff23c14eb38dc706aadf197ed81abf4 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:27 2008 +0400 x86: unify smp_read_mpc Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit f8924e770e048429ae13bfabe1ddad9bf1e64df7 Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:21 2008 +0400 x86: unify mp_bus_info Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 746f2244065ddfbe0c5d339e309db4d2b48f185b Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:15 2008 +0400 x86: unify arch/x86/kernel/mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 888032cd23f0244fdefdcbe265952e7831a9cacc Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:09 2008 +0400 x86: add early flags to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4ef81297f72655c4f4c1ae9c371453f9ca796aad Author: Alexey Starikovskiy Date: Fri Apr 4 23:42:03 2008 +0400 x86: lindent mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 31d2092eb0c23636b73d2c24c0c11b66470cef58 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:57 2008 +0400 x86: move mp_register_lapic_address to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit dfac2189c2e1fbb90ee83f15b5e404425754e9f4 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:50 2008 +0400 x86: move mp_register_lapic to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2fe60147570231cde0d1f14711d2e34ccdf54b65 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:44 2008 +0400 x86: move up & smp variables to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 350bae1d3f0d0c763c5bb9cc5fb5c363bd0086db Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:38 2008 +0400 x86: move mp_irqs to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 584f734d035db5c5c07f938e464ddeeefde7ec31 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:32 2008 +0400 x86: move mp_irqs to io_apics_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9e5c5f1dd29c86307e6b3cfa75e85d0efccc1f6b Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:26 2008 +0400 x86: move mp_ioapic_routing to boot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9c7408f3c491b6fe990cd2dacd5471ca21760551 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:19 2008 +0400 x86: move mp_ioapics to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9f640ccbc67b7c306206502bca420a80ad15c965 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:13 2008 +0400 x86: move mp_ioapics to io_apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ba1ce61ff226bddebd2101a29fe56b4664ef7cec Author: Ingo Molnar Date: Mon Apr 7 13:11:09 2008 +0200 x86: don't set io apic features if io-apic is not enabled, fix Signed-off-by: Ingo Molnar commit 61048c6328819b0973ef662f6d46f2e2bc753ceb Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:07 2008 +0400 x86: don't set IO APIC features if IO APIC is not enabled Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 16ecf7a47cf4f1c97189a551b001195aed550cc2 Author: Alexey Starikovskiy Date: Fri Apr 4 23:41:00 2008 +0400 x86: move x86_bios_cpu_apicid_init to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 708650afe98a50d0b280bea9dcf5f160b94ee9fb Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:54 2008 +0400 x86: move x86_cpu_to_apicid_init to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0fc0906e59df1427d194b78376d15ca48079f6bf Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:48 2008 +0400 x86: move phys_cpu_present_map to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 76eb41319d6ab98d17c81a8001a6d7ed9f8359ee Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:41 2008 +0400 x86: move x86_cpu_to_apicid to setup.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit af926a5830079bf36253dcf3a1b75b1497fc7fd1 Author: Alexey Starikovskiy Date: Fri Apr 4 23:40:32 2008 +0400 x86: move x86_bios_cpu_apicid to io_apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d61ecf0b53131564949bc4196e70f676000a845a Author: Ingo Molnar Date: Fri Apr 4 17:11:09 2008 +0200 x86: 4kstacks default Signed-off-by: Ingo Molnar commit f408b43ceedce49f26c01cd4a68dbbdbe2743e51 Author: Randy Dunlap Date: Tue Apr 1 15:44:01 2008 -0700 x86: fix VisualWS and Voyager kexec build failures without this patch: VOYAGER: kernel/built-in.o: In function `crash_kexec': (.text+0x28588): undefined reference to `machine_crash_shutdown' VISWS: kernel/built-in.o: In function `crash_kexec': /next-20080401/kernel/kexec.c:1074: undefined reference to `machine_crash_shutdown' make[1]: *** [.tmp_vmlinux1] Error 1 because arch/x86/kernel/reboot.c isn't built since CONFIG_X86_BIOS_REBOOT=n, so machine_crash_shutdown() isn't available. This patch does seem a small bit odd since the KEXEC help text says that kexec is independent of the system firmware. Signed-off-by: Randy Dunlap Cc: Eric Biederman Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit d2b3bab63bd9999a29eb74326a7baf61901385e6 Author: Hugh Dickins Date: Thu Apr 3 23:48:29 2008 +0100 x86: MPSC should use P6 NOPs I've now noticed that the machine I call MPENTIUM4 for 32-bit kernels is called MPSC for 64-bit kernels, and in that case it still doesn't get the P6 NOPs it ought to. hpa explains that MK8 should still be excluded, so it's just a matter of including MPSC along with MPENTIUM4. Signed-off-by: Hugh Dickins Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 431ef7a2a486201967304fcc9cfc33e945626fed Author: Cyrill Gorcunov Date: Tue Apr 1 19:41:50 2008 +0400 x86: debug Store - call kfree if only we really need it We should call for kfree if only we really need it. Though it's safe to call kfree with NULL pointer passed in this code we've already tested the pointer and can eliminate the call Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 19b4e7f4e9b1c88459cf2c9b9ccaa09cb8bf854d Author: Ingo Molnar Date: Thu Apr 10 10:12:27 2008 +0200 x86: extend the scheduled bzImage symlinks removal use of the bzImage symlinks in developer scripts is still widespread, so lets extend the removal period by 2 years. These symlinks cost us near nothing. Signed-off-by: Ingo Molnar commit 13af4836b3914b23946f6a8982934e2c828c183f Author: Ingo Molnar Date: Wed Apr 2 13:23:22 2008 +0200 x86: improve default idle Signed-off-by: Ingo Molnar commit f5149a49f994e5c469ac398af7cdeb8eb612d3a4 Author: Jack Steiner Date: Sun Mar 30 21:02:07 2008 -0500 x86: support for new UV apic, fix Yinghai Lu pointed out a bug in the previous patches, fix double-shift of apicid. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 1725037f7232c1518b9be1832f5823b7c576c35c Author: Ingo Molnar Date: Mon Mar 31 14:52:15 2008 +0200 x86: set_cyc2ns_scale() remove prev scale Peter Zijlstra pointed out that it's unused. Signed-off-by: Ingo Molnar commit b447a468fcd130aa8951672b6115c673c274e888 Author: Mike Travis Date: Tue Mar 25 15:06:51 2008 -0700 x86: clean up non-smp usage of cpu maps Cleanup references to the early cpu maps for the non-SMP configuration and remove some functions called for SMP configurations only. Cc: Andi Kleen Cc: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit a24eae88ad3767d0a4a940a10e4a9cec849b7778 Author: Ingo Molnar Date: Sun Mar 30 12:17:12 2008 +0200 x86: uv fix Signed-off-by: Ingo Molnar commit ac23d4ee3f84de33c16ed7e68f9adee2386e74fb Author: Jack Steiner Date: Fri Mar 28 14:12:16 2008 -0500 x86: support for new UV apic UV supports really big systems. So big, in fact, that the APICID register does not contain enough bits to contain an APICID that is unique across all cpus. The UV BIOS supports 3 APICID modes: - legacy mode. This mode uses the old APIC mode where APICID is in bits [31:24] of the APICID register. - x2apic mode. This mode is whitebox-compatible. APICIDs are unique across all cpus. Standard x2apic APIC operations (Intel-defined) can be used for IPIs. The node identifier fits within the Intel-defined portion of the APICID register. - x2apic-uv mode. In this mode, the APICIDs on each node have unique IDs, but IDs on different node are not unique. For example, if each mode has 32 cpus, the APICIDs on each node might be 0 - 31. Every node has the same set of IDs. The UV hub is used to route IPIs/interrupts to the correct node. Traditional APIC operations WILL NOT WORK. In x2apic-uv mode, the ACPI tables all contain a full unique ID (note: exact bit layout still changing but the following is close): nnnnnnnnnnlc0cch n = unique node number l = socket number on board c = core h = hyperthread Only the "lc0cch" bits are written to the APICID register. The remaining bits are supplied by having the get_apic_id() function "OR" the extra bits into the value read from the APICID register. (Hmmm.. why not keep the ENTIRE APICID register in per-cpu data....) The x2apic-uv mode is recognized by the MADT table containing: oem_id = "SGI" oem_table_id = "UV-X" Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 570da318cf0e3053e62030253494c410a18d4be7 Author: Ingo Molnar Date: Tue Apr 8 12:20:50 2008 +0200 x86: support for new UV apic, prepare Signed-off-by: Ingo Molnar commit 8400def8252f90ecd056657c0bac806afadd8511 Author: Jack Steiner Date: Fri Mar 28 14:12:14 2008 -0500 x86: define the macros and tables for blade functions Add UV macros for converting between cpu numbers, blade numbers and node numbers. Note that these are used ONLY within x86_64 UV modules, and are not for general kernel use. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 952cf6d7ae52cc5423baa57e978e20e732a89ba6 Author: Jack Steiner Date: Fri Mar 28 14:12:13 2008 -0500 x86: define the macros and tables for the basic UV infrastructure. Define the macros and tables for the basic UV infrastructure. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 0d3e865b2644e4a2250ab25c5475a0cd0d514b7e Author: Jack Steiner Date: Fri Mar 28 14:12:11 2008 -0500 x86: add UV specific header for MMR definitions Definitions of UV MMRs. Note: this file is auto-generated by hardware design tools. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit ac049c1db72963e19b29b63c42ab8759384eef20 Author: Jack Steiner Date: Fri Mar 28 14:12:09 2008 -0500 x86: parsing for ACPI "SAPIC" table Add kernel support for new ACPI "sapic" tables that contain 16-bit APICIDs. This patch simply adds parsing of an optional SAPIC table if present. Otherwise, the traditional local APIC table is used. Note: the SAPIC table is not a new ACPI table - it exists on other architectures but is not currently recognized by x86_64. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit a65d1d644c2b65bfb99e766e7160d764b8b2bfa4 Author: Jack Steiner Date: Fri Mar 28 14:12:08 2008 -0500 x86: increase size of APICID Increase the number of bits in an apicid from 8 to 32. By default, MP_processor_info() gets the APICID from the mpc_config_processor structure. However, this structure limits the size of APICID to 8 bits. This patch allows the caller of MP_processor_info() to optionally pass a larger APICID that will be used instead of the one in the mpc_config_processor struct. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit ae261868658773538ddda829c50224e5851c2342 Author: Jack Steiner Date: Fri Mar 28 14:12:06 2008 -0500 x86: add functions to determine if platform is a UV platform Add functions that can be used to determine if an x86_64 system is a SGI "UV" system. UV systems come in 3 types and are identified by the OEM ID in the MADT. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 05f2d12c3563dea8c81b301f9f3cf7919af23b13 Author: Jack Steiner Date: Fri Mar 28 14:12:02 2008 -0500 x86: change GET_APIC_ID() from an inline function to an out-of-line function Introduce a function to read the local APIC_ID. This change is in preparation for additional changes to the APICID functions that will come in a later patch. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit a5c15d419d4b68535222b51f9054dd08d5e67470 Author: gorcunov@gmail.com Date: Fri Mar 28 17:56:56 2008 +0300 x86: replace most VM86 flags with flags from processor-flags.h Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6b6891f9c545ccd45d6d8ddfd33ce27c22c271a7 Author: gorcunov@gmail.com Date: Fri Mar 28 17:56:57 2008 +0300 x86: cleanup - rename VM_MASK to X86_VM_MASK This patch renames VM_MASK to X86_VM_MASK (which in turn defined as alias to X86_EFLAGS_VM) to better distinguish from virtual memory flags. We can't just use X86_EFLAGS_VM instead because it is also used for conditional compilation Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 6093015db2bd9e70cf20cdd23be1a50733baafdd Author: Ingo Molnar Date: Sun Mar 30 11:45:23 2008 +0200 x86: cleanup replace most vm86 flags with flags from processor-flags.h, fix - fix build error - fix CONFIG_HEADERS_CHECK error Signed-off-by: Ingo Molnar commit f7743fe676fadac8706e7cbd0176b46d7397996d Author: Jeremy Fitzhardinge Date: Thu Mar 27 17:28:40 2008 -0700 x86: paravirt_ops: don't steal memory resources in paravirt_disable_iospace The memory resource is also used for main memory, and we need it to allocate physical addresses for memory hotplug. Knobbling io space is enough to get the job done anyway. Signed-off-by: Jeremy Fitzhardinge Cc: Rusty Russell Signed-off-by: Ingo Molnar commit fb8e8375394e1156a5a1e7ba53504b141d2365a8 Author: Jeremy Fitzhardinge Date: Thu Mar 27 17:28:39 2008 -0700 x86: sparsemem: reduce i386 PAE section size A 1G section size makes memory hotplug too coarse in a virtual environment. Retuce it by a factor of 2 to 512M. I would have liked to make it smaller, but it runs out of reserved flags in the page flags. Signed-off-by: Jeremy Fitzhardinge Cc: KAMEZAWA Hiroyuki Cc: Yasunori Goto Cc: Christoph Lameter Cc: Dave Hansen Signed-off-by: Ingo Molnar commit e937fcf2fa0c1d21f9c0008ab600d46c240a984c Author: Ingo Molnar Date: Fri Mar 28 12:33:52 2008 +0100 x86: mpparse: 64-bit fix Signed-off-by: Ingo Molnar commit 8be9ac850564a409c1238cd5f53776c340aea4dc Author: Glauber Costa Date: Thu Mar 27 14:06:04 2008 -0300 x86: merge smp_32.h and smp_64.h into smp.h Merge what's left from smp_32.h and smp_64.h into smp.h By now, they're basically extern definitions. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ecaa6c9de759259c5ba517e5442e26452d49107e Author: Glauber Costa Date: Thu Mar 27 14:06:03 2008 -0300 x86: change naming of cpu_initialized_mask for xen xen does not use the global cpu_initialized mask, but rather, a specific one. So we change its name so it won't conflict with the upcoming movement of cpu_initialized_mask from smp_64.h to smp_32.h. Signed-off-by: Glauber Costa CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit a9c057c1d1b1080a01004ecac54308365e167b83 Author: Glauber Costa Date: Thu Mar 27 14:06:02 2008 -0300 x86: merge SMP definitions of smp.h we merge everything that is inside CONFIG_SMP to smp.h. They differ a little bit, so we use CONFIG_X86_32_SMP and CONFIG_X86_64_SMP as markers. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 24e8ecffa84dd560e0d4d6fcaeca6950805854e7 Author: Glauber Costa Date: Thu Mar 27 14:06:01 2008 -0300 x86: split safe_smp_processor_id This implementation in x86_64 is clean and consistent, but we sacrifice it for the sake of being equal to i386 (since the other way around would be harder). Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b23dab08fa37b302a8980e4cf925f2cb94288538 Author: Glauber Costa Date: Thu Mar 27 14:06:00 2008 -0300 x86: merge includes in smp.h move all include directives from smp_{32,64}.h to smp.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c1fa6c977eb978e1d09867475ec59c9a5799127f Author: Glauber Costa Date: Thu Mar 27 14:05:59 2008 -0300 x86: surround apic headers in apic definitions Although those constants are always defined in x86_64, and will have the effect of just including the headers in the very way we did before, I'm doing this in a separate patch to be conservative and avoid surprises. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1b00084386878f25c2c591ad19cb625880d4089d Author: Glauber Costa Date: Thu Mar 27 14:05:58 2008 -0300 x86: merge hard/logical_smp_processor_id The code is now the same between i386 and x86_64. We already know what happens when it reaches this point: They go away from the arch-specific headers, and suddenly appears in the common header. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2ba95bcbe68d692f549fb10809f15681a25ff6fb Author: Glauber Costa Date: Thu Mar 27 14:05:57 2008 -0300 x86: provide bogus hard_smp_processor_id We provide a bogus macro for x86_64 in case CONFIG_X86_LOCAL_APIC is not set. It will always be set for x86_64, so the effect is just to make the code equal to i386. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe874b3edff43f9a74d9903eb3710e5e0511faf1 Author: Glauber Costa Date: Thu Mar 27 14:05:56 2008 -0300 x86: surround hard_smp_processor_id in APIC_DEFINITION APIC_DEFINITION is not defined in x86_64, so in practice, we keep our old code here. But as a nice side effect, the code is now equal to smp_32.h. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe176de0ffdc2dd300fbcece84434a32b482b5b1 Author: Ben Castricum Date: Thu Mar 27 20:52:35 2008 +0100 x86: microcode: show results on success too Report when microcode was successfully updated. It used to be there but now with DEBUG unset it becomes very silent. Also some cosmetic fixes. Signed-off-by: Ben Castricum Signed-off-by: Ingo Molnar commit be8a5685e4cdb904e6542e741fcc3bae1becb8ee Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:19 2008 +0300 x86: move generic_processor_info to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 86cc0d916a9cc55b0b46a9b31e9379cd3c9e10dc Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:12 2008 +0300 x86: move boot_cpu_physical_apicid to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 3103623eed1a3ea4a36ee26725842a8038760648 Author: Alexey Starikovskiy Date: Thu Mar 27 23:56:06 2008 +0300 x86: move disabled_cpus to smpboot.c (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7b8cbd2c2f1bf9e3090d3c3fc09330ed1ca28d25 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:59 2008 +0300 x86: move num_processors to smpboot.c (64 bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 1d8554326533568c7e9d5285600c3d0c027b45cc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:53 2008 +0300 x86: move phys_cpu_present_map to smpboot.c (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7abb3cca33fe220abaf680afcd247370749622ee Author: Ingo Molnar Date: Tue Apr 8 12:20:07 2008 +0200 x86: move phys cpu present map to smpboot.c, 64-bit, prepare Signed-off-by: Ingo Molnar commit 3f530709d907d93a4d6881e8190916028181a840 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:47 2008 +0300 x86: move mp_lapic_addr to apic_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 468e85b9594ed3000a7076f1caf27aa0cf7799fc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:41 2008 +0300 x86: don't use MP_processor_info for ACPI mode (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0e01c00c1fadd21356a6cf57d6680497256e1a01 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:34 2008 +0300 x86: separate generic_processor_info into its own function (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8ccab29ca8c441ae00d878d2f0000275f430f8a5 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:28 2008 +0300 x86: don't call MP_processor_info for disabled cpu (64bit) Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 86c9835b46605fb29a3c30c6cc344d9df49e54a3 Author: Ingo Molnar Date: Fri Mar 28 11:59:57 2008 +0100 x86: mpparse, move generic processor info to apic_32.c fix Signed-off-by: Ingo Molnar commit 903dcb5a1bd0ef2b09d756f646e367cd12659b6f Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:22 2008 +0300 x86: move generic_processor_info to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit acff5a768935f7f39e4e3be03940d70c005ffe96 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:16 2008 +0300 x86: move x86_bios_cpu_apicid to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fae9811b775655a02dcb51fa0b6423b546468bd1 Author: Ingo Molnar Date: Fri Mar 28 12:22:10 2008 +0100 x86: mpparse, move boot cpu physical apicid to apic_32.c, fix Signed-off-by: Ingo Molnar commit 837e0e7a7f574220c87c552cca9f425575418621 Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:10 2008 +0300 x86: move boot_cpu_physical_apicid to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0c254e38d294d3720588e2a1fd954d828073f1dc Author: Alexey Starikovskiy Date: Thu Mar 27 23:55:04 2008 +0300 x86: move def_to_bigsmp to setup_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 059c9640b57cb8e70c60de141ec817b450431816 Author: Ingo Molnar Date: Fri Mar 28 11:57:55 2008 +0100 x86: mpparse, move disabled cpus to smpboot.c, fix Signed-off-by: Ingo Molnar commit 53c4c793b30bbf6e1a25cab61790b18f205dd365 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:57 2008 +0300 x86: move disabled_cpus to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2bb9e9d7c1b03454665cd99f7d73e67139cdf2e6 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:50 2008 +0300 x86: move num_processors to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 40014bace17ba393409fd8a4915a87e43687aac8 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:44 2008 +0300 x86: move phys_cpu_present_map to smpboot.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8f6e2ca9f862cb3738ad83fb18c572d8a59c0849 Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:38 2008 +0300 x86: move mp_lapic_addr to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e81b2c62d66068d210ddeacd77076068184d414a Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:31 2008 +0300 x86: move apic_ver array to apic_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 08bef9d337f26747b9520278872d20f15983fcda Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:20 2008 +0300 x86: don't use MP_processor_info for ACPI mode Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c853c67690448415af2d204062028d1456f524de Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:13 2008 +0300 x86: separate generic_processor_info into its own function Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 987dd2d4d465e80e00d6a0b16787a78aa75dd66a Author: Alexey Starikovskiy Date: Thu Mar 27 23:54:06 2008 +0300 x86: don't call MP_processor_info for disabled cpu Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 2df297261903249f5ac2d3d14ededbda229397e2 Author: Alexey Starikovskiy Date: Thu Mar 27 23:53:54 2008 +0300 x86: move es7000_plat closer to its user Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 7219bebd72726c13c1eaaa3ade0e829e998fb3b1 Author: Arjan van de Ven Date: Thu Apr 17 17:41:31 2008 +0200 x86: add comments to describe the new api's in cacheflush.h The new cacheflush.h API's didn't have any comments describing how they're to be used yet and the conventions around these functions. This patch adds comments to this effect; in order for that to be a logical series, some prototypes had to move around. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 0e03eb86b51b21054aea01ada1d03e9c2265dd20 Author: Dave Jones Date: Wed Mar 26 12:09:16 2008 -0400 x86: Centaur Isaiah processor to use sysenter in 64-bit compatibility mode rather than syscall Upcoming 64 bit processors from Centaur can use sysenter. Signed-off-by: Dave Jones Signed-off-by: Jesse Ahrens Signed-off-by: Ingo Molnar commit aa040b2f0693695ae393cd9b8a93055952dbf76f Author: Jeremy Fitzhardinge Date: Sat Mar 22 13:27:38 2008 -0700 x86: simplify sync_test_bit(), improve Using a naked parameterless macro could lead to other tokens being unexpectedly replaced. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 537e33136443bcd53ee13bc32a8f0fa46b1f3fdb Author: Jesper Juhl Date: Wed Mar 26 02:16:15 2008 +0100 x86 floppy: kill off the 'register' keyword from header When compilers became generally better at optimizing code than humans, the register keyword became mostly useless. For the floppy driver it certainly is since it's so slow compared to the rest of the system that optimizing access to a single variable or two isn't going to make any real difference So let's just leave it to the compiler - it'll do a better job anyway. This patch does away with a few register keywords in the x86 floppy driver. Signed-off-by: Jesper Juhl Signed-off-by: Ingo Molnar commit dd46e3ca73d136aa7f9f1813e4cbb6934c3611cc Author: Glauber Costa Date: Tue Mar 25 18:10:46 2008 -0300 x86: move apic declarations to mach_apic.h take them out of the x86_64-specific asm/mach_apic.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ab68ed98f665436601feec853c8f400d28c39e92 Author: Cyrill Gorcunov Date: Tue Mar 25 22:16:32 2008 +0300 x86: entry_32.S - use flags from processor-flags.h By including processor-flags.h we are allowed to use predefined macroses instead of keeping own ones Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 756a6c68556600aec9460346332884d891d5beb4 Author: Ingo Molnar Date: Tue Mar 25 08:31:17 2008 +0100 x86: ioremap of 64-bit resource on 32-bit kernel fix Signed-off-by: Ingo Molnar commit 5af5573ee06c361378e22a9dd71dae0320e841f7 Author: Glauber Costa Date: Tue Mar 25 13:28:56 2008 -0300 x86: move ipi definitions to mach_ipi.h take them out of the x86_64-only asm/mach_apic.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8346ea17aa20e9864b0f7dc03d55f3cd5620b8c1 Author: Andi Kleen Date: Wed Mar 12 03:53:32 2008 +0100 x86: split large page mapping for AMD TSEG On AMD SMM protected memory is part of the address map, but handled internally like an MTRR. That leads to large pages getting split internally which has some performance implications. Check for the AMD TSEG MSR and split the large page mapping on that area explicitely if it is part of the direct mapping. There is also SMM ASEG, but it is in the first 1MB and already covered by the earlier split first page patch. Idea for this came from an earlier patch by Andreas Herrmann On a RevF dual Socket Opteron system kernbench shows a clear improvement from this: (together with the earlier patches in this series, especially the split first 2MB patch) [lower is better] no split stddev split stddev delta Elapsed Time 87.146 (0.727516) 84.296 (1.09098) -3.2% User Time 274.537 (4.05226) 273.692 (3.34344) -0.3% System Time 34.907 (0.42492) 34.508 (0.26832) -1.1% Percent CPU 322.5 (38.3007) 326.5 (44.5128) +1.2% => About 3.2% improvement in elapsed time for kernbench. With GB pages on AMD Fam1h the impact of splitting is much higher of course, since it would split two full GB pages (together with the first 1MB split patch) instead of two 2MB pages. I could not benchmark a clear difference in kernbench on gbpages, so I kept it disabled for that case That was only limited benchmarking of course, so if someone was interested in running more tests for the gbpages case that could be revisited (contributions welcome) I didn't bother implementing this for 32bit because it is very unlikely the 32bit lowmem mapping overlaps into the TSEG near 4GB and the 2MB low split is already handled for both. [ mingo@elte.hu: do it on gbpages kernels too, there's no clear reason why it shouldnt help there. ] Signed-off-by: Andi Kleen Acked-by: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1de87bd40e119d26533b5135677901990390bfa9 Author: Andi Kleen Date: Sat Mar 22 10:59:28 2008 +0100 x86: re-add rdmsrl_safe RDMSR for 64bit values with exception handling. Makes it easier to deal with 64bit valued MSRs. The old 64bit code base had that too as checking_rdmsrl(), but it got dropped somehow. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5c24a7fd0798d636af184cc7032e7e0cb149112 Author: Andi Kleen Date: Wed Mar 12 03:53:30 2008 +0100 x86: don't use large pages to map the first 2/4MB of memory Intel recommends to not use large pages for the first 1MB of the physical memory because there are fixed size MTRRs there which cause splitups in the TLBs. On AMD doing so is also a good idea. The implementation is a little different between 32bit and 64bit. On 32bit I just taught the initial page table set up about this because it was very simple to do. This also has the advantage that the risk of a prefetch ever seeing the page even if it only exists for a short time is minimized. On 64bit that is not quite possible, so use set_memory_4k() a little later (in check_bugs) instead. Signed-off-by: Andi Kleen Acked-by: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9caa02c529d5e113e40cbc77254558fcdfa4215 Author: Andi Kleen Date: Wed Mar 12 03:53:29 2008 +0100 x86: add set_memory_4k to pageattr.c Add a new function to force split large pages into 4k pages. This is needed for some followup optimizations. I had to add a new field to cpa_data to pass down the information that try_preserve_large_page should not run. Right now no set_page_4k() because I didn't need it and all the specialized users I have in mind would be more comfortable with pure addresses. I also didn't export it because it's unlikely external code needs it. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cc6150321903ca4c3bc9d53b0cdafb05d77d64d0 Author: Andi Kleen Date: Wed Mar 12 03:53:28 2008 +0100 x86: account overlapped mappings in max_pfn_mapped When end_pfn is not aligned to 2MB (or 1GB) then the kernel might map more memory than end_pfn. Account this in max_pfn_mapped. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 67794292c8615b05f46419ba8d4fd99e7c9a5db9 Author: Thomas Gleixner Date: Fri Mar 21 21:27:10 2008 +0100 x86: replace the now useless max_pfn_mapped define Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d1116a92d709c22e7db910724c9fcd2001b0499 Author: Andi Kleen Date: Wed Mar 12 03:53:27 2008 +0100 x86: implement true end_pfn_mapped for 32bit Even on 32bit 2MB pages can map more memory than is in the true max_low_pfn if end_pfn is not highmem and not aligned to 2MB. Add a end_pfn_map similar to x86-64 that accounts for this fact. This is important for code that really needs to know about all mapping aliases. Signed-off-by: Andi Kleen Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 41bd4eac748f39d7f3ed770fae3e595a747172bd Author: Andi Kleen Date: Tue Mar 11 02:23:21 2008 +0100 x86: move early exception handlers into init.text Currently they are in .text.head because the rest of head_64.S. .text.head is not removed as init data, but the early exception handlers should be because they are not needed after early boot of the BP. So move them over. Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 749c970ae9fa43b4fcf17ac53022a953007d58f4 Author: Andi Kleen Date: Tue Mar 11 02:23:22 2008 +0100 x86: replace early exception setup macro recursion with loop The early exception handlers are currently set up using a macro recursion. There is only one user left. Replace the macro with a standard loop in place. Noop patch, just a cleanup. [ tglx@linutronix.de: simplified ] Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5524ea320d80e3ac6aeeec44216660831c76da08 Author: Andi Kleen Date: Tue Mar 11 02:23:20 2008 +0100 x86: don't set up early exception handlers for external interrupts All of early setup runs with interrupts disabled, so there is no need to set up early exception handlers for vectors >= 32 This saves some minor text size. Signed-off-by: Andi Kleen Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 366932deb335f0b84a08463c5c912bd42ac3397a Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:09 2008 +0300 x86: relocate_kernel - use predefined macroses for page attributes Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit fd3af53122e616c0ddba44a3da6d1c1877f72d29 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:08 2008 +0300 x86: relocate_kernel - use predefined macroses for processor state Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit a7bba17bf09e1c5bdbdd6c0ab0c7833baedf4653 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:07 2008 +0300 x86: relocate_kernel - use PAGE_SIZE instead of numeric constant Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 4039ae538030d1c5fc70a9c4e168a758d35b8159 Author: gorcunov@gmail.com Date: Sun Mar 23 00:00:06 2008 +0300 x86: relocate_kernel_32.S - clear register in more elegant way Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 15a601eb9cdc2a9cc69d5fc745317805a85c064c Author: Mathieu Desnoyers Date: Wed Mar 12 11:54:16 2008 -0400 x86: fix test_poke for vmalloced pages * Ingo Molnar (mingo@elte.hu) wrote: > > * Mathieu Desnoyers wrote: > > > The shadow vmap for DEBUG_RODATA kernel text modification uses > > virt_to_page to get the pages from the pointer address. > > > > However, I think vmalloc_to_page would be required in case the page is > > used for modules. > > > > Since only the core kernel text is marked read-only, use > > kernel_text_address() to make sure we only shadow map the core kernel > > text, not modules. > > actually, i think we should mark module text readonly too. > Yes, but in the meantime, the x86 tree would need this patch to make kprobes work correctly on modules. I suspect that without this fix, with the enhanced hotplug and kprobes patch, kprobes will use text_poke to insert breakpoints in modules (vmalloced pages used), which will map the wrong pages and corrupt random kernel locations instead of updating the correct page. Work that would write protect the module pages should clearly be done, but it can come in a later time. We have to make sure we interact correctly with the page allocation debugging, as an example. Here is the patch against x86.git 2.6.25-rc5 : The shadow vmap for DEBUG_RODATA kernel text modification uses virt_to_page to get the pages from the pointer address. However, I think vmalloc_to_page would be required in case the page is used for modules. Since only the core kernel text is marked read-only, use kernel_text_address() to make sure we only shadow map the core kernel text, not modules. Signed-off-by: Mathieu Desnoyers CC: akpm@linux-foundation.org Signed-off-by: Ingo Molnar commit e5699a8231593d0e11e65ccf248549935304dab1 Author: Ravikiran G Thirumalai Date: Mon Mar 24 14:48:36 2008 -0700 x86: clean up vSMP detection vSMP detection: access pci config space early in boot to detect if the system is a vSMPowered box, and cache the result in a flag, so that is_vsmp_box() retrieves the value of the flag always. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 43cdf5d6e0a75c1069adc8d126b97b792ff53142 Author: Jiri Slaby Date: Sat Mar 22 18:50:22 2008 +0100 x86: pgtable, document pde bits Some of pde bits weren't documented, add the short description to them. Signed-off-by: Jiri Slaby Cc: H. Peter Anvin Signed-off-by: Ingo Molnar commit 7fda20f146d5d217684ffbc37c6b6c5f82c2dffd Author: Ingo Molnar Date: Fri Feb 29 10:29:38 2008 +0100 x86: spinlock ops are always-inlined Signed-off-by: Ingo Molnar commit d93c870bad38e8daaaf9f7e900a13431f24becbb Author: Jeremy Fitzhardinge Date: Mon Mar 24 16:43:21 2008 -0700 x86: only enable interrupts when kernel state has been set up The sysenter path tries to enable interrupts immediately. Unfortunately this doesn't work in a paravirt environment, because not enough kernel state has been set up at that point (namely, pointing %fs to the kernel percpu data segment). To fix this, defer ENABLE_INTERRUPTS until after the kernel state has been set up. Unfortunately this means that we're running with interrupts disabled for a while without calling the IRQ tracing code, but that can't be called without setting up %fs either. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 687c80540975709844699d9a96070e2cf3bad39d Author: Joe Perches Date: Sun Mar 23 01:04:03 2008 -0700 include/asm-x86/xor_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8fdf765527920e30d8fd57da3a83d6bf56799114 Author: Joe Perches Date: Sun Mar 23 01:04:02 2008 -0700 include/asm-x86/xor_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d6ae390a0be73e6b777c6171e6b6f616462f555d Author: Joe Perches Date: Sun Mar 23 01:04:00 2008 -0700 include/asm-x86/voyager.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8948584eb282c4dc5c54f6f6ebbaf447a665c653 Author: Joe Perches Date: Sun Mar 23 01:03:59 2008 -0700 include/asm-x86/vmi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9e8a935bcff6c8154eace12277e6a9d853ef790b Author: Joe Perches Date: Sun Mar 23 01:03:58 2008 -0700 include/asm-x86/vm86.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 364fe5ef4725176324ec17f8dc3fd488d615b0de Author: Joe Perches Date: Sun Mar 23 01:03:57 2008 -0700 include/asm-x86/vga.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ac1a7b0eaa1db04143ab6132c6ce4489afbb8a18 Author: Joe Perches Date: Sun Mar 23 01:03:56 2008 -0700 include/asm-x86/vdso.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a206ea11b665cfb5360d05367eea1e9cfd3f3c8b Author: Joe Perches Date: Sun Mar 23 01:03:55 2008 -0700 include/asm-x86/user_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a31216194c84cfa72515db4f9365ce2c68ed5791 Author: Joe Perches Date: Sun Mar 23 01:03:54 2008 -0700 include/asm-x86/user32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 826700dc9b483d0d0de8ff4901043d54ed8b64f0 Author: Joe Perches Date: Sun Mar 23 01:03:53 2008 -0700 include/asm-x86/user_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c489f4451965f4d355340ea1e60a5863c9ed2890 Author: Joe Perches Date: Sun Mar 23 01:03:52 2008 -0700 include/asm-x86/unistd_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 687fc16b65e96d72a680291670584090207cadf8 Author: Joe Perches Date: Sun Mar 23 01:03:51 2008 -0700 include/asm-x86/unistd_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6e714b37978bbd2c7a7eb89b4474b6c2133b7796 Author: Joe Perches Date: Sun Mar 23 01:03:50 2008 -0700 include/asm-x86/unaligned.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b896313e53344e79cc8bbc69f0a7d5c2b1735895 Author: Joe Perches Date: Sun Mar 23 01:03:49 2008 -0700 include/asm-x86/uaccess_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b1fcec7f2296c4b9126e1b85b52494ac8910d528 Author: Joe Perches Date: Sun Mar 23 01:03:48 2008 -0700 include/asm-x86/uaccess_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2d86e637d15984e363e8c3f14c8f0470b4a10a3d Author: Joe Perches Date: Sun Mar 23 01:03:47 2008 -0700 include/asm-x86/tsc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5d7d03b81af05f3c291b5c6be621a2b53d187e09 Author: Joe Perches Date: Sun Mar 23 01:03:46 2008 -0700 include/asm-x86/topology.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 94cf8de0a0aff39c7b7785af4fc938ecacb79b7c Author: Joe Perches Date: Sun Mar 23 01:03:45 2008 -0700 include/asm-x86/tlbflush.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b98fff30223799c5df444fef1ebcfcddf310f740 Author: Joe Perches Date: Sun Mar 23 01:03:43 2008 -0700 include/asm-x86/thread_info_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 89917f28f3377fa7e38a51e9208e83b7b92542ee Author: Joe Perches Date: Sun Mar 23 01:03:42 2008 -0700 include/asm-x86/thread_info_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7c4d4784db93496791b798e0abab1d056b192ad0 Author: Joe Perches Date: Sun Mar 23 01:03:40 2008 -0700 include/asm-x86/tce.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c5386c200f55940eeeb827df172edf2e0305f23b Author: Joe Perches Date: Sun Mar 23 01:03:39 2008 -0700 include/asm-x86/system.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 26b7fcc4bde28237a906597a809b149fb06713b0 Author: Joe Perches Date: Sun Mar 23 01:03:38 2008 -0700 include/asm-x86/sync_bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit a4c2d7d9285500a9b229bb7ddc7abe0212a0dab0 Author: Joe Perches Date: Sun Mar 23 01:03:37 2008 -0700 include/asm-x86/swiotlb.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1b17fce6078ab0672f6702097680b65124de5f05 Author: Joe Perches Date: Sun Mar 23 01:03:36 2008 -0700 include/asm-x86/suspend_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf030ebd40e37cb11d1efa6677890f40f21e16f4 Author: Joe Perches Date: Sun Mar 23 01:03:35 2008 -0700 include/asm-x86/suspend_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 953b2f1ed6f2642e58e7c5b8c1385d132f1b5685 Author: Joe Perches Date: Sun Mar 23 01:03:34 2008 -0700 include/asm-x86/string_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 06b0f574eafdd26d325ce5ab3c38522d0cdd7b7c Author: Joe Perches Date: Sun Mar 23 01:03:33 2008 -0700 include/asm-x86/string_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7f3a9508b5778034091e00e696dc17ca98b8a84c Author: Joe Perches Date: Sun Mar 23 01:03:32 2008 -0700 include/asm-x86/srat.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d3bf60a6e48c9a451cac345c0ad57552bb299992 Author: Joe Perches Date: Sun Mar 23 01:03:31 2008 -0700 include/asm-x86/spinlock.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ceb7ce1052a9087bd4752424f253b883ec5e1cec Author: Joe Perches Date: Sun Mar 23 01:03:30 2008 -0700 include/asm-x86/smp_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2fec394adf9445ae6a21c5e67d9ad3f6f5b7c8d1 Author: Joe Perches Date: Sun Mar 23 01:03:29 2008 -0700 include/asm-x86/smp_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9551b12a51bab7058ad486ba96fd0c27fdafe922 Author: Joe Perches Date: Sun Mar 23 01:03:28 2008 -0700 include/asm-x86/signal.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit af1fec15de17086864fc3917e21a31e303ec0e91 Author: Joe Perches Date: Sun Mar 23 01:03:27 2008 -0700 include/asm-x86/sigcontext.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 895b7643d6d2d04761344e18a2473255f2551e9e Author: Joe Perches Date: Sun Mar 23 01:03:26 2008 -0700 include/asm-x86/sigcontext32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 915cd5aa0adbe0f62b7a56d6eaf6908b47f80395 Author: Joe Perches Date: Sun Mar 23 01:03:25 2008 -0700 include/asm-x86/setup.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6e5609a97acef44440f233ad435dd0ab563608f9 Author: Joe Perches Date: Sun Mar 23 01:03:21 2008 -0700 include/asm-x86/rwsem.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0f4fc8c1dca86b519fed50be0962c8def8d3d446 Author: Joe Perches Date: Sun Mar 23 01:03:20 2008 -0700 include/asm-x86/rio.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c6fd5d49ec578e1078331b81ca09008fb361a8ba Author: Joe Perches Date: Sun Mar 23 01:03:19 2008 -0700 include/asm-x86/resume-trace.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 78db4c6be439cd446c94181c73f5e06a89a5aaf3 Author: Joe Perches Date: Sun Mar 23 01:03:18 2008 -0700 include/asm-x86/reboot.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 72f74fa25a468f40781e452f1d2528395090d55f Author: Joe Perches Date: Sun Mar 23 01:03:17 2008 -0700 include/asm-x86/ptrace.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 708c5662975518eeea04de10cb11075d48636180 Author: Joe Perches Date: Sun Mar 23 01:03:16 2008 -0700 include/asm-x86/proto.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cca2e6f87e3856953503aae2c0b8a1d5628796ef Author: Joe Perches Date: Sun Mar 23 01:03:15 2008 -0700 include/asm-x86/processor.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4943aa4ec25ccc7161f4f4fcdd0018a4c1f6d4e8 Author: Joe Perches Date: Sun Mar 23 01:03:14 2008 -0700 include/asm-x86/posix_types_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2c5d516ca70641e26463e8d24344b515a2973c11 Author: Joe Perches Date: Sun Mar 23 01:03:13 2008 -0700 include/asm-x86/posix_types_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3cbaeafeb10e38bce6c8d4764a254260d5a564bd Author: Joe Perches Date: Sun Mar 23 01:03:12 2008 -0700 include/asm-x86/pgtable.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7f94401e439dc1137319c48dfec0285f681eb3ad Author: Joe Perches Date: Sun Mar 23 01:03:11 2008 -0700 include/asm-x86/pgtable_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4b01fef89a10cedbae9857e76283616af3f177cd Author: Joe Perches Date: Sun Mar 23 01:03:10 2008 -0700 include/asm-x86/pgtable-3level.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf840147d48626d5d86d617cbc5b7cddc1bcae14 Author: Joe Perches Date: Sun Mar 23 01:03:09 2008 -0700 include/asm-x86/pgtable_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 65e05d15edfdd6ecb4426894cf6e6b5ae97602e4 Author: Joe Perches Date: Sun Mar 23 01:03:08 2008 -0700 include/asm-x86/pgtable-2level.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit bc9e3be20bab447519e864c4f9e09aae82ed0376 Author: Joe Perches Date: Sun Mar 23 01:03:06 2008 -0700 include/asm-x86/percpu.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 46e1abc63e736644265e7ec2897f963a4ace5993 Author: Joe Perches Date: Sun Mar 23 01:03:05 2008 -0700 include/asm-x86/pda.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 69bdb7bcc6b9494b1738c6f6dd3fe553c9c6978e Author: Joe Perches Date: Sun Mar 23 01:03:04 2008 -0700 include/asm-x86/pci.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 565c6402db09b1d1b7623ebd629f3adf6b86feaa Author: Joe Perches Date: Sun Mar 23 01:03:03 2008 -0700 include/asm-x86/pci-direct.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3cb47d79e99ad7b3a02badd7f64fbb57a1b125b3 Author: Joe Perches Date: Sun Mar 23 01:03:02 2008 -0700 include/asm-x86/pci_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5269354231c6e960941f6e1fd0737acc003d2353 Author: Joe Perches Date: Sun Mar 23 01:03:01 2008 -0700 include/asm-x86/parport.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 49cd740bb0b5796f34699a0f945b977f6ff34c64 Author: Joe Perches Date: Sun Mar 23 01:03:00 2008 -0700 include/asm-x86/paravirt.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fad599854e3997a3e93559e19759a26b18c906c6 Author: Joe Perches Date: Sun Mar 23 01:02:59 2008 -0700 include/asm-x86/param.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b20a4615944a0c106fce2aecb7ea1dbc8eefc71b Author: Joe Perches Date: Sun Mar 23 01:02:58 2008 -0700 include/asm-x86/page_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 095d1c4e61d77de4b33ea3b202aa6342f69d9891 Author: Joe Perches Date: Sun Mar 23 01:02:57 2008 -0700 include/asm-x86/page_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5f4e4b7209deb3cd7cf16ebb7bf84917e4b6682a Author: Joe Perches Date: Sun Mar 23 01:02:56 2008 -0700 include/asm-x86/numaq.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cb046eed76b7f74e619479f1aba17e74ce6f5159 Author: Joe Perches Date: Sun Mar 23 01:02:55 2008 -0700 include/asm-x86/numa_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2c4e8830414de84cc969a1f9685f4c48b91ca6e7 Author: Joe Perches Date: Sun Mar 23 01:02:54 2008 -0700 include/asm-x86/mutex_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b2347fad517f61553e03135db60def2392d9c2bc Author: Joe Perches Date: Sun Mar 23 01:02:53 2008 -0700 include/asm-x86/mutex_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9969b4405469e12070c560ff27dbe587470fc945 Author: Joe Perches Date: Sun Mar 23 01:02:52 2008 -0700 include/asm-x86/mtrr.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit abb0ade013507c93a9a0b263bbb7b0327d7c38db Author: Joe Perches Date: Sun Mar 23 01:02:51 2008 -0700 include/asm-x86/msr.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 934902b474bdb235a273985ad4c61eb136afe11d Author: Joe Perches Date: Sun Mar 23 01:02:50 2008 -0700 include/asm-x86/msidef.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 30971e17ee484f72e081826a0bf3e489ef3b4c30 Author: Joe Perches Date: Sun Mar 23 01:02:49 2008 -0700 include/asm-x86/mpspec.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8f08403e61a86c3179642239184aff3a5f636be1 Author: Joe Perches Date: Sun Mar 23 01:02:48 2008 -0700 include/asm-x86/mpspec_def.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 60e9bfd1bd5be433e56b050e025d3d5c91c967a8 Author: Joe Perches Date: Sun Mar 23 01:02:47 2008 -0700 include/asm-x86/mmzone_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7491d33d9ab042f3fdb9ec00054f69737dcd180f Author: Joe Perches Date: Sun Mar 23 01:02:46 2008 -0700 include/asm-x86/mmzone_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f2334076890bbe3cddca2c053684653c614e9b48 Author: Joe Perches Date: Sun Mar 23 01:02:45 2008 -0700 include/asm-x86/mmx.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 710d0e9cce8bfcfa821c5929c1d4dbf30a660ce6 Author: Joe Perches Date: Sun Mar 23 01:02:44 2008 -0700 include/asm-x86/mmu.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c4fe760efde84e52168a81bf125f25ba2f118b51 Author: Joe Perches Date: Sun Mar 23 01:02:43 2008 -0700 include/asm-x86/mmu_context_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 55464da94a845e057ffb94a9fc7be1aa86ffcd89 Author: Joe Perches Date: Sun Mar 23 01:02:42 2008 -0700 include/asm-x86/mmu_context_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 77d511ed744f7febcd2a3444f63e6c54ac32d0c3 Author: Joe Perches Date: Sun Mar 23 01:02:41 2008 -0700 include/asm-x86/mca_dma.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 933a44155caeb4ff5b58fcf755e3381ae37e72d4 Author: Joe Perches Date: Sun Mar 23 01:02:40 2008 -0700 include/asm-x86/mc146818rtc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 69cde6512c3a0227878869f9ba8a02cdc72fc253 Author: Joe Perches Date: Sun Mar 23 01:02:39 2008 -0700 include/asm-x86/local.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fb444c7b25420d57ce5e31cab486f734705bd278 Author: Joe Perches Date: Sun Mar 23 01:02:37 2008 -0700 include/asm-x86/lguest.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fd1ea0c25ae00e2ac55881af55c3206664dd59a8 Author: Joe Perches Date: Sun Mar 23 01:02:36 2008 -0700 include/asm-x86/lguest_hcall.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0c7825e64d377409deaaf73cd6311da9df310db3 Author: Joe Perches Date: Sun Mar 23 01:02:35 2008 -0700 include/asm-x86/kvm_x86_emulate.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7d76b4d3767324fa44ac73032d6eeb428e46f004 Author: Joe Perches Date: Sun Mar 23 01:02:34 2008 -0700 include/asm-x86/kvm_host.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 864dfa13bed444d2c6d76d584e81713405d60082 Author: Joe Perches Date: Sun Mar 23 01:02:33 2008 -0700 include/asm-x86/kprobes.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b69a3f9dc0bbdbf9278ac5bc8d4b6347c11a701b Author: Joe Perches Date: Sun Mar 23 01:02:32 2008 -0700 include/asm-x86/kexec.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f461f1372cef1853534df2115f9ff5b7fbfc6958 Author: Joe Perches Date: Sun Mar 23 01:02:31 2008 -0700 include/asm-x86/kdebug.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cf7f7191cf20011e47243b594e433275a6db811b Author: Joe Perches Date: Sun Mar 23 01:02:30 2008 -0700 include/asm-x86/irqflags.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3ff3522497d7ad383df9770e812fbaf75d19b214 Author: Joe Perches Date: Sun Mar 23 01:02:29 2008 -0700 include/asm-x86/irq_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f4964d2ac51fcc8cd56975139422cdbb3a1e66dc Author: Joe Perches Date: Sun Mar 23 01:02:28 2008 -0700 include/asm-x86/irq_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 061b3d90bc3490af41c6756189b59713cd9ecaee Author: Joe Perches Date: Sun Mar 23 01:02:27 2008 -0700 include/asm-x86/ipi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 5ca22aaad9ea078306537b2ef6fb788d931e8502 Author: Joe Perches Date: Sun Mar 23 01:02:26 2008 -0700 include/asm-x86/ipcbuf.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1774a5bed33d85f250657f397b359b9837390a90 Author: Joe Perches Date: Sun Mar 23 01:02:25 2008 -0700 include/asm-x86/io.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 88b4f6e98f79de31f49036da5bb1482872d512b5 Author: Joe Perches Date: Sun Mar 23 01:02:24 2008 -0700 include/asm-x86/ioctls.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 126f5f35a36b5734026db58263fc1d60e4ae466f Author: Joe Perches Date: Sun Mar 23 01:02:23 2008 -0700 include/asm-x86/io_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dcd215c9089c1203eed6f84dde2eb2cc0bbf9501 Author: Joe Perches Date: Sun Mar 23 01:02:22 2008 -0700 include/asm-x86/io_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9bd73425142a610ae72c5e2b89e036e5214bb6ca Author: Joe Perches Date: Sun Mar 23 01:02:20 2008 -0700 include/asm-x86/ia32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit ace4fdbb2fa842fc557bc0ae5909d790eb335ff8 Author: Joe Perches Date: Sun Mar 23 01:02:19 2008 -0700 include/asm-x86/i8259.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit affe66374ca16572fbb22cefe267d6072c49ce9d Author: Joe Perches Date: Sun Mar 23 01:02:18 2008 -0700 include/asm-x86/i387.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit e574b023cf03f796727ea654acfc16a0df805086 Author: Joe Perches Date: Sun Mar 23 01:02:17 2008 -0700 include/asm-x86/hypertransport.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dbdab9f6308645a4462e81c607d6282bcb27141d Author: Joe Perches Date: Sun Mar 23 01:02:16 2008 -0700 include/asm-x86/hw_irq_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b9c2fcf0eb6190f942312a6e04f91a80efb91b72 Author: Joe Perches Date: Sun Mar 23 01:02:15 2008 -0700 include/asm-x86/highmem.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 6394d982a96a4b8f7973dea1d9d5a99dbe1847f7 Author: Joe Perches Date: Sun Mar 23 01:02:14 2008 -0700 include/asm-x86/geode.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit eee28c251ed8ef2c6b66f0e08e9467a8cc5cf886 Author: Joe Perches Date: Sun Mar 23 01:02:13 2008 -0700 include/asm-x86/genapic_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 9407913fc16dde0e632b9639557422c6a792469d Author: Joe Perches Date: Sun Mar 23 01:02:12 2008 -0700 include/asm-x86/futex.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 4637bc07c85621b0c10320da8cf3b34de83efa0f Author: Joe Perches Date: Sun Mar 23 01:02:11 2008 -0700 include/asm-x86/floppy.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit dca13fb0fc89d4214090a0ae14aeeaa50c42a6c4 Author: Joe Perches Date: Sun Mar 23 01:02:10 2008 -0700 include/asm-x86/fixmap_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit cb7d0617b776b91a0643b8c5988f236414129b7d Author: Joe Perches Date: Sun Mar 23 01:02:09 2008 -0700 include/asm-x86/fixmap_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 486386f6c1b5144ccc8eb2f28def1712e1dd6c3d Author: Joe Perches Date: Sun Mar 23 01:02:08 2008 -0700 include/asm-x86/elf.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0c6f6abf6e63227b1e6e22e412c3f63c0163a520 Author: Joe Perches Date: Sun Mar 23 01:02:07 2008 -0700 include/asm-x86/efi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 451dd9835898d4cc3c0ee8f9e4883807b760eb02 Author: Joe Perches Date: Sun Mar 23 01:02:06 2008 -0700 include/asm-x86/edac.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 86bbc83526a4543db0a4ffed8e4cf679eddd534c Author: Joe Perches Date: Sun Mar 23 01:02:05 2008 -0700 include/asm-x86/e820_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 1257d6e0408ba21d72dc3db9ef69d7287c74507b Author: Joe Perches Date: Sun Mar 23 01:02:04 2008 -0700 include/asm-x86/e820_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c884534f7e74e017f96f81efc31f26ef2b15572e Author: Joe Perches Date: Sun Mar 23 01:02:03 2008 -0700 include/asm-x86/dwarf2_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 113cbebac7c88ce78a48801e159108ce6c9d1fb3 Author: Joe Perches Date: Sun Mar 23 01:02:00 2008 -0700 include/asm-x86/dma.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 925a09b27fc73593eb705e50e6db86c4a22091db Author: Joe Perches Date: Sun Mar 23 01:01:59 2008 -0700 include/asm-x86/div64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c1773a167defdec919b1dbfc9100054c44fd0ff5 Author: Joe Perches Date: Sun Mar 23 01:01:58 2008 -0700 include/asm-x86/desc.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b77619001e3acd228209bfdd864734cfdddb3d92 Author: Joe Perches Date: Sun Mar 23 01:01:57 2008 -0700 include/asm-x86/desc_defs.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2cade899df7d9cc9e977a24898b0bd5a6f4a8dfd Author: Joe Perches Date: Sun Mar 23 01:01:56 2008 -0700 include/asm-x86/current_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 83ecfdd0a0a065e55172889dc660c5db3c14633a Author: Joe Perches Date: Sun Mar 23 01:01:55 2008 -0700 include/asm-x86/current_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit c96a6d41aa033c03b43e5a09448bddcc971797b1 Author: Joe Perches Date: Sun Mar 23 01:01:53 2008 -0700 include/asm-x86/compat.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit e52da357a15db9e12b96b4e40dffe6b9e54bb976 Author: Joe Perches Date: Sun Mar 23 01:01:52 2008 -0700 include/asm-x86/cmpxchg_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8121019cad7bfe61f8f626a85427aca66dfe0f1e Author: Joe Perches Date: Sun Mar 23 01:01:51 2008 -0700 include/asm-x86/cmpxchg_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3d3c6e10036dcbbe9fe7d69911f5638faecfbaeb Author: Joe Perches Date: Sun Mar 23 01:01:50 2008 -0700 include/asm-x86/checksum_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 0883e91ae209f4ada4db9b383026df77351c1320 Author: Joe Perches Date: Sun Mar 23 01:01:49 2008 -0700 include/asm-x86/checksum_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3f61b19a9f60a0469a19113be8bb3b3623006de2 Author: Joe Perches Date: Sun Mar 23 01:01:48 2008 -0700 include/asm-x86/cacheflush.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 346050952cac11b25a98c7e1743412b416827314 Author: Joe Perches Date: Sun Mar 23 01:01:47 2008 -0700 include/asm-x86/byteorder.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 86d8a08616ecbc510323bfca591816a5709c6e54 Author: Joe Perches Date: Sun Mar 23 01:01:46 2008 -0700 include/asm-x86/bug.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 286275c90f148562b973b1e1f39f9689e6676dc4 Author: Joe Perches Date: Sun Mar 23 01:01:45 2008 -0700 include/asm-x86/bitops.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 49f74946f008add0b22723244976a32b365de06f Author: Joe Perches Date: Sun Mar 23 01:01:44 2008 -0700 include/asm-x86/bitops_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit fd591acd0f0b2382e8c0a839be9974e7c019bdb6 Author: Joe Perches Date: Sun Mar 23 01:01:43 2008 -0700 include/asm-x86/bitops_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 7edb3cd6cbadb686864b8f180232e4dc69d959e8 Author: Joe Perches Date: Sun Mar 23 01:01:42 2008 -0700 include/asm-x86/atomic_64.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 78ff12eec42a4141d22dac4fdab04994384f6385 Author: Joe Perches Date: Sun Mar 23 01:01:41 2008 -0700 include/asm-x86/atomic_32.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 3c311febfa8cc240e2922931d7403a6bb7f3fa1b Author: Joe Perches Date: Sun Mar 23 01:01:40 2008 -0700 include/asm-x86/apic.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 79a4a961ef92744dd8876963690a8beb56758457 Author: Joe Perches Date: Sun Mar 23 01:01:39 2008 -0700 include/asm-x86/apicdef.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit b03aa8c6eb2d743ef4658b494dc1780e7740efc0 Author: Joe Perches Date: Sun Mar 23 01:01:38 2008 -0700 include/asm-x86/a.out-core.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 2ac1ea7ccd81f0383c6525e495a31d18fcac92db Author: Joe Perches Date: Sun Mar 23 01:01:37 2008 -0700 include/asm-x86/alternative.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 8dbeeb24e4d64a8a4bb49d54a6e4d987b9d3b6fc Author: Joe Perches Date: Sun Mar 23 01:01:36 2008 -0700 include/asm-x86/acpi.h: checkpatch cleanups - formatting only Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit d3463c5a66147bdd21b5865ea29fdca50ea28f7f Author: Ingo Molnar Date: Fri Apr 4 13:31:15 2008 +0200 undo "x86: fix breakage of vSMP irq operations" revert: "x86: fix breakage of vSMP irq operations" the irqflags.h unification will solve this in a cleaner way. Signed-off-by: Ingo Molnar commit dcfe946520719943fabd3e5ed13813956e48e37c Author: Yinghai Lu Date: Tue Apr 15 23:17:42 2008 -0700 x86: fix memtest print out Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit c64df70793a9c344874eb4af19f85e0662d2d3ee Author: Yinghai Lu Date: Fri Mar 21 18:56:19 2008 -0700 x86: memtest bootparam Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 9b967106da0357ef8b08847dce35584a04134f20 Author: Yinghai Lu Date: Fri Mar 21 15:14:07 2008 -0700 x86: fix smpboot integration > yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6> git-bisect bad > d1c707188ad646c8094cac9afb1738e7d0196ff2 is first bad commit > commit d1c707188ad646c8094cac9afb1738e7d0196ff2 > Author: Glauber de Oliveira Costa > Date: Wed Mar 19 14:25:53 2008 -0300 > > x86: include mach_apic.h in smpboot_64.c and smpboot.c > > After the inclusion, a lot of files needs fixing for conflicts, > some of them in the headers themselves, to accomodate for both > i386 and x86_64 versions. > > [ mingo@elte.hu: build fix ] > > Signed-off-by: Glauber Costa > Signed-off-by: Ingo Molnar > > :040000 040000 19f574e64bb8003bbe984f3a8c1315db969dfdcd > 6ffe96588c77bc936705599fa110107856201115 M arch > :040000 040000 61269347ad4f384ed85cc87c4f2d004ed94492ac > 8f5c713da25579a3cdf63db3d4c2f795261d0521 M include > yhlu@mpk:~/xx/xx/kernel/x86/linux-2.6> > attached patch fixes that. commit 288621e32a7ae3a29c37b45297136c0264e2ff7b Author: Cyrill Gorcunov Date: Fri Mar 21 23:12:14 2008 +0300 x86: relocate_kernel - use predefined PAGE_SIZE instead of own alias This patch does clean up relocate_kernel_(32|64).S a bit by getting rid of local PAGE_ALIGNED macro. We should use well-known PAGE_SIZE instead Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 89bda4fccbd49f4b2bf59d0165391696037be856 Author: Alexey Starikovskiy Date: Fri Mar 21 20:18:17 2008 +0300 x86: use same index for processor maps Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit fa3f1f42b4efac84c459383218c20ab39e4df566 Author: Jack Steiner Date: Fri Mar 21 08:34:25 2008 -0500 x86: allow NODES_SHIFT to be a config option on x86_64 Allow the maximum number of nodes in an x86_64 system to be configurable. This patch does NOT change the default value but allows the value to be a config option. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 8434e73d9ec2aeaa86389e362b960ffba5edd9c9 Author: Jack Steiner Date: Fri Mar 21 08:31:57 2008 -0500 x86: increase max physical memory size of 64-bit Increase the maximum physical address size of x86_64 system to 44-bits. This is in preparation for future chips that support larger physical memory sizes. Signed-off-by: Jack Steiner Signed-off-by: Ingo Molnar commit 709f744f18ebc3a810d29c8d5502bf20c3cecc70 Author: Jan Beulich Date: Thu Mar 13 09:08:51 2008 +0000 x86: bitops asm constraint fixes This (simplified) piece of code didn't behave as expected due to incorrect constraints in some of the bitops functions, when X86_FEATURE_xxx is referring to other than the first long: int test(struct cpuinfo_x86 *c) { if (cpu_has(c, X86_FEATURE_xxx)) clear_cpu_cap(c, X86_FEATURE_xxx); return cpu_has(c, X86_FEATURE_xxx); } I'd really like understand, though, what the policy of (not) having a "memory" clobber in these operations is - currently, this appears to be totally inconsistent. Also, many comments of the non-atomic functions say those may also be re-ordered - this contradicts the use of "asm volatile" in there, which again I'd like to understand. As much as all of these, using 'int' for the 'nr' parameter and 'void *' for the 'addr' one is in conflict with Documentation/atomic_ops.txt, especially because bt{,c,r,s} indeed take the bit index as signed (which hence would really need special precaution) and access the full 32 bits (if 'unsigned long' was used properly here, 64 bits for x86-64) pointed at, so invalid uses like referencing a 'char' array cannot currently be caught. Finally, the code with and without this patch relies heavily on the -fno-strict-aliasing compiler switch and I'm not certain this really is a good idea. In the light of all of this I'm sending this as RFC, as fixing the above might warrant a much bigger patch... Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 6e908947b4995bc0e551a8257c586d5c3e428201 Author: Ingo Molnar Date: Fri Mar 21 14:32:36 2008 +0100 x86: fix ioapic bug again un-revert: commit 4960c9df1407c2723459c60ff13e6efe0c209c62 Author: Thomas Gleixner Date: Tue Jan 22 10:23:01 2008 +0100 Revert "x86: fix NMI watchdog & 'stopped time' problem" This reverts commit d4d25deca49ec2527a634557bf5a6cf449f85deb. needs a proper fix though ... Signed-off-by: Ingo Molnar commit f2e576b8141ec1cf2669ff7bbc92f0a9c147f34f Author: Andrew Morton Date: Tue Mar 18 18:54:45 2008 -0700 i386: arch/x86/math-emu/reg_ld_str.c: fix warning arch/x86/math-emu/reg_ld_str.c:380: warning: 'l[0]' may be used uninitialized in this function arch/x86/math-emu/reg_ld_str.c:380: warning: 'l[1]' may be used uninitialized in this function I can't actually spot the bug here. There's one obvious place, but fixing that didn't shut the warning up. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit cc7594e420283cf6070538655f1a4fbebb3fb853 Author: Andrew Morton Date: Tue Mar 18 18:46:06 2008 -0700 i386: arch/x86/math-emu/fpu_entry.c warning fix arch/x86/math-emu/fpu_entry.c:555: warning: 'entry_sel_off.empty' is used uninitialized in this function Presumably it's harmless, but I'll sleep better at night knowing that we initialised it. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b450e5e816d10893e17f57b3eb9d29c52635862a Author: Venki Pallipadi Date: Tue Mar 25 16:51:26 2008 -0700 x86: PAT bug fix for attribute type check after reserve_memtype, debug Make the PAT related printks in ioremap pr_debug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit dee7cbb210fdd266ad81af4689bcbac3649f38ff Author: Venki Pallipadi Date: Mon Mar 24 14:39:55 2008 -0700 x86: PAT bug fix for attribute type check after reserve_memtype Bug fixes for reserve_memtype() call in __ioremap and pci_mmap_page_range(). If reserve_memtype returns non-zero, then it is an error and subsequent free is not required. Requested and returned prot value check should be done when reserve_memtype returns success. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 9307cacad0dfe3749f00303125c6f7f0523e5616 Author: Yinghai Lu Date: Mon Mar 24 23:24:34 2008 -0700 x86: pat cpu feature bit setting for known cpus Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a7c7d0e91daebd7c5e51f9416d612b6a15e7e79a Author: Ingo Molnar Date: Tue Apr 8 16:25:42 2008 +0200 x86: tom2 warning fix Signed-off-by: Ingo Molnar commit 35605a1027ac630f85a1b95684f7e86b82498cd6 Author: Yinghai Lu Date: Mon Mar 24 16:02:01 2008 -0700 x86: enable PAT for amd k8 and fam10h make known_pat_cpu to think amd k8 and fam10h is ok too. also make tom2 below to be WRBACK Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 52783fa8d6b847857fdd86df418e09c026d816f5 Author: Ingo Molnar Date: Fri Mar 21 15:42:28 2008 +0100 x86: PAT fix build fix for !CONFIG_MTRR. Signed-off-by: Ingo Molnar commit 042b78e4dbb8919a59e77ba5d502a5a14405dea1 Author: Venki Pallipadi Date: Mon Mar 24 14:22:35 2008 -0700 x86: PAT infrastructure patch, documentation updates Fix double help section in PAT Kconfig. Thanks to Randy Dunlap for catching this bug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 6997ab4982a29925e79f72c3a59823cf944c3529 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:25 2008 -0700 x86: add PAT related debug prints Adds debug prints at critical code. Adds enough info in dmesg to allow us to do effective first round of analysis of any issues that may result due to PAT patch series. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit b310f381d220b2c6e3fab16e8c6e4ca13eea75b2 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:24 2008 -0700 x86: PAT add ioremap_wc() interface Introduce ioremap_wc for wc remap. (generic wrapper is in a later patch) Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit ef354af4629e5cc76a3f64fc46d452f2b56d5a59 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:23 2008 -0700 x86: PAT add set_memory_wc() interface Add a set_memory_wc interface(), similar to set_memory_uc interface. Callers has to call set_memory_uc, set_memory_wb and set_memory_wc, set_memory_wb as pairs. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 03d72aa18f15df9987fe5837284e15b9ccf6e3f8 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:19 2008 -0700 x86: PAT use reserve free memtype in pci_mmap_page_range Add reserve_memtype and free_memtype wrapper for pci_mmap_page_range. Free is called on unmap, but identity map continues to be mapped as per pci_mmap_page_range request, until next request for the same region calls ioremap_change_attr(), which will go through without conflict. This way of mapping is identical to one used in ioremap/iounmap. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 1219333dfdd488e85f08cf07881b8bc63cf92f21 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:18 2008 -0700 x86: PAT use reserve free memtype in set_memory_uc Use reserve_memtype and free_memtype interfaces in set_memory_uc/set_memory_wb interfaces to avoid aliasing. Usage model of set_memory_uc and set_memory_wb is for RAM memory and users will first call set_memory_uc and call set_memory_wb after use to reset the attribute. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit d7677d4034f040f4ce565713e0b83a31cc26f23e Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:17 2008 -0700 x86: PAT use reserve free memtype in ioremap and iounmap Use reserve_memtype and free_memtype interfaces in ioremap/iounmap to avoid aliasing. If there is an existing alias for the region, inherit the memory type from the alias. If there are conflicting aliases for the entire region, then fail ioremap. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 3a96ce8cac808fbed5493adc5c605bced28e2ca1 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:16 2008 -0700 x86: PAT make ioremap_change_attr non-static Make ioremap_change_attr() non-static and use prot_val in place of ioremap_mode. This interface is used in subsequent PAT patches. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 55c626820a82b25d7fceca702e9422037ae80626 Author: Ingo Molnar Date: Wed Mar 26 06:19:45 2008 +0100 x86: revert ucminus change Signed-off-by: Ingo Molnar commit 2e5d9c857d4e6c9e7b7d8c8c86a68a7842d213d6 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:14 2008 -0700 x86: PAT infrastructure patch Sets up pat_init() infrastructure. PAT MSR has following setting. PAT |PCD ||PWT ||| 000 WB _PAGE_CACHE_WB 001 WC _PAGE_CACHE_WC 010 UC- _PAGE_CACHE_UC_MINUS 011 UC _PAGE_CACHE_UC We are effectively changing WT from boot time setting to WC. UC_MINUS is used to provide backward compatibility to existing /dev/mem users(X). reserve_memtype and free_memtype are new interfaces for maintaining alias-free mapping. It is currently implemented in a simple way with a linked list and not optimized. reserve and free tracks the effective memory type, as a result of PAT and MTRR setting rather than what is actually requested in PAT. pat_init piggy backs on mtrr_init as the rules for setting both pat and mtrr are same. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit d27554d874c7eeb14c8bfecdc39c3a8618cd8d32 Author: venkatesh.pallipadi@intel.com Date: Tue Mar 18 17:00:13 2008 -0700 x86: PAT documentation Documentation about PAT related interfaces, intended usage and memory attribute relationship. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 7de6a4cdac6341807261a33896f9ab5a502a4e74 Author: Pavel Machek Date: Thu Mar 13 11:03:58 2008 +0100 x86: clean up aperture_64.c Initializing to zero is generally bad idea, I hope it is right for __init data, too. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 01561264bd1ea1d654d09babe02d784a5b150124 Author: Yinghai Lu Date: Thu Mar 20 23:57:21 2008 -0700 x86: allocate e820 resource struct all together don't need to allocate that one by one Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 272b9cad6e7a2f61b13cfcd7dde0010e02e9376e Author: Yinghai Lu Date: Thu Mar 20 23:58:33 2008 -0700 x86: early memtest to find bad ram do simple memtest after init_memory_mapping use find_e820_area_size to find all ram range that is not reserved. and do some simple bits test to find some bad ram. if find some bad ram, use reserve_early to exclude that range. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a5ae1c372dc5bbaee905bcede524d7180d22b362 Author: Cyrill Gorcunov Date: Thu Mar 13 19:44:56 2008 +0300 x86: processor.h - use PAGE_SIZE instead of numeric value This patch replaces numeric constant with an appropriate macro Also 0x800000000000UL is changed to bit shifting which is complement to the code comment (thanks hpa for notice) Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar commit 0054f4b708d21bd0032480cf7309d17753bc17bb Author: Robert P. J. Day Date: Thu Mar 13 21:47:32 2008 -0400 x86: Explicitly include required header files. After an experimental cleanup of , these files were exposed as invoking kmalloc() without including . Signed-off-by: Robert P. J. Day Signed-off-by: Ingo Molnar commit f7d909d5475bb27d261389a3902860e086b0d4c9 Author: Jan Beulich Date: Fri Mar 14 07:56:32 2008 +0000 x86: simplify sync_test_bit() There really is no need for a redundant implementation here, just keep the alternative name for allowing consumers to use consistent naming. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit acb5b8a2dd0f901463d075382ea548935e679f4e Author: Yakov Lerner Date: Sun Mar 16 03:21:21 2008 -0500 x86, kprobes: correct post-eip value in post_hander() I was trying to get the address of instruction to be executed next after the kprobed instruction. But regs->eip in post_handler() contains value which is useless to the user. It's pre-corrected value. This value is difficult to use without access to resume_execution(), which is not exported anyway. I moved the invocation of post_handler() to *after* resume_execution(). Now regs->eip contains meaningful value in post_handler(). I do not think this change breaks any backward-compatibility. To make meaning of the old value, post_handler() would need access to resume_execution() which is not exported. I have difficulty to believe that previous, uncorrected, regs->eip can be meaningfully used in post_handler(). Signed-off-by: Yakov Lerner Acked-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar commit 0f54091051c450bab751c3ca0cb45d61a67a683b Author: Roland McGrath Date: Mon Mar 17 02:21:08 2008 -0700 x86: handle_vm86_trap cleanup Use force_sig in handle_vm86_trap like other machine traps do. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit b00de174e3d52d9185e2e9937a6a2704c9d7d520 Author: Roland McGrath Date: Sun Mar 16 22:00:05 2008 -0700 x86: sys32_execve PT_DTRACE The PT_DTRACE flag is meaningless and obsolete. Don't touch it. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 48ee679a02406c65ced67c3951ad19744eb21083 Author: Roland McGrath Date: Tue Mar 18 18:23:50 2008 -0700 x86: ia32 ptrace vs -ENOSYS sysenter/syscall The previous "x86_64 ia32 ptrace vs -ENOSYS" fix only covered the int $0x80 system call entries. This does the same fix for the sysenter and syscall instruction paths. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit a31f8dd7ee3b2f5645c220406b1e21f82971f32b Author: Roland McGrath Date: Sun Mar 16 21:59:11 2008 -0700 x86: ptrace vs -ENOSYS When we're stopped at syscall entry tracing, ptrace can change the %rax value from -ENOSYS to something else. If no system call is actually made because the syscall number (now in orig_rax) is bad, then we now always reset %rax to -ENOSYS again. This changes it to leave the return value alone after entry tracing. That way, the %rax value set by ptrace is there to be seen in user mode (or in syscall exit tracing). This is consistent with what the 32-bit kernel does. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 8ab32bb89b5b9bf06147c31947eba65f0f21c3c0 Author: Roland McGrath Date: Sun Mar 16 21:57:41 2008 -0700 x86: ia32 ptrace vs -ENOSYS When we're stopped at syscall entry tracing, ptrace can change the %eax value from -ENOSYS to something else. If no system call is actually made because the syscall number (now in orig_eax) is bad, then the %eax value set by ptrace should be returned to the user. But, instead it gets reset to -ENOSYS again. This is a regression from the native 32-bit kernel. This change fixes it by leaving the return value alone after entry tracing. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit ede1389f8ab4f3a1343e567133fa9720a054a3aa Author: Adrian Bunk Date: Mon Mar 17 22:29:32 2008 +0200 x86: remove the write-only timer_uses_ioapic_pin_0 This patch removes the write-only timer_uses_ioapic_pin_0 (gsi can't be <= 15 in the line of it's fake usage in mpparse_32.c). Spotted by the GNU C compiler. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 6542fe80e6296cde50c1c3b8a9eede701ee51907 Author: Ingo Molnar Date: Fri Mar 21 09:55:06 2008 +0100 x86: vsmp fix x86 vsmp fix is vsmp box cleanup code got a bit smaller: arch/x86/kernel/vsmp_64.o: text data bss dec hex filename 205 4 0 209 d1 vsmp_64.o.before 181 4 0 185 b9 vsmp_64.o.after Signed-off-by: Ingo Molnar commit 1cb68487f5898dd97460e5b6bda9619ec3549361 Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:45:08 2008 -0700 x86: apic_is_clustered_box to indicate unsynched TSC's on multiboard vSMP systems Indicate TSCs are unreliable as time sources if the platform is a multi chassi ScaleMP vSMPowered machine. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 9f6d8552a9cb49dc556777bbdf7ac8b3d7e18edb Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:43:16 2008 -0700 x86: vSMP: use pvops only if platform has the capability to support it Re-arrange set_vsmp_pv_ops so that pv_ops are set only if the platform has capability to support paravirtualized irq ops Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit aa7d8e25eca5deb33eb08013bc78a80514349b40 Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:41:16 2008 -0700 x86: fix build breakage when PCI is define and PARAVIRT is not - Fix the the build breakage when PARAVIRT is defined but PCI is not This fixes problem reported at: http://marc.info/?l=linux-kernel&m=120525966600698&w=2 - Make is_vsmp_box() available even when PARAVIRT is not defined. This is needed to determine if tsc's are reliable as a time source even when PARAVIRT is not defined. - split vsmp_init to use is_vsmp_box() and set_vsmp_pv_ops() set_vsmp_pv_ops will do nothing if PCI is not enabled in the config. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 3250c91ada16a06de5afef55bce7b766c894d75c Author: Ravikiran G Thirumalai Date: Thu Mar 20 00:39:02 2008 -0700 x86: vSMP: Fix is_vsmp_box() is_vsmp_box() currently does not work on vSMPowered systems, as pci cfg space is not read correctly -- This patch fixes it. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 864205062f1c752c80077be8ec2b15c81f4a6525 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:55 2008 +0300 x86: make struct mpc_config_translation NUMAQ-only Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 0ec153af4dec8944e6da558093914a3bce4c76f9 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:48 2008 +0300 x86: remove mpc_oem_bus_info() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d285e338899a4ff662a17b22d3bb0e48bb1465d4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:42 2008 +0300 x86: remove mpc_oem_pci_bus() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4655c7deca112bea86ca00f616f19c3717f687aa Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:36 2008 +0300 x86: remove mpc_apic_id() Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 555b07646d5bd0bcd4825e83580d5f6bb34259ea Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:30 2008 +0300 x86: rename gsi_start to gsi_base to match mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 85e46035bec6f114ad07ce8a9c70388568b1afd4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:24 2008 +0300 x86: limit scan to 1k of EBDA. Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit ce3fe6b2bfded4f5d931c5f2f9325dc2e3fd3a74 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:17 2008 +0300 x86: use get_bios_ebda in mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit e3e3ffa20351b32b5eaa6020d051305c8d803ed4 Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:11 2008 +0300 x86: add uniq_ioapic_id to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 857033a696996beb1cdc0d5ee5cfcfa91c8bbece Author: Alexey Starikovskiy Date: Mon Mar 17 22:08:05 2008 +0300 x86: add bad_ioapic to mpparse_32.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d2953315c70a4783c94ae6af04f4b0aaad2f09c5 Author: Alexey Starikovskiy Date: Mon Mar 17 22:07:59 2008 +0300 x86: lindent mpparse_64.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 4cedb3343f0b087275b9a8e23fc90737881ac91c Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:14 2008 -0300 x86: remove smpboot_32.c and smpboot_64.c Remove the last leftovers from the files. Move the ones that are still used to the files they belong, the others that grep can't reach, simply throw away. Merge comments ontop of file and that's it: smpboot integrated Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit acbb67341805d3b9ef263d8cbd103a6054164491 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:13 2008 -0300 x86: move apicid mappings to smpboot.c They are i386 specific (the x86_64 definitions live elsewhere, and should remain there), so are enclosed around an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2cd9fb71eedffb3a208a84daff705b9da5c915e8 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:12 2008 -0300 x86: merge cpu_exit_clear this is the last remaining function in smpboot_32.c Since it is i386 specific, move it around an ifdef to smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8aef135c73436fa46fdb4dc8aba49d5539dee72d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:11 2008 -0300 x86: merge native_smp_prepare_cpus With the previous changes, code for native_smp_prepare_cpus() in i386 and x86_64 now look very similar. merge them into smpboot.c. Minor differences are inside ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9f3734f631267d2f36008833b62670ca342ac000 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:10 2008 -0300 x86: introduce smpboot_clear_io_apic x86_64 has two nr_ioapics = 0 statements. In 32-bit, it can be done too. We do it through the smpboot_clear_io_apic() inline function, to cope with subarchitectures (visws) that does not compile mpparse in Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 771263d31114adb5e234364a58280c876c2ed182 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:09 2008 -0300 x86: change x86_64 sanity checks to match i386. They are mostly inocuous. APIC_INTEGRATED will expand to 1, check_phys_apicid_present is checking for the same thing it was before, etc. But the code is identical to i386 now, and will allow us to integrate it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0df1ba8cabc6c2d613921c75e525826e6eb3210b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:08 2008 -0300 x86: add extra sanity check This test exists in x86_64 and also applies to i386. So we add it Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1db17f553425ae679bc771d4796b7349f00cb1d9 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:07 2008 -0300 x86: change x86_64 native_smp_prepare_cpus to match i386 An APIC test is moved, and code is replaced by the mach-default already defined function (smpboot_setup_io_apic). setup_portio_remap() is added, but it is a nop in mach-default. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3fa7b3487a1317f7d3be3043dbea316ca75abed5 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:06 2008 -0300 x86: assign nr_ioapics = 0 in smpboot_hooks.h change smpboot_setup_io_apic() by to match x86_64 behaviour Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7cefaa20e798c547f569ca3f79547f820c802997 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:05 2008 -0300 x86: additions to i386 native_smp_prepare_cpus. Add function calls to native_smp_prepare_cpus in i386 to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e7bc8fbad4c582639334285dd1d9571578c58674 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:04 2008 -0300 x86: get rid of smp_boot_cpus This patch get rid of smp_boot_cpus(), since it does not boot any cpu anymore. Its code is split in a way to make it closer to x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit bd7b47ba5e4ced4e20bed2394c9580637d44550a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:03 2008 -0300 x86: use physical id when disabling smp if smp configuration is not found at all, hook into 0. This is done to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 83f7eb9c674c1bcaad6ca258fdd7dd3b96465a62 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:02 2008 -0300 x86: merge native_smp_cpus_done They look similar enough, and are merged. Only difference (zap_low_mapping for i386) is inside ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a8db8453ff52609b14716361651ad10d2ab66682 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:01 2008 -0300 x86: merge smp_prepare_boot_cpu it is practically the same between arches now, so it is moved to smpboot.c. Minor differences (gdt initialization) live inside an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit bbc2ff6a91a4eef8030018cd389bb12352d11b34 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:26:00 2008 -0300 x86: integrate start_secondary It now looks the same between architectures, so we merge it in smpboot.c. Minor differences goes inside an ifdef Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit cb3c8b9003f15efa4a750a32d2d602d40cc45d5a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:59 2008 -0300 x86: integrate do_boot_cpu This is a very large patch, because it depends on a lot of auxiliary static functions. But they all have been modified to the point that they're sufficiently close now. So they're just merged in smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c70dcb74309cedfa64f0060f4a84792e873ceb53 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:58 2008 -0300 x86: change boot_cpu_id to boot_cpu_physical_apicid This is to match i386. The former name was cuter, but the current is more meaningful and more general, since cpu_id can be a logical id. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9d97d0da71ad6c7ceb76b4e29b02bed1ee9d4cd2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:57 2008 -0300 x86: move stack_start to smp.h voyager would conflict with it, but the types are ultimately compatible. So remove the extern definition from voyager_smp.c in favour of the common one Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7cc3959ecd830796231f50bf5e42dc018b3694f2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:56 2008 -0300 x86: move {un}map_cpu_to_logical_apicid to smpboot.c Move map_cpu_to_logical_apicid() and unmap_cpu_to_logical_apicid() to smpboot.c. They take together all the bunch of static functions they rely upon Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b9f9294a86fd274e4055891450033e8bc9d68f66 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:55 2008 -0300 x86: add callin tests to cpu_up Now that we boot cpus here, callin_map has this meaning (same as x86_64) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 071782692798d7a6e0a5679f3186ea7fea49fd62 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:54 2008 -0300 x86: change wakeup_secondary name wakeup_secondary_via_INIT => wakeup_secondary_cpu. This is to match i386, where init is not always used. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f6bc40290964b5fcb48c226ccafa4b7536d62663 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:53 2008 -0300 x86: include mach_apic.h in smpboot_64.c and smpboot.c After the inclusion, a lot of files needs fixing for conflicts, some of them in the headers themselves, to accomodate for both i386 and x86_64 versions. [ mingo@elte.hu: build fix ] Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4370ee4d3b7772158174bf6f0bf08359c2ccf54b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:52 2008 -0300 x86: call do_boot_cpu directly from native_cpu_up We don't need __smp_prepare_cpu anymore. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 6becedbb06072c5741d4057b9facecb4b3143711 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:51 2008 -0300 x86: minor adjustments for do_boot_cpu This patch provides minor adjustments for do_boot_cpus in both architectures to allow for integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e481fcf8563d300e7f8875cae5fdc41941d29de0 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:50 2008 -0300 x86: calibrate delay with irqs enabled We do it to make it close to x86_64. The later needs it, otherwise the nmi watchdog can get into the scene and kill us with a hammer. Enabling irqs here used to trigger a bug in i386. This is because time irq handling relies upon structures that are only initialized after smp initcalls (More precisely, it will find per_cpu(hrtimer_bases, cpu)->cb_pending list not initialized and crash) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ac60aae561fff99d38beba82d84277b12437c05e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:49 2008 -0300 x86: provide an end_local_APIC_setup function It splits setup_local_APIC in two, providing a function corresponding to the ending part of it. As a side effect, smp_callin looks the same between i386 and x86_64. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit df7939ae8bee101d9d79d104e17f14b60845cf0f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:48 2008 -0300 x86: wrap esr setting up in i386 in lapic_setup_esr it is a little bit more complicated than x86_64 due to erratas and other stuff, but its existance will ease integration Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ea0cadbfed09674bcc2b3e1e7f2d7317ddde4e95 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:47 2008 -0300 x86: modify smp_callin in x86_64 to look like i386 We introduce empty macros just to make them look like the same Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4c07ad6950c2c7077c6d60a3ce83fdbbb553bd65 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:46 2008 -0300 x86: don't span a new worker in __smp_prepare_cpu We can do it now that do_boot_cpu has its own worker. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 365c894c65b98da944992199ea24206f531674de Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:45 2008 -0300 x86: use create_idle struct in do_boot_cpu Use a new worker, with help of the create_idle struct to fork the idle thread. We now have two workers, the first of them triggered by __smp_prepare_cpu. But the later is going away soon. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ddd10ecfa231c88382fc2f10a3120d2ad8e92381 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:44 2008 -0300 x86: get rid of commenced mask. As we now boot cpus from cpu_up, we don't need it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 9713277607f9eac7d655c6854dd92bc2ce1b6f02 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:43 2008 -0300 x86: boot cpus from cpu_up, instead of prepare_cpus After all the infrastructure work, we're now prepared to boot the cpus from cpu_up, and not from prepare_cpus. So the difference between cold boot and hotplug is effectively over, and the functions are used to the purposes they're meant to. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d2bcbad5f3ad38a1c09861bca7e252dde7bb8259 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:42 2008 -0300 x86: do not zap_low_mappings in __smp_prepare_cpus It was okay when cpus were cold booted before this point. But with the new state machine, they will not have arrived to the trampoline yet. zapping low mappings will have the bad effect of breaking it completely after paging enablement Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 802b8133b4f78c30a2668d142d78861e27c0c6a7 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:41 2008 -0300 x86: schedule work only if keventd is already running Only call schedule_work if keventd is already running. This is already the way x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e7f8b14e028f7a2f9e5c83c17164aeeeb9c61f17 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:39 2008 -0300 x86: don't initialize sibling and core maps during preparation it is redundant, since it is already done by set_cpu_sibling_map() Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 50e440aa5323860d9e5960143b720e461ed0c582 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:38 2008 -0300 x86: call nmi_watchdog_default in i386 this does not exist, so it will be an empty macro Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4626df1801dc03de42f1c155417393b91c8f5d97 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:37 2008 -0300 x86: call check_nmi_watchdog explicitly in native_smp_cpus_done With this, remove its late_initcall marker from nmi_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 6d60cd5359e261cad1e519e77ca733c05c2f8025 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:36 2008 -0300 x86: unify nmi_32.h and nmi_64.h Two more files goes away. nmi_64.h and nmi_32.h gives birth to nmi.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e32ede19ac64b5cd896e6d28aa51d34887791ab2 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:35 2008 -0300 x86: wipe get_nmi_reason out of nmi_64.h use mach_traps when it is supposed to be used. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3cf19f31d967da2c1279142d4dbafe18f521a1bf Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:34 2008 -0300 x86: don't set maps in native_smp_prepare_boot_cpu() By this time, they are already set in init routines Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 17c9ab1eabcc08794064a6e3232ac421664c9ce1 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:33 2008 -0300 x86: move smp_intr_init away from smpboot_32.c We move it to apic_32.c, since it's irq related anyway, and only called from that file. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit eb44d0a2a9c4d64ed89044fcf1f75e6a27c42ea7 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:32 2008 -0300 x86: include smpboot_hooks.h in smpboot_64.c We do it and also fix conflicts, which makes x86_64 automatically closer to i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8d77010f8c93b4d41ffd71c7ad9d07fc1668cd5a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:31 2008 -0300 x86: include mach_wakecpu.h in smpboot_64 Do it and also fix conflicts, which automatically makes x86_64 look closer to i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ee09efc3e4173632471d2dff6ca42e21930c94fe Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:30 2008 -0300 x86: add subarch support (for headers) to x86_64 this patch allows x86_64 to use subarch mach_ headers in practice, since x86_64 does not have any subarch, it will use mach_default. But it will allow for substantially less code duplication Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f68e00a32b4f5a2881c3a39d71cc2c22e92f1d99 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:29 2008 -0300 x86: move impress_friends and smp_check to cpus_done the cpu count is changed accordingly: now, what matters is online cpus. Also, we add those functions for x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 693d4b8a6429af7f2029df20a59e22f4d752e141 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:28 2008 -0300 x86: do smp tainting checks in a separate function It will ease integration for x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 904541e2f76bc3efe4cc9978b7adb3323ea8607e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:27 2008 -0300 x86: allow user to impress friends. Impressing friends is a very important thing. Do it in a separate function to make it even more explicit, and ease integration. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e1a14d0c1391627d869c0f97bb5e2382bf36d8dc Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:26 2008 -0300 x86: get rid of cpucount weighting a map will do. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1161705bd66df0c80fa45e87190e456c02e6f145 Author: Ingo Molnar Date: Wed Mar 19 20:26:15 2008 +0100 x86: fill cpu to apicid and present map in mpparse, fix Signed-off-by: Ingo Molnar commit a6c422ccdb57924bd20ae408dba8e9db01d09677 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:25 2008 -0300 x86: fill cpu to apicid and present map in mpparse This is the way x86_64 does, and complement the already present patch that does the bios cpu to apicid mapping here Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 73bf102b1cadc53d418df02ba687769a9f916a6d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:24 2008 -0300 x86: fill bios cpu to apicid maps We fill the per-cpu (or array) that maps bios cpu id to apicid in mpparse_32.c, the way x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4fe29a85642544503cf81e9cf251ef0f4e65b162 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:23 2008 -0300 x86: use specialized routine for setup per-cpu area We use the same routing as x86_64, moved now to setup.c. Just with a few ifdefs inside. Note that this routing uses prefill_possible_map(). It has the very nice side effect of allowing hotplugging of cpus that are marked as present but disabled by acpi bios. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fbac7fcbadc54cc5d374873a2e60e924a056d198 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:22 2008 -0300 x86: fix alloc_bootmem_pages_node macro missing a semicolon Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 04d1dd20f64f2b41baf5c01f57c574ca942ab4eb Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:21 2008 -0300 x86: make node to apic mapping declarations unconditional Instead of declaring them inside of X86_64 ifdef, do it unconditionally Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ccf82085ee32c9b171183d8042e8a6e2776ec628 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:20 2008 -0300 x86: initialize map pointers in setup_32.c this will serve as a reference as to whether or not to use the per_cpu variables in mpparse. Done the same way as x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit cbe879fc6c77b5751a91167654b75a39421d0f3f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:19 2008 -0300 x86: define bios to apicid mapping This mapping already exists in x86_64, just provide it for i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7e1efc0cde2a266fc31932ea7aed4bb20f524544 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:18 2008 -0300 x86: unify extern masks declaration take them off smp_{32,64}.h and move to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8154fa3740d2bbc64aa46e75bcccb71dd82280d3 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:17 2008 -0300 x86: move assignment of CPU_PREPARE before do_boot_cpu Done to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f3ce4466abd6f5173db98b5cc2269c139cd1790a Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:16 2008 -0300 x86: make __smp_prepare_cpu void We have already removed the only condition that could fail here. so just don't test for any return value Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f915d7f46b84192a19647c8e6b111a7e518875cb Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:15 2008 -0300 x86: do tests before do_boot_cpu in i386 Do tests before do_boot_cpu in native_cpu_up for i386. Tests are a little bit broader than originally, and are the same as x86_64. Test for smp_callin is not applicable right now and is deferred. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b675f11127291cdb6a090ece289e4f9a0b1d609e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:14 2008 -0300 x86: isolate logic to disable smp Put it in a disable_smp() function, as x86_64 does Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4780b261e2b71ca72804b26479d794839e68d9ab Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:13 2008 -0300 x86: isolate sanity checking Isolate all sanity checking in a smp_sanity_check() function as x86_64 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fa8004d8e0c2ba21a44bdc95c44c6c5267a991ec Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:12 2008 -0300 x86: add barriers statement goal is to have i386 and x86_64 closer, so we add barriers to match Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 148a30f8cf2ac72b7ea6e5c8971fad8d80ec3879 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:11 2008 -0300 x86: use APIC_INTEGRATED tests in x86_64 This patch does not change the behaviour of x86_64, since APIC_INTEGRATED is always defined as (1). But the code now matches exactly i386 version (well, this part of the code, at least) Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ac56ef61a1f65aaf1cb31dca2a407322c5f0a4dd Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:10 2008 -0300 x86: provide APIC_INTEGRATED definition for x86_64 it is always integrated, so define as 1. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5733f627498121870b081b7ab73ffba01348f8cd Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:09 2008 -0300 x86: move state update out of ipi_lock it does not need to be inside lock. Do the way i386 does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8f15b82e22779fd44baeb78515c9c154b407eff0 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:08 2008 -0300 x86: move setup_secondary_clock a little bit down in the function This is done so we call setup_secondary_clock() in the same place x86_64 does. A separate patch for this is appearantly not needed. But clock initialization is such a delicate thing, that it's safer to do this way Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3ff8171feecfcdee46be7d6e92259debe46ac87f Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:07 2008 -0300 x86: don't call local_irq_enable before entering idle the call to idle is guaranteed to do it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3b22ec7b13cb31e0d87fbc0aabe14caaaad309e8 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:06 2008 -0300 x86: always enable irqs when entering idle This matches x86_64 behaviour, which is a superior one IMHO Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1d89a7f072d4f76f0538edfb474d527066ee7838 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:05 2008 -0300 x86: merge smp_store_cpu_info now that it is the same between arches, put it into smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f7401f7fe653f90f8f80a241840b9b499779e87d Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:04 2008 -0300 x86: call identify_secondary_cpu in smp_store_cpu_info Call it conditionally for secondary cpus. This behaviour matches i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5745abfe86841a97fbe9e3f1e4f881a01b0c5f5b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:03 2008 -0300 x86: use identify_boot_cpu Call this function instead of identify_cpu in bugs_64.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7a636af66404766df60acff88c475df8e8d79347 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:02 2008 -0300 x86: provide specialized identification routines for x86_64 provide two specialized identify_secondary_cpu() and identify_boot_cpu() routines for x86_64. Although not strictly needed, they are functionally correct, and will ease integration with i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 4f3ab1959a63a2686524f17665d799fac28eb271 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:01 2008 -0300 x86: decouple call to print_cpu_info from smp_store_cpu_info This will ease integration with i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 82389871b89467b4478e02d13be2f776e0138b5b Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:25:00 2008 -0300 x86: add an smp_apply_quirks to smpboot_32.c The split of smp_store_cpu_info in a quirks-only part will ease integration with x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d0173aeac4f7fa90a63319b817bd207bdc0ac87e Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:59 2008 -0300 x86: use start_ipi_hook in x86_64 It is used to match i386. The definition for the non-paravirt case is moved to smp.h instead of smp_32.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1af8a0c1b3b85b1007f49917ea6a351b7aeb7562 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:58 2008 -0300 x86: use apic_*_around instead of apic_write in x86_64 This patch replaces apic_read() for apic_read_around() and apic_write for apic_write_around() in smpboot_64.c We do it to have a common usage between x86_64 and i386. In the former, it will always simply expand to apic_write Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit ba10485c2f5a9482d93b095960cbe7d865d59e04 Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:57 2008 -0300 x86: add loglevel to printks Add loglevel facilities to printks in __inquire_remote_apic. the levels are the ones to match x86_64 ones. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 26c6b5ea5575a5a4886dc45f889e7b783641f2de Author: Glauber de Oliveira Costa Date: Wed Mar 19 14:24:56 2008 -0300 x86: change var types in __inquire_remote_apic change some variables' types in __inquire_remote_apic to match x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit b552da8740222c35bcd83c9be7b27185bfb6d53c Author: Pavel Machek Date: Wed Mar 19 15:58:11 2008 +0100 x86 iommu: add more documentation Fix coding style in pci-dma_64.c and add stubs for documentation. I hope someone fills the rest, I understand maybe off and soft... Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 037cab07e9515149fecc2274775807f06ea6b036 Author: Alexey Starikovskiy Date: Tue Mar 11 22:55:48 2008 +0300 x86: move mp_bus_id_to_node to numa.c Signed-off-by: Ingo Molnar commit e129cb490e842753b43af7aae136935fc0928dc8 Author: Alexey Starikovskiy Date: Tue Mar 11 22:55:42 2008 +0300 x86: move mp_bus_id_to_local to numa.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit c0a282c251181aa423d4831719613b8286b5b839 Author: Alexey Starikovskiy Date: Thu Mar 20 14:55:02 2008 +0300 x86: make mp_bus_id_to_type optional [ mingo@elte.hu: fix boot regression. ] Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9e0a2de2684372f16130b753efdbf226a997efb0 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:56 2008 +0300 x86: rearrange bus_type parse Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 643befed1090af5f0000297ce11fa23e2777f42b Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:49 2008 +0300 x86: use not_pci bitmap #6 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 9c0076cb34a0ea968413d9a1ccb6c7c850d3a1ee Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:43 2008 +0300 x86: use not_pci bitmap #5 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 6728801dce13f83ee7e1778b137ceebab61b71c4 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:36 2008 +0300 x86: use not_pci bitmap #4 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 47cab822d6b25d8e130da00edef91ec3eef0efab Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:30 2008 +0300 x86: use not_pci bitmap #3 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 73b2961bfa003518bb9cdd3c4003fad4d474ec13 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:24 2008 +0300 x86: use not_pci bitmap #2 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit d27e2b8e2ac34b62aca95d3cd7efe9708b718fde Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:18 2008 +0300 x86: use not_pci bitmap #1 Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit a6333c3ccbdc0ae001cff6ee1d3633942ef763f4 Author: Alexey Starikovskiy Date: Thu Mar 20 14:54:09 2008 +0300 x86: add mp_bus_not_pci bitmap to mpparse_32.c Signed-off: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 8643f9d02a7bb9db74634b4c062d8e70ce7c59b9 Author: Yinghai Lu Date: Tue Feb 19 03:21:06 2008 -0800 x86: get boot_cpu_id as early for k8_scan_nodes When acpi=off or there is no SRAT defined, apicid_to_node is got from K8 Northbridge PCI configuration space in k8_scan_nodes() in arch/x86_64/mm/k8toplogy.c. The problem is that it assumes bsp apic id is 0 at that point. For four socket system with Quad core cpus installed, all cpus apic id is offset by 4, and bsp apic id is 4. For eight socket system with dual core cpus installed, all cpus apic id is offset by 2, and bsp apic id is 2. We need get boot_cpu_id --- bsp apic id, before k8_scan_nodes by called. So create early_acpi_boot_init and early_get_smp_config for get boot_cpu_id. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 6079d2d5d11122eb52721f0f3c828952a490e6c1 Author: Alexey Starikovskiy Date: Tue Mar 11 19:45:48 2008 +0300 x86: move quad_local_to_mp_bus_id to numa.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Ingo Molnar commit 5d570cbbf25a62e9c077f5b351fb142dbfc67288 Author: Mikael Pettersson Date: Tue Mar 11 16:43:31 2008 +0100 x86: correct/clarify comment in nops.h describes certain multibyte instructions as "generic" nops when in fact they aren't nops at all in 64-bit mode (missing REX.W causing truncation of a register). Update the comment to state that K8 or P6 style nops should be used in 64-bit mode. This matches what the alternatives code does. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 1415d160c7f7fe8f1026735d5b6cc19aec7a367f Author: Johannes Weiner Date: Mon Mar 10 21:10:57 2008 +0100 x86: Remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Ingo Molnar commit 5b0e508415a83989fe704b4718a1a214bc333ca7 Author: Jan Beulich Date: Mon Mar 10 13:11:17 2008 +0000 x86: prevent unconditional writes to DebugCtl MSR Otherwise, enabling (or better, subsequent disabling) of single stepping would cause a kernel oops on CPUs not having this MSR. The patch could have been added a conditional to the MSR write in user_disable_single_step(), but centralizing the updates seems safer and (looking forward) better manageable. Signed-off-by: Jan Beulich Cc: Markus Metzger Signed-off-by: Ingo Molnar commit f694010185c429629ad5a65245da08103e611852 Author: Gautham R Shenoy Date: Mon Mar 10 17:44:03 2008 +0530 x86: Don't send RESCHEDULE_VECTOR to offlined cpus In the x86 native_smp_send_reschedule_function(), don't send the IPI if the cpu has gone offline already. Warn nevertheless!! Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 12db648c1518b2627cc983199a97ec6f5d6a1de2 Author: stephane eranian Date: Fri Mar 7 13:05:39 2008 -0800 x86: add AMD Northbridge MSR definition adds AMD Northbridge config MSR definition Signed-off-by: Stephane Eranian Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar commit 86975101e46ec93be972d8f46715aa6273102545 Author: stephane eranian Date: Fri Mar 7 13:05:27 2008 -0800 x86: add cpu_has_arch_perfmon adds cpu_has_arch_perfmon to test presence of architectural perfmon on Intel x86 processor Signed-off-by: Stephane Eranian Signed-off-by: Ingo Molnar commit e40c0fe6b0b5dd16aec3c0dad311d36b19d78fd9 Author: Joe Perches Date: Sun Mar 9 12:35:00 2008 -0700 x86: cleanup duplicate includes Signed-off-by: Joe Perches arch/x86/kernel/reboot.c | 1 - include/asm-x86/elf.h | 5 ++--- include/asm-x86/posix_types.h | 8 +------- include/asm-x86/processor.h | 3 +-- include/asm-x86/unistd.h | 8 +------- 5 files changed, 5 insertions(+), 20 deletions(-) Signed-off-by: Ingo Molnar commit 537d916066f66de18dbca79adf82933cd12d2a36 Author: Paolo Ciarrocchi Date: Fri Mar 7 19:26:26 2008 +0100 x86: coding style fixes to arch/x86/kernel/setup_32.c Fix: ERROR: do not initialise externals to 0 or NULL Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9a79cf9c1aa671325fa5ba37576c2cee23823d04 Author: Yinghai Lu Date: Fri Mar 7 19:17:55 2008 -0800 x86: sort address_markers for dump_pagetables otherwise Vmemmap and High Kernel Mapping string is not showing up. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 01aaea1afbcdb7c49fe4a567ebe3e295db9f720d Author: Yinghai Lu Date: Thu Mar 6 13:46:39 2008 -0800 x86: introduce initial apicid store initial_apicid from early identify. it is could be different from phys_proc_id later. also print it out in /proc/cpuinfo. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 459cce726730ca0ac93701e53aa1d0d055ce9e90 Author: Ingo Molnar Date: Thu Mar 6 18:38:52 2008 +0100 x86: remove mach_reboot.h all reboot details are handled in reboot.c and quirks are handled via reboot_fixups_32.c. Signed-off-by: Ingo Molnar commit 4e4eee0e0139811b36a07854dcfa9746bc8b16d3 Author: Mathieu Desnoyers Date: Sat Feb 2 15:42:20 2008 -0500 x86: enhance DEBUG_RODATA support for hotplug and kprobes Standardize DEBUG_RODATA, removing special cases for hotplug and kprobes. Signed-off-by: Mathieu Desnoyers Cc: Andi Kleen Cc: pageexec@freemail.hu Cc: akpm@linux-foundation.org CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e587cadd8f47e202a30712e2906a65a0606d5865 Author: Mathieu Desnoyers Date: Thu Mar 6 08:48:49 2008 -0500 x86: enhance DEBUG_RODATA support - alternatives Fix a memcpy that should be a text_poke (in apply_alternatives). Use kernel_wp_save/kernel_wp_restore in text_poke to support DEBUG_RODATA correctly and so the CPU HOTPLUG special case can be removed. Add text_poke_early, for alternatives and paravirt boot-time and module load time patching. Changelog: - Fix text_set and text_poke alignment check (mixed up bitwise and and or) - Remove text_set - Export add_nops, so it can be used by others. - Document text_poke_early. - Remove clflush, since it breaks some VIA architectures and is not strictly necessary. - Add kerneldoc to text_poke and text_poke_early. - Create a second vmap instead of using the WP bit to support Xen and VMI. - Move local_irq disable within text_poke and text_poke_early to be able to be sleepable in these functions. Signed-off-by: Mathieu Desnoyers CC: Andi Kleen CC: pageexec@freemail.hu CC: H. Peter Anvin CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 77bf90ed66116a1fc0e2f0554ecac75a54290cc0 Author: Harvey Harrison Date: Mon Mar 3 11:37:23 2008 -0800 x86: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 282bfe21cf0e2af9eac052c89bcc0a5ace80352f Author: Yinghai Lu Date: Thu Mar 6 01:13:34 2008 -0800 x86: show apicid for cpu in proc Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit a7062211865efb53cda253d6e33a106f0fe20ebe Author: Yinghai Lu Date: Thu Mar 6 01:11:11 2008 -0800 x86: fix amd_detect_cmp for system with apicid lifting, boot cpu apicid will be 4 got: CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU 0/4 -> Node 0 CPU: Physical Processor ID: 1 CPU: Processor Core ID: 0 so try to offset apicid back before get phys_proc_id with bits shift. then we can get correct socket ID also remove remove cpu_data(0) reference. because cpu_data(0) only be ready after smp_prepare_cpus with the assignment from boot_cpu_data to current_cpu_data aka cpu_data(0). and check_bugs()==>identify_cpu(&boot_cpu_data) is quite before than smp_prepare_cpus. So just use boot_cpu_id instead. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 97b44ae6cd8117212d41bedc433b5571ee3b79d9 Author: Ingo Molnar Date: Thu Mar 6 10:43:17 2008 +0100 x86: add KERN_INFO to show_unhandled_signals printout Before: total: 0 errors, 1 warnings, 678 lines checked After: total: 0 errors, 0 warnings, 678 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5336 0 4 5340 14dc signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit eee6dd15723639f9270e4c561a0c82e8e18bd587 Author: Ingo Molnar Date: Thu Mar 6 10:39:07 2008 +0100 x86: move extern declaration to vdso.h Before: total: 0 errors, 3 warnings, 685 lines checked After: total: 0 errors, 1 warnings, 678 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5333 0 4 5337 14d9 signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit 7e907f48980d6668f99206ba0dded40dca2d086f Author: Ingo Molnar Date: Thu Mar 6 10:33:08 2008 +0100 x86: clean up arch/x86/kernel/signal_32.c Before: total: 21 errors, 6 warnings, 665 lines checked After: total: 0 errors, 3 warnings, 685 lines checked No code changed: arch/x86/kernel/signal_32.o: text data bss dec hex filename 5333 0 4 5337 14d9 signal_32.o.before 5333 0 4 5337 14d9 signal_32.o.after md5: c279e98012a2808e90cfa2a7787e42a4 signal_32.o.before.asm c279e98012a2808e90cfa2a7787e42a4 signal_32.o.after.asm Signed-off-by: Ingo Molnar commit a7113170214b569d24e413326a56c4cc5cc1a152 Author: Ingo Molnar Date: Thu Mar 6 10:24:04 2008 +0100 x86: remove DEBUG_SIG Signed-off-by: Ingo Molnar commit c1db29dbc761e9a464b417df7d4dbbae7df81f4c Author: Joe Perches Date: Tue Mar 4 16:47:00 2008 -0800 x86: arch/x86/kernel/cpu/feature_names.c - use angle brackets for include Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit 16281a998d7340a5bee4078f6f9a26c47208eb86 Author: Joe Perches Date: Tue Mar 4 16:46:27 2008 -0800 x86: include/asm-x86/mutex_32.h - use angle brackets for include Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar commit f668964ea1485c64cc9ab0721679fe9cd90cc406 Author: Ingo Molnar Date: Wed Mar 5 15:37:32 2008 +0100 x86: clean up i387.c minor coding style cleanups. Before: total: 0 errors, 3 warnings, 479 lines checked After: total: 0 errors, 1 warnings, 483 lines checked No code changed: arch/x86/kernel/i387.o: text data bss dec hex filename 2379 4 8 2391 957 i387.o.before 2379 4 8 2391 957 i387.o.after md5: e1434553a3b4ff1f52ad97a68b1fad8a i387.o.before.asm e1434553a3b4ff1f52ad97a68b1fad8a i387.o.after.asm Signed-off-by: Ingo Molnar commit ca9cda2f7b53da619fabde4c0c1bd5f61039bd5b Author: Ingo Molnar Date: Wed Mar 5 15:15:42 2008 +0100 x86: add comments to processor.h add comments to the FPU structures of processor.h. Signed-off-by: Ingo Molnar commit e104383fbf26570968cbf060955f67cd5378300a Author: Glauber Costa Date: Mon Mar 3 14:13:14 2008 -0300 x86: use cpu_relax instead of rep_nop This is done for smpboot_32.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e90009bcc1137c51d677262417f16c00ad2ce9a9 Author: Glauber Costa Date: Mon Mar 3 14:13:13 2008 -0300 x86: use wait_for_init_deassert in x86_64 wraps the busy loop for wait_for_init_deasserted() in a function, so smp_callin in x86_64 looks like more i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 91718e8d13c23bfe0aa6fa6b730c5c33ee9771bf Author: Glauber Costa Date: Mon Mar 3 14:13:12 2008 -0300 x86: unify setup_trampoline setup_trampoline() looks very similar between architectures, and this patch unifies them. The i386 version allocates bootmem memory, while the x86_64 version uses a fixed address. In this patch, we initialize the global trampoline_base to the x86_64 version, and i386 allocation can later override it. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit da522b07293756b9cb4e2c570454f95b8e79e189 Author: Glauber Costa Date: Mon Mar 3 14:13:11 2008 -0300 x86: adapt voyager's setup_trampoline make setup_trampoline non-static. This way, it won't conflict with the extern declaration in smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit d507897b2f179a9b30ce2f91b768ed2ee84575bc Author: Glauber Costa Date: Mon Mar 3 14:13:10 2008 -0300 x86: adapt voyager's trampoline_base Change voyager's trampoline base to unsigned char * instead of u32. This way, it won't conflict with the other architectures when including smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 420688293927a590d092ec76ef97c2565ae21aff Author: Glauber Costa Date: Mon Mar 3 14:13:09 2008 -0300 x86: move trampoline arrays extern definition to smp.h In here, they can serve both architectures Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 89b08200ad8bc8fb860da218c4f3bcc292bf286c Author: Glauber Costa Date: Mon Mar 3 14:13:08 2008 -0300 x86: make x86_64 accept the max_cpus parameter The parameter passing parsing is done in the common smpboot.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 69c18c15d39c4622c6e2f97e5db4d8c9c43adaaa Author: Glauber Costa Date: Mon Mar 3 14:13:07 2008 -0300 x86: merge __cpu_disable and cpu_die They are now equal, and are moved to a common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e9a6cb96fafa4d4df2033ab6cf9c817f6f47e052 Author: Glauber Costa Date: Mon Mar 3 14:13:06 2008 -0300 x86: do not clear cpu_online_map it was already cleared two lines above, and so, this removal is bogus Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 045f9d22029e94d6609d46f8ee07c63f4693dfb3 Author: Glauber Costa Date: Mon Mar 3 14:13:05 2008 -0300 x86: use remove_from_maps in cpu_disable it is already used in x86_64. In i386, it only removes from cpu_online_map Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fc25da9ec6c910976b76c70f7604a838679f75b2 Author: Glauber Costa Date: Mon Mar 3 14:13:04 2008 -0300 x86: remove vector_lock around cpu_online_map This lock does not protect cpu_online_map, so its length can be shortened, and in some cases, removed. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 70708a18e834fd709a4f497bb419ec84d1eb3511 Author: Glauber Costa Date: Mon Mar 3 14:13:03 2008 -0300 x86: move cpu_coregroup_map to common file it is equal between architectures Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 768d95051bdaf60b4eb89b42c133b14627f478f2 Author: Glauber Costa Date: Mon Mar 3 14:13:02 2008 -0300 x86: move sibling functions to common file set_cpu_sibling_map() and remove_sibling_info() are equal between architectures, and are now moved to common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1dbb4726faebe9e64a1e9cf40e3b39fffa065a65 Author: Glauber Costa Date: Mon Mar 3 14:13:01 2008 -0300 x86: move hotplug related extern definitions to smp.h definitions that are inside CONFIG_HOTPLUG_CPU in the arch-specific smp*.h files are moved to common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 61d5989973cc52b0ef0f781e870dfe5da6d5023e Author: Glauber Costa Date: Mon Mar 3 14:13:00 2008 -0300 x86: make remove_siblinginfo non-static this is done to match i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1452207689b3c0dd2ffed40735289a3a4a8c0c7c Author: Glauber Costa Date: Mon Mar 3 14:12:59 2008 -0300 x86: make set_cpu_sibling_map nonstatic And move its extern definition to smp.h, the common header Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit a355352b97901d987f54ea7c7d7161eb51a3799c Author: Glauber Costa Date: Mon Mar 3 14:12:58 2008 -0300 x86: move equal types to common file move definitions that are now equal in type from smpboot_{32,64}.c to smpboot.c cpu_callin_map is put temporarily in smp_64.h (already exists in smp_32.h), and will soon be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 5382e89670399f9db8a58b3c6f850fa4a94f6cca Author: Glauber Costa Date: Mon Mar 3 14:12:57 2008 -0300 x86: adjust types in smpcommon_32.c so they can have the same type as x86_64 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit fe6762030ca3728d3e24b556676114a6a64a97be Author: Glauber Costa Date: Mon Mar 3 14:12:56 2008 -0300 x86: remove cpu_llc_id from processor.h it is already defined in smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 0941ecb55fbfd2d8bcc62dfd2fcaba1b35f2f196 Author: Glauber Costa Date: Mon Mar 3 14:12:55 2008 -0300 x86: get rid of smp_32.c and smp_64.c This patch merges the copyright notices, and valuable comments that were left back on smp_{32,64}.c. With that, files are empty, and are deleted Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c048fdfe6178e082be918d4062c86d9764979112 Author: Glauber Costa Date: Mon Mar 3 14:12:54 2008 -0300 x86: create tlb files this patch creates tlb_32.c and tlb_64.c, with tlb-related functions that used to live in smp*.c files. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8202350367ac11d571f6dd4c21c2027a4d235276 Author: Glauber Costa Date: Mon Mar 3 14:12:53 2008 -0300 x86: create ipi.c This patch moves all ipi and apic related functions from smp_32.c to ipi.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit f9e47a126be2eaabf04a1a5c71ca7b23a473d0d8 Author: Glauber Costa Date: Mon Mar 3 14:12:52 2008 -0300 x86: create smp.c this patch moves all the functions and data structures that look like exactly the same from smp_{32,64}.c to smp.c Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 377d698426b8c685fb6d48fe89694fe4ce3aa1f8 Author: Glauber Costa Date: Mon Mar 3 14:12:51 2008 -0300 x86: unify smp_send_stop function definition is moved to common header. x86_64 version is now called native_smp_send_stop Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 321183c145a37e6d31cc55e0f69a226f9006e621 Author: Glauber Costa Date: Mon Mar 3 14:12:50 2008 -0300 x86: add reboot_force test to native_smp_send_stop This can be safely added to i386. After that, functions look exactly the same for both arches Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3be5b49e8f1002bc562a2b4670093e4ebf27b4e9 Author: Glauber Costa Date: Mon Mar 3 14:12:49 2008 -0300 x86: make stop_this_cpu looks exactly equal in both arches with the hlt_works change, it is possible to have i386 and x86_64 stop_this_cpu() looking exactly the same. They can, after that, be merged. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3d3f487c58ef1ece714af280b29411960908149c Author: Glauber Costa Date: Mon Mar 3 14:12:48 2008 -0300 x86: provide hlt_works function. In x86_64, hlt always work. in i386, we'll query the cpuinfo associated with this cpu Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 2513926c286ca1d0d189c206966011bdd4080354 Author: Glauber Costa Date: Mon Mar 3 14:12:47 2008 -0300 x86: change x86_64 smp_call_function_mask to look alike i386 the two versions (the inner version, and the outer version, that takes the locks) of smp_call_function_mask are made into one. With the changes, i386 and x86_64 versions look exactly the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3a36d1e435af79ec3bc5ead871e5b22d5558ebf3 Author: Glauber Costa Date: Mon Mar 3 14:12:46 2008 -0300 x86: provide __smp_call_function This function is used in smp_send_stop(). It's like smp_call_function_mask, but always go to all online cpus, and does not take any locks. It is added to x86_64, but will soon be unified in a common file Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit e32640a2cd530e1259a06e34a72b0cdb73738ce2 Author: Glauber Costa Date: Mon Mar 3 14:12:45 2008 -0300 x86: create smpcommon.c This patch creates smpcommon.c with functions that are equal between architectures. The i386-only init_gdt is ifdef'd. Note that smpcommon.o figures twice in the Makefile: this is because sub-architectures like voyager that does not use the normal smp_$(BITS) files also have to access them Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 3428f3d6caa3bc2adde050a2771a2821eb46f901 Author: Glauber Costa Date: Mon Mar 3 14:12:44 2008 -0300 x86: remove irqs disabled warning. there's already a warning in the topmost function Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7930e53422d3d06ea873199f66c288806d37cc94 Author: Glauber Costa Date: Mon Mar 3 14:12:43 2008 -0300 x86: remove export for smp_call_function_mask. with this removal, exports for both i386 and x86_64, regarding the "smp_call_function" series are now the same. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 68a1c3f8cd893f5c3c1396fec5be7d8acac4fc93 Author: Glauber Costa Date: Mon Mar 3 14:12:42 2008 -0300 x86: move prefill_possible_map to common file this patches moves prefill_possible_map() to smpboot.c Right now it is x86_64-specific, but nothing intrinsically prevents it to be used by i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7b1292e2371e3ae2ac69fbb899d539ddc7b53a27 Author: Glauber Costa Date: Mon Mar 3 14:12:41 2008 -0300 x86: use disabled_cpus in i386 this patch allows a cpu to be marked as present but disabled in i386, just as x86_64 currently does. Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 93b016f8f393c1f8c27e8c4df06ad1420fac65f5 Author: Glauber Costa Date: Mon Mar 3 14:12:40 2008 -0300 x86: move disabled_cpus to common header disabled_cpus is (up to now) a x86_64-only contruction. But it's extern declaration can be moved to common header anyway Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c559764923dacef301116a248695856e6eb96e48 Author: Glauber Costa Date: Mon Mar 3 14:12:39 2008 -0300 x86: unify smp_cpus_done definition is moved to common header. x86_64 version is now called native_smp_cpus_done Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 7557da67208f6ed3a1073594b7597bf20c9eb63a Author: Glauber Costa Date: Mon Mar 3 14:12:38 2008 -0300 x86: unify smp_prepare_cpus definition is moved to common header. x86_64 version is now called native_smp_prepare_cpus Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 1e3fac83da056f26bcb96e13967c157de55bf2ef Author: Glauber Costa Date: Mon Mar 3 14:12:37 2008 -0300 x86: unify prepare_boot_cpu definition is moved to common header. x86_64 version is now called native_prepare_boot_cpu Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 71d195492a6e0b22135a7156af1b41c0f99a116b Author: Glauber Costa Date: Mon Mar 3 14:12:36 2008 -0300 x86: unify __cpu_up. function definition is moved to common header. x86_64 version is now called native_cpu_up Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 64b1a21e0924dca7ea3b7cf4287fa719c8ba7fc5 Author: Glauber Costa Date: Mon Mar 3 14:12:35 2008 -0300 x86: unify smp_call_function_mask definition is moved to common header, x86_64 function name now is native_smp_call_function_mask Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8678969e60d80527d96d2af0011e72c87c9c1fe5 Author: Glauber Costa Date: Mon Mar 3 14:12:34 2008 -0300 x86: merge smp_send_reschedule function definition is moved to common header, x86_64 version is now called native_smp_send_reschedule Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c76cb36846da6d5d6fb2951968869faa4fd1001d Author: Glauber Costa Date: Mon Mar 3 14:12:33 2008 -0300 x86: move smp_ops extern declaration to common header the smp_ops symbol is temporarily defined in smp_64.c, but it will soon be unified Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 16694024d6d6fa84dfcf5400b53afe1e75cebf0d Author: Glauber Costa Date: Mon Mar 3 14:12:32 2008 -0300 x86: define smp_ops in common header x86_64 will benefit from it Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 53ebef4961c7d5347b4fa2b878258ccd11fc9663 Author: Glauber Costa Date: Mon Mar 3 14:12:31 2008 -0300 x86: merge extern variables definitions move extern definitions that are the same between smp_{32,64}.h to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 639acb16e6b93342a786c01425cf8eb8ebbb1351 Author: Glauber Costa Date: Mon Mar 3 14:12:30 2008 -0300 x86: merge extern function definitions move extern function definitions that are the same between smp_{32,64}.h to smp.h Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit c27cfeffad436816ecd500b8dc94acf348182b13 Author: Glauber Costa Date: Mon Mar 3 14:12:29 2008 -0300 x86: commonize smp.h this is the first step of integrating smp.h between x86_64 and i386 Signed-off-by: Glauber Costa Signed-off-by: Ingo Molnar commit 8b6451fe5cf78909f28d3762f77df060c8603cd0 Author: Ingo Molnar Date: Wed Mar 5 10:46:38 2008 +0100 x86: fix switch_to() clobbers Liu Pingfan noticed that switch_to() clobbers more registers than its asm constraints specify. We get away with this due to luck mostly - schedule() by its nature only has 'local' state which gets reloaded automatically. Fix it nevertheless, we could hit this anytime. it turns out that with the extra constraints gcc manages to make schedule() even more compact: text data bss dec hex filename 28626 684 2640 31950 7cce sched.o.before 28613 684 2640 31937 7cc1 sched.o.after Reported-by: Liu Pingfan Signed-off-by: Ingo Molnar commit 23b55bd9f33a1812a664e548803db34c9bec56e8 Author: Ingo Molnar Date: Wed Mar 5 10:24:37 2008 +0100 x86: clean up switch_to() Make the code more readable and more hackable: - use symbolic asm parameters - use readable indentation - add comments that explains the details No code changed: kernel/sched.o: text data bss dec hex filename 28626 684 2640 31950 7cce sched.o.before 28626 684 2640 31950 7cce sched.o.after md5: 2823d406c18b781975cdb2e7cfea0059 sched.o.before.asm 2823d406c18b781975cdb2e7cfea0059 sched.o.after.asm Signed-off-by: Ingo Molnar commit ecd94c0809eb0ff50b628fa061c531a6fbf2fbbc Author: Alexander van Heukelum Date: Tue Mar 4 20:12:28 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 64-bit, use paravirt_enabled Jeremy Fitzhardinge pointed out that looking at the boot_params struct to determine if the system is running in a paravirtual environment is not reliable for the Xen case, currently. He also points out that there already exists a function to determine if the system is running in a paravirtual environment. So let's use that instead. This gets rid of the preprocessor test too. Signed-off-by: Alexander van Heukelum Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 2fde61fdb00c2337efc56cfbb05bde8a42864e65 Author: Alexander van Heukelum Date: Tue Mar 4 19:57:42 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled Jeremy Fitzhardinge pointed out that looking at the boot_params struct to determine if the system is running in a paravirtual environment is not reliable for the Xen case, currently. He also points out that there already exists a function to determine if the system is running in a paravirtual environment. So let's use that instead. This gets rid of the preprocessor test too. Signed-off-by: Alexander van Heukelum Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit 0d7a1819e97ef89be5bcbb4b724acb9f6c873c97 Author: Pavel Machek Date: Mon Mar 3 12:49:09 2008 +0100 x86: wmb() confusion in system.h Comment says wmb is a nop, but it is implemented as lock addl below... Should it be compiled to nop if we know we are running on "good" Intel cpu? At least remove confusing comment for now. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit 3c2047cd32b1a8c782d7efab72707e7daa251625 Author: Rusty Russell Date: Tue Mar 4 23:07:50 2008 +1100 x86: if we cannot calibrate the TSC, we panic. The current tsc_init() clears the TSC feature bit if the TSC khz cannot be calculated, causing us to panic in arch/x86/kernel/cpu/bugs.c check_config(). We should simply mark it unstable. Frankly, someone should take an axe to this code. mark_tsc_unstable() not only marks it unstable, but sets tsc_enabled to 0, which seems redundant but is actually important here because means it won't be used by sched_clock() either. Perhaps a tristate enum "UNUSABLE, UNSTABLE, OK" would be clearer, and separate mark_tsc_unstable() and mark_tsc_broken() functions? Signed-off-by: Rusty Russell Signed-off-by: Ingo Molnar commit 9fc34113f6880b215cbea4e7017fc818700384c2 Author: Ingo Molnar Date: Mon Mar 3 09:53:17 2008 +0100 x86: debug pmd_bad() Signed-off-by: Ingo Molnar commit 40869cd038a0ecb867a7227aba46806224e4d11d Author: Ingo Molnar Date: Mon Mar 3 13:55:32 2008 +0100 x86: redo cded932b75ab0a5f9181e redo commit cded932b75ab0a5f9181e. Signed-off-by: Ingo Molnar commit ba748d221eb74b849453a94fdf0e1d0566b407d7 Author: Ingo Molnar Date: Mon Mar 3 09:37:41 2008 +0100 x86: warn about RAM pages in ioremap() Signed-off-by: Ingo Molnar commit 320a6b2efceccb652befca0b1c9a92d6e4256ef6 Author: Alexander van Heukelum Date: Sat Mar 1 17:12:43 2008 +0100 x86: reserve end-of-conventional-memory to 1MB, 64-bit This patch is an add-on to the 64-bit ebda patch. It makes the functions reserve_ebda_region (renamed from reserve_ebda) and copy_e820_map equal to the 32-bit versions of the previous patch. Changes: Use u64 and u32 for local variables in copy_e820_map. The amount of conventional memory and the start of the EBDA are detected by reading the BIOS data area directly. Paravirtual environments do not provide this area, so we bail out early in that case. They will just have to set up a correct memory map to start with. Add a safety net for zeroed out BIOS data area. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit f6eb62b6924b99ec7da97fb6f554685a9ad6dce4 Author: Alexander van Heukelum Date: Mon Feb 25 19:07:51 2008 +0100 x86: reserve_early end-of-conventional-memory to 1MB, 64-bit Explicitly reserve_early the whole address range from the end of conventional memory as reported by the bios data area up to the 1Mb mark. Regard the info retrieved from the BIOS data area with a bit of paranoia, though, because some biosses forget to register the EBDA correctly. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit dedd04be71cea3d5adb14c8f674e801911c89a2f Author: Alexander van Heukelum Date: Sat Mar 1 17:09:12 2008 +0100 x86: reserve end-of-conventional-memory to 1MB on 32-bit This patch adds explicit detection of the EBDA and reservation of the rom and adapter address space 0xa0000-0x100000 to the i386 kernels. Before this patch, the EBDA size was hardcoded as 4Kb. Also, the reservation of the adapter range was done by modifying the e820 map which is now not necessary any longer, and that code is removed from copy_e820_map. The amount of conventional memory and the start of the EBDA are detected by reading the BIOS data area directly. Paravirtual environments do not provide this area, so we bail out early in that case. They will just have to set up a correct memory map to start with. Signed-off-by: Alexander van Heukelum Signed-off-by: Ingo Molnar commit 823c248e7cc75b4f22da914b01f8e5433cff197e Author: Roman Zippel Date: Fri Feb 29 05:09:02 2008 +0100 x86: fix recursive dependencies The proper dependency check uncovered a few dependency problems, the subarchitecture used a mixture of selects and depends on SMP and PCI dependency was messed up. Signed-off-by: Roman Zippel Signed-off-by: Ingo Molnar commit 81e103f1f1bb0d35000f0e99626bf7abf864b486 Author: Jeremy Fitzhardinge Date: Thu Apr 17 17:40:51 2008 +0200 xen: use iret instruction all the time Change iret implementation to not be dependent on direct-access vcpu structure. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit c9cf39ae64a6c86872e580f921afec64ab9770f8 Author: Paolo Ciarrocchi Date: Fri Feb 29 13:26:56 2008 +0100 x86: coding style fixes to x86/kernel/early_printk.c Depends on: [PATCH 2/3] x86: coding style fixes to arch/x86/kernel/early_printk.c Remove two: ERROR: do not initialise statics to 0 or NULL paolo@paolo-desktop:/tmp/c$ size * text data bss dec hex filename 1172 280 12 1464 5b8 early_printk.o.after 1172 280 12 1464 5b8 early_printk.o.before This patch is changing the binary output: paolo@paolo-desktop:/tmp/c$ md5sum * dad9a9a881e0eeda62cc5645bd3d7cad early_printk.o.after da32f5cd8f248970e4809e1005393e95 early_printk.o.before because the two variables moved to another section. No change in functionality. Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e941f27a7a0f4ecac9ba8237b8a329bab4bd622f Author: Paolo Ciarrocchi Date: Fri Feb 29 13:25:30 2008 +0100 x86: coding style fixes to arch/x86/kernel/early_printk.c Before: total: 17 errors, 3 warnings, 254 lines checked After: total: 2 errors, 3 warnings, 254 lines checked paolo@paolo-desktop:/tmp/b$ md5sum * da32f5cd8f248970e4809e1005393e95 early_printk.o.after da32f5cd8f248970e4809e1005393e95 early_printk.o.before paolo@paolo-desktop:/tmp/b$ size * text data bss dec hex filename 1172 280 12 1464 5b8 early_printk.o.after 1172 280 12 1464 5b8 early_printk.o.befor Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 3f50dbc1aec96c4d66ffa1c564014f9f43fb9e11 Author: Paolo Ciarrocchi Date: Fri Feb 29 12:50:56 2008 +0100 x86: coding style fixes to arch/x86/lib/usercopy_32.c Before: total: 63 errors, 2 warnings, 878 lines checked After: total: 0 errors, 2 warnings, 878 lines checked Compile tested, no change in the binary output: text data bss dec hex filename 3231 0 0 3231 c9f usercopy_32.o.after 3231 0 0 3231 c9f usercopy_32.o.before md5sum: 9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.after 9f9a3eb43970359ae7cecfd1c9e7cf42 usercopy_32.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit bdd3cee2e4b7279457139058615ced6c2b41e7de Author: Ingo Molnar Date: Thu Feb 28 14:10:49 2008 +0100 x86: ioremap(), extend check to all RAM pages Suggested by Jan Beulich. Signed-off-by: Ingo Molnar Acked-by: Jan Beulich commit b089c12b25284a5e31ede7c98936a2b36a41e090 Author: Hiroshi Shimamoto Date: Wed Feb 27 13:16:30 2008 -0800 x86: X86_HT always enable on X86_64 SMP X86_HT is used for hyperthreading or multicore on 32-bit. The X86_HT on 64-bit is different from 32-bit, it means hyperthreading only. And X86_HT is not used on 64-bit except from cpu/initel_cacheinfo.c. Unify X86_HT for hyperthreading or multicore. Turn X86_HT on when X86_64 and SMP are enabled. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit e3100c82abd9aa643dc15828202aceeae3504e03 Author: Thomas Gleixner Date: Wed Feb 27 20:57:40 2008 +0100 x86: check physical address range in ioremap Roland Dreier reported in http://lkml.org/lkml/2008/2/27/194 [ 8425.915139] BUG: unable to handle kernel paging request at ffffc20001a0a000 [ 8425.919087] IP: [] clflush_cache_range+0xc/0x25 [ 8425.919087] PGD 1bf80e067 PUD 1bf80f067 PMD 1bb497067 PTE 80000047000ee17b This is on a Intel machine with 36bit physical address space. The PTE entry references 47000ee000, which is outside of it. Add a check for the physical address space and warn/printk about the stupid caller. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b8c2d3dfbc117dff26058fbac316b8acfc2cb5f7 Author: Markus Armbruster Date: Wed Feb 27 14:56:35 2008 +0100 xen: make hvc0 the preferred console in domU This makes the Xen console just work. Before, you had to ask for it on the kernel command line with console=hvc0 Signed-off-by: Markus Armbruster Signed-off-by: Ingo Molnar commit 78a9909aab54123c7c471022389b36972e13b48e Author: Ingo Molnar Date: Thu Apr 17 17:40:51 2008 +0200 x86, tracing: add notrace to asm-x86/linkage.h notrace signals that a function should not be traced. Most of the time this is used by tracers to annotate code that cannot be traced - it's in a volatile state (such as in user vdso context or NMI context) or it's in the tracer internals. Signed-off-by: Ingo Molnar commit 11ae9dd48128790d3d2ece6bc916c001b4a1d147 Author: Alexey Dobriyan Date: Tue Feb 26 13:23:32 2008 +0300 x86: switch to proc_create() Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit b5964405fbc4fd4c57e0e1f86bc9f1b3dbfa040a Author: Ingo Molnar Date: Tue Feb 26 11:15:50 2008 +0100 x86: clean up traps_32.c Before: total: 86 errors, 29 warnings, 1248 lines checked After: total: 0 errors, 17 warnings, 1281 lines checked No code changed: arch/x86/kernel/traps_32.o: text data bss dec hex filename 8711 2168 72 10951 2ac7 traps_32.o.before 8711 2168 72 10951 2ac7 traps_32.o.after (md5 sums differ because some stack offset positions changed.) Signed-off-by: Ingo Molnar commit 10cd5a1e5403d79a2d53425e6a4c8612e02ba973 Author: Ingo Molnar Date: Tue Feb 26 08:52:39 2008 +0100 x86: clean up cpu capabilities accesses, transmeta.c Signed-off-by: Ingo Molnar commit d0e95ebdc5cf5fe6fa29f2e0a5c6a0fe5c5aa50f Author: Ingo Molnar Date: Tue Feb 26 08:52:33 2008 +0100 x86: clean up cpu capabilities in arch/x86/kernel/cpu/intel.c Signed-off-by: Ingo Molnar commit 1d007cd5aeea2c9283e01433dbce4c9f91dd7823 Author: Ingo Molnar Date: Tue Feb 26 08:52:27 2008 +0100 x86: clean up cpu capabilities accesses, cyrix.c Signed-off-by: Ingo Molnar commit 4cbe668add030a35e0592a9bb292e0f2a1bcea88 Author: Ingo Molnar Date: Tue Feb 26 08:51:32 2008 +0100 x86: clean up cpu capabilities accesses, common.c Signed-off-by: Ingo Molnar commit e1a94a974c2aa3c0a7c1a915c805211fb6773de1 Author: Ingo Molnar Date: Tue Feb 26 08:51:22 2008 +0100 x86: clean up cpu capabilities accesses, centaur.c Signed-off-by: Ingo Molnar commit 16282a8e25f1783f296e5116dcef810a8e68d1a0 Author: Ingo Molnar Date: Tue Feb 26 08:49:57 2008 +0100 x86: clean up cpu capabilities accesses, amd.c Signed-off-by: Ingo Molnar commit 9716951efd98ada69c417adddc85d9bbe1d7835a Author: Ingo Molnar Date: Tue Feb 26 08:54:01 2008 +0100 x86: clean up cpu capabilities accesses, generic Signed-off-by: Ingo Molnar commit 0f8d2b926d15a68eac9c19edfdcb58a5d80b2960 Author: Ingo Molnar Date: Tue Feb 26 08:34:21 2008 +0100 x86: clean up cpu capabilities accesses introduce test_cpu_cap() for raw access to the real CPU capabilities as they are present in x86_capability. (cpu_has() will shortcut certain tests during build-time) Signed-off-by: Ingo Molnar commit d32de19ca9076eeed1e9bfd678e550fbad437535 Author: Yinghai Lu Date: Mon Feb 25 23:20:01 2008 -0800 x86: remove wrong setting about CONSTANT_TSC for intel cpu early_init_intel() on 64-bit is introduced by commit 2b16a2353814a513cdb5c5c739b76a19d7ea39ce Author: Andi Kleen Date: Wed Jan 30 13:32:40 2008 +0100 x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection sets CONSTANT_TSC for intel cpus - but it is already set in init_intel(). don't need to set that two times in early_init_intel() and init_intel(). this patch removes the init_intel() one. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 4edbfa789b32bebf0b7fb71d5b2913a91ac4d0b1 Author: Florian Fainelli Date: Mon Feb 25 11:44:07 2008 +0100 x86, rdc321x: remove watchdog file remove the arch/x86/mach-rdc321x/wdt.c file. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar commit f8fffa458368ed3d57385698f775880db629bd1a Author: Yinghai Lu Date: Sun Feb 24 21:36:28 2008 -0800 x86: apic_is_clustered_box for vsmp quad core 8 socket system will have apic id lifting.the apic id range could be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters and that is larger than 2. So it is treated as a clustered_box. and will get: Marking TSC unstable due to TSCs unsynchronized even if the CPUs have X86_FEATURE_CONSTANT_TSC set. this quick fix will check if the cpu is from AMD. but vsmp still needs that checking... this patch is fix to make sure that vsmp not to be passed. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 34048c9e927d5ae29c6ba802c826370de2a046d2 Author: Paolo Ciarrocchi Date: Sun Feb 24 11:58:13 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/common.c Before: total: 55 errors, 6 warnings, 727 lines checked After: total: 0 errors, 3 warnings, 734 lines checked No code changed: arch/x86/kernel/cpu/common.o: text data bss dec hex filename 3500 4611 44 8155 1fdb common.o.before 3500 4611 44 8155 1fdb common.o.after md5: e37091f11fbeb682c0db152ac3022a38 common.o.before.asm e37091f11fbeb682c0db152ac3022a38 common.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit db96598494f2a2ab9ab79999dd8fc365a906914b Author: Paolo Ciarrocchi Date: Sun Feb 24 11:57:22 2008 +0100 x86: coding style fixes to arch/x86/power/cpu_32.c Before: total: 15 errors, 3 warnings, 133 lines checked After: total: 0 errors, 0 warnings, 138 lines checked No code changed: arch/x86/power/cpu_32.o: text data bss dec hex filename 739 0 84 823 337 cpu_32.o.before 739 0 84 823 337 cpu_32.o.after md5: eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.before.asm eb0726223a5e26b195e65f0ae2c0ec66 cpu_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7ebed39ff7eec204850736a662828da0b942b8c0 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:59 2008 +0100 x86: coding style fixes to arch/x86/xen/multicalls.c Before: total: 2 errors, 2 warnings, 138 lines checked After: total: 0 errors, 2 warnings, 138 lines checked No code changed: arch/x86/xen/multicalls.o: text data bss dec hex filename 887 2832 0 3719 e87 multicalls.o.before 887 2832 0 3719 e87 multicalls.o.after md5: cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.before.asm cf6d72d9db6dc5a3ebe01eec9f05e95f multicalls.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 94a9fa41421625caedc328a2b0a0d5c78919a20f Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:52 2008 +0100 x86: coding style fixes to arch/x86/kernel/msr.c Before: total: 2 errors, 0 warnings, 231 lines checked After: total: 0 errors, 0 warnings, 231 lines checked No code changed: arch/x86/kernel/msr.o: text data bss dec hex filename 1199 12 4 1215 4bf msr.o.before 1199 12 4 1215 4bf msr.o.after md5: 604be0d07d829bc52a9346babd084bdc msr.o.before.asm 604be0d07d829bc52a9346babd084bdc msr.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 0fb90297dc69b87333c0afae537b1bff847e0397 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:34 2008 +0100 x86: coding style fixes to arch/x86/oprofile/nmi_timer_int.c Before: total: 3 errors, 0 warnings, 69 lines checked After: total: 0 errors, 0 warnings, 69 lines checked No code changed: arch/x86/oprofile/nmi_timer_int.o: text data bss dec hex filename 180 12 0 192 c0 nmi_timer_int.o.before 180 12 0 192 c0 nmi_timer_int.o.after md5: 0433c31d758e81da574e01722a8036ea nmi_timer_int.o.before.asm 0433c31d758e81da574e01722a8036ea nmi_timer_int.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit adf85265b455f096fa9caf4aea51f274cdaca3c6 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:23 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/cyrix.c Before: total: 46 errors, 10 warnings, 450 lines checked After: total: 1 errors, 10 warnings, 449 lines checked No code changed: arch/x86/kernel/cpu/cyrix.o: text data bss dec hex filename 2048 908 4 2960 b90 cyrix.o.before 2048 908 4 2960 b90 cyrix.o.after md5: 9add5e69dbd788f91ff24eea8462dad7 cyrix.o.before.asm 9add5e69dbd788f91ff24eea8462dad7 cyrix.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 7030760ae5d29d637d1e962c70d1d9c58be3306f Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:12 2008 +0100 x86: coding style fixes to arch/x86/boot/cpucheck.c Before: total: 30 errors, 0 warnings, 262 lines checked After: total: 0 errors, 0 warnings, 262 lines checked No code changed: arch/x86/boot/cpucheck.o: text data bss dec hex filename 989 0 96 1085 43d cpucheck.o.before 989 0 96 1085 43d cpucheck.o.after md5: 06634cfefb8438fa284ff903b4cafbce cpucheck.o.before.asm 06634cfefb8438fa284ff903b4cafbce cpucheck.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d677759e99b51f50a75b2adfabb25e9d656ee33c Author: Paolo Ciarrocchi Date: Fri Feb 22 23:11:07 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/mce_32.c Before: total: 10 errors, 3 warnings, 90 lines checked After: total: 0 errors, 3 warnings, 90 lines checked No code changed: arch/x86/kernel/cpu/mcheck/mce_32.o: text data bss dec hex filename 287 42 12 341 155 mce_32.o.before 287 42 12 341 155 mce_32.o.after md5: fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.before.asm fede5ff8e6bc3f62e8e691ca6c45eb39 mce_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4de816297d96a96b60007f3065a07f3937fd7c6e Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:57 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/winchip.c Before: total: 4 errors, 0 warnings, 36 lines checked After: total: 0 errors, 0 warnings, 36 lines checked No code changed: arch/x86/kernel/cpu/mcheck/winchip.o: text data bss dec hex filename 222 0 4 226 e2 winchip.o.before 222 0 4 226 e2 winchip.o.after md5: 9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.before.asm 9caefa12256c5f7d71ef324f6d01a2d5 winchip.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 714a9ac2efe5e20fdccfcf91b27dbd384bd34685 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:49 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/non-fatal.c Before: total: 5 errors, 5 warnings, 91 lines checked After: total: 0 errors, 0 warnings, 94 lines checked No code changed: arch/x86/kernel/cpu/mcheck/non-fatal.o: text data bss dec hex filename 441 80 4 525 20d non-fatal.o.before 441 80 4 525 20d non-fatal.o.after md5: 137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.before.asm 137bc114d2020ad331d5e76444a2c7d3 non-fatal.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 83e714e82f3434a32c3f54f7223f78345d873218 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:40 2008 +0100 x86: coding style fixes to arch/x86/kernel/vm86_32.c Before: total: 64 errors, 18 warnings, 840 lines checked After: total: 12 errors, 15 warnings, 844 lines checked No code changed: arch/x86/kernel/vm86_32.o: text data bss dec hex filename 4449 28 132 4609 1201 vm86_32.o.before 4449 28 132 4609 1201 vm86_32.o.after md5: e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.before.asm e4e51ed7689d17f04148554a3c6d5bb6 vm86_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit fb87a298fb79357fa5b27e6916ae1c45bf94dac7 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:33 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/amd.c Before: total: 42 errors, 26 warnings, 350 lines checked After: total: 0 errors, 26 warnings, 352 lines checked No code changed: arch/x86/kernel/cpu/amd.o: text data bss dec hex filename 1936 328 0 2264 8d8 amd.o.before 1936 328 0 2264 8d8 amd.o.after md5: 873430a88faaf31bb4bbfe3a2a691e45 amd.o.before.asm 873430a88faaf31bb4bbfe3a2a691e45 amd.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f97518271941fdb2dab07d7bd58bf9fa39ba3f65 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:28 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/transmeta.c Before: total: 13 errors, 3 warnings, 105 lines checked After: total: 0 errors, 3 warnings, 107 lines checked No code changed: arch/x86/kernel/cpu/transmeta.o: text data bss dec hex filename 713 324 0 1037 40d transmeta.o.before 713 324 0 1037 40d transmeta.o.after md5: 19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.before.asm 19abe2cafac617e1e2aadc4aa4e9923b transmeta.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 93d8bd3d4f070014e1e73c0ac618ac33924a7b96 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:23 2008 +0100 x86: coding style fixes to arch/x86/lib/memcpy_32.c Before: total: 2 errors, 0 warnings, 43 lines checked After: total: 0 errors, 0 warnings, 43 lines checked No code changed: arch/x86/lib/memcpy_32.o: text data bss dec hex filename 164 0 0 164 a4 memcpy_32.o.before 164 0 0 164 a4 memcpy_32.o.after md5: d759f55621af27f51720b59c8ca96a4d memcpy_32.o.before.asm d759f55621af27f51720b59c8ca96a4d memcpy_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e0f025704437dfd6cb5adc077f05709c31189edc Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:16 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mtrr/state.c Before: total: 6 errors, 5 warnings, 80 lines checked After: total: 0 errors, 4 warnings, 82 lines checked No code changed: arch/x86/kernel/cpu/mtrr/state.o: text data bss dec hex filename 313 0 4 317 13d state.o.before 313 0 4 317 13d state.o.after md5: a0fbd61096205f9180f0bf45ed386d61 state.o.before.asm a0fbd61096205f9180f0bf45ed386d61 state.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 0067cc996ee7a0dd282d8da5b64fa60aa2066bb2 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:10:06 2008 +0100 x86: coding style fixes to arch/x86/kernel/mca_32.c Before: total: 42 errors, 3 warnings, 469 lines checked After: total: 0 errors, 3 warnings, 479 lines checked No code changed: arch/x86/kernel/mca_32.o: text data bss dec hex filename 1832 288 5 2125 84d mca_32.o.before 1832 288 5 2125 84d mca_32.o.after md5: c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.before.asm c0e45e2b743ce26349eb07dc53e80b94 mca_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit f73920cd63d316008738427a0df2caab6cc88ad7 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:56 2008 +0100 x86: coding style fixes to arch/x86/lib/strstr_3 Before: total: 3 errors, 0 warnings, 31 lines checked After: total: 0 errors, 0 warnings, 31 lines checked No code changed: arch/x86/lib/strstr_32.o: text data bss dec hex filename 49 0 0 49 31 strstr_32.o.before 49 0 0 49 31 strstr_32.o.after md5: a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.before.asm a224a7c4082e75a4f31f9d91dd34fe8e strstr_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d717ca84c02f4b60a85502c23bca5698801dfaae Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:50 2008 +0100 x86: coding style fixes to arch/x86/oprofile/init.c Before: total: 5 errors, 4 warnings, 48 lines checked After: total: 0 errors, 4 warnings, 49 lines checked No code changed: arch/x86/oprofile/init.o: text data bss dec hex filename 42 0 0 42 2a init.o.before 42 0 0 42 2a init.o.after md5: 74c94c315cfbf245aeba36eceac57e66 init.o.before.asm 74c94c315cfbf245aeba36eceac57e66 init.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 65eb6b4326daddd1cccd003bd4df3fd75b06f0e1 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:42 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/intel.c Before: total: 37 errors, 16 warnings, 366 lines checked After: total: 0 errors, 15 warnings, 369 lines checked No code changed: arch/x86/kernel/cpu/intel.o: text data bss dec hex filename 1534 452 0 1986 7c2 intel.o.before 1534 452 0 1986 7c2 intel.o.after md5: 1ca348a06de6eb354c4b6ea715a57db5 intel.o.before.asm 1ca348a06de6eb354c4b6ea715a57db5 intel.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 60e11746d97c099b305e25e587731148387d02eb Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:34 2008 +0100 x86: coding style fixes to arch/x86/kernel/summit_32.c Before: total: 20 errors, 17 warnings, 180 lines checked After: total: 0 errors, 17 warnings, 183 lines checked No code changed: arch/x86/kernel/summit_32.o: text data bss dec hex filename 932 192 0 1124 464 summit_32.o.before 932 192 0 1124 464 summit_32.o.after md5: 217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.before.asm 217aa5f002f217e56ef9d8e5c74b60e0 summit_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 023196a3be708657d828bb139343bceb2c1c9649 Author: Paolo Ciarrocchi Date: Fri Feb 22 23:09:26 2008 +0100 x86: coding style fix to arch/x86/boot/pm.c Before: total: 1 errors, 0 warnings, 178 lines checked After: total: 0 errors, 0 warnings, 178 lines checked No code changed: arch/x86/boot/pm.o: text data bss dec hex filename 351 0 6 357 165 pm.o.before 351 0 6 357 165 pm.o.after md5: 81de3616bceb29691bf835bb62a84ff1 pm.o.before.asm 81de3616bceb29691bf835bb62a84ff1 pm.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 1e934dda0c77c8ad13fdda02074f2cfcea118a56 Author: Yinghai Lu Date: Fri Feb 22 13:37:26 2008 -0800 x86: insert_resorce for lapic addr after e820_reserve_resources when comparing the e820 direct from BIOS, and the one by kexec: BIOS-provided physical RAM map: - BIOS-e820: 0000000000000000 - 0000000000097400 (usable) + BIOS-e820: 0000000000000100 - 0000000000097400 (usable) BIOS-e820: 0000000000097400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000dffa0000 (usable) - BIOS-e820: 00000000dffae000 - 00000000dffb0000 type 9 + BIOS-e820: 00000000dffae000 - 00000000dffb0000 (reserved) BIOS-e820: 00000000dffb0000 - 00000000dffbe000 (ACPI data) BIOS-e820: 00000000dffbe000 - 00000000dfff0000 (ACPI NVS) BIOS-e820: 00000000dfff0000 - 00000000e0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) - BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) =======> that is the local apic address... somewhere we lost it BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000004020000000 (usable) found one entry about reserved is missing for the kernel by kexec. it turns out init_apic_mappings is called before e820_reserve_resources in setup_arch. but e820_reserve_resources is using request_resource. it will not handle the conflicts. there are three ways to fix it: 1. change request_resource in e820_reserve_resources to to insert_resource 2. move init_apic_mappings after e820_reserve_resources 3. use late_initcall to insert lapic resource. this patch is using method 3, that is less intrusive. in later version could consider to use method 1. before patch fed20000-ffffffff : PCI Bus #00 fee00000-fee00fff : Local APIC fefff000-feffffff : pnp 00:09 ff700000-ffffffff : reserved with patch will get map in first kernel fed20000-ffffffff : PCI Bus #00 fee00000-fee00fff : Local APIC fee00000-fee00fff : reserved fefff000-feffffff : pnp 00:09 ff700000-ffffffff : reserved Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 3def3d6ddf43dbe20c00c3cbc38dfacc8586998f Author: Yinghai Lu Date: Fri Feb 22 17:07:16 2008 -0800 x86: clean up e820_reserve_resources on 64-bit e820_resource_resources could use insert_resource instead of request_resource also move code_resource, data_resource, bss_resource, and crashk_res out of e820_reserve_resources. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 700efc1b9f6afe34caae231b87d129ad8ffb559f Author: Eric W. Biederman Date: Sat Feb 23 09:58:20 2008 +0100 x86: introduce kernel/head32.c Copy x86_64 and add a head32.c so we can start moving early architecture initialization out of assembly. [ Sam Ravnborg : updated it to x86 ] Signed-off-by: Eric W. Biederman Signed-off-by: Sam Ravnborg Cc: H. Peter Anvin Signed-off-by: Ingo Molnar commit 322850af8d93735f67b8ebf84bb1350639be3f34 Author: Yinghai Lu Date: Sat Feb 23 21:48:42 2008 -0800 x86: make amd quad core 8 socket system not be clustered_box, #2 quad core 8 socket system will have apic id lifting.the apic id range could be [4, 0x23]. and apic_is_clustered_box will think that need to three clusters and that is large than 2. So it is treated as clustered_box. and will get Marking TSC unstable due to TSCs unsynchronized even the CPUs have X86_FEATURE_CONSTANT_TSC set. this patch will check if the cpu is from AMD. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 513ad84bf60d96a6998bca10ed07c3d340449be8 Author: Ingo Molnar Date: Thu Feb 21 05:18:40 2008 +0100 x86: de-macro start_thread() Signed-off-by: Ingo Molnar commit 1180e01de50c0c7683c6648251f32957bc2d7850 Author: Ingo Molnar Date: Thu Feb 21 05:03:48 2008 +0100 x86: more cleanups in arch/x86/boot/compressed/misc.c Before: total: 7 errors, 8 warnings, 471 lines checked After: total: 5 errors, 5 warnings, 479 lines checked ( the rest cannot be eliminated due to zlib interface cruftiness. ) No code changed: arch/x86/boot/compressed/misc.o: text data bss dec hex filename 10716 8 2152 12876 324c misc.o.before 10716 8 2152 12876 324c misc.o.after md5: 2c20c903986a3c9bca44306c6646067e misc.o.before.asm 2c20c903986a3c9bca44306c6646067e misc.o.after.asm Signed-off-by: Ingo Molnar commit fd77c7cabd71ab0c31758f5faf1b92b66e9fe461 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:19:10 2008 +0100 x86: coding style fixes to arch/x86/boot/compressed/misc.c Fix lots of style errors and warnings. Before: total: 58 errors, 9 warnings, 469 lines checked After: total: 7 errors, 8 warnings, 471 lines checked No code changed: arch/x86/boot/compressed/misc.o: text data bss dec hex filename 10716 8 2152 12876 324c misc.o.before 10716 8 2152 12876 324c misc.o.after md5: 2c20c903986a3c9bca44306c6646067e misc.o.before.asm 2c20c903986a3c9bca44306c6646067e misc.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 48e6b7a050971dd42122f6db7a43467794075c02 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:18:34 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/umc.c Before: total: 3 errors, 1 warnings, 23 lines checked After: total: 0 errors, 0 warnings, 25 lines checked No code changed: arch/x86/kernel/cpu/umc.o: text data bss dec hex filename 24 616 0 640 280 umc.o.before 24 616 0 640 280 umc.o.after md5: e8daa3eaed0963a0cdd2e83c2e1f9823 umc.o.before.asm e8daa3eaed0963a0cdd2e83c2e1f9823 umc.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 2c5847837fe76497934734330151f240f3e04925 Author: Paolo Ciarrocchi Date: Thu Feb 21 00:10:54 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p6.c Before: total: 16 errors, 13 warnings, 122 lines checked After: total: 0 errors, 0 warnings, 122 lines checked No code changed: arch/x86/kernel/cpu/mcheck/p6.o: text data bss dec hex filename 1082 0 8 1090 442 p6.o.before 1082 0 8 1090 442 p6.o.after md5: 4e283fbc1b68240f1724d9725007d379 p6.o.before.asm 4e283fbc1b68240f1724d9725007d379 p6.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 4d46a89e7c867718020b2d5fd8f9e775293304be Author: Ingo Molnar Date: Thu Feb 21 04:24:40 2008 +0100 x86: clean up include/asm-x86/processor.h basic style cleanup to flush out years of neglect: - consistent indentation - whitespace fixes - consistent comments Signed-off-by: Ingo Molnar commit eb19067d160416cd61fc92a8913ccfb3497b20b7 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:48:55 2008 -0800 x86: unify cpu/proc|_64.c Now cpu/proc.c and cpu/proc_64.c are same. So cpu/proc_64.c can be removed. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2aef77204e1e3a8ed6345727afbcb2c1efdf7fc0 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:48:02 2008 -0800 x86: cosmetic unification cpu/proc|_64.c make cpu/proc.c and cpu/proc_64.c same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit f84c3a429f83a98bb0b0fd7eed7ad1edc512b91c Author: Hiroshi Shimamoto Date: Wed Feb 20 10:47:12 2008 -0800 x86: add power management line in /proc/cpuinfo Change /proc/cpuinfo on 32-bit, it will look like on 64-bit. 'power management' line is added and power management information will be printed at the line. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit a967ceac01cd3847011e2a777b8365b30afa770a Author: Hiroshi Shimamoto Date: Wed Feb 20 10:45:29 2008 -0800 x86: make cpu/proc|_64.c similar clean up for unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 8fa6878ffc6366f490e99a1ab31127fb599657c9 Author: Hiroshi Shimamoto Date: Wed Feb 20 10:41:51 2008 -0800 x86: split cpuinfo from setup_64.c into cpu/proc_64.c x86 /proc/cpuinfo code can be unified. This is the first step of unification. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 637cba02618c1373eb9d2b70a53c17832e27d090 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:18:52 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/bigsmp.c arch/x86/mach-generic/bigsmp.o: text data bss dec hex filename 1271 144 4 1419 58b bigsmp.o.before 1271 144 4 1419 58b bigsmp.o.after md5: b83aad375294c002c79b03c3a2e4be35 bigsmp.o.before.asm b83aad375294c002c79b03c3a2e4be35 bigsmp.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit c99aa3804eecbeadabcf658a535e8a00d0f2b6e6 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:18:05 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/nexgen.c arch/x86/kernel/cpu/nexgen.o: text data bss dec hex filename 111 316 0 427 1ab nexgen.o.before 111 316 0 427 1ab nexgen.o.after md5: e796efefea9ebc6644338bad226599ee nexgen.o.before.asm e796efefea9ebc6644338bad226599ee nexgen.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8108576a78a68851de194d6ed2aa0a951de7bb7f Author: Paolo Ciarrocchi Date: Wed Feb 20 00:17:34 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/summit.c File is now error/warning free. arch/x86/mach-generic/summit.o: text data bss dec hex filename 1481 140 0 1621 655 summit.o.before 1481 140 0 1621 655 summit.o.after md5: 7b7dc1cbd381af7b9393da989da5b0fd summit.o.before.asm 7b7dc1cbd381af7b9393da989da5b0fd summit.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 651bbe16d05ea51fc102e1bf5765687ab32485c6 Author: Paolo Ciarrocchi Date: Wed Feb 20 00:02:58 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/default.c Just whitespace cleanups. total: 0 errors, 0 warnings, 26 lines checked arch/x86/mach-generic/default.c has no obvious style problems and is ready for submission. arch/x86/mach-generic/default.o: text data bss dec hex filename 1036 140 0 1176 498 default.o.before 1036 140 0 1176 498 default.o.after md5: f283c53022c568f3162bbcde44f65762 default.o.before.asm f283c53022c568f3162bbcde44f65762 default.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 9b0c5028825df9d99a430c9963c45e02a2b185c6 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:57:17 2008 +0100 x86: coding style fixes to arch/x86/mach-generic/probe.c The patch kills 20 errors and a few warnings. arch/x86/mach-generic/probe.o: text data bss dec hex filename 578 45 0 623 26f probe.o.before 578 45 0 623 26f probe.o.after md5: 86eb1c3e3cf37f81d37bcd9a0c9f14ad probe.o.before.asm 86eb1c3e3cf37f81d37bcd9a0c9f14ad probe.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit d4413732b54a17684e48fbb4b52fade5bf965b5d Author: Paolo Ciarrocchi Date: Tue Feb 19 23:51:27 2008 +0100 x86: coding style fixes to arch/x86/oprofile/op_model_athlon.c The patch fixes 33 errors and a few warnings reported by checkpatch.pl arch/x86/oprofile/op_model_athlon.o: text data bss dec hex filename 1691 0 32 1723 6bb op_model_athlon.o.before 1691 0 32 1723 6bb op_model_athlon.o.after md5: c354bc2d7140e1e626c03390eddaa0a6 op_model_athlon.o.before.asm c354bc2d7140e1e626c03390eddaa0a6 op_model_athlon.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8b45b72b04061b9d39208b0843007d62b463c211 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:43:25 2008 +0100 x86: coding style fixes to arch/x86/oprofile/op_model_ppro.c no code changed: arch/x86/oprofile/op_model_ppro.o: text data bss dec hex filename 1765 0 16 1781 6f5 op_model_ppro.o.before 1765 0 16 1781 6f5 op_model_ppro.o.after md5: 71c7f68d2197d686e3d1121bc18a6b6e op_model_ppro.o.before.asm 71c7f68d2197d686e3d1121bc18a6b6e op_model_ppro.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8000a83f43f2d943eebeee9e070beb45949858ec Author: Paolo Ciarrocchi Date: Tue Feb 19 23:34:02 2008 +0100 x86: coding style fixes to arch/x86/kernel/x8664_ksyms_64.c arch/x86/kernel/x8664_ksyms_64.o: text data bss dec hex filename 0 0 0 0 0 x8664_ksyms_64.o.before 0 0 0 0 0 x8664_ksyms_64.o.after md5: 2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.before.asm 2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 1577720524bab104eeb605c810963a2106cf4575 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:20:45 2008 +0100 x86: coding style fixes to arch/x86/kernel/cpu/mcheck/p5.c The patch make the file errors free. Only 4 "WARNING: line over 80 characters" left. arch/x86/kernel/cpu/mcheck/p5.o: text data bss dec hex filename 452 0 4 456 1c8 p5.o.before 452 0 4 456 1c8 p5.o.after md5: 50c945ef150aa95bf0481cc3e1dc3315 p5.o.before.asm 50c945ef150aa95bf0481cc3e1dc3315 p5.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 8cf36d2bc5832da17a58c5f10adf2d92d138c992 Author: Paolo Ciarrocchi Date: Tue Feb 19 23:09:59 2008 +0100 x86: coding style fixes to arch/x86/lib/string_32.c The patch kills 45 errors and a few warnings. The file is now error/warning free: total: 0 errors, 0 warnings, 237 lines checked arch/x86/lib/string_32.c has no obvious style problems and is ready for submission. no code changed: arch/x86/lib/string_32.o: text data bss dec hex filename 639 0 0 639 27f string_32.o.before 639 0 0 639 27f string_32.o.after md5: 2db1c48187cf5113bb595153ee1fc73d string_32.o.before.asm 2db1c48187cf5113bb595153ee1fc73d string_32.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 325f86ec6d2ae4ab9879e745a92444f8bac20233 Author: Paolo Ciarrocchi Date: Tue Feb 19 21:02:16 2008 +0100 x86: coding style fixes to arch/x86/kernel/syscall_64.c After the patch: total: 0 errors, 1 warnings, 29 lines checked no code changed: arch/x86/kernel/syscall_64.o: text data bss dec hex filename 2304 0 0 2304 900 syscall_64.o.before 2304 0 0 2304 900 syscall_64.o.after md5: 0fdbb875cde8892296585226b92f4333 syscall_64.o.before.asm 0fdbb875cde8892296585226b92f4333 syscall_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit e9406597884b5c2f196b124bdd6af47351562a9d Author: Paolo Ciarrocchi Date: Tue Feb 19 20:53:38 2008 +0100 x86: coding style fixes to arch/x86/lib/memmove_64.c After the patch: total: 0 errors, 0 warnings, 21 lines checked no code changed: arch/x86/lib/memmove_64.o: text data bss dec hex filename 116 0 0 116 74 memmove_64.o.before 116 0 0 116 74 memmove_64.o.after md5: 2d6b0951cafb86a11a222cdd70f6104f memmove_64.o.before.asm 2d6b0951cafb86a11a222cdd70f6104f memmove_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 87253d1b4f2b5a29bdfc6275b9fb52a47d72df64 Author: Ian Campbell Date: Tue Feb 19 11:12:30 2008 +0000 x86: boot protocol updates Also update field names to simply payload_{offset,length} so as to not rule out uncompressed images. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Signed-off-by: Ingo Molnar commit bc0a733facbbde6c464e3ba5e165607fe4824cca Author: David P. Reed Date: Mon Feb 18 13:58:34 2008 -0500 x86: define outb_pic and inb_pic to stop using outb_p and inb_p x86: define outb_pic and inb_pic to stop using outb_p and inb_p The delay between io port accesses to the PIC is now defined using outb_pic and inb_pic. This fix provides the next step, using udelay(2) to define the *PIC specific* timing requirements, rather than on bus-oriented timing, which is not well calibrated. Again, the primary reason for fixing this is to use proper delay strategy, and in particular to fix crashes that can result from using port 80 writes on machines that have resources on port 80, such as the ENE chips used by Quanta in latops it designs and sells to, e.g. HP. Signed-off-by: David P. Reed Signed-off-by: Ingo Molnar commit c92a7a54d6579c9c01374092e7b61a6161f2ef70 Author: Ian Campbell Date: Sun Feb 17 19:09:42 2008 +0000 x86: reduce arch/x86/mm/ioremap.o size > Don't we have a special section for page-aligned data so it doesn't > waste most of two pages? We have .bss.page_aligned and it seems appropriate to use it. text data bss dec hex filename - 3388 8236 4 11628 2d6c ../build-32/arch/x86/mm/ioremap.o + 3388 48 4100 7536 1d70 ../build-32/arch/x86/mm/ioremap.o Signed-off-by: Ian Campbell Cc: Matt Mackall Cc: Sam Ravnborg Cc: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edc05e6de3e2fd203da21ba984b19d92e5398b62 Author: Ingo Molnar Date: Mon Feb 18 03:30:47 2008 +0100 x86: more coding style fixes in centaur.c no code changed: arch/x86/kernel/cpu/centaur.o: text data bss dec hex filename 1031 324 0 1355 54b centaur.o.before 1031 324 0 1355 54b centaur.o.after md5: 4f306a7f980b58eb69c4bdcfcde565f1 centaur.o.before.asm 4f306a7f980b58eb69c4bdcfcde565f1 centaur.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 29a9994bd8dbafc17f43d31651d31ea7b0add6a4 Author: Paolo Ciarrocchi Date: Sun Feb 17 23:30:23 2008 +0100 x86: coding style fixes for arch/x86/kernel/cpu/centaur.c Kills more than 150 errors/warnings Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ca5d3f14915f5f8db75f7b0c198c0c154947fc5e Author: Ingo Molnar Date: Mon Feb 18 08:53:56 2008 +0100 x86: clean up mmx_32.c checkpatch.pl --file cleanups: before: total: 74 errors, 3 warnings, 386 lines checked after: total: 0 errors, 0 warnings, 377 lines checked no code changed: arch/x86/lib/mmx_32.o: text data bss dec hex filename 1323 0 8 1331 533 mmx_32.o.before 1323 0 8 1331 533 mmx_32.o.after md5: 4cc39f1017dc40a5ebf02ce0ff7312bc mmx_32.o.before.asm 4cc39f1017dc40a5ebf02ce0ff7312bc mmx_32.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04aaa7ba096c707a8df337b29303f1a5a65f0462 Author: David P. Reed Date: Sun Feb 17 16:56:39 2008 -0500 x86: fix cmos read and write to not use inb_p and outb_p fix code to access CMOS rtc registers so that it does not use inb_p and outb_p routines, which are deprecated. Extensive research on all known CMOS RTC chipset timing shows that there is no need for a delay in accessing the registers of these chips even on old machines. These chipa are never on an expansion bus, but have always been "motherboard" resources, either in the processor chipset or explicitly on the motherboard, and they are not part of the ISA/LPC or PCI buses, so delays should not be based on bus timing. The reason to fix it: 1) port 80 writes often hang some laptops that use ENE EC chipsets, esp. those designed and manufactured by Quanta for HP; 2) RTC accesses are timing sensitive, and extra microseconds may matter; 3) the new "io_delay" function is calibrated by expansion bus timing needs, thus is not appropriate for access to CMOS rtc registers. Signed-off-by: David P. Reed Acked-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 03ae5768b6110ebaa97dc3e7abf1c3d8bec5f874 Author: Thomas Petazzoni Date: Fri Feb 15 12:00:23 2008 +0100 x86: use ELF section to list CPU vendor specific code Replace the hardcoded list of initialization functions for each CPU vendor by a list in an ELF section, which is read at initialization in arch/x86/kernel/cpu/cpu.c to fill the cpu_devs[] array. The ELF section, named .x86cpuvendor.init, is reclaimed after boot, and contains entries of type "struct cpu_vendor_dev" which associates a vendor number with a pointer to a "struct cpu_dev" structure. This first modification allows to remove all the VENDOR_init_cpu() functions. This patch also removes the hardcoded calls to early_init_amd() and early_init_intel(). Instead, we add a "c_early_init" member to the cpu_dev structure, which is then called if not NULL by the generic CPU initialization code. Unfortunately, in early_cpu_detect(), this_cpu is not yet set, so we have to use the cpu_devs[] array directly. This patch is part of the Linux Tiny project, and is needed for further patch that will allow to disable compilation of unused CPU support code. Signed-off-by: Thomas Petazzoni Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc7c314d7048017caa0725b41cc577cccf4fc53b Author: Glauber Costa Date: Mon Feb 11 17:16:05 2008 -0200 x86, vsmp: use the paravirt helpers Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96597fd2be7070631ad0776cd8bced21415fd5e3 Author: Glauber Costa Date: Mon Feb 11 17:16:04 2008 -0200 x86: introduce vsmp paravirt helpers Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2785c8d052278228cc3806233c09295088f83d42 Author: Glauber Costa Date: Mon Feb 11 17:16:03 2008 -0200 x86: call vsmp_init explicitly It becomes to early for ioremap, so we use early_ioremap Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a2beab31b167bd8ba49bb84944e07ac096f2ab0a Author: Glauber Costa Date: Mon Feb 11 17:16:02 2008 -0200 x86: make vsmp_init void, instead of static int Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 270883a8b98af5e6ed591b4762fb046e9f044dfb Author: Glauber Costa Date: Mon Feb 11 17:16:01 2008 -0200 x86: change vsmp compile dependency Change Makefile so vsmp_64.o object is dependent on PARAVIRT, rather than X86_VSMP Signed-off-by: Glauber Costa Signed-off-by: Ravikiran Thirumalai Acked-by: Shai Fultheim Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e319e76521767f7f64cd1fb6f58d4d36bc861a67 Author: Robert Richter Date: Wed Feb 13 16:19:36 2008 +0100 x86: apic: extended interrupt LVT support for AMD Signed-off-by: Robert Richter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04adf11435a5187383c35017a94b55701984243b Author: Yinghai Lu Date: Sat Feb 16 23:02:03 2008 -0800 x86: remove never used nodenumer in pda Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit beafe91f1c2c49713221ca2616755e1f3d472084 Author: Yinghai Lu Date: Sat Feb 16 23:00:22 2008 -0800 x86: get apic_id later in acpi_numa_processor_affinity_init we don't need get that so early. Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28d23128814dca9b90f04739b12f967f4248c584 Author: Arnaldo Carvalho de Melo Date: Thu Feb 7 21:03:04 2008 -0200 x86: reducing debuginfo size by removing unneeded includes I found it strange that the struct sk_buff definition was found inside the DWARF debugging sections in the generated object, so I verified and found that there is no need for the files that bring struct sk_buff definition into this file and verified also that sk_buff is not brought in indirectly too, thru other headers. I went on and removed many other unneeded includes and the end result is: [acme@doppio net-2.6]$ l /tmp/sys_ia32.o.before /tmp/sys_ia32.o.after -rw-rw-r-- 1 acme acme 185240 2008-02-06 19:19 /tmp/sys_ia32.o.after -rw-rw-r-- 1 acme acme 248328 2008-02-06 19:00 /tmp/sys_ia32.o.before Almost 64KB only on this object file! There were no other side effects from this change: [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.before /tmp/text.before [acme@doppio net-2.6]$ objcopy -j "text" /tmp/sys_ia32.o.after /tmp/text.after [acme@doppio net-2.6]$ md5sum /tmp/text.before /tmp/text.after b7ac9b17942add68494e698e4f965d36 /tmp/text.before b7ac9b17942add68494e698e4f965d36 /tmp/text.after One of the complaints about using tools such as systemtap is that one has to install the huge kernel-debuginfo package: [acme@doppio net-2.6]$ rpm -q --qf "%{size}\n" kernel-rt-debuginfo 471737710 543867594 [acme@doppio net-2.6]$ Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 52b387197beb5c89f734f057553fdf7d417b448c Author: Ingo Molnar Date: Sun Feb 17 20:06:36 2008 +0100 x86: bump image header to version 2.08. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d6e737c8d2698b63ad10fd75cc6793380395d0e Author: Ian Campbell Date: Sun Feb 17 20:06:35 2008 +0100 x86: add a crc32 checksum to the kernel image. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 099e1377269a47ed30a00ee131001988e5bcaa9c Author: Ian Campbell Date: Wed Feb 13 20:54:58 2008 +0000 x86: use ELF format in compressed images. Signed-off-by: Ian Campbell Cc: Ian Campbell Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: virtualization@lists.linux-foundation.org Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e0bf0f75bdc441abb05365abc56ee96ba44ca073 Author: Harvey Harrison Date: Fri Feb 8 12:10:03 2008 -0800 x86: define DEBUG_SIG in signal_64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 866bc13fc4c625186dd01429c68c5cf708f1cfd5 Author: Harvey Harrison Date: Fri Feb 8 12:10:02 2008 -0800 x86: Unify argument names in signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 123a63476cafcede1c70529f62a5bfb96a0efc1b Author: Harvey Harrison Date: Fri Feb 8 12:10:00 2008 -0800 x86: move struct definitions to unifed sigframe.h [ tglx@linutronix.de: cleanup the other structs as well ] Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d19c4580682511be1eadf47cdee22d5eb002f94 Author: Harvey Harrison Date: Fri Feb 8 12:10:00 2008 -0800 x86: use sizeof(long) to unify signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a1768039c8fdd48d69a6bc3b7f56943b2b20567 Author: Harvey Harrison Date: Fri Feb 8 12:09:59 2008 -0800 x86: Use FIX_EFLAGS define in X86_64 [ tglx@linutronix.de: simplified ] Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac66f3fd89ee20b73b3374e6343c5e36e3e3c51a Author: Harvey Harrison Date: Fri Feb 8 12:09:58 2008 -0800 x86: reduce trivial style differences in signal_32|64.c Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c3e6ff87a3ad9124a67e149e4f9c080626a0d83e Author: Harvey Harrison Date: Fri Feb 8 12:09:57 2008 -0800 x86: regparm(3) is mandatory, no need to annotate Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9902a702c76f904be0057f8647dda9d6f89d4847 Author: Harvey Harrison Date: Fri Feb 8 12:09:57 2008 -0800 x86: make X86_32 pt_regs members unsigned long Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92bc2056855b3250bf6fd5849f05f88d85839efa Author: Harvey Harrison Date: Fri Feb 8 12:09:56 2008 -0800 x86: change most X86_32 pt_regs members to unsigned long Signed-off-by: Harvey Harrison Cc: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45de70791165ce7eac5232ed5a7c31152567f4da Author: Andi Kleen Date: Sat Feb 9 16:17:01 2008 +0100 x86: enable ACPI extended century handling for 32bit The extended century readout does not solve the year 2038 problem on 32bit! v2: Fix compilation on !ACPI, pointed out by tglx Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 068c9222d0206e8a6a905efeb9f4fe8dde8b5ff5 Author: Andi Kleen Date: Sat Feb 9 16:16:59 2008 +0100 x86: add warning when RTC clock reports binary We assume that the RTC clock is BCD, so print a warning if it claims to be binary. [ tglx@linutronix.de: changed to WARN_ON - we want to know that! If no one reports it we can remove the complete if (RTC_ALWAYS_BCD) magic, which has RTC_ALWAYS_BCD defined to 1 since Linux 1.0 ... ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b62576a2f53ad7edf604fedba0da1d4329749b7d Author: Andi Kleen Date: Sat Feb 9 16:16:58 2008 +0100 x86: use year 2000 offset for cmos clock We know it is already after 2000. Use the year 2000 offset for both 32 and 64 bit, which removes ifdefs and the 1970 magic. [ tglx@linutronix.de: remove 1970 magic, replace bogus commit message ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 48c508b364324c35018284328b5b92c51d2b30e0 Author: Yinghai Lu Date: Thu Apr 17 17:40:45 2008 +0200 x86: clean up find_e820_area(), 64-bit Change size to unsigned long, becase caller and user all used unsigned long. Also make bad_addr take an alignment parameter. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef9257668e3199f9566dc4a31f5292838bd99b49 Author: Andi Kleen Date: Thu Apr 17 17:40:45 2008 +0200 x86: do kernel direct mapping at boot using GB pages The AMD Fam10h CPUs support new Gigabyte page table entry for mapping 1GB at a time. Use this for the kernel direct mapping. Only done for 64bit because i386 does not support GB page tables. This only applies to the data portion of the direct mapping; the kernel text mapping stays with 2MB pages because the AMD Fam10h microarchitecture does not support GB ITLBs and AMD recommends against using GB mappings for code. Can be disabled with disable_gbpages on the kernel command line [ tglx@linutronix.de: simplify enable code ] [ Yinghai Lu : boot fix on 256 GB RAM ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 00d1c5e05736f947687be27706bda01cec104e57 Author: Ingo Molnar Date: Thu Apr 17 17:40:45 2008 +0200 x86: add gbpages switches These new controls toggle experimental support for a new CPU feature, the straightforward extension of largepages from the pmd level to the pud level, which allows 1GB (kernel) TLBs instead of 2MB TLBs. Turn it off by default, as this code has not been tested well enough yet. Use the CONFIG_DIRECT_GBPAGES=y .config option or gbpages on the boot line can be used to enable it. If enabled in the .config then nogbpages boot option disables it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe770bf0310d90b3b033c19044d45b7de5f2041c Author: H. Peter Anvin Date: Thu Apr 17 17:40:45 2008 +0200 x86: clean up the page table dumper and add 32-bit support Clean up the page table dumper (fix boundary conditions, table driven address ranges, some formatting changes since it is no longer using the kernel log but a separate virtual file), and generalize to 32 bits. [ mingo@elte.hu: x86: fix the pagetable dumper ] Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 926e5392ba8a388ae32ca0d2714cc2c73945c609 Author: Arjan van de Ven Date: Thu Apr 17 17:40:45 2008 +0200 x86: add code to dump the (kernel) page tables for visual inspection by kernel developers This patch adds code to the kernel to have an (optional) /proc/kernel_page_tables debug file that basically dumps the kernel pagetables; this allows us kernel developers to verify that nothing fishy is going on and that the various mappings are set up correctly. This was quite useful in finding various change_page_attr() bugs, and is very likely to be useful in the future as well. Signed-off-by: Arjan van de Ven Cc: mingo@elte.hu Cc: tglx@tglx.de Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2596e0fae094be9354b29ddb17e6326a18012e8c Author: H. Peter Anvin Date: Thu Apr 17 17:40:45 2008 +0200 x86: unify arch/x86/mm/Makefile Unify arch/x86/mm/Makefile between 32 and 64 bits. All configuration variables that are protected by Kconfig constraints have been put in the common part of the Makefile; however, the NUMA files are totally different between 32 and 64 bits and are handled via an ifdef. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee7ae7a1981caaa4a5b14d8c75692a9dccd52105 Author: Thomas Gleixner Date: Thu Apr 17 17:40:45 2008 +0200 x86: add debug info to DEBUG_PAGEALLOC Add debug information for DEBUG_PAGEALLOC to get some statistics about the pool usage and split status. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5de253cc5b1f565f7aeb5bacd67bac37e943ceef Author: Roland McGrath Date: Wed Apr 9 01:30:06 2008 -0700 x86 vDSO: don't map 32-bit vdso when disabled We map a VMA for the 32-bit vDSO even when it's disabled, which is stupid. For the 32-bit kernel it's the vdso_enabled boot parameter/sysctl and for the 64-bit kernel it's the vdso32 boot parameter/syscall32 sysctl. When it's disabled, we don't pass AT_SYSINFO_EHDR so processes don't use the vDSO for anything, but we still map it. For the non-compat vDSO, this means we're always putting an extra VMA somewhere, maybe lousing up the control of the address space the user was hoping for. Honor the setting by doing nothing in arch_setup_additional_pages. [ also see: "x86 vDSO: don't use disabled vDSO for signal trampoline" ] Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 1a3e4ca41c5a38975023a6e8831c309d3322889c Author: Roland McGrath Date: Wed Apr 9 01:29:27 2008 -0700 x86 vDSO: don't use disabled vDSO for signal trampoline If the vDSO was not mapped, don't use it as the "restorer" for a signal handler. Whether we have a pointer in mm->context.vdso depends on what happened at exec time, so we shouldn't check any global flags now. Background: Currently, every 32-bit exec gets the vDSO mapped even if it's disabled (the process just doesn't get told about it). Because it's in fact always there, the bug that this patch fixes cannot happen now. With the second patch, it won't be mapped at all when it's disabled, which is one of the things that people might really want when they disable it (so nothing they didn't ask for goes into their address space). The 32-bit signal handler setup when SA_RESTORER is not used refers to current->mm->context.vdso without regard to whether the vDSO has been disabled when the process was exec'd. This patch fixes this not to use it when it's null, which becomes possible after the second patch. (This never happens in normal use, because glibc's sigaction call uses SA_RESTORER unless glibc detected the vDSO.) Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 85eb69a16aab5a394ce043c2131319eae35e6493 Author: Ingo Molnar Date: Thu Feb 21 12:50:51 2008 +0100 x86: increase the kernel text limit to 512 MB people sometimes do crazy stuff like building really large static arrays into their kernels or building allyesconfig kernels. Give more space to the kernel and push modules up a bit: kernel has 512 MB and modules have 1.5 GB. Should be enough for a few years ;-) Signed-off-by: Ingo Molnar commit b4e0409a36f4533770a12095bde2a574a08a319e Author: Ingo Molnar Date: Thu Feb 21 13:45:16 2008 +0100 x86: check vmlinux limits, 64-bit these build-time and link-time checks would have prevented the vmlinux size regression. Signed-off-by: Ingo Molnar commit 223ac2f42d49dd0324ca02ea15897ead1a2f5133 Author: Björn Steinbrink Date: Mon Mar 31 04:22:53 2008 +0200 x86, pci: fix off-by-one errors in some pirq warnings fix bogus pirq warnings reported in: http://bugzilla.kernel.org/show_bug.cgi?id=10366 safe to be backported to v2.6.25 and earlier. Cc: stable@kernel.org Signed-off-by: Björn Steinbrink Signed-off-by: Ingo Molnar commit 3a8daaa49fb71d90e45d1e86d7f9f9e298bda05c Author: Sascha Hauer Date: Thu Apr 17 08:48:37 2008 +0100 [ARM] 4999/1: : fix membase The membase field in struct uart_port should be the the physical address. This patch fixes it. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 3d454446e2b83b4e1e2997b2c6e689c85ab61868 Author: Sascha Hauer Date: Thu Apr 17 08:47:32 2008 +0100 [ARM] 4998/1: : do not use hardcoded io space size Do not use hardcoded io space size. Instead use the information provided by the resource. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 789d52589a0849004ced991549a61dd110dfeb10 Author: Sascha Hauer Date: Thu Apr 17 08:44:47 2008 +0100 [ARM] 4996/1: : do not enable tx empty interrupt on startup We are not interested in tranceiver empty interrupts until we actually sent a buffer. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 0d3c3938ff9855d8996db4083efd62e86b8987eb Author: Sascha Hauer Date: Thu Apr 17 08:43:14 2008 +0100 [ARM] 4995/1: : Do not use URXD_CHARRDY for polling Do not use the URXD_CHARRDY bit for polling for new characters. This works on i.MX1, but on MX31 the datasheet states that this bit should not be used for polling. On MX27 it is even worse, here we get a bus error when we access the read FIFO when no character is present. Instead, use USR2_RDR (receive data ready) bit. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 864eeed051b527c8081e2f85b51ba24823acaf71 Author: Sascha Hauer Date: Thu Apr 17 08:39:22 2008 +0100 [ARM] 4994/1: : Move error handling into execution path Move the error handling code for erroneous receive characters into execution path. This makes the code more readable and the compiler should know how to optimize this, right? Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 8c9915bf310eeb1fe5a9a614cda6ee57d712460b Author: Sascha Hauer Date: Thu Apr 17 08:37:29 2008 +0100 [ARM] 4993/1: : Trivial: Remove unused defines This patch removes the unused defines NR_PORTS and IMX_ISR_PASS_LIMIT in the imx serial driver. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit d2db9aaa4a5b9f2a1d54080c13f5ff4fc6d0ae1b Author: Robert Schwebel Date: Wed Apr 2 10:29:30 2008 +0100 [ARM] 4887/1: i.MXC family: Separate current platform code From: Juergen Beisert This patch separates the current code into i.MX2 and i.MX3 and modifies the Kconfig files to reflect this separation in the menus. Things happend since last review: - make i.MX3 compile again - fix some structure names to be conform with all the shared/common sources from i.MX1/i.MX2 Previous changes: - stay conform to other Kconfig files (note from Russell King) Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit fdb72fd84c26438a7dd754a1cc74890aca7f1b77 Author: Andrew Victor Date: Tue Apr 15 21:13:33 2008 +0100 [ARM] 4981/1: [KS8695] Simple LED driver Simple gpio-connected LED driver for KS8695 platforms. (Based on old AT91 LED driver) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ad48ce74f70a201c4c1cf3b4e8f6b6203a2e4a8d Author: Andrew Victor Date: Wed Apr 16 20:43:49 2008 +0100 [ARM] 4989/1: [AT91] SAM9 ClockSource / ClockEvents Update AT91SAM9/CAP9 PIT driver to use generic time and clockevent infrastructure: - Clocksource gives sub-microsecond timestamp precision, assuming memory is clocked at over 16 MHz. It's less than a 32 bit counter, unless it's is also generating IRQs. - Clockevent device supports periodic mode only; no oneshot support from this hardware. No IRQs generated unless it's the active clocksource. Later, another timer (probably from a TC module) can provide a oneshot clockevent device to get NO_HZ and High-Res-Timer behavior. This also updates the timekeeping to use the actual master clock rate on the system, instead of compile-time constants matching what Atmel's EK boards use. (Product boards may well differ!) Plus cleanup: rename "*_timer*" symbols to "*_pit*" (there are other timers, but only one PIT); shorter lines; remove needless CPP stuff; make several symbols static; etc. Signed-off-by: David Brownell Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 11aadac4f6adc032cfd1e41c348a7a568819ed94 Author: Andrew Victor Date: Tue Apr 15 21:16:38 2008 +0100 [ARM] 4982/1: [AT91] Drop old-style UART initialization (Part 1) All the SAM9 boards supported by mainline and the AT91 patches have been converted to the new-style UART initialization. Therefore drop support for the old at91_init_serial() interface for SAM9. at91_uarts[] array can also be marked as __initdata. The warning that no serial-console is defined moved from at91_set_serial_console() to at91_add_device_serial() since the whole point is the board-specific file is not calling at91_set_serial_console(). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2f036ac63ebfa3fc618a1f22324ef9297c5b7d05 Author: Andrew Victor Date: Tue Apr 15 21:10:11 2008 +0100 [ARM] 4980/1: [AT91] emQbit ECB_AT91 board support Support for the emQbit ECB_AT91 board. Original patch from Nelson Castillo. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 66dbfc6cd995c8d44a2c7c5b0092b00200e75d7e Author: Andrew Victor Date: Tue Apr 15 21:07:08 2008 +0100 [ARM] 4979/1: [AT91] Olimex SAM9-L9260 board support Support for the Olimex SAM9-L9260 board. Original patch from Ivan Vasilev. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 35131fb6c2a8f66a31521369c27cd035168c6ae7 Author: Andrew Victor Date: Tue Apr 15 21:05:03 2008 +0100 [ARM] 4978/1: [AT91] KB9260 (CAM60) board support Support for the Kwikbyte KB9260 (CAM60) board. Original patch from Kwikbyte. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2342e51ba2b52a7f5b78227e6faa4603ed3632a0 Author: Matthew Wilcox Date: Thu Apr 17 10:53:01 2008 -0400 Remove DEBUG_SEMAPHORE from Kconfig Alpha and FRV mutexes had an option to print lots of debugging messages in their semaphore implementation. This feature has not been carried over to the generic semaphores, so remove the stale Kconfig option. Signed-off-by: Matthew Wilcox commit 1a9ebc0cd2b3bb4450834e564722630fbc40611b Author: Anton Vorontsov Date: Wed Apr 9 17:59:25 2008 +0400 [POWERPC] 83xx: mpc8315 - fix USB UTMI Host setup Currently USB Host isn't functional on the MPC8315E boards, for two reasons as described below. MPC8315 Reference Manual says: "The USB DR unit must have the same clock ratio as the encryption core unit, unless one of them has its clock disabled." The encryption core also drives I2C clock, so it is enabled and is equal to 01. That means USBDRCM should be 01 here. Plus, according to MPC8315E-RDB schematics, USB unit consumes CLK_IN clock from the 24.00MHz oscillator, which means we must adjust REFSEL bits as well. p.s. Idially we should rework whole 83xx/usb.c code, in two steps: 1. Move SCCR code to the U-Boot; 2. Implement fsl,usb-clock property in the device tree, so usb.c could decide what clock exactly to use on per-board basis. Though, today we're not in a hurry since there is just one 8315e board out there. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 8bdf573334102f44c7ad191422baf851fecf25e8 Author: Haiying Wang Date: Thu Apr 17 08:56:02 2008 -0400 [POWERPC] 85xx: Fix the size of qe muram for MPC8568E MPC8568E has 64K byte MURAM, so the size should be 0x10000, not 0xc000. Signed-off-by: Haiying Wang Signed-off-by: Kumar Gala commit 16787b430dde9431445fd0874409adbb26558a2e Author: Paul Gortmaker Date: Wed Apr 16 13:53:07 2008 -0400 [POWERPC] 86xx: mpc86xx_hpcn - Temporarily accept old dts node identifier. As suggested by Timur Tabi, we match on the old compat node ID for one version and warn accordingly. If we don't do this, we plunge people who try to use an old DTB into silent boot death with no clear indication of what the problem is. This patch should be removed at the beginning of the 2.6.27 dev cycle. It is only meant to ease the transition in the short term. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 06f35b4ba658ec9a447a5406a574258aaab1ba8d Author: Paul Gortmaker Date: Wed Apr 16 13:53:06 2008 -0400 [POWERPC] 86xx: mark functions static, other minor cleanups Cleanups as suggested by Stephen Rothwell and Dale Farnsworth, which incudes marking a bunch of functions static and add a vendor prefix to the compat node check for uniqueness. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 3a2f020c5a93a88aa09adbe56dde43463324930a Author: Timur Tabi Date: Mon Apr 14 10:43:38 2008 -0500 [POWERPC] Make rheap safe for spinlocks The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe because only small blocks are allocated. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 714493cd5468f42ca3c4f730a9c17c203abd5059 Author: Matthew Wilcox Date: Fri Apr 11 15:23:52 2008 -0400 Improve semaphore documentation Move documentation from semaphore.h to semaphore.c as requested by Andrew Morton. Also reformat to kernel-doc style and add some more notes about the implementation. Signed-off-by: Matthew Wilcox commit b17170b2fac96705db3188f093f89e8e838418e4 Author: Matthew Wilcox Date: Fri Mar 14 14:35:22 2008 -0400 Simplify semaphore implementation By removing the negative values of 'count' and relying on the wait_list to indicate whether we have any waiters, we can simplify the implementation by removing the protection against an unlikely race condition. Thanks to David Howells for his suggestions. Signed-off-by: Matthew Wilcox commit f1241c87a16c4fe9f4f51d6ed3589f031c505e8d Author: Matthew Wilcox Date: Fri Mar 14 13:43:13 2008 -0400 Add down_timeout and change ACPI to use it ACPI currently emulates a timeout for semaphores with calls to down_trylock and sleep. This produces horrible behaviour in terms of fairness and excessive wakeups. Now that we have a unified semaphore implementation, adding a real down_trylock is almost trivial. Signed-off-by: Matthew Wilcox commit f06d96865861c3dd01520f47e2e61c899db1631f Author: Matthew Wilcox Date: Fri Mar 14 13:19:33 2008 -0400 Introduce down_killable() down_killable() is the functional counterpart of mutex_lock_killable. Signed-off-by: Matthew Wilcox commit 64ac24e738823161693bf791f87adc802cf529ff Author: Matthew Wilcox Date: Fri Mar 7 21:55:58 2008 -0500 Generic semaphore implementation Semaphores are no longer performance-critical, so a generic C implementation is better for maintainability, debuggability and extensibility. Thanks to Peter Zijlstra for fixing the lockdep warning. Thanks to Harvey Harrison for pointing out that the unlikely() was unnecessary. Signed-off-by: Matthew Wilcox Acked-by: Ingo Molnar commit e48b3deee475134585eed03e7afebe4bf9e0dba9 Author: Matthew Wilcox Date: Tue Feb 26 18:34:25 2008 -0500 Add semaphore.h to kernel_lock.c kernel_lock.c uses DECLARE_MUTEX, up() and down() without explicitly including asm/semaphore.h. This is fragile and leaves it vulnerable to breakage during header reorganisations. Signed-off-by: Matthew Wilcox commit 8b91de2e58318d1168bc13d164478c1a7217a63a Author: Matthew Wilcox Date: Tue Feb 26 09:53:20 2008 -0500 Fix quota.h includes quota.h currently relies on asm/semaphore.h (through some chain; it doesn't actually include semaphore.h itself) to include wait.h. As well as being bad practice to rely on an implicit include, subsequent patches will break this. While I'm in this file, add atomic.h and list.h, and sort the list of includes. Signed-off-by: Matthew Wilcox commit 998c610363b26f3793ad8121eeb3a749b1034824 Author: Kumar Gala Date: Thu Apr 17 09:40:48 2008 -0500 [POWERPC] fsl: Convert dts to v1 syntax Signed-off-by: Kumar Gala commit 329d291f50d53f77d15769051f3eb494a9fd54b7 Author: Harvey Harrison Date: Thu Apr 17 10:38:59 2008 -0400 jdb2: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 46e665e9d297525d286989640cf4247cbe941df6 Author: Harvey Harrison Date: Thu Apr 17 10:38:59 2008 -0400 ext4: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 620de4e19890c623eb4ba293ec19b42e2e391b89 Author: Duane Griffin Date: Tue Apr 29 22:02:47 2008 -0400 jbd2: only create debugfs and stats entries if init is successful jbd2 debugfs and stats entries should only be created if cache initialisation is successful. At the moment they are being created unconditionally which will leave them dangling if cache (and hence module) initialisation fails. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5648ba5b2dc0d07a8108fabc7b9100962e9e1d88 Author: Randy Dunlap Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix kernel-doc notation Fix kernel-doc notation in jbd2. Signed-off-by: Randy Dunlap Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 8a9362eb405e380432e6883cb83830df3b6cdf78 Author: Duane Griffin Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: replace potentially false assertion with if block If an error occurs during jbd2 cache initialisation it is possible for the journal_head_cache to be NULL when jbd2_journal_destroy_journal_head_cache is called. Replace the J_ASSERT with an if block to handle the situation correctly. Note that even with this fix things will break badly if jbd2 is statically compiled in and cache initialisation fails. Signed-off-by: Duane Griffin Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 83c49523c91fff10493f5b3c102063b02ab76907 Author: Duane Griffin Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: eliminate duplicated code in revocation table init/destroy functions The revocation table initialisation/destruction code is repeated for each of the two revocation tables stored in the journal. Refactoring the duplicated code into functions is tidier, simplifies the logic in initialisation in particular, and slightly reduces the code size. There should not be any functional change. Signed-off-by: Duane Griffin Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 9fa27c85de57d38ca698f4e34fdd1ab06b6c8e49 Author: Duane Griffin Date: Mon Apr 28 09:40:00 2008 -0400 jbd2: tidy up revoke cache initialisation and destruction Make revocation cache destruction safe to call if initialisation fails partially or entirely. This allows it to be used to cleanup in the case of initialisation failure, simplifying the code slightly. Signed-off-by: Duane Griffin Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Aneesh Kumar K.V commit 418f6e9e5b77443a66f4457bc60f391e4fba8ad8 Author: Joe Perches Date: Tue Apr 29 08:11:12 2008 -0400 ext4: remove duplicate include of ext4_fs_i.h header file include/linux/ext4_fs_i.h is included in include/linux/ext_fs.h twice Signed-off-by: Joe Perches Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit d3a95d477d4fcb2c276b8357087a6c862c9e1949 Author: Mingming Cao Date: Thu Apr 17 10:38:59 2008 -0400 ext4: make ext4_xattr_list() static This patch makes the needlessly global ext4_xattr_list() static. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 14499f3592f3f52ceb7a639466de9ca21e2c1914 Author: Mingming Cao Date: Thu Apr 17 10:38:59 2008 -0400 ext4: remove extra define of ext4_new_blocks_old from mballoc.c The function prototype of ext4_new_blocks_old() is defined in ext4_fs.h, so we don't need the extra function prototype in mballoc.c Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit a871611b474bfcdee422c0cf5d16f509dce096f5 Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: check ext4_journal_get_write_access() errors Check ext4_journal_get_write_access() errors. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit c0a4ef38ac90d9053fcf3e22f81520a507c1a7bd Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: use ext4_get_group_desc() Use ext4_get_group_desc() in ext4_get_inode_block() instead of open coding the functionality. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit d00a6d7b40b44ee6b03f492a6c58f5bc4649c784 Author: Akinobu Mita Date: Thu Apr 17 10:38:59 2008 -0400 ext4: use ext4_group_first_block_no() Use ext4_group_first_block_no() and assign the return values to ext4_fsblk_t variables. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit 216c34b2b8a3687afed4d269acec140c8baf23fe Author: Marcin Slusarz Date: Thu Apr 17 10:38:59 2008 -0400 ext4: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time). Signed-off-by: Marcin Slusarz Cc: Signed-off-by: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit e8546d0615542684ca02ba03edebec1a503beb6b Author: Marcin Slusarz Date: Thu Apr 17 10:38:59 2008 -0400 ext4: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: "Theodore Ts'o" Cc: linux-ext4@vger.kernel.org Cc: sct@redhat.com Cc: Andrew Morton Cc: adilger@clusterfs.com Cc: Mingming Cao commit 9a0762c5af40e4aa64fef999967459c98e6ae4c9 Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: Convert list_for_each_rcu() to list_for_each_entry_rcu() The list_for_each_entry_rcu() primitive should be used instead of list_for_each_rcu(), as the former is easier to use and provides better type safety. http://groups.google.com/group/linux.kernel/browse_thread/thread/45749c83451cebeb/0633a65759ce7713?lnk=raot Signed-off-by: Aneesh Kumar K.V Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 4ddfef7b41aebbbede73f361cb938800ba3072dc Author: Eric Sandeen Date: Tue Apr 29 08:11:12 2008 -0400 ext4: reduce mballoc stack usage with noinline_for_stack mballoc.c is a whole lot of static functions, which gcc seems to really like to inline. With the changes below, on x86, I can at least get from: 432 ext4_mb_new_blocks 240 ext4_mb_free_blocks 208 ext4_mb_discard_group_preallocations 188 ext4_mb_seq_groups_show 164 ext4_mb_init_cache 152 ext4_mb_release_inode_pa 136 ext4_mb_seq_history_show ... to 220 ext4_mb_free_blocks 188 ext4_mb_seq_groups_show 176 ext4_mb_regular_allocator 164 ext4_mb_init_cache 156 ext4_mb_new_blocks 152 ext4_mb_release_inode_pa 136 ext4_mb_seq_history_show 124 ext4_mb_release_group_pa ... which still has some big functions in there, but not 432 bytes! Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5cdd7b2d7716a7ed7d6dc7588e2d015f04d46640 Author: Andi Kleen Date: Tue Apr 29 22:03:54 2008 -0400 Convert ext4 to use unlocked_ioctl I checked ext4_ioctl and it looked largely safe to not be used without BKL. So convert it over to unlocked_ioctl. Signed-off-by: Andi Kleen Signed-off-by: Theodore Ts'o commit 161e7b7c1d24112d188df9a7b30d468a8d135b96 Author: Aneesh Kumar K.V Date: Tue Apr 29 22:03:59 2008 -0400 ext4: Cache the correct extent length for uninit extents When we convert an uninitialized extent to an initialized extent we need to make sure we return the number of blocks in the extent from the file system block corresponding to logical file block. Otherwise we cache wrong extent details and this results in file system corruption. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1a89734d4057066344356e9c7e13b6379497aebe Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Return unwritten buffer head when trying to read from prealloc space. ext4_ext_get_blocks() returns the number of blocks allocated with buffer head unmapped for a read from prealloc space. This is needed so that delayed allocation doesn't do block reservation for prealloc space since the blocks are already reserved on disk. Mark the buffer head unwritten. Some code paths try to read the block if the buffer_head is not new and no uptodate. Marking the buffer head unwritten avoids this reading. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit e067ba0078cd6f00eb6c4052fec630b78ebe59de Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: make ext4_ext_get_blocks always return <= max_blocks ext4_ext_get_blocks() returns number of blocks allocated with buffer heads unmapped for a read from prealloc space. This is needed so that delayed allocation doesn't do block reservation for prealloc space since the blocks are already resevred on disk. Fix ext4_ext_get_blocks to not return greater than max_blocks, since some of the code paths cannot handle such a return value. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit fd28784adc079afa905df56204b1298ddb4d0bfe Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Fix fallocate to update the file size in each transaction ext4_fallocate needs to update file size in each transaction. Otherwise if we crash the file size won't be seen. We were also not marking the inode dirty after updating file size before. Also when we try to retry allocation due to ENOSPC, make sure we reset the variable ret so that we actually do a retry. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 267e4db9ac28a09973476e7ec2cb6807e609d35a Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Fix race between migration and mmap write Fail migrate if we allocated new blocks via mmap write. If we write to holes in the file via mmap, we end up allocating new blocks. This block allocation happens without taking inode->i_mutex. Since migrate is protected by i_mutex and migrate expects that no new blocks get allocated during migrate, fail migrate if new blocks get allocated. We can't take inode->i_mutex in the mmap write path because that would result in a locking order violation between i_mutex and mmap_sem. Also adding a separate rw_sempahore for protection is really high overhead for a rare operation such as migrate. Signed-off-by: Aneesh Kumar K.V Acked-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 3977c965ec35ce1a7eac988ad313f0fc9aee9660 Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: zero out small extents when writing to prealloc area. If the preallocated area is small zero out the full extent instead of splitting them. This should avoid the "write every alternate block" problem that could grow the number of extents dramatically. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 093a088b76352e0a6fdca84eb78b3aa65fbe6dd1 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: ENOSPC error handling for writing to an uninitialized extent This patch handles possible ENOSPC errors when writing to an uninitialized extent in case the filesystem is full. A write to a prealloc area causes the split of an unititalized extent into initialized and uninitialized extents. If we don't have space to add new extent information, instead of returning error, convert the existing uninitialized extent to initialized one. We need to zero out the blocks corresponding to the entire extent to prevent uninitialized data reaching userspace. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 35802c0b2bab71695f131f981d95fcea7432c99b Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 sparc: Export symbols for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Acked-by: David S. Miller Signed-off-by: "Theodore Ts'o" commit 5fcf4303037a648f7b3e40c9a73361879852efe7 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 m68k: Export empty_zero_page for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 3653f3abe37f334659eea9d889cf8dc798fc4baa Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 arm: Export empty_zero_page for ZERO_PAGE usage in modules. ext4 uses ZERO_PAGE(0) to zero out blocks. We need to export different symbols in different arches for the usage of ZERO_PAGE in modules. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit e65187e6d0d541f992e684f88a7e090dcff1aac8 Author: Aneesh Kumar K.V Date: Tue Apr 29 08:11:12 2008 -0400 ext4: Enable extent format for symlinks. This patch enables extent-formatted normal symlinks. Using extents format allows a symlink to refer to a block number larger than 2^32 on large filesystems. We still don't enable extent format for fast symlinks, which are contained in the inode itself. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 95c3889cb88ca4833096553c12cde9e7eb792f4c Author: Aneesh Kumar K.V Date: Thu Apr 17 10:38:59 2008 -0400 ext4: Fix fallocate error path Put the old extent details back if we fail to split the uninitialized extent. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f3f12faa7414595f502721c90c34deccc1a03c71 Author: Josef Bacik Date: Tue Apr 29 22:05:28 2008 -0400 ext4: fix mount option parsing The "resize" option won't be noticed as it comes after the NULL option, so if you try to mount (or in this case remount) with that option it won't be recognized. Cc: Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 53c550e9750434ddc4275fe0405170e0d1b46731 Author: Hisashi Hifumi Date: Thu Apr 17 10:38:59 2008 -0400 ext4: fdatasync should skip metadata writeout when overwriting Currently fdatasync is identical to fsync in ext3. I think fdatasync should skip journal flush in data=ordered and data=writeback mode when it overwrites to already-instantiated blocks on HDD. When I_DIRTY_DATASYNC flag is not set, fdatasync should skip journal writeout because this indicates only atime or/and mtime updates. Following patch is the same approach of ext2's fsync code(ext2_sync_file). I did a performance test using the sysbench. #sysbench --num-threads=128 --max-requests=50000 --test=fileio --file-total-size=128G --file-test-mode=rndwr --file-fsync-mode=fdatasync run The result on ext3 was: -2.6.24 Operations performed: 0 Read, 50080 Write, 59600 Other = 109680 Total Read 0b Written 782.5Mb Total transferred 782.5Mb (12.116Mb/sec) 775.45 Requests/sec executed Test execution summary: total time: 64.5814s total number of events: 50080 total time taken by event execution: 3713.9836 per-request statistics: min: 0.0000s avg: 0.0742s max: 0.9375s approx. 95 percentile: 0.2901s Threads fairness: events (avg/stddev): 391.2500/23.26 execution time (avg/stddev): 29.0155/1.99 -2.6.24-patched Operations performed: 0 Read, 50009 Write, 61596 Other = 111605 Total Read 0b Written 781.39Mb Total transferred 781.39Mb (16.419Mb/sec) 1050.83 Requests/sec executed Test execution summary: total time: 47.5900s total number of events: 50009 total time taken by event execution: 2934.5768 per-request statistics: min: 0.0000s avg: 0.0587s max: 0.8938s approx. 95 percentile: 0.1993s Threads fairness: events (avg/stddev): 390.6953/22.64 execution time (avg/stddev): 22.9264/1.17 Filesystem I/O throughput was improved. Signed-off-by :Hisashi Hifumi Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 97bd42b9c8be748ad85b362ba3bd401f4d35be80 Author: Josef Bacik Date: Tue Apr 29 22:04:56 2008 -0400 ext4: check return of ext4_orphan_get properly This patch fix a panic while running fsfuzzer. We are improperly checking the return of ext4_orphan_get. Signed-off-by: Josef Bacik Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 1dfc3220d963385a317264b11154c462a83596ed Author: Josef Bacik Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix possible journal overflow issues There are several cases where the running transaction can get buffers added to its BJ_Metadata list which it never dirtied, which makes its t_nr_buffers counter end up larger than its t_outstanding_credits counter. This will cause issues when starting new transactions as while we are logging buffers we decrement t_outstanding_buffers, so when t_outstanding_buffers goes negative, we will report that we need less space in the journal than we actually need, so transactions will be started even though there may not be enough room for them. In the worst case scenario (which admittedly is almost impossible to reproduce) this will result in the journal running out of space. The fix is to only refile buffers from the committing transaction to the running transactions BJ_Modified list when b_modified is set on that journal, which is the only way to be sure if the running transaction has modified that buffer. This patch also fixes an accounting error in journal_forget, it is possible that we can call journal_forget on a buffer without having modified it, only gotten write access to it, so instead of freeing a credit, we only do so if the buffer was modified. The assert will help catch if this problem occurs. Without these two patches I could hit this assert within minutes of running postmark, with them this issue no longer arises. Cc: Cc: Jan Kara Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 9fc7c63a1d6e9920038ced782390a54888ed70a6 Author: Josef Bacik Date: Thu Apr 17 10:38:59 2008 -0400 jbd2: fix the way the b_modified flag is cleared Currently at the start of a journal commit we loop through all of the buffers on the committing transaction and clear the b_modified flag (the flag that is set when a transaction modifies the buffer) under the j_list_lock. The problem is that everywhere else this flag is modified only under the jbd2 lock buffer flag, so it will race with a running transaction who could potentially set it, and have it unset by the committing transaction. This is also a big waste, you can have several thousands of buffers that you are clearing the modified flag on when you may not need to. This patch removes this code and instead clears the b_modified flag upon entering do_get_write_access/journal_get_create_access, so if that transaction does indeed use the buffer then it will be accounted for properly, and if it does not then we know we didn't use it. That will be important for the next patch in this series. Tested thoroughly by myself using postmark/iozone/bonnie++. Cc: Cc: Jan Kara Signed-off-by: Josef Bacik Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit 34d278534db050b93d79175d59a32a70ac25f9b5 Author: Mark Brown Date: Thu Apr 17 09:24:58 2008 -0400 Input: wm97xx-core - support use as a wakeup source The WM97xx touch screen controllers can be used to generate a wakeup event when the system is suspended. Provide a new core API call wm97xx_set_suspend_mode() allowing machine drivers to enable this. If no suspend_mode is provided then the touch panel will be powered down when the system is suspended. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit db7c10e708b9bdd1618c034591d27c33cb341222 Author: Mark Brown Date: Thu Apr 17 09:24:48 2008 -0400 Input: wm97xx-core - use IRQF_SAMPLE_RANDOM The touchscreen interrupt is driven by human input which can reasonably be used to provide entropy. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit d808fbe5b404854374917bd0d1db937a0a524665 Author: Mark Brown Date: Thu Apr 17 09:24:39 2008 -0400 Input: wm97xx-core - only schedule interrupt handler if not already scheduled As well as clarifying the fact that the driver can cope if a second interrupt occurs before the IRQ work is scheduled this also ensures that calls to the machine irq_enable() are balanced, making that easier to implement. Normally this is redundant due to the interrupt disabling but some unusal board configurations can trigger it. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit f845fced913b1437659bb5baf187698547697afe Author: Bob Copeland Date: Thu Apr 17 09:47:48 2008 +0200 udf: use crc_itu_t from lib instead of udf_crc As pointed out by Sergey Vlasov, UDF implements its own version of the CRC ITU-T V.41. Convert it to use the one in the library. Signed-off-by: Bob Copeland Cc: Sergey Vlasov Signed-off-by: Jan Kara commit 706047a79725b585cf272fdefc234b31b6545c72 Author: Sebastian Manciulea Date: Mon Apr 14 17:13:01 2008 +0200 udf: Fix compilation warnings when UDF debug is on Fix two compilation warnings (and actual bugs in message formatting) when UDF debugging is turned on. Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit 47c9358a015199ed37c66235a2238271a7c8041f Author: Sebastian Manciulea Date: Mon Apr 14 17:06:36 2008 +0200 udf: Fix bug in VAT mapping code Fix mapping of blocks using VAT when it is stored in an inode. UDF_I(inode)->i_data already points to the beginning of VAT header so there's no need to add udf_ext0_offset(inode). Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit bfb257a5981af805a9394f00f75d3d9f7b611cc0 Author: Jan Kara Date: Tue Apr 8 20:37:21 2008 +0200 udf: Add read-only support for 2.50 UDF media This patch implements parsing of metadata partitions and reading of Metadata File thus allowing to read UDF 2.50 media. Error resilience is implemented through accessing the Metadata Mirror File in case the data the Metadata File cannot be read. The patch is based on the original patch by Sebastian Manciulea and Mircea Fedoreanu . Signed-off-by: Sebastian Manciulea Signed-off-by: Mircea Fedoreanu Signed-off-by: Jan Kara commit f4bcbbd92ebda971f7c2cd1132b399808ed6cf9b Author: Sebastian Manciulea Date: Tue Apr 8 14:02:11 2008 +0200 udf: Fix handling of multisession media According to OSTA UDF specification, only anchor blocks and primary volume descriptors are placed on media relative to the last session. All other block numbers are absolute (in the partition or the whole media). This seems to be confirmed by multisession media created by other systems. Signed-off-by: Sebastian Manciulea Signed-off-by: Jan Kara commit 96200be3077c5ede16a90b33aca815b444e66043 Author: Jan Kara Date: Tue Apr 8 13:29:20 2008 +0200 udf: Mount filesystem read-only if it has pseudooverwrite partition As we don't properly support writing to pseudooverwrite partition (we should add entries to VAT and relocate blocks instead of just writing them), mount filesystems with such partition as read-only. Signed-off-by: Jan Kara commit fa5e08156335d0687c85b4e724db9448fb166601 Author: Jan Kara Date: Tue Apr 8 02:08:53 2008 +0200 udf: Handle VAT packed inside inode properly We didn't handle VAT packed inside the inode - we tried to call udf_block_map() on such file which lead to strange results at best. Add proper handling of packed VAT as we do it with other packed files. Signed-off-by: Jan Kara commit 742e1795e2d9dc99657742e5bbbb7907596bf6c3 Author: Jan Kara Date: Tue Apr 8 01:17:52 2008 +0200 udf: Allow loading of VAT inode UDF media with VAT could have never worked because udf_fill_inode() didn't know about case FILE_TYPE_VAT20. Fix this. Signed-off-by: Jan Kara commit c82a127505d39fa81c886eceed6fdf8c1ff4a06b Author: Jan Kara Date: Tue Apr 8 01:16:32 2008 +0200 udf: Fix detection of VAT version We incorrectly (way to strictly) checked version of VAT on loading and thus refuse to mount correct media. There are just two format versions - below 2.0 and above 2.0 and we understand both. So update the version check accordingly. Signed-off-by: Jan Kara commit 4f7874c868eaedd0e64b2f6c800bc852bdc7f38b Author: Jan Kara Date: Mon Apr 7 23:16:38 2008 +0200 udf: Silence warning about accesses beyond end of device Some of the computed positions of anchor block could be beyond the end of device. Skip reading such blocks. Signed-off-by: Jan Kara commit 5fb28aa25ab0b71af2e441d68e63ad257e610a04 Author: Jan Kara Date: Mon Apr 7 16:15:04 2008 +0200 udf: Improve anchor block detection Add +1 and -1 to a list of blocks which can be the real last recorded block on a UDF media. Sebastian Manciulea claims this helps some drive + media combinations he is able to test. Signed-off-by: Jan Kara commit 423cf6dc04eb79d441bfda2b127bc4b57134b41d Author: Jan Kara Date: Mon Apr 7 15:59:23 2008 +0200 udf: Cleanup anchor block detection. UDF anchor block detection is complicated by several things - there are several places where the anchor point can be, some of them relative to the last recorded block which some devices report wrongly. Moreover some devices on some media seem to have 7 spare blocks sectors for every 32 blocks (at least as far as I understand the old code) so we have to count also with that possibility. This patch splits anchor block detection into several functions so that it is clearer what we actually try to do. We fix several bugs of the type "for such and such media, we fail to check block blah" as a result of the cleanup. Signed-off-by: Jan Kara commit 38b74a53e5625b7bbbd08918294b86f1db2f0565 Author: Jan Kara Date: Wed Apr 2 16:01:35 2008 +0200 udf: Move processing of virtual partitions This patch move processing of UDF virtual partitions close to the place where other partition types are processed. As a result we now also properly fill in partition access type. Signed-off-by: Jan Kara commit 3fb38dfa0e28575170119c70cb2ab70fdb8478fb Author: Jan Kara Date: Wed Apr 2 12:26:36 2008 +0200 udf: Move filling of partition descriptor info into a separate function Signed-off-by: Jan Kara commit 2e0838fd0c0b8f0753a4be9af9f9712c4be881e1 Author: Jan Kara Date: Tue Apr 1 18:08:51 2008 +0200 udf: Improve error recovery on mount Report error when we fail to allocate memory for a bitmap and properly release allocated memory and inodes for all the partitions in case of mount failure and umount. Signed-off-by: Jan Kara commit c0eb31ed130ab18e1858179a644e39aee2355a13 Author: Jan Kara Date: Tue Apr 1 16:50:35 2008 +0200 udf: Cleanup volume descriptor sequence processing Cleanup processing of volume descriptor sequence so that it is more readable, make code handle errors (e.g. media problems) better. Signed-off-by: Jan Kara commit d0db181c072259c21a375b290a4574e5ce6d2b5f Author: Pavel Emelyanov Date: Wed Mar 5 00:03:36 2008 +0100 udf: fix anchor point detection According to ECMA 167 rev. 3 (see 3/8.4.2.1), Anchor Volume Descriptor Pointer should be recorded at two or more anchor points located at sectors 256, N, N - 256, where N - is a largest logical sector number at volume space. So we should always try to detect N on UDF volume before trying to find Anchor Volume Descriptor (i.e. calling to udf_find_anchor()). That said, all this patch does is updates the s_last_block even if the udf_vrs() returns positive value. Originally written and tested by Yuri Per, ported on latest mainline by me. Signed-off-by: Yuri Per Signed-off-by: Pavel Emelyanov Cc: Max Lyadvinsky Cc: Vladimir Simonov Cc: Andrew Neporada Cc: Kirill Korotaev Signed-off-by: Jan Kara commit b80697c14dcacd83ed1b78e26ad93b25ecc52c5e Author: Jan Kara Date: Tue Mar 4 14:14:05 2008 +0100 udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes) There are several places in UDF where we declared temporary arrays of UDF_NAME_LEN bytes on stack. This is not nice to stack usage so this patch changes those places to use kmalloc() instead. Also clean up bail-out paths in those functions when we are changing them. Signed-off-by: Jan Kara commit 9bf2c6b834f4caad82b3e2d962c266153d39e411 Author: Jan Kara Date: Tue Mar 4 13:10:29 2008 +0100 udf: Remove checking of existence of filename in udf_add_entry() We don't have to check whether a directory entry already exists in a directory when creating a new one since we've already checked that earlier by lookup and we are holding directory i_mutex all the time. Signed-off-by: Jan Kara commit 200a3592cda7bfc010d30c0b1eb8eff3791e9ba9 Author: Jan Kara Date: Tue Mar 4 13:03:09 2008 +0100 udf: Mark udf_process_sequence() as noinline Mark udf_process_sequence() as noinline since stack usage is terrible otherwise. Signed-off-by: Jan Kara commit 165923fa4590b0eb77bec31af383ea16b2d5868f Author: Marcin Slusarz Date: Sun Feb 10 11:33:08 2008 +0100 udf: super.c reorganization reorganize few code blocks in super.c which were needlessly indented (and hard to read): so change from: rettype fun() { init; if (sth) { long block of code; } } to: rettype fun() { init; if (!sth) return; long block of code; } or from: rettype fun2() { init; while (sth) { init2(); if (sth2) { long block of code; } } } to: rettype fun2() { init; while (sth) { init2(); if (!sth2) continue; long block of code; } } Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit af15a298a49c9b5844cdaf70e10eb808e54ead2c Author: Marcin Slusarz Date: Sun Feb 10 11:29:10 2008 +0100 udf: remove unneeded kernel_timestamp type remove now unneeded kernel_timestamp type with conversion functions Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 56774805d5eeecd3f1fb700603e593a35dc523c8 Author: Marcin Slusarz Date: Sun Feb 10 11:25:31 2008 +0100 udf: convert udf_stamp_to_time and udf_time_to_stamp to use timestamps * kernel_timestamp type was almost unused - only callers of udf_stamp_to_time and udf_time_to_stamp used it, so let these functions handle endianness internally and don't clutter code with conversions * rename udf_stamp_to_time to udf_disk_stamp_to_time and udf_time_to_stamp to udf_time_to_disk_stamp Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit cbf5676a0e0463f05e5073589f3194846dfb02e7 Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:50:14 2008 +0100 udf: convert udf_stamp_to_time to return struct timespec Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c87e8e90d0da1134e42c89dc89559f4bfe282ef9 Author: marcin.slusarz@gmail.com Date: Sun Feb 3 19:36:07 2008 +0100 udf: create function for conversion from timestamp to timespec Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit f18f17b0338a388ad87a2f8078dbbfb83798bdfd Author: marcin.slusarz@gmail.com Date: Sun Feb 3 19:36:06 2008 +0100 udf: udf_get_block, inode_bmap - remove unneeded checks block cannot be less than 0, because it's sector_t, so remove unneeded checks Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 01b954a36a03d90a66c9dd1fc13e4cb51269caf7 Author: Marcin Slusarz Date: Sat Feb 2 22:37:07 2008 +0100 udf: convert udf_count_free_bitmap to use bitmap_weight replace handwritten bits counting with bitmap_weight Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit d652eefb70142c64495f4188883f9dfc0430a96b Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:59 2008 +0100 udf: replace udf_*_offset macros with functions - translate udf_file_entry_alloc_offset macro into function - translate udf_ext0_offset macro into function - add comment about crypticly named fields in struct udf_inode_info Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 1ab9278570077101d1e367399686be62b22c4019 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:58 2008 +0100 udf: simplify __udf_read_inode - move all brelse(ibh) after main if, because it's called on every path except one where ibh is null - move variables to the most inner blocks Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c2104fda5e6a6981e385b2d11c5c591ab06d82a2 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:57 2008 +0100 udf: replace all adds to little endians variables with le*_add_cpu replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); sparse didn't generate any new warning with this patch Signed-off-by: Marcin Slusarz commit 456390de465e5a19c84bca5d78e2550971ab5a96 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:56 2008 +0100 udf: truncate: create function for updating of Allocation Ext Descriptor Signed-off-by: Marcin Slusarz Cc: Jan Kara Signed-off-by: Jan Kara commit 9de90b76eb96e7cdeac8b8dbe7d3db948b070f4d Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:55 2008 +0100 udf: simple cleanup of truncate.c - remove one indentation level by little code reorganization - convert "if (smth) BUG();" to "BUG_ON(smth);" Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit c8ed837d371c24b678182a30e9f0b1f61dee212c Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:38:38 2008 +0100 udf: constify crc - constify internal crc table - mark udf_crc "in" parameter as const Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 34f953ddfd15da8feb5b8383c93c35dc57202b66 Author: marcin.slusarz@gmail.com Date: Wed Feb 27 22:38:36 2008 +0100 udf: udf_CS0toNLS cleanup - fix error handling - always zero output variable - don't zero explicitely fields zeroed by memset - mark "in" paramater as const Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 6305a0a9d559e97807b8bc6d5250fd525dc571a7 Author: Marcin Slusarz Date: Mon Feb 4 22:27:39 2008 +0100 udf: fix udf_build_ustr udf_build_ustr was broken: - size == 1: dest->u_len = ptr[1 - 1], but at ptr[0] there's cmpID, so we created string with wrong length it should not happen, so we BUG() it - size > 1 and size < UDF_NAME_LEN: we set u_len correctly, but memcpy copied one needless byte - size == UDF_NAME_LEN - 1: memcpy overwrited u_len - with correct value, but... - size >= UDF_NAME_LEN: we copied UDF_NAME_LEN - 1 bytes, but dest->u_name is array of UDF_NAME_LEN - 2 bytes, so we were overwriting u_len with character from input string nobody noticed because all callers set size to acceptable values (constants within range) Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit 79cfe0ff5fb585b92126365a2881262945ac0ee9 Author: marcin.slusarz@gmail.com Date: Wed Jan 30 22:03:51 2008 +0100 udf: udf_CS0toUTF8 cleanup - fix error handling - always zero output variable - don't zero explicitely fields zeroed by memset - mark "in" paramater as const - remove outdated comment Signed-off-by: Marcin Slusarz Signed-off-by: Jan Kara commit b8145a769765ce9688eb84080d4c48b22a3553f2 Author: Adrian Bunk Date: Sun Feb 17 10:19:55 2008 +0200 make udf_error() static This patch makes the needlessly global udf_error() static. Signed-off-by: Adrian Bunk Signed-off-by: Jan Kara commit 8dee00bb758f9e1d7fac9f5d2463d09444d4f255 Author: Julia Lawall Date: Thu Feb 14 16:15:45 2008 +0100 fs/udf: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Signed-off-by: Jan Kara commit 15aebd2866b21a568d8defec134bf29f9aea9088 Author: Christoph Hellwig Date: Fri Feb 22 12:39:12 2008 +0100 udf: move headers out include/linux/ There's really no reason to keep udf headers in include/linux as they're not used by anything but fs/udf/. This patch merges most of include/linux/udf_fs_i.h into fs/udf/udf_i.h, include/linux/udf_fs_sb.h into fs/udf/udf_sb.h and include/linux/udf_fs.h into fs/udf/udfdecl.h. The only thing remaining in include/linux/ is a stub of udf_fs_i.h defining the four user-visible udf ioctls. It's also moved from unifdef-y to headers-y because it can be included unconditionally now. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit b1e321266d8797b21eac433b11458ac65b098938 Author: Christoph Hellwig Date: Fri Feb 22 12:38:48 2008 +0100 udf: kill useless file header comments for vfs method implementations There's not need to document vfs method invocation rules, we have Documentation/filesystems/vfs.txt and Documentation/filesystems/Locking for that. Also a lot of these comments where either plain wrong or horrible out of date. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit f1f73ba8e9b0eb97f90c6256b94afeb035d97562 Author: Christoph Hellwig Date: Fri Feb 22 12:38:02 2008 +0100 udf: kill udf_set_blocksize This helper has been quite useless since sb_min_blocksize was introduced and is misnamed while we're at it. Just opencode the few lines in the caller instead. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 6993fc5bbc5d63ccd55985b39c34417e430e75e9 Author: Andi Kleen Date: Wed Jan 30 13:30:02 2008 +0100 clocksource: make clocksource watchdog cycle through online CPUs This way it checks if the clocks are synchronized between CPUs too. This might be able to detect slowly drifting TSCs which only go wrong over longer time. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3833eecc183ce052e9ac96b39b45121a2d11ac16 Author: Thomas Gleixner Date: Wed Mar 5 18:28:15 2008 +0100 Documentation: move timer related documentation to a single place We have two directories with timer related information in Documentation/: hrtimers/ and hrtimer/. timer_stats are not restricted to hrtimers. Move all those files into Documentation/timers where we can pile up other timer related docs as well. Pointed-out-by: Randy Dunlap Signed-off-by: Thomas Gleixner commit 903b8a8d4835a796f582033802c83283886f4a3d Author: Karsten Wiese Date: Thu Feb 28 15:10:50 2008 +0100 clockevents: optimise tick_nohz_stop_sched_tick() a bit Call ts = &per_cpu(tick_cpu_sched, cpu); and cpu = smp_processor_id(); once instead of twice. No functional change done, as changed code runs with local irq off. Reduces source lines and text size (20bytes on x86_64). [ akpm@linux-foundation.org: Build fix ] Signed-off-by: Karsten Wiese Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 3f3eafc921e2378954c28cfd0eb10910449f4c11 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 locking: remove unused double_spin_lock() double_spin_lock() has no callers, and it can't be used without additional lockdep annotations, remove it. Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 8e60e05fdc7344415fa69a3883b11f65db967b47 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 hrtimers: simplify lockdep handling In order to avoid the false positive from lockdep, each per-cpu base->lock has the separate lock class and migrate_hrtimers() uses double_spin_lock(). This is overcomplicated: except for migrate_hrtimers() we never take 2 locks at once, and migrate_hrtimers() can use spin_lock_nested(). Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 0d180406f2914aea3a78ddb880e2fe9ac78a9372 Author: Oleg Nesterov Date: Fri Apr 4 20:54:10 2008 +0200 timers: simplify lockdep handling In order to avoid the false positive from lockdep, each per-cpu base->lock has the separate lock class and migrate_timers() uses double_spin_lock(). This all is overcomplicated: except for migrate_timers() we never take 2 locks at once, and migrate_timers() can use spin_lock_nested(). Signed-off-by: Oleg Nesterov Cc: Arjan van de Ven Cc: Heiko Carstens Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit ee7dd205b5cdbc3231d48e38641efd05f572c52a Author: WANG Cong Date: Fri Apr 4 20:54:10 2008 +0200 posix-timers: fix shadowed variables Fix sparse warnings like this: kernel/posix-cpu-timers.c:1090:25: warning: symbol 't' shadows an earlier one kernel/posix-cpu-timers.c:1058:21: originally declared here Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit d59b949f771eb3cbe50865c72e13e2a0a8d4d781 Author: Pavel Machek Date: Tue Feb 5 00:48:13 2008 +0100 timer_list: add annotations to workqueue.c Add timer list annotations to workqueue.c so we can see the call site in the timer stats. Signed-off-by: Pavel Machek Signed-off-by: Thomas Gleixner commit 029a07e0311c7fef968d44b50beca53969cee40b Author: Thomas Gleixner Date: Sun Feb 10 09:17:43 2008 +0100 hrtimer: use nanosleep specific restart_block fields Convert all the nanosleep related users of restart_block to the new nanosleep specific restart_block fields. Signed-off-by: Thomas Gleixner commit a332d86d3c262cddd3de0bfa90e1910de60b4f95 Author: Thomas Gleixner Date: Sun Feb 10 09:04:12 2008 +0100 hrtimer: add nanosleep specific restart_block member The back and forth typecasting of restart_block->args is horrible. We added a separate union member for futex already. Do the same for nanosleep. Signed-off-by: Thomas Gleixner commit cbd8a9d2cd6f576ca41022599341bbd8be1b0b27 Author: Jan Altenberg Date: Fri Mar 28 16:13:53 2008 +0100 UBI: initialize static volumes with vol->used_bytes I came across a problem which seems to be present since: commit 941dfb07ed91451b1c58626a0d258dfdf468b593 UBI: set correct gluebi device size ubi_create_gluebi() leaves mtd->size = 0 for static volumes. So even existing static volumes are initialized with a size of 0. Signed-off-by: Jan Altenberg Signed-off-by: Artem Bityutskiy commit 6e0c84e37e809e79313043385148020ceb760496 Author: Artem Bityutskiy Date: Thu Mar 27 17:18:45 2008 +0200 UBI: improve Kconfig documentation Signed-off-by: Artem Bityutskiy commit c4506092c1773211b71a75bd557c02b090c82b66 Author: Artem Bityutskiy Date: Tue Feb 12 16:36:41 2008 +0200 UBI: fix error printing Use existing ubi_err() as the rest of the code does. Signed-off-by: Artem Bityutskiy commit 92a74f1c1c9ca4d8009bfdea1c5febb7c0674f15 Author: Artem Bityutskiy Date: Sat Feb 16 15:42:52 2008 +0200 UBI: make ubi-header.h local The new trend in linux is not to store headers which define on-media format in the include/ directory, but instead, store them locally. This is because these headers "do not define any kernel<->userspace interface". Do so for UBI as well. Signed-off-by: Artem Bityutskiy commit a4f0fcdfb2397e81d22446bb364dc190bf16b25a Author: Artem Bityutskiy Date: Tue Feb 12 13:26:31 2008 +0200 UBI: be verbose when debuggin is enabled Make I/O function to be always verbose when about CRC errors and magic number errors when I/O debugging is enabled. Signed-off-by: Artem Bityutskiy commit f4988927a257791d372dddeda8eda8521bf6cb00 Author: Artem Bityutskiy Date: Fri Feb 8 12:13:08 2008 +0200 Documentation: add UBI sysfs ABI docs Signed-off-by: Artem Bityutskiy Acked-by: Greg KH commit 280bb34bc0f7c664b59077b609ce93507a54c848 Author: Kumar Gala Date: Thu Apr 17 01:29:14 2008 -0500 [POWERPC] 85xx: minor .dts cleanups * remove #cpus from mpc8544ds.dts (not used anywhere else) * remove memreserve from mpc8568mds.dts (not needed) Signed-off-by: Kumar Gala commit 32f960e9439bbe72c45f8cd854049254122fc198 Author: Kumar Gala Date: Thu Apr 17 01:28:15 2008 -0500 [POWERPC] 85xx: Convert dts to v1 syntax Signed-off-by: Kumar Gala commit a5dc66e2ab2e2cf641346b056a69a67cfcf9458c Author: Kumar Gala Date: Tue Apr 15 23:35:47 2008 -0500 [POWERPC] 85xx: Fix compile warning arch/powerpc/platforms/85xx/mpc85xx_ads.c: In function ‘init_ioports’: arch/powerpc/platforms/85xx/mpc85xx_ads.c:168: warning: initialization discards qualifiers from pointer target type Signed-off-by: Kumar Gala commit f9b9908cf92cbefcadaf3a22280006288b1d571f Author: Kumar Gala Date: Tue Apr 15 18:13:30 2008 -0500 [POWERPC] 83xx: Enable FCM NAND and OF partitions in defconfig Signed-off-by: Kumar Gala commit 81fad217b32b885b369bc85125095ea2940b4c60 Author: Paul Gortmaker Date: Tue Apr 15 18:41:31 2008 -0400 [POWERPC] 86xx: Add device tree source for Wind River SBC8641D This adds in the device tree source for the SBC8641D, based largely on the mpc8641_hpcn.dts. The biggest differences are the lack of a complex IRQ mapping (since no Uli/i8259 cascade) and the different layout of devices on the localbus node. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 1c37dca5e3b9738b28c285ed977d4d81223870a9 Author: Paul Gortmaker Date: Tue Apr 15 18:41:32 2008 -0400 [POWERPC] 86xx: Add defconfig for Wind River SBC8641D board This adds a sample defconfig for the Wind River SBC8641D board, with SMP, PCI and NFS root enabled. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 4e8aae89a35d1d572e9faca44fa9774329fceb80 Author: Paul Gortmaker Date: Tue Apr 15 18:41:30 2008 -0400 [POWERPC] 86xx: Add support for Wind River SBC8641D board This adds support for the Wind River SBC8641D board, based largely on the mpc86xx_hpcn support. The biggest difference is the lack of the Uli and the i8259 cascade, which simplifies things. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 1e31de7aae01d85657b5db8c9e4cfc9afe0596f6 Author: Scott Wood Date: Tue Apr 15 11:03:38 2008 -0500 [POWERPC] 83xx: mpc8313erdb - Enable FCM NAND and OF partitions in defconfig Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 378458d8655056d3d04994cb2b1c0fabb1b35983 Author: Scott Wood Date: Tue Apr 15 11:02:31 2008 -0500 [POWERPC] cuboot-pq2: PCI fixes 1. Detect (and bail out on) more conditions that violate the assumptions of the setup code -- we assume in such cases that the device tree is correct and reflects what the firmware did. 2. The inbound memory mask calculation was wrong. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 3866409541b1ae87a2e42ee7f483843f1af56917 Author: Scott Wood Date: Tue Apr 15 13:52:34 2008 -0500 [POWERPC] fsl_soc: Factor fsl_get_sys_freq() out of the wdt and spi inits. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 9c432797d30ffd10d5510854a0f762dc42903898 Author: Anton Vorontsov Date: Tue Mar 18 18:43:59 2008 +0300 [POWERPC] 83xx: mpc837x_rdb: add simple-bus compatible matching This is needed to probe nor and nand flashes on the localbus. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 4eaddb4d7ec380abe95523ba0bdbbe8558f7fef4 Author: Kumar Gala Date: Wed Apr 9 16:15:40 2008 -0500 [POWERPC] Make Book-E debug handling SMP safe global_dbcr0 needs to be a per cpu set of save areas instead of a single global on all processors. Also, we switch to using DBCR0_IDM to determine if the user space app is being debugged as its a more consistent way. In the future we should support features like hardware breakpoint and watchpoints which will have DBCR0_IDM set but not necessarily DBCR0_IC (single step). Signed-off-by: Kumar Gala commit 3dd82a1ea72438a545634b3ef90c53313d2caffa Author: Scott Wood Date: Thu Apr 10 15:45:02 2008 -0500 [POWERPC] CPM: Always use new binding. The kconfig entry can go away once arch/ppc and references to the config in drivers are removed. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 632395e19c9268bb15a5022b8e0c6b645a1937d7 Author: Anton Vorontsov Date: Tue Mar 11 20:24:50 2008 +0300 [POWERPC] QE: fix sparse warnings Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 7f0a6fc81213b957714dfd2a49a28b110283ecc8 Author: Anton Vorontsov Date: Tue Mar 11 20:24:24 2008 +0300 [POWERPC] QE: export qe_get_brg_clk() qe_get_brg_clk() will be used by the fsl_gtm routines. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ab1220d5ac69bd3327305c4d367548221f2bc3b4 Author: Anton Vorontsov Date: Tue Mar 11 20:24:21 2008 +0300 [POWERPC] QE: immap_qe.h should include asm/io.h Headers should include prototypes they use, otherwise build will break if we use it without explicitly including io.h: CC arch/powerpc/sysdev/qe_lib/gtm.o In file included from include/asm/qe.h:20, from arch/powerpc/sysdev/qe_lib/gtm.c:18: include/asm/immap_qe.h: In function ‘immrbar_virt_to_phys’: include/asm/immap_qe.h:480: error: implicit declaration of function ‘virt_to_phys’ make[2]: *** [arch/powerpc/sysdev/qe_lib/gtm.o] Error 1 make[1]: *** [arch/powerpc/sysdev/qe_lib] Error 2 gtm.c needs qe.h (which includes immap_qe.h) to use qe_get_brg_clk(). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 0b51b02edff2417deff98d8bbf294fa56b765bc6 Author: Anton Vorontsov Date: Tue Mar 11 20:24:13 2008 +0300 [POWERPC] QE: implement qe_muram_offset qe_muram_offset is the reverse of the qe_muram_addr, will be used for the Freescale QE USB Host Controller driver. This patch also moves qe_muram_addr into the qe.h header, plus adds __iomem hints to use with sparse. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit acaa7aa30a8cdf7276945629f56d6daf30beb157 Author: Anton Vorontsov Date: Fri Apr 11 21:03:40 2008 +0400 [POWERPC] fsl_lbc: implement few UPM routines Freescale UPM can be used to adjust localbus timings or to generate orbitrary, pre-programmed "patterns" on the external Localbus signals. This patch implements few routines so drivers could work with UPMs in safe and generic manner. So far there is just one user of these routines: Freescale UPM NAND driver. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit d4a32fe40a57d1a47d6ec3ebbf3d3153b12baa2c Author: Anton Vorontsov Date: Tue Mar 11 20:23:28 2008 +0300 [POWERPC] fsl_elbc_nand: factor out localbus defines This is needed to support other localbus peripherals, such as NAND on FSL UPM. Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 56626f335b76eecd79d07fb21d0e625eb4aa52da Author: Anton Vorontsov Date: Fri Apr 11 20:06:54 2008 +0400 [POWERPC] QE: UCC nodes cleanup - get rid of `model = "UCC"' in the ucc nodes It isn't used anywhere, so remove it. If we'll ever need something like this, we'll use compatible property instead. - replace last occurrences of device-id with cell-index. Drivers are modified for backward compatibility's sake. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit e24e788abe0def81341fd23efae43e813678f7b1 Author: Laurent Pinchart Date: Thu Apr 10 17:00:53 2008 +0200 [POWERPC] CPM: Move opcodes common to CPM1 and CPM2 to include/asm-powerpc/cpm.h Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 872a15deed2f6c2dc14353a6109adde99cfee690 Author: Laurent Pinchart Date: Thu Apr 10 17:02:38 2008 +0200 [POWERPC] CPM2: Reset the CPM when early debugging is not enabled. Similarly to what is done for PQ1-based platforms, this patch resets the PQ2 Communication Processor Module in cpm2_reset() when early debugging is not enabled. This helps avoiding conflicts when the boot loader configured the CPM in an unexpected way. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 0585fa5fb74001487e71c9f04875803e1f1174e1 Author: Laurent Pinchart Date: Thu Apr 10 17:02:25 2008 +0200 [POWERPC] ep8248e: Reference SMC parameter RAM base in the device tree. This patch modifies the Embedded Planet EP8248E device tree to reference the SMC paramater RAM base register instead of the parameter RAM allocated by the boot loader. The cpm_uart driver will allocate parameter RAM itself, making the serial port initialisation independent of the boot loader. The patch adds the parameter RAM allocated by the boot loader in the CPM muram node, making it available to the kernel. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit c2dd3529f35de9e2f51eba9bbf9969f5dc8382d4 Author: Laurent Pinchart Date: Thu Apr 10 17:01:59 2008 +0200 [POWERPC] cpm-serial: Relocate CPM buffer descriptors and SMC parameter ram. This patch relocates the buffer descriptors and the SMC parameter RAM at the end of the first CPM muram chunk, as described in the device tree. This allows device trees to stop excluding SMC parameter ram allocated by the boot loader from the CPM muram node. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit da0a5f0c65913e4ec0a70a5019ce0a7bcaab21c9 Author: Laurent Pinchart Date: Thu Apr 10 17:03:04 2008 +0200 [POWERPC] Add bootwrapper function to get virtual reg from the device tree. This patch adds a new generic device tree processing function that retrieves virtual reg addresses from the device tree to the bootwrapper code. It also updates the bootwrapper code to use the new function. dt_get_virtual_reg() retrieves the virtual reg addresses from the "virtual-reg" property. If the property can't be found, it uses the "reg" property and walks the tree to translate it to absolute addresses. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit d464df2667cf181419604e656773f80996cf0470 Author: Laurent Pinchart Date: Thu Apr 10 17:01:27 2008 +0200 [POWERPC] cpm_uart: Allocate DPRAM memory for SMC ports on CPM2-based platforms. This patch allocates parameter RAM for SMC serial ports without relying on previous initialisation by a boot loader or a wrapper layer. SMC parameter RAM on CPM2-based platforms can be allocated anywhere in the general-purpose areas of the dual-port RAM. The current code relies on the boot loader to allocate a section of general-purpose CPM RAM and gets the section address from the device tree. This patch modifies the device tree address usage to reference the SMC parameter RAM base pointer instead of a pre-allocated RAM section and allocates memory from the CPM dual-port RAM when initialising the SMC port. CPM1-based platforms are not affected. Signed-off-by: Laurent Pinchart Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 1028d4f162796a99b87565b6b40b5fec79c242d0 Author: Sebastian Siewior Date: Sat Mar 15 00:01:30 2008 +0100 [POWERPC] 85xx: Enable DMA engine on the MPC8544 DS Add the device tree node for the DMA engine on 8544, publish the device and enable the driver in the defconfig. Signed-off-by: Sebastian Siewior Signed-off-by: Kumar Gala commit 370131c3f2cdd82edeb71add4b098b51803e214e Author: Kumar Gala Date: Wed Apr 9 10:16:42 2008 -0500 [POWERPC] 83xx/85xx: Reorganize defconfigs Board specific defconfigs are useful, however with the ability to do multi-board defconfigs they aren't needed in the top level configs directory Move the 83xx/85xx board specific defconfigs to individual directories under arch/powerpc/configs. Signed-off-by: Kumar Gala commit eb0cd5fd295f469b4782d8088f3e39019da44707 Author: Kumar Gala Date: Wed Apr 9 06:06:11 2008 -0500 [POWERPC] Rework Book-E debug exception handling The architecture allows for "Book-E" style debug interrupts to either go to critial interrupts of their own debug interrupt level. To allow for a dynamic kernel to support machines of either type we want to be able to compile in the interrupt handling code for both exception levels. Towards this goal we renamed the debug handling macros to specify the interrupt level in their name (DEBUG_CRIT_EXCEPTION/DebugCrit and DEBUG_DEBUG_EXCEPTION/DebugDebug). Additionally, on the Freescale Book-e parts we expanded the exception stacks to cover the maximum case of needing three exception stacks (normal, machine check and debug). There is some kernel text space optimization to be gained if a kernel is configured for a specific Freescale implementation but we aren't handling that now to allow for the single kernel image support. Signed-off-by: Kumar Gala commit ca68305bf3c76c4a7cd1c77d5423219f39164df8 Author: Martin Schwidefsky Date: Thu Apr 17 07:46:31 2008 +0200 [S390] Remove code duplication from monreader / dcssblk. Move the function that prints the segment warning messages found in the monreader driver and the dcssblk driver to the extmem base code. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9e74a6b8983c2653dd2a6f51e634efa281e95d59 Author: Christian Borntraeger Date: Thu Apr 17 07:46:30 2008 +0200 [S390] kernel: show last breaking-event-address on oops Newer s390 models have a breaking-event-address-recording register. Each time an instruction causes a break in the sequential instruction execution, the address is saved in that hardware register. On a program interrupt the address is copied to the lowcore address 272-279, which makes it software accessible. This patch changes the program check handler and the stack overflow checker to copy the value into the pt_regs argument. The oops output is enhanced to show the last known breaking address. It might give additional information if the stack trace is corrupted. The feature is only available on 64 bit. The new oops output looks like: [---------snip----------] Modules linked in: vmcp sunrpc qeth_l2 dm_mod qeth ccwgroup CPU: 2 Not tainted 2.6.24zlive-host #8 Process modprobe (pid: 4788, task: 00000000bf3d8718, ksp: 00000000b2b0b8e0) Krnl PSW : 0704200180000000 000003e000020028 (vmcp_init+0x28/0xe4 [vmcp]) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 Krnl GPRS: 0000000004000002 000003e000020000 0000000000000000 0000000000000001 000000000015734c ffffffffffffffff 000003e0000b3b00 0000000000000000 000003e00007ca30 00000000b5bb5d40 00000000b5bb5800 000003e0000b3b00 000003e0000a2000 00000000003ecf50 00000000b2b0bd50 00000000b2b0bcb0 Krnl Code: 000003e000020018: c0c000040ff4 larl %r12,3e0000a2000 000003e00002001e: e3e0f0000024 stg %r14,0(%r15) 000003e000020024: a7f40001 brc 15,3e000020026 >000003e000020028: e310c0100004 lg %r1,16(%r12) 000003e00002002e: c020000413dc larl %r2,3e0000a27e6 000003e000020034: c0a00004aee6 larl %r10,3e0000b5e00 000003e00002003a: a7490001 lghi %r4,1 000003e00002003e: a75900f0 lghi %r5,240 Call Trace: ([<000000000014b300>] blocking_notifier_call_chain+0x2c/0x40) [<000000000015735c>] sys_init_module+0x19d8/0x1b08 [<0000000000110afc>] sysc_noemu+0x10/0x16 [<000002000011cda2>] 0x2000011cda2 Last Breaking-Event-Address: [<000003e000020024>] vmcp_init+0x24/0xe4 [vmcp] [---------snip----------] Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1a5debaaace41f1e91014332e6eedde4499e5638 Author: Heiko Carstens Date: Thu Apr 17 07:46:29 2008 +0200 [S390] lowcore: Change type of lowcores softirq_pending to __u32. As noted by akpm: > kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick': > kernel/time/tick-sched.c:229: warning: format '%02x' expects type 'unsigned int', but argument 2 has type '__u64' > > I don't think the architecture's local_softirq_pending() should return u64. > This is the sort of thing which should be consistent across architectures. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1749a81d629b1295b38071914728cc2e72066f4d Author: Felix Beck Date: Thu Apr 17 07:46:28 2008 +0200 [S390] zcrypt: Comments and kernel-doc cleanup Comments, which suggested to be kernel-doc but were not in the right formatting, have been corrected. Additionally some minor cleanup in the comments has been done. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 3f12ebce6a004c8e9bf639801842f67e578ee7c6 Author: Heiko Carstens Date: Thu Apr 17 07:46:27 2008 +0200 [S390] uaccess: Always access the correct address space. The current uaccess page table walk code assumes at a few places that any access is a user space access. This is not correct if somebody has issued a set_fs(KERNEL_DS) in advance. Add code which checks which address space we are in and with this make sure we access the correct address space. This way we get also rid of the dirty if (!currrent-mm) return -EFAULT; hack in futex_atomic_cmpxchg_pt. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a806170e29c5468b1d641a22518243bdf1b8d58b Author: Heiko Carstens Date: Thu Apr 17 07:46:26 2008 +0200 [S390] Fix a lot of sparse warnings. Most noteable part of this commit is the new local header file entry.h which contains all the function declarations of functions that get only called from asm code or are arch internal. That way we can avoid extern declarations in C files. This is more or less the same that was done for sparc64. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 5a62b192196af9a798e2f2f4c6a1324e7edf2f4b Author: Heiko Carstens Date: Thu Apr 17 07:46:25 2008 +0200 [S390] Convert s390 to GENERIC_CLOCKEVENTS. This way we get rid of s390's NO_IDLE_HZ and use the generic dynticks variant instead. In addition we get high resolution timers for free. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d7b906897e9caae452947e33674df0a2d6f7e10f Author: Russell King Date: Thu Apr 17 07:46:24 2008 +0200 [S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h > Generic code is not supposed to include irq.h. Replace this include > by linux/hardirq.h instead and add/replace an include of linux/irq.h > in asm header files where necessary. > This change should only matter for architectures that make use of > GENERIC_CLOCKEVENTS. > Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64. > > I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64. > This patch fixes also build breakages caused by the include replacement in > tick-common.h. I generally dislike adding optional linux/* includes in asm/* includes - I'm nervous about this causing include loops. However, there's a separate point to be discussed here. That is, what interfaces are expected of every architecture in the kernel. If generic code wants to be able to set the affinity of interrupts, then that needs to become part of the interfaces listed in linux/interrupt.h rather than linux/irq.h. So what I suggest is this approach instead (against Linus' tree of a couple of days ago) - we move irq_set_affinity() and irq_can_set_affinity() to linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h and include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be rarely used include since not much touches the stacked parent context registers.) Build tested on ARM PXA family kernels and ARM's Realview platform kernels which both use genirq. [ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ] Signed-off-by: Russell King Signed-off-by: Thomas Gleixner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 43ca5c3a1cefdaa09231d64485b8f676118bf1e0 Author: Heiko Carstens Date: Thu Apr 17 07:46:23 2008 +0200 [S390] Convert monitor calls to function calls. Remove the program check generating monitor calls and use function calls instead. Theres is no real advantage in using monitor calls, but they do make debugging harder, because of all the program checks it generates. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit e1776856286bef076f400ec062b150b6f3c353cd Author: Ursula Braun Date: Thu Apr 17 07:46:22 2008 +0200 [S390] qdio (new feature): enhancing info-retrieval from QDIO-adapters Next generation of OSA adapters allows retrieval of further self-describing infos. This is the preparational infrastructure patch for further exploitation in the qeth driver. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2a2cf6b18626e66b7898013dfa4df8fe2feca568 Author: Harvey Harrison Date: Thu Apr 17 07:46:21 2008 +0200 [S390] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 1e42f32785dc252191bc8a4825e1fee77519d947 Author: Johannes Weiner Date: Thu Apr 17 07:46:20 2008 +0200 [S390] remove redundant display of free swap space in show_mem() Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit efca13bc70dc2458cd36cc5ae3ffc240b9719222 Author: Ursula Braun Date: Thu Apr 17 07:46:19 2008 +0200 [S390] qdio: remove outdated developerworks link. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9637c3f318374e2fcc37e354f9782a705b517387 Author: Michael Holzheu Date: Thu Apr 17 07:46:18 2008 +0200 [S390] Add debug_register_mode() function to debug feature API The new function supports setting of permissions for the debugfs files created by the debug feature. In addition to that, the function provides uid and gid as parameters for future use. Currently only root is allowed for uid and gid. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9f7819c1e51d5310d012426599a5f49d8678119d Author: Heiko Carstens Date: Thu Apr 17 07:46:17 2008 +0200 [S390] crypto: use more descriptive function names for init/exit routines. Not very helpful when code dies in "init". See also http://lkml.org/lkml/2008/3/26/557 . Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c0015f91d8414f55d2debfe9984a04b98b48f087 Author: Jan Glauber Date: Thu Apr 17 07:46:16 2008 +0200 [S390] switch sched_clock to store-clock-extended. Add get_clock_xt to read an 8 byte clock value using store clock extended (STCKE) and use get_clock_xt for sched_clock. STCKE should be faster than STCK on newer machines. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 2f7c8bd6dc6540aa3275c0ad9f657401985c00e9 Author: Ralph Wuerthner Date: Thu Apr 17 07:46:15 2008 +0200 [S390] zcrypt: add support for large random numbers This patch allows user space applications to access large amounts of truly random data. The random data source is the build-in hardware random number generator on the CEX2C cards. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 893f11286644780fc7d6d415e537644da7bdaaf8 Author: Ralph Wuerthner Date: Thu Apr 17 07:46:14 2008 +0200 [S390] hw_random: allow rng_dev_read() to return hardware errors. The api for hardware random number generators is currently limited to devices that never fail. If the hardware is registered as a source for random numbers it has to work. This prevents the use of i/o based random number devices where the i/o might fail. Add a check for errors after the read from a hardware random number device. This patch is required to support large random numbers retrieved from the CEX2C cards on System z. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c10fde0d9e2112c25052a8742e893ec5965c0007 Author: Heiko Carstens Date: Thu Apr 17 07:46:13 2008 +0200 [S390] Vertical cpu management. If vertical cpu polarization is active then the hypervisor will dispatch certain cpus for a longer time than other cpus for maximum performance. For example if a guest would have three virtual cpus, each of them with a share of 33 percent, then in case of vertical cpu polarization all of the processing time would be combined to a single cpu which would run all the time, while the other two cpus would get nearly no cpu time. There are three different types of vertical cpus: high, medium and low. Low cpus hardly get any real cpu time, while high cpus get a full real cpu. Medium cpus get something in between. In order to switch between the two possible modes (default is horizontal) a 0 for horizontal polarization or a 1 for vertical polarization must be written to the dispatching sysfs attribute: /sys/devices/system/cpu/dispatching The polarization of each single cpu can be figured out by the polarization sysfs attribute of each cpu: /sys/devices/system/cpu/cpuX/polarization horizontal, vertical:high, vertical:medium, vertical:low or unknown. When switching polarization the polarization attribute may contain the value unknown until the configuration change is done and the kernel has figured out the new polarization of each cpu. Note that running a system with different types of vertical cpus may result in significant performance regressions. If possible only one type of vertical cpus should be used. All other cpus should be offlined. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit dbd70fb499952d0ba282f0159dafacfc31d50313 Author: Heiko Carstens Date: Thu Apr 17 07:46:12 2008 +0200 [S390] cpu topology support for s390. Add s390 backend so we can give the scheduler some hints about the cpu topology. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7b758389a29cb7f456ec2d27b7a08cb3cc4e1f1c Author: Heiko Carstens Date: Thu Apr 17 07:46:11 2008 +0200 [S390] Export stfle. Make stfle visible so other code can call this. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit cbce70e687bf9c7968d63f058b4c3d2e90008ce2 Author: Martin Schwidefsky Date: Thu Apr 17 07:46:10 2008 +0200 [S390] Add new fields for System z10 to /proc/sysinfo Add permanent and temporary model capacity and the corresponding capacity value fields for the three capacity identifiers to the output of /proc/sysinfo. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit aa24f7f08baca5aa9201901131cbdd0b14deceb6 Author: Christian Borntraeger Date: Thu Apr 17 07:46:09 2008 +0200 [S390] KVM preparation: split sysinfo definitions for kvm use drivers/s390/sysinfo.c uses the store system information intruction to query the system about information of the machine, the LPAR and additional hypervisors. KVM has to implement the host part for this instruction. To avoid code duplication, this patch splits the common definitions from sysinfo.c into a separate header file include/asm-s390/sysinfo.h for KVM use. Signed-off-by: Christian Borntraeger Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f60c768c387026499bbdefdd807d9124ae2b3a8c Author: Stefan Haberland Date: Thu Apr 17 07:46:08 2008 +0200 [S390] dasd: add sim handling. Now the system reports system information messages (SIM) to the user. The System Reference Code (SRC) which is reported to the user gives the abbility to lookup the reason of the SIM online in the documentation of the storage server. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c2e8b8531b162fb314434f1f2608ba1ddf46b98f Author: Heiko Carstens Date: Thu Apr 17 07:46:07 2008 +0200 [S390] exec_protect: Fix incorrect extern declarations. sys_sigreturn and sys_rt_sigreturn don't take any arguments. So luckily this resulted only in unneeded instead of incorrect code. But still this clearly shows why one should not put extern declarations in C files (will be fixed with a larger sparse patch). Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit a695f16729e00995fe72baf0e8bee4bf9c232ae0 Author: Frank Munzert Date: Thu Apr 17 07:46:06 2008 +0200 [S390] vmur: Use wait queue instead of mutex to serialize open If user space opens a unit record device node then vmur is leaving the kernel with lock open_mutex still held to prevent other processes from opening the device simultaneously. This causes lockdep to complain about a lock held when returning to user space. Now the mutex is replaced by a wait queue to serialize device open. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 92bf435f383a6193d59c687ce87ccca3529c68a1 Author: Michael Holzheu Date: Thu Apr 17 07:46:05 2008 +0200 [S390] tape: duplicate sysfs filename when setting tape device online When a tape device is set online, offline and online again, the following error message is printed on the console: "sysfs: duplicate filename 'non-rewinding' can not be created". The reason is that when setting a device online, the tape driver creates a sysfs symlink from the tape device to the tape class device. Unfortunately the symlink is not removed correctly, when the device is set offline. Instead of passing the tape device object to sysfs_remove_link, the class device object is used. This patch fixes this problem and uses the correct tape device object now. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 00966c0a5b00bc0afdc0bd0446adec271f8b098b Author: Stefan Haberland Date: Thu Apr 17 07:46:04 2008 +0200 [S390] dasd: use GFP_DMA for fba private data allocation allocating dasd_fba_private without GFP_DMA results in IO error during read device characteristics of a FBA disk Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 35b58b028dfc99dd390a09f66945947c4945fa64 Author: Ursula Braun Date: Thu Apr 17 07:46:03 2008 +0200 [S390] qdio: Unrecognized inbound traffic if many FCP devices are online Problem: Usually every FCP device has its own indicator field the adapter uses to signal outstanding work. Once a certain limit of devices is reached, a common indicator field is used. In certain scenarios qdio resets this common indicator field, but handles only part of the FCP-devices sharing the common indicator field. Thus inbound traffic on the non-processed shared FCP-devices is not recognized immediately. Solution: Make sure common indicator field is reset only, if all FCP-devices sharing the indicator are processed. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d1e23375bf5d1079cd54a1c6bc8592c42061f1e1 Author: Heiko Carstens Date: Thu Apr 17 07:46:02 2008 +0200 [S390] sclp: Get rid of in_atomic() use. Reintroduces in_interrupt() check in sclp_tty code. Add may_schedule parameter to vt220 write function, so we can let the write function know if it may schedule or not. So we disallow scheduling for all console calls and may allow them for tty calls. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8284fb19efa1f11ea8dd213e9e227fc1fcb20586 Author: Michael Ernst Date: Thu Apr 17 07:46:01 2008 +0200 [S390] cio: fix parallel cm_enable processing. It is now possible to trigger cm_enable processing several times in parallel without causing a kernel panic. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fe6173d9b33dba18ec462051750fb1b9abcd796d Author: Cornelia Huck Date: Thu Apr 17 07:46:00 2008 +0200 [S390] cio: Trigger verification on device/path not operational. Currently, we don't do much on no path or no device situations during normal user I/O, since we rely on reports regarding those events by the machine. If we trigger a path verification to bring our device state up-to-date, we (a) may recover from path failures earlier and (b) better handle situations where the hardware/hypervisor doesn't give us enough notifications. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 22806dc1a8ffd88a7c7bdd070879e6e323db496a Author: Cornelia Huck Date: Thu Apr 17 07:45:59 2008 +0200 [S390] cio: Fix race for "fast" path gone/path back situations. Make sure we wait for previous evaluations triggered by path state changes to have settled before we manipulate path states again. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 374b8f45f1d5cb17f45ba1d7c74ce8cc9e2f1407 Author: Martin Schwidefsky Date: Thu Apr 17 07:45:58 2008 +0200 [S390] allnoconfig build error. Fix the following link error with allnoconfig: vmem.c:(.text+0x175c): undefined reference to `smp_ptlb_all' vmem.c:(.text+0x1b24): undefined reference to `smp_ptlb_all' fork.c:(.text+0x4190): undefined reference to `smp_ptlb_all' : undefined reference to `smp_ptlb_all' : undefined reference to `smp_ptlb_all' mm/built-in.o:: more undefined references to `smp_ptlb_all' follow make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit de553438eb6c487f72d46019eb3821f6687ce011 Author: Heiko Carstens Date: Thu Apr 17 07:45:57 2008 +0200 [S390] Protect against sigaltstack wraparound. This is just a port of 83bd01024b1fdfc41d9b758e5669e80fca72df66 "x86: protect against sigaltstack wraparound". Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 08a8a0c59e54f7eb80897c1e77efa4a541d11008 Author: Josef 'Jeff' Sipek Date: Thu Apr 17 07:45:56 2008 +0200 [S390] dasd: fix double elevator_exit call when deadline iosched fails to load I compiled the kernel without deadline, and the dasd code exits the old scheduler (CFQ), fails to load the new one (deadline), and then things just hang - with one of these (sorry about the weird chars - I copy & pasted it from a 3270 console): dasd(eckd): 0.0.0151: 3390/0A(CU:3990/01) Cyl:3338 Head:15 Sec:224 ------------ cut here ------------ Badness at kernel/mutex.c:134 Modules linked in: dasd_eckd_mod dasd_mod CPU: 0 Not tainted 2.6.25-rc3 #9 Process exe (pid: 538, task: 000000000d172000, ksp: 000000000d21ef88) Krnl PSW : 0404000180000000 000000000022fb5c (mutex_lock_nested+0x2a4/0x2cc) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000024218 000000000076fc78 0000000000000000 000000000000000f 000000000022f92e 0000000000449898 000000000f921c00 000003e000162590 00000000001539c4 000000000d172000 070000007fffffff 000000000d21f400 000000000f8f2560 00000000002413f8 000000000022fb44 000000000d21f400 Krnl Code: 000000000022fb50: bf2f1000 icm %r2,15,0(%r1) 000000000022fb54: a774fef6 brc 7,22f940 000000000022fb58: a7f40001 brc 15,22fb5a >000000000022fb5c: a7f4fef2 brc 15,22f940 000000000022fb60: c0e5fffa112a brasl %r14,171db4 000000000022fb66: 1222 ltr %r2,%r2 000000000022fb68: a784fedb brc 8,22f91e 000000000022fb6c: c010002a0086 larl %r1,76fc78 Call Trace: (<000000000022f92e> mutex_lock_nested+0x76/0x2cc) <00000000001539c4> elevator_exit+0x38/0x80 <0000000000156ffe> blk_cleanup_queue+0x62/0x7c <000003e0001d5414> dasd_change_state+0xe0/0x8ec <000003e0001d5cae> dasd_set_target_state+0x8e/0x9c <000003e0001d5f74> dasd_generic_set_online+0x160/0x284 <000003e00011e83a> dasd_eckd_set_online+0x2e/0x40 <0000000000199bf4> ccw_device_set_online+0x170/0x2c0 <0000000000199d9e> online_store_recog_and_online+0x5a/0x14c <000000000019a08a> online_store+0xbe/0x2ec <000000000018456c> dev_attr_store+0x38/0x58 <000000000010efbc> sysfs_write_file+0x130/0x190 <00000000000af582> vfs_write+0xb2/0x160 <00000000000afc7c> sys_write+0x54/0x9c <0000000000025e16> sys32_write+0x2e/0x50 <0000000000024218> sysc_noemu+0x10/0x16 <0000000077e82bd2> 0x77e82bd2 Set elevator pointer to NULL in order to avoid double elevator_exit calls when elevator_init call for deadline iosched fails. Also make sure the dasd device driver depends on IOSCHED_DEADLINE so the default IO scheduler of the dasd driver is present. Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 0a22ab92f51478796d5f3997f4f5922409c98b10 Author: Erez Zilber Date: Wed Apr 16 21:09:35 2008 -0700 IB/iser: Don't change itt endianness The itt field in struct iscsi_data is not defined with any particular endianness. open-iscsi should use it as-is without byte-swapping it. This fixes sparse warnings coming from doing ntohl(hdr->itt). Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 068c4ea1bb9ef733961d3d7a104fa9250ba80087 Author: Jack Morgenstein Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Update module version and release date The mlx4_ib driver is stable enough for production use, so bump the version number to 1.0 to indicate this. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9fdd5e5bf682130d1e1dd83d06e99eeafa645c0c Author: Roland Dreier Date: Wed Apr 16 21:09:35 2008 -0700 IPoIB: Handle case when P_Key is deleted and re-added at same index If a P_Key is deleted and then re-added at the same index, then IPoIB gets confused because __ipoib_ib_dev_flush() only checks whether the index is the same without checking whether the P_Key was present, so the interface is stopped when the P_Key is deleted, but the event when the P_Key is re-added gets ignored and the interface never gets restarted. Also, switch to using ib_find_pkey() instead of ib_find_cached_pkey() everywhere in IPoIB, since none of the places that look for P_Keys are in a fast path or in non-sleeping context, and in general we want to kill off the whole caching infrastructure eventually. This also fixes consistency problems caused because some IPoIB queries were cached and some were uncached during the window where the cache was not updated. Thanks to Venkata Subramonyam for debugging this problem and testing this fix. Signed-off-by: Roland Dreier commit d97c51707d7d0716881be84ffd2100449852e44b Author: Erez Zilber Date: Wed Apr 16 21:09:35 2008 -0700 IB/iser: Release connection resources on RDMA_CM_EVENT_DEVICE_REMOVAL event When a RDMA_CM_EVENT_DEVICE_REMOVAL event is raised, iSER should release the connection resources. This is necessary when the IB HCA module is unloaded while open-iscsi is still running. Currently, iSER just BUG()s. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 4ff08a76bce3ed5f7d109c646dcfc474d7946213 Author: Eli Cohen Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Fix incorrect comment mlx4 hardware does not support external DDR memory. Moreover, UAR area (BAR 2) can change depending on FW version. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 4dc51b32582d45cb7e8322d750ffe0e6d82b506d Author: Eli Cohen Date: Wed Apr 16 21:09:35 2008 -0700 IB/mlx4: Fix race when detaching a QP from a multicast group When detaching the last QP from an MCG entry, we need to make sure that at any time, there will be no entry with zero number of QPs which is linked to the list of the MCGs of the corresponding hash index. So don't write back the MCG entry if we are removing the last QP; just unlink the entry. Also, remove an unnecessary MCG read when attaching a QP requires allocation of a new entry in the AMGM. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c83b5b1cb2b050c7a9054f330598df99c31abb98 Author: Stefan Roscher Date: Wed Apr 16 21:09:35 2008 -0700 IB/ehca: Support all ibv_devinfo values in query_device() and query_port() Also, introduce a few inline helper functions to make the code more readable. Signed-off-by: Stefan Roscher Signed-off-by: Roland Dreier commit 4cd1e5eb3cbe6e0cc934959770b4c60eac6ecf66 Author: Roland Dreier Date: Wed Apr 16 21:09:34 2008 -0700 RDMA/nes: Free IRQ before killing tasklet Move the free_irq() call in nes_remove() to before the tasklet_kill(); otherwise there is a window after tasklet_kill() where a new interrupt can be handled and reschedule the tasklet, leading to a use-after-free crash. Cc: Signed-off-by: Roland Dreier commit 940801b27e021b3494a44bc93be3c73fadbe4c2f Author: Jack Morgenstein Date: Wed Apr 16 21:09:34 2008 -0700 IB/mthca: Update module version and release date The ib_mthca driver has been stable for a while, so bump the version number to 1.0 to indicate this. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 0df67030958bad07c3f82f392e3ffb785c56e48d Author: Dotan Barak Date: Wed Apr 16 21:09:34 2008 -0700 IB/mlx4: Update QP state if query QP succeeds If the QP was moved to another state (such as SQE) by the hardware, then after this change the user won't have to set the IBV_QP_CUR_STATE mask in order to execute modify QP in order to recover from this state. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 5121df3ae45731ce98374a1b0b4d48f072643f42 Author: Dotan Barak Date: Wed Apr 16 21:09:34 2008 -0700 IB/mthca: Update QP state if query QP succeeds If the QP was moved to another state (such as SQE) by the hardware, then after this change the user won't have to set the IBV_QP_CUR_STATE mask in order to execute modify QP in order to recover from this state. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 9285faa1e7c8ffcc8901c40f6e1cc06d93e92431 Author: Tom Tucker Date: Wed Apr 16 21:09:34 2008 -0700 RDMA/amso1100: Add check for NULL reply_msg in c2_intr() Fix a place where we might dereference a NULL pointer; this fixes Coverity CID 1392. On inspection I also found a place where we could attempt to kmem_cache_free() a NULL pointer, so fix this too. Signed-off-by: Tom Tucker Signed-off-by: Roland Dreier commit bbf8eed1a0f8949f7385146624f736f829992a70 Author: Vladimir Sokolovsky Date: Wed Apr 16 21:09:33 2008 -0700 IB/mlx4: Add support for resizing CQs Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 3fdcb97f0b8d8a29117dc36acd0b15965d2a2160 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IB/mlx4: Add support for modifying CQ moderation parameters Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 28d52b3cd8d48ef0ff77d4a8a7a21fc2816bb0a5 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IPoIB: Support modifying IPoIB CQ event moderation This can be used to tune at run time the parameters controlling the event (interrupt) generation rate and thus reduce the overhead incurred by handling interrupts resulting in better throughput. Since IPoIB uses a single CQ for both RX and TX, RX is chosen to dictate configuration for both RX and TX. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 2dd5716227878d5950988514a2cbabf72f7fc888 Author: Eli Cohen Date: Wed Apr 16 21:09:33 2008 -0700 IB/core: Add support for modify CQ Add support for modifying CQ parameters for controlling event generation moderation. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 82c24c18afc5e1c2a955bdc2762b19721283365c Author: Eli Cohen Date: Wed Apr 16 21:09:32 2008 -0700 IPoIB: Add basic ethtool support Just add the infrastructure so we can add functionality later. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 9b1f38515c41a5f13021e15b50b6558db236d6d5 Author: Jack Morgenstein Date: Wed Apr 16 21:09:32 2008 -0700 mlx4_core: Increase max number of QPs to 128K With the advent large clusters which utilize multicore hosts, 64K QPs is not enough. We should increase the default maximum for QPs to 128K. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 139b2db7951ed0c808884cfebca02a884aebe0c3 Author: Roland Dreier Date: Wed Apr 16 21:09:32 2008 -0700 RDMA/amso1100: Add support for "send with invalidate" work requests Handle IB_WR_SEND_WITH_INV work requests. This resurrects a patch sent long ago by Mikkel Hagen . Signed-off-by: Roland Dreier commit 0f39cf3d54e67a705773fd0ec56ca3dcd3e9272f Author: Roland Dreier Date: Wed Apr 16 21:09:32 2008 -0700 IB/core: Add support for "send with invalidate" work requests Add a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a "send with invalidate" work request as defined in the iWARP verbs and the InfiniBand base memory management extensions. Also put "imm_data" and a new "invalidate_rkey" member in a new "ex" union in struct ib_send_wr. The invalidate_rkey member can be used to pass in an R_Key/STag to be invalidated. Add this new union to struct ib_uverbs_send_wr. Add code to copy the invalidate_rkey field in ib_uverbs_post_send(). Fix up low-level drivers to deal with the change to struct ib_send_wr, and just remove the imm_data initialization from net/sunrpc/xprtrdma/, since that code never does any send with immediate operations. Also, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since the iWARP drivers currently in the tree set the bit. The amso1100 driver at least will silently fail to honor the IB_SEND_INVALIDATE bit if passed in as part of userspace send requests (since it does not implement kernel bypass work request queueing). Remove the flag from all existing drivers that set it until we know which ones are OK. The values chosen for the new flag is not consecutive to avoid clashing with flags defined in the XRC patches, which are not merged yet but which are already in use and are likely to be merged soon. This resurrects a patch sent long ago by Mikkel Hagen . Signed-off-by: Roland Dreier commit e7eacd36865ae0707f5efae8e4dda421ffcd1b66 Author: Ralph Campbell Date: Wed Apr 16 21:09:32 2008 -0700 IB/ipath: Update copyright dates for files changed in 2008 Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 124b4dcb1dd3a6fb80051f1785117a732d785f70 Author: Dave Olson Date: Wed Apr 16 21:09:32 2008 -0700 IB/ipath: add calls to new 7220 code and enable in build This patch adds the initialization calls into the new 7220 HCA files, changes the Makefile to compile and link the new files, and code to handle send DMA. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit bb9171448deb1f7ece27674e2e431e4f267fd453 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Misc changes to prepare for IB7220 introduction The patch adds a number of minor changes to support newer HCAs: - New send buffer control bits - New error condition bits - Locking and initialization changes - More send buffers Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 8babfa4fb9bfe93d57c700410a4f8be9fbd3edd7 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: User mode send DMA A new file which allows the IBA7220 send DMA engine to be used from userland. The routines here are not linked in yet, that will happen in a follow-on patch... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 909c0faa8fd8a68fab34f099fe8469e608d8b362 Author: Arthur Jones Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: User mode send DMA header file A new header file which allows the IBA7220 send DMA engine to be used from userland. The definitions here are not used yet, that will happen in a follow-on patch... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit f7a60d71af49d7d23d8b827833e4258eba00479d Author: John Gregor Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Add code for IBA7220 send DMA The IBA7220 HCA has a new feature to DMA data to the on chip send buffers instead of or in addition to the host CPU doing the data transfer. This patch adds code to support the send DMA queue. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 2c19643563aed5593c62525e9941a47e56273ccf Author: Ralph Campbell Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Add IBA7220-specific SERDES initialization data This patch adds binary data to initialize the IB SERDES. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit ab0fb2e0490e5e453a02ad72fd3529ce1561e1c6 Author: Michael Albaugh Date: Wed Apr 16 21:09:31 2008 -0700 IB/ipath: Support for SerDes portion of IBA7220 The control and initialization of the SerDes blocks of the IBA7220 is sufficiently complex to merit a separate file. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 843e6ab489cb5a2fd5df45bed1254812bc8ed8fa Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: HCA-specific code to support IBA7220 This patch adds the HCA-specific code for the IBA7220 HCA. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit dd042d59c18b2f26375494af7f5b6d1499acd2bb Author: Michael Albaugh Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Isolate 7220-specific content This patch adds a new ASIC-specific header file for the HCAs using the IBA7220. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit afce688ba968723a9e281b141bf7b0ab43a36968 Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Header file changes to support IBA7220 This is part of a patch series to add support for a new HCA. This patch adds new fields to the header files. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6bb68835d3eb72cd490056fda75d95493c31461b Author: Ralph Campbell Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Fix up error handling This patch makes chip reset more robust and reduces lock contention between user and kernel TID register updates. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9b436eb4f8ec39238582d4fe11b7d20e9ae3c45b Author: Dave Olson Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Fix check for no interrupts to reliably fallback to INTx Newer HCAs support MSI interrupts and also INTx interrupts. Fix the code so that INTx can be reliably enabled if MSI interrupts are not working. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1d7c2e529fb6d4143d294ade7d99e29cb6b3775f Author: Dave Olson Date: Wed Apr 16 21:09:30 2008 -0700 IB/ipath: Enable reduced PIO update for HCAs that support it. Newer HCAs have a threshold counter to reduce the number of DMAs the chip makes to update the PIO buffer availability status bits. This patch enables the feature. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 0ab6b2b9abb692919902edb6606c3b898f2dac17 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Set LID filtering for HCAs that support it. Whenever the LID is set, notify the HCA specific code so that the appropriate HW registers can be updated. Also log the info on the console at low priority. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit b3e8f541072ec688738abf8de4ef158127a6b5f2 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Add support for IBTA 1.2 Heartbeat This patch adds code to enable/disable the IBTA 1.2 heartbeat for testing if the HCA supports it. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 555b203e48faeacc0373eda7bc87db874db37136 Author: Dave Olson Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Make link state transition code ignore (transient) link recovery The hardware-based recovery doesn't need any intervention, and in a few cases we can get a bit confused about state and skip steps such as turning off the link state LED when we consider recovery to be "down". So ignore this transition, and either we recover in hardware, or we transition to down, and will handle it then. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 9355fb6a064723c71e80e9c78de3140b43bfb52d Author: Ralph Campbell Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Add support for 7220 receive queue changes Newer HCAs have a HW option to write a sequence number to each receive queue entry and avoid a separate DMA of the tail register to memory. This patch adds support for these changes. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2ba3f56eb402672ff83601b5990b219d39577636 Author: Ralph Campbell Date: Wed Apr 16 21:09:29 2008 -0700 IB/ipath: Fix some white space and code style issues This patch makes some white space changes and minor non-functional changes to more closely match the code in OFED-1.3. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit afd9970f957454782795b23c89fd6d7dde973cc0 Author: Michael Albaugh Date: Wed Apr 16 21:09:28 2008 -0700 IB/ipath: Allow old and new diagnostic packet formats This patch checks for old and new format writes to send a packet via the diagnostic interface. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 7ce5eacb45a7c819a6bec6ed486f27db9aab6ab6 Author: Dotan Barak Date: Wed Apr 16 21:09:28 2008 -0700 IB/core: Check optional verbs before using them Make sure that a device implements the modify_srq and reg_phys_mr optional methods before calling them. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit b3b8128fd3b0966830ee90f1162173d07cb496a0 Author: Robert P. J. Day Date: Wed Apr 16 21:09:28 2008 -0700 IB/ipath: Fix time comparison to use time_after_eq() Raw comparison against jiffies will fail if jiffies wraps, although since ipath currently only supports 64-bit architectures, this is rather far-fetched. Still, it's better to use time_after_eq(). Signed-off-by: Robert P. J. Day Signed-off-by: Roland Dreier commit f438000f7a31fad7cfd27f33ad324a250f4cd2df Author: Roland Dreier Date: Wed Apr 16 21:09:28 2008 -0700 IB/mlx4: Micro-optimize mlx4_ib_post_send() Rather than have build_mlx_header() return a negative value on failure and the length of the segments it builds on success, add a pointer parameter to return the length and return 0 on success. This matches the calling convention used for build_lso_seg() and generates slightly smaller code -- eg, on 64-bit x86: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-22 (-22) function old new delta mlx4_ib_post_send 2023 2001 -22 Signed-off-by: Roland Dreier commit b832be1e4007f4a54954ec68bd865ff05d6babca Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/mlx4: Add IPoIB LSO support Add TSO support to the mlx4_ib driver. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 40ca1988e03c001747d0b4cc1b25cf38297c9f9e Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IPoIB: Add LSO support For HCAs that support TCP segmentation offload (IB_DEVICE_UD_TSO), set NETIF_F_TSO and use HW LSO to offload TCP segmentation. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c93570f23a98c633570397aedc6d1808f5d5846a Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/core: Add IPoIB UD LSO support LSO (large send offload) allows the networking stack to pass SKBs with data size larger than the MTU to the IPoIB driver and have the HCA HW fragment the data to multiple MSS-sized packets. Add a device capability flag IB_DEVICE_UD_TSO for devices that can perform TCP segmentation offload, a new send work request opcode IB_WR_LSO, header, hlen and mss fields for the work request structure, and a new IB_WC_LSO completion type. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit b846f25aa2a353355aec5202fe4dbdc6674dfc64 Author: Eli Cohen Date: Wed Apr 16 21:09:27 2008 -0700 IB/core: Add creation flags to struct ib_qp_init_attr Add a create_flags member to struct ib_qp_init_attr that will allow a kernel verbs consumer to create a pass special flags when creating a QP. Add a flag value for telling low-level drivers that a QP will be used for IPoIB UD LSO. The create_flags member will also be useful for XRC and ehca low-latency QP support. Since no create_flags handling is implemented yet, add code to all low-level drivers to return -EINVAL if create_flags is non-zero. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit d84e0b28d3a0b41fc574ea50d60522ae0fba75f4 Author: Michael Albaugh Date: Wed Apr 16 21:09:27 2008 -0700 IB/ipath: EEPROM support for 7220 devices, robustness improvements, cleanup Add support for reading newer card's EEPROMs while continuing to support older EEPROMs. Also, add support for the temperature sensor if present. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit d98b1937768c9f4e4420bd25406e5f0304d224bb Author: Ralph Campbell Date: Wed Apr 16 21:09:27 2008 -0700 IB/ipath: Use PIO buffer for RC ACKs This reduces the latency for RC ACKs when a PIO buffer is available. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c4b4d16e090e1b68d1d4d20a28757070982b9725 Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Make send buffers available for kernel if not allocated to user A fixed partitioning of send buffers is determined at driver load time for user processes and kernel use. Since send buffers are a scarce resource, it makes sense to allow the kernel to use the buffers if they are not in use by a user process. Also, eliminate code duplication for ipath_force_pio_avail_update(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 4330e4dad780467d930b394b5119c0218a1e2dbe Author: Michael Albaugh Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Prevent link-recovery code from negating admin disable The link can be put in LINKDOWN_DISABLE state either locally or via a MAD. However, the link-recovery code will take it out of that state as a side-effect of attempts to clear SerDes/XGXS issues. We add a flag to indicate "link is down on purpose, leave it alone." Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8c641d4b5f6653b6c486eab4d8e8d59539066f31 Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Remove some useless (void) casts Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 928e3e4bb9b0d3172bdb44d49b604fa6601078bb Author: Ralph Campbell Date: Wed Apr 16 21:09:26 2008 -0700 IB/ipath: Change the module author Update the module author to the current email address. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 4e96a774407b98c8095cfbd6c7202cb7fdf0d7be Author: Robert P. J. Day Date: Wed Apr 16 21:09:26 2008 -0700 RDMA/nes: Use more concise list_for_each_entry() In list iteration code, you normally wouldn't be calling "container_of()" directly anyway, you'd be invoking "list_entry()". But you don't even need that here, "list_for_each_entry()" is fine. Signed-off-by: Robert P. J. Day Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 157de229468b2a63bbc8f9a7d37c70a2c9731ac8 Author: Robert P. J. Day Date: Wed Apr 16 21:09:26 2008 -0700 IB: Use shorter list_splice_init() for brevity Convert list_splice() + INIT_LIST_HEAD() to the equivalent list_splice_init() Signed-off-by: Robert P. J. Day Signed-off-by: Roland Dreier commit 10f32065a25d22bf7894fa39ff2ce8492922086a Author: Julia Lawall Date: Wed Apr 16 21:09:25 2008 -0700 RDMA/iwcm: Test rdma_create_id() for IS_ERR rather than 0 The function rdma_create_id() always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = rdma_create_id(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Signed-off-by: Roland Dreier commit 4d43653263084bff55691ae9cbb3c53c9044f064 Author: Roland Dreier Date: Wed Apr 16 21:09:25 2008 -0700 RDMA/nes: Remove session_id from nes_cm stuff The session_id members of struct nes_cm_listener and struct nes_cm_node are write-only, so remove them. This allows the session_id member of struct nes_cm_core to be removed as well, since it is only used to write those other session_id values. This removes the use of current->tgid (which will be deprecated) pointed out by Pavel Emelyanov . Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 782203884eea5f610444bcf4ed1b4af0010911eb Author: Roland Dreier Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Fix PCI config write size used to clear linkctrl error bits In slave_or_pri_blk(), pci_write_config_byte() is used to write a 16-bit quantity to clear linkctrl CRC error bits. This is clearly a bug and also causes the warning drivers/infiniband/hw/ipath/ipath_iba6110.c: In function 'slave_or_pri_blk': drivers/infiniband/hw/ipath/ipath_iba6110.c:849: warning: overflow in implicit constant conversion Fix this by using pci_write_config_word() instead. Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 10a8c3cd0157948ba421b3b69b89edfba6ddb4a5 Author: Ralph Campbell Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Fix sanity checks on QP number of WRs and SGEs The receive queue number of WRs and SGEs shouldn't be checked if a SRQ is specified. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 69bd74c6968f45a864a394338a63da4b768da6ec Author: Ralph Campbell Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: Remove useless comments Remove useless comment about list removal since locks are held and the code checks that the QP is on the list before removing it. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 72708a0a2b60e83255631f2557a85ac7daf33fac Author: Dave Olson Date: Wed Apr 16 21:09:25 2008 -0700 IB/ipath: HW workaround for case where chip can send but not receive Workaround a QLE7140 problem that in rare cases causes flow control problems after link recovery by forcing a link retrain after recovery. A module parameter is provided to control the behavior in case it causes problems. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit a51a2513a8cb201f02d83c37e106909938d2f761 Author: Ralph Campbell Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Add code to support multiple link speeds and widths This patch adds code to get/set portinfo to support multiple link speeds and widths. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 58411d1c012dca53ec9107bd98acb63f648e2435 Author: John Gregor Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Head of Line blocking vs forward progress of user apps There's a conflict between our need to quiesce PSM-based applications to avoid HoL blocking when the IB link goes down and the apps' desire to remain running so that their quiescence timout mechanism can keep running. The compromise is to STOP the processes for a fixed period of time and then alternate between CONT and STOP until the link is again active. If there are poor interactions with subnet manager configuration at a given site, the interval can be adjusted via a module paramter. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 6be979d71a5e8720c8560cc58713407947e5f691 Author: Ralph Campbell Date: Wed Apr 16 21:09:24 2008 -0700 IB/ipath: Make debug error message match the constraint that is checked for Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c1702be20fd44f4c878a182be1559c2242916820 Author: Ralph Campbell Date: Wed Apr 16 21:01:14 2008 -0700 IB/ipath: Don't try to handle freeze mode HW errors if diagnostic mode Don't try to handle freeze mode HW errors if the driver is in diagnostic mode since some tests can cause errors that shouldn't be processed. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit b84888215310002e3d266d5a7fe458bb224f6881 Author: Arthur Jones Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix link up LED display The check for link up was incorrect, thus setting the LED display inconsistently with the link state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 8bae0ff2590c0b709d217da4466c6dba0b6b885c Author: Ralph Campbell Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix error recovery for send buffer status after chip freeze mode The error recovery code for updating the driver's cached status information for which send buffers are busy or free wasn't updated for IBA7220. It should be similar to the initialization code in enable_chip(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 0349d1662027fee36e590640b3b05fd979ae26f8 Author: Ralph Campbell Date: Wed Apr 16 21:01:13 2008 -0700 IB/ipath: Fix byte order of pioavail in handle_errors() Fix byte order of value assigned to pioavailshadow. This bug was detected by sparse endianness warnings. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c263ff65d5936113cfcbb8139d34122361e2306e Author: Roland Dreier Date: Wed Apr 16 21:01:13 2008 -0700 IB/mthca: Avoid integer overflow when allocating huge ICM table In mthca_alloc_icm_table(), the number of entries to allocate for the table->icm array is computed by calculating obj_size * nobj and then dividing by MTHCA_TABLE_CHUNK_SIZE. If nobj is really large, then obj_size * nobj may overflow and the division may get the wrong value (even a negative value). Fix this by calculating the number of objects per chunk and then dividing nobj by this value instead. This patch allows crazy configurations such as loading ib_mthca with the module parameter num_mtt=33554432 to work properly. Signed-off-by: Roland Dreier commit 19773539d6369c54fbb0c870de0c75417b0020d1 Author: Roland Dreier Date: Wed Apr 16 21:01:13 2008 -0700 IB/mthca: Avoid integer overflow when dealing with profile size mthca_make_profile() returns the size in bytes of the HCA context layout it creates, or a negative value if an error occurs. However, the return value is declared as u64 and the memfree initialization path casts this value to int to test if it is negative. This makes it think incorrectly than an error has occurred if the context size happens to be bigger than 2GB, since this turns into a negative int. Fix this by having mthca_make_profile() return an s64 and testing for an error by checking whether this 64-bit value itself is negative. Signed-off-by: Roland Dreier commit f4f82994d1ea0cd01058a245985f1eb5e569e6d3 Author: Hoang-Nam Nguyen Date: Wed Apr 16 21:01:13 2008 -0700 IB/ehca: Remove tgid checking Pavel Emelyanov mentioned in that the task_struct->tgid field is about to become deprecated, so the uses in the ehca driver need to be fixed up. However, all the uses in ehca are for some object ownership checking that is not really needed, and anyway is implementing a policy that should be in common code rather than a low-level driver. So just remove all the checks. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 1e89a1946cfd906d12eff437d2a76b3aa7f5e731 Author: David Dillow Date: Wed Apr 16 21:01:12 2008 -0700 IB/srp: Enforce protocol limit on srp_sg_tablesize The current SRP initiator will allow unlimited s/g entries in the indirect descriptors lists, but the entry count field in the SRP_CMD request is 8 bits, so setting srp_sg_tablesize too large will open the possibility of wrapping the count and generating invalid requests. Clamp srp_sg_tablesize to the protocol limits to prevent surprises. Reported by Martin W. Schlining III . Signed-off-by: David Dillow Signed-off-by: Roland Dreier commit 826d801009fb3c82832f2d92149446cce354bf61 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Enable 4KB MTU Enable use of 4KB MTU. Since the driver uses more pinned memory for receive buffers when the 4KB MTU is enabled, whether or not the fabric supports that MTU, add a "mtu4096" module parameter that can be used to limit the MTU to 2KB when it is known that 4KB MTUs can't be used anyway. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 5d1ce03dd335abaef50dc615137cac2a22c5cee0 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Shared context code needs to be sure device is usable The code was checking if units are present, but not that present units were usable (link up, etc.) Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 6ca2abf4c02fb3e35247a985c2b6f5834e995033 Author: Arthur Jones Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Provide I/O bus speeds for diagnostic purposes Modern I/O buses like PCIe and HT can be configured for multiple speeds and widths. When an ipath HCA seems to have lower than expected performance, it is very useful to be able to display what the driver thinks the bus speed is. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f2ceb4929ab543e54efaadcad215a105df684f36 Author: Dave Olson Date: Wed Apr 16 21:01:12 2008 -0700 IB/ipath: Make some constants chip-specific, related cleanup This patch makes some constants chip-specific, and makes some related changes to prepare for supporting another HCA. Signed-off-by: Dave Olson commit 3dd59e226e01ddb5b041eb0b2e7c7f28b1f730c9 Author: Arthur Jones Date: Wed Apr 16 21:01:11 2008 -0700 IB/ipath: Misc sparse warning cleanup Recent sparse versions and kernel cleanups knock down the false positive rate of the ipath driver code to a point where having it be sparse clean is worthwhile. Here we fixup the sparse warnings. Some of these warnings (and the impetus to run sparse again) are due to work by Roland Dreier. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 680b575f6d1ae8aa39c4d7ee7e40b749d277fa9f Author: Eli Cohen Date: Wed Apr 16 21:01:11 2008 -0700 IB/mthca: Add IPoIB checksum offload support Arbel and Sinai devices support checksum generation and verification of TCP and UDP packets for UD IPoIB messages. This patch checks if the HCA supports this and sets the IB_DEVICE_UD_IP_CSUM capability flag if it does. It implements support for handling the IB_SEND_IP_CSUM send flag and setting the csum_ok field in receive work completions. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 8ff095ec4bce7be943beff3b330562e2f0e42167 Author: Eli Cohen Date: Wed Apr 16 21:01:10 2008 -0700 IB/mlx4: Add IPoIB checksum offload support ConnectX devices support checksum generation and verification of TCP and UDP packets for UD IPoIB messages. This patch checks if the HCA supports this and sets the IB_DEVICE_UD_IP_CSUM capability flag if it does. It implements support for handling the IB_SEND_IP_CSUM send flag and setting the csum_ok field in receive work completions. Signed-off-by: Eli Cohen Signed-off-by: Ali Ayub Signed-off-by: Roland Dreier commit 6046136c742e32d5e6431cdcd8957638d1816821 Author: Eli Cohen Date: Wed Apr 16 21:01:10 2008 -0700 IPoIB: Use checksum offload support if available For HCAs that support checksum offload (ie that set IB_DEVICE_UD_IP_CSUM in the device capabilities flags), have IPoIB set NETIF_F_IP_CSUM and use the HCA to generate and verify IP checksums. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 3371836383d63b627b228875f5ac63023cbf11d2 Author: Harvey Harrison Date: Wed Apr 16 21:01:10 2008 -0700 IB: Replace remaining __FUNCTION__ occurrences with __func__ __FUNCTION__ is gcc-specific, use __func__ instead. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit e8e91f6b4dc1179a70b0d21241b769c0ebfaa129 Author: Roland Dreier Date: Wed Apr 16 21:01:10 2008 -0700 IB/ehca: Make symbols used only in a single source file static Allow the compiler to optimize better and generate smaller code: add/remove: 0/6 grow/shrink: 2/0 up/down: 1528/-1864 (-336) function old new delta .ehca_set_pagebuf 1344 2172 +828 .ehca_probe 2312 3012 +700 ehca_set_pagebuf_phys 24 - -24 ehca_set_pagebuf_fmr 24 - -24 ehca_init_device 24 - -24 .ehca_set_pagebuf_fmr 480 - -480 .ehca_set_pagebuf_phys 512 - -512 .ehca_init_device 800 - -800 Also this fixes warnings like: drivers/infiniband/hw/ehca/ehca_mrmw.c:2015:5: warning: symbol 'ehca_set_pagebuf_fmr' was not declared. Should it be static? Signed-off-by: Roland Dreier commit 1a855fbfb65e0b7b5cce00d7c6a61185ed765edf Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Make symbols used only in a single source file static Avoid namespace pollution and allow the compiler to optimize better. Signed-off-by: Roland Dreier commit 71e0957c6291da030e6f89351846225876731df3 Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Use proper format and cast to print dma_addr_t On some platforms, eg sparc64, dma_addr_t is not the same size as a pointer, so printing dma_addr_t values by casting to void * and using a %p format generates warnings. Fix this by casting to unsigned long and using %lx instead. This fixes the warnings: drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_setup_virt_qp': drivers/infiniband/hw/nes/nes_verbs.c:1047: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c:1078: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c:1078: warning: cast to pointer from integer of different size drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_reg_user_mr': drivers/infiniband/hw/nes/nes_verbs.c:2657: warning: cast to pointer from integer of different size Reported by Andrew Morton . Signed-off-by: Roland Dreier commit 9d84ab9c7e82e7b6b9f8c25794f64f65d021c8fd Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Remove unused nes_netdev_exit() function nes_netdev_exit() has no callers, so delete it. Signed-off-by: Roland Dreier commit 5bd8341ce2bb5ef575b3501a8c13f22ae9f0b2ad Author: Roland Dreier Date: Wed Apr 16 21:01:09 2008 -0700 RDMA/nes: Remove redundant NULL check in nes_unregister_ofa_device() nes_unregister_ofa_device() dereferences the nesibdev pointer before testing if it's NULL. Also, the test is doubly redundant because the only caller of nes_unregister_ofa_device() is nes_destroy_ofa_device(), which already tests if nesibdev is NULL. Remove the unnecessary test. This was spotted by the Coverity checker (CID 2190). Signed-off-by: Roland Dreier commit a7dab9e887ce37391f004ffd6ce0ffed7272fd69 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 IB/uverbs: Use alloc_file() instead of get_empty_filp() Christoph Hellwig wants to unexport get_empty_filp(), which is an ugly internal interface. Change the modular user in ib_uverbs_alloc_event_file() to use the better alloc_file() interface; this makes the code cleaner too. Signed-off-by: Roland Dreier commit 1ae5c187acb67c2929428479c23a79c4288f0c68 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 IB/uverbs: Don't store struct file * for event files The file member of struct ib_uverbs_event_file was only used to keep track of whether the file had been closed or not. The only thing we ever did with the value was check if it was NULL or not. Simplify the code and get rid of the need to keep track of the struct file * we allocate by replacing the file member with an is_closed member. Signed-off-by: Roland Dreier commit 37608eea86a358ac6a18df0af55d4f77d08a1f30 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums The struct mlx4_interface.event() method was supposed to get an enum mlx4_dev_event, but the driver code was actually passing in the hardware enum mlx4_event values. Fix up the callers of mlx4_dispatch_event() so that they pass in the right type of value, and fix up the event method in mlx4_ib so that it can handle the enum mlx4_dev_event values. This eliminates the need for the subtype parameter to the event method, so remove it. This also fixes the sparse warning drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types drivers/net/mlx4/intf.c:127:48: int enum mlx4_event versus drivers/net/mlx4/intf.c:127:48: int enum mlx4_dev_event Signed-off-by: Roland Dreier commit 26c4fc26d0af9b16a6a234318d15ee0b3896a63d Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/amso1100: Endian annotate mqsq allocator Signed-off-by: Roland Dreier commit dc544bc9cb8aa91c5d7fc9116a302f88a8a97250 Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/amso1100: Start of endianness annotation Signed-off-by: Roland Dreier Acked-by: Steve Wise commit d23b9d8ff2fcadc6f2fba83f654a122b9e16f02c Author: Roland Dreier Date: Wed Apr 16 21:01:08 2008 -0700 RDMA/nes: Delete unused variables None of the cqp_reqs_XXX counters were ever used anywhere, and neither was the nics_per_function variable. Signed-off-by: Roland Dreier commit b30db1c186635c72683324ddfd10a387ce449075 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 RDMA/nes: Trivial endianness annotations Fix a couple of htonl() that should really be ntohl(). Signed-off-by: Roland Dreier commit 9cda779cc2d0acf30e0fda67897a14c78b34f5a3 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 RDMA/ucma: Endian annotation Add __force cast of node_guid to __u64, since we are sticking it into a structure whose definition is shared with userspace. Signed-off-by: Roland Dreier commit a88f488857cd2e54789791d2b5e8d116721d5cb7 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/cm: Endianness annotations Mostly update the RB tree comparisons to force __be types to normal integers, but the change to cm_format_sidr_req() is a real fix: param->path->pkey is already __be16. Signed-off-by: Roland Dreier Acked-by: Sean Hefty commit d2ae16d576086bd3e539f4e94f95df4e37ea2419 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/mlx4: Endianness annotations Trivial fixes to stamp_send_wqe(). Signed-off-by: Roland Dreier commit 6358ae25fd0d8cb4eab5e4e152ade8ac406b5278 Author: Roland Dreier Date: Wed Apr 16 21:01:07 2008 -0700 IB/ipath: Fix sparse warning about shadowed symbol Fix drivers/infiniband/hw/ipath/ipath_init_chip.c:526:10: warning: symbol 'val' shadows an earlier one drivers/infiniband/hw/ipath/ipath_init_chip.c:473:6: originally declared here by giving the second val a different name. Signed-off-by: Roland Dreier Acked-by: Arthur Jones commit 6ef6aee2f0ff111a2439b02b9d788097ca82f9d1 Author: Arthur Jones Date: Wed Apr 16 21:01:06 2008 -0700 IB/ipath: Fix sparse warning about pointer signedness There's no reason for the third parameter of ipath_count_units() to be a u32 *, so change it to be an int * instead. This fixes the sparse warning: drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: warning: incorrect type in argument 3 (different signedness) drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: expected unsigned int [usertype] *maxportsp drivers/infiniband/hw/ipath/ipath_file_ops.c:1654:47: got int * Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit b3d636b0d1b2eb870a55ae196b8f3838e1399554 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 IB: Make struct ib_uobject.id a signed int IDR IDs are signed, so struct ib_uobject.id should be signed. This avoids some sparse pointer signedness warnings. Signed-off-by: Roland Dreier commit edba846af9e1f27bab00d5aebfeef01386e00af0 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 RDMA/cxgb3: IDR IDs are signed Fix sparse warnings about pointer signedness by using a signed int when calling idr_get_new_above(). Signed-off-by: Roland Dreier Acked-by: Steve Wise commit 4b29043921ef021443c5e0d055b7b8dd5df88258 Author: Roland Dreier Date: Wed Apr 16 21:01:06 2008 -0700 RDMA/amso1100: Don't use 0UL as a NULL pointer Write tests for NULL pointers as if (!ptr) instead of if (ptr == 0UL) to fix sparse warnings. Signed-off-by: Roland Dreier Acked-by: Steve Wise commit ca2812111433284024386a8cfd4151651469523e Author: Roland Dreier Date: Wed Apr 16 21:01:04 2008 -0700 mlx4_core: Move opening brace of function onto a new line Signed-off-by: Roland Dreier commit 5d5e815db9651909e435918e46c84dfcbc36154f Author: Roland Dreier Date: Wed Apr 16 21:01:04 2008 -0700 IB/mlx4: Convert "if(foo)" to "if (foo)" Signed-off-by: Roland Dreier commit b39993936d3b192ea088995f7ba882a49e4bf09c Author: Roland Dreier Date: Wed Apr 16 21:01:03 2008 -0700 IB/mthca: Formatting cleanups Fix a few whitespace and other coding style problems. Signed-off-by: Roland Dreier commit 8c95b4773dd8d0415269ffad7301ef96d75be8ee Merge: bcff122... 30b89b0... Author: David S. Miller Date: Wed Apr 16 19:37:51 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit bcff122d478b774f4fd5262f35eedebe2f2fb274 Author: Allan Stephens Date: Wed Apr 16 18:22:20 2008 -0700 [TIPC]: Cleanup of TIPC reference table code This patch is a largely cosmetic cleanup of the TIPC reference table code. - The object reference field in each table entry is now single 32-bit integer instead of a union of two 32-bit integers. - Variable naming has been made more consistent. - Error message output has been made more consistent. - Useless #includes have been eliminated. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0089509826b4997c37f08dfbdfb96ee952096cc9 Author: Allan Stephens Date: Wed Apr 16 18:21:47 2008 -0700 [TIPC]: Optimized initialization of TIPC reference table This patch modifies TIPC's reference table code to delay initializing table entries until they are actually needed by applications. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 4784b7c348779e957c82ba638ba2ada5ad8502d8 Author: Allan Stephens Date: Wed Apr 16 18:21:16 2008 -0700 [TIPC]: Remove inlining of reference table locking routines This patch converts the TIPC reference table locking routines into non-inlined routines, since they are mainly called from non-performance critical areas of TIPC and the added code footprint incurred through inlining can no longer be justified. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 406874a7ccee927049b1c182df69457718b938da Author: Joe Perches Date: Thu Apr 3 10:06:32 2008 -0700 e1000: convert uint16_t style integers to u16 Conglomerate from 4 separate patches from Joe. Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 222441a6201f791238320e77eb4ba9528cd3934c Author: Joe Perches Date: Thu Apr 3 10:06:25 2008 -0700 ixgb: convert uint16_t style integers to u16 Conglomerate of 4 separate patches by Joe. Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7dd73bbcc99b755436d8dc4b412d23e92a685f4d Author: Denys Vlasenko Date: Mon Mar 31 01:13:00 2008 +0200 sb1000.c: make const arrays static This patch replaces automatic constant arrays a-la const unsigned char Command0[6] = {0x80, 0x16, 0x00, 0x00, 0x00, 0x00}; with static ones. Size difference for 32bit x86: text data bss dec hex filename 5418 129 0 5547 15ab linux-2.6.inline-ALLYES/drivers/net/sb1000.o 5396 129 0 5525 1595 linux-2.6.followup-ALLYES/drivers/net/sb1000.o Signed-off-by: Denys Vlasenko Signed-off-by: Jeff Garzik commit a8d06342baab56901bfd70c4f66be382d4b9967d Author: Denys Vlasenko Date: Mon Mar 31 01:02:43 2008 +0200 sb1000.c: stop inlining largish static functions drivers/net/sb1000.c has lots of inlined static functions. Mst of them are used at initialization, wait for some hardware register to change (wait using yield, sleep etc), or do slow port-based I/O. Inlining thse "for speed" makes no sense. This patch removes "inline" from biggest static function (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 6299 129 0 6428 191c linux-2.6-ALLYES/drivers/net/sb1000.o 5418 129 0 5547 15ab linux-2.6.inline-ALLYES/drivers/net/sb1000.o Signed-off-by: Denys Vlasenko Signed-off-by: Jeff Garzik commit aa39432326a91a7b819ec3f8d78b05e04b708ce5 Author: Adrian Bunk Date: Mon Mar 31 02:22:14 2008 +0300 #if 0 netxen_nic_link_ok() This patch #if 0's the no longer used netxen_nic_link_ok(). Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit b1555130c7d7e1d4cc5b7784cd090668db244fc5 Author: Adrian Bunk Date: Mon Mar 31 02:22:18 2008 +0300 make netxen_workq static netxen_workq can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3caa4af834df519fda0f1ea6af4a5c7abfec98c7 Author: Ursula Braun Date: Tue Apr 1 10:27:00 2008 +0200 qeth: keep ip-address after LAN_OFFLINE failure Problem: If setting of an ip-address fails with LAN_OFFLINE, qeth does not save the ip-address in its internal list of set ip-addresses. qeth recovers after a following STARTLAN event, but cannot set the unsaved ip-address. Solution: save the ip-address in the qeth-maintained list of ip-addresses after a LAN_OFFLINE failure for SETIP. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit b403e685b7c57f7912bae36987433e72c616f418 Author: Frank Blaschka Date: Tue Apr 1 10:26:59 2008 +0200 qeth: core code should alloc headroom for LLC protocol Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx performance degradation. Allocate ETH_HLEN for ethernet and TR_HLEN for token ring (layer 3 mode). Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit d11ba0c40fa8a21511822efee3be8389f94f0431 Author: Peter Tiedemann Date: Tue Apr 1 10:26:58 2008 +0200 qeth: improving debug message handling Improving debug message handling, moving ipa into messages from kernel to dbf, some cleanups and typo fixes. Signed-off-by: Peter Tiedemann Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit b7624ec1cfaa1218320faa00a061b9891ed28997 Author: Frank Blaschka Date: Tue Apr 1 10:26:57 2008 +0200 qeth: layer 3 do not allow to change mac address hw does not allow to change the mac address. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 128837259912087101cd336226abc7ee3e8555b5 Author: Ursula Braun Date: Tue Apr 1 10:26:56 2008 +0200 qeth: CCL-sequence numbers required for protocol ETH_P_802_2 only Symptom: slow CCL response time Problem: non-ETH_P_802_2 packets are not delivered to NDH for CCL. But CCL detects missing sequence numbers, which cause a serious performance problem with CCL. Solution: assign sequence numbers only to 802.2 packets. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 922dc0624ea02905e33a7fe1440f8cd157f9a4e5 Author: Ursula Braun Date: Tue Apr 1 10:26:55 2008 +0200 qeth: set lan_online flag after a received STARTLAN Problem: A STARTLAN command from the adapter may arrive while a qeth recovery is currently running with a failed qeth STARTLAN. Usually qeth schedules a recovery when receiving a STARTLAN command from the adapter. But another recovery scheduled while a recovery is already running never starts. Thus the qeth-administered lan_online flag remains zero in this scenario, even though the adapter-STARTLAN has happened. Solution: Set lan_online flag for a received STARTLAN from the adapter in case scheduled recovery does not start. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 508b3c4f71dc348f8b68f1b4ea3aa0d115f0199d Author: Ursula Braun Date: Tue Apr 1 10:26:54 2008 +0200 qeth: allow qdio queue element addresses > 2GB OSA-adapters do not have an address limitation for the qdio queue structures except the MAX storage level of the current processor. And due to a recent z/VM APAR there is no longer a restriction to allocate qdio structures below 2 GB. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 2d921c321ca670201abe9eff5e53585c39e68f5e Author: Ursula Braun Date: Tue Apr 1 10:26:53 2008 +0200 qeth: improve ip_list administration after deregister failures 1. ip_list handling after deregister failure of multicast address: If error code "MC Address not found" is returned do not re-add multicast address to ip_list. For other error codes readd multicast address at the end of function qeth_delete_all_mc. 2. ip_list handling after deregister failure or normal ip address: If error code "IP Address not found" is returned do not re-add multicast address to ip list. This is especially important in IP address takeover scenarios, to enable re-takeover of a taken over IP address. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit cef8c793156402c1894776f09d75984f7748cdff Author: Bruce Allan Date: Wed Apr 2 13:48:23 2008 -0700 e1000e: reformat register test code, fix some minor initialization The register tests should be run with all the proper flags enabled to maximize the test coverage code and make sure we are as close as we can get to testing regular traffic. Reformat the code for readability. Minor cleanups in the descriptor ring setup. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 69e3fd8ccc3d382b4ef72cade817ccd121d8911a Author: Jeff Kirsher Date: Wed Apr 2 13:48:18 2008 -0700 e1000e: rename a few functions Several minor cosmetic function renames. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e9ec2c0f4bfbe0632b22a2c0b74d5e1e96aeab66 Author: Jeff Kirsher Date: Wed Apr 2 13:48:13 2008 -0700 e1000e: Make arrays out of these Rx/Tx registers With multiple queues coming into the code these base control registers need to be made into arrays. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 8d7c294cae6fd1474d88267810d1965f60a903af Author: Jeff Kirsher Date: Wed Apr 2 13:48:07 2008 -0700 e1000e: limit EEPROM size accesses Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 2723b019214c8787ee2fb54dacacfd112d2e5bf4 Author: Stephen Hemminger Date: Wed Apr 2 10:13:12 2008 -0700 sc92031: use netdev_alloc_skb Use netdev_alloc_skb since it handles any NUMA node memory localtion issues and sets skb->dev. Since device driver was not setting skb->dev, I bet filter rules based on device would not work. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 26a17b7bbb36a8552d531bc1ad08472fb5aa3007 Author: Stephen Hemminger Date: Wed Apr 2 10:11:11 2008 -0700 sc92031: start transmit return value bugfix Any negative return value from start_xmit is interpreted as NETDEV_TX_LOCK which is not what this driver wants. It should return 0 (NETDEV_TX_OK) when it consumes a packet. Also, use skb_padto() as the generic way to pad small frames. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9c28eaea90aef8db20004d29f924ad3059d9704e Author: Stephen Hemminger Date: Wed Apr 2 10:11:20 2008 -0700 sc92031: use net_device stats Statistics structure is available for use in net_device structure. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 10c6462090cccb643f31e26a14cb933bc31d8666 Author: Peter Horton Date: Tue Mar 25 12:39:09 2008 +0100 [netdrvr] tulip: Better MWI workaround for 21143 rev 65 chip errata This patch works around the MWI bug on the DC21143 rev 65 Tulip by ensuring that the receive buffers don't end on a cache line boundary (as documented in the errata). This patch is required for the MIPS based Cobalt Qube/RaQ as supporting the extra PCI commands seems to reduce the chance of a hard lockup between the Tulip and the PCI bridge. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 48dd59e398455b58910910bc272e0da85f11bd98 Author: Jeff Garzik Date: Wed Apr 16 20:37:24 2008 -0400 [netdrvr] tulip/winbond-840: don't let tulip.h symbol stomp ours winbond-840 shares tulip.h with the tulip driver, because they share many (but not all) of the same register definitions. This is useful for the register definitions, but not helpful when it comes to symbols that are shared among the tulip driver's C modules, but not meant to be shared outside that one driver. Thus, PKT_BUF_SZ is a symbol internal to tulip, but it was intruding upon a similar symbol in winbond-840's namespace. This was not a problem as long as the two symbols had the same value, but upcoming patches result in differing symbol values. Signed-off-by: Jeff Garzik commit dc13b385999f163dc30c73d66f2ac6d67410528d Author: Joe Perches Date: Thu Apr 10 14:39:30 2008 -0700 drivers/net/bonding/bond_main.c - remove unnecessary #define bond_main.c already #includes Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit c5e38a949bfa11d10f73927fbf4fe66b73bc3001 Author: Andy Fleming Date: Wed Apr 9 19:38:27 2008 -0500 phy: Clean up header style Multi-line comments weren't all CodingStyle compliant Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 9d9326d3bc0ea9a8bbe40bf3e5e66c7b9858caa0 Author: Andy Fleming Date: Wed Apr 9 19:38:13 2008 -0500 phy: Change mii_bus id field to a string Having the id field be an int was making more complex bus topologies excessively difficult. For now, just convert it to a string, and change all instances of "bus->id = val" to snprintf(id, MII_BUS_ID_LEN, "%x", val). Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit d080cd6301e107e79c6a0fc654319f8979f70549 Author: Dai Haruki Date: Wed Apr 9 19:37:51 2008 -0500 gianfar: Support NAPI for TX Frames Poll the completed TX frames in gfar_poll(). This prevents the tx completion interrupt from interfering with processing of received frames. We also disable hardware rx coalescing when NAPI is enabled. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 0b50d753874ad4843d305bf841ba5e28fc0f0ce7 Author: Ishizaki Kou Date: Fri Apr 11 12:33:53 2008 +0900 spidernet: revise link status logging This patch revises the logging for link informations of spidernet. - The link down message is too verbose because auto-negotiation timeout occurs periodically while an ethernet cable is not connected. - We want to see the link result, and we think it should be displayed. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 9a11fcb5215d6ecade9aca1f1fba272746a3882d Author: Ishizaki Kou Date: Fri Apr 11 12:32:30 2008 +0900 spidernet: fix error interrupt handling In addition to the value of GHIINT0STS, spidernet interrupt handler should check the values of GHIINT1STS/GHIINT2STS registers at the beginning of spider_net_interrupt() so as not to drop error interrupts. GHIINT1STS/GHIINT2STS registers indicates some of erroneous conditions in spidernet, and a few bits of GHIINT0STS register reflects these conditions. But GHIINT0MSK masks these bits, so you should check these conditions by reading GHIINT1STS/GHIINT2STS registers directly. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit fcfcfa205ef59f10d80e67a1762ad27e765d4868 Author: Ishizaki Kou Date: Fri Apr 11 12:30:46 2008 +0900 spidernet: change interrupt masks This patch changes spidernet interrupt masks. - unmask GDAINVAINT. There is an operation to do by spidernet interrupt handler. - mask some interrupts. There are no operations in the interrupt handler. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 4f2d65c77465e63eec835164aff42c098f32d4ad Author: Ishizaki Kou Date: Fri Apr 11 12:29:20 2008 +0900 spidernet: increase auto-negotiation timeout to 5 seconds This patch extends the timeout for spidernet auto-negotiation. Auto-negotiation often fails to finish in 2 seconds. Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 81971bef4c4fce8571b7a31c09f94ee90eb738ec Author: Ishizaki Kou Date: Fri Apr 11 12:27:34 2008 +0900 spidernet: add missing initialization This patch fixes initialization of "aneg_count" and "medium" fields in spider_net_card to make spidernet driver correctly sets "link status". Signed-off-by: Kou Ishizaki Acked-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit 7f225b427be7d3f2940fdebf5d79f753f38d3083 Author: Atsushi Nemoto Date: Fri Apr 11 00:25:31 2008 +0900 tc35815: Whitespace cleanup Cosmetic TAB/whitespace cleanups and some style cleanups. No functional changes. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit c6686fe3e4c4e8e5104bbec254a5874779eed2bc Author: Atsushi Nemoto Date: Sat Apr 12 00:47:46 2008 +0900 tc35815: Use generic PHY layer Convert the tc35815 driver to use the generic PHY layer in drivers/net/phy. Also rename 'boardtype' to 'chiptype' which hould be more appropriate. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 22adf7e536df12b1793448972c908cb21ea5a17a Author: Atsushi Nemoto Date: Fri Apr 11 00:24:45 2008 +0900 tc35815: Use managed pci iomap helper Use managed pci functions and kill unnecessary volatiles. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit ee79b7fbf0dbb9e6392d0aee73bf722b29e43c40 Author: Atsushi Nemoto Date: Fri Apr 11 00:24:36 2008 +0900 tc35815: Use netdev_priv() Use netdev_priv() instead of dev->priv. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 958eb80bd2a5bb086cd3f42ae06786cfe75b87b8 Author: Atsushi Nemoto Date: Fri Apr 11 00:24:24 2008 +0900 tc35815: Use print_mac() helper Use print_mac() and DECLARE_MAC_BUF(). Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit c201abd9a49e72824d274bc1a91b8ba300e37d9a Author: Atsushi Nemoto Date: Fri Apr 11 00:24:12 2008 +0900 tc35815: Statistics cleanup Use struct net_device_stats embedded in struct net_device. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 4547fa615f2d60e80e11d7ac2488c982bddeabdc Author: Lennert Buytenhek Date: Tue Mar 18 11:40:14 2008 -0700 mv643xx_eth: update copyright Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e519abb63d689caa2f655adae214f7e255ae2166 Author: Lennert Buytenhek Date: Tue Mar 18 11:39:14 2008 -0700 mv643xx_eth: only print banner once When there are multiple mv643xx_eth silicon blocks in the system, don't print an initialisation message for each and every one of them. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit ec69d651ac4fe726c870a82a2a75c7da69ddf4b9 Author: Lennert Buytenhek Date: Tue Mar 18 11:38:05 2008 -0700 mv643xx_eth: pass port identifier to register accessors Pass a struct mv643xx_private * to the register accessor functions, as a preparation for having multiple mv643xx_eth silicon blocks. (Since this causes some 80 column straddling, and the mv_ prefix is useless anyway, rename mv_read to rdl and mv_write to wrl to compensate.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c1b35a28f20c2d6ff8c5a2a035002c06b9f498c9 Author: Lennert Buytenhek Date: Tue Mar 18 11:37:19 2008 -0700 mv643xx_eth: report netdev name in all printks In error and warning printks, always report the netdevice name instead of the port index (the latter has no meaning when there are multiple mv643xx_eth silicon blocks in the system.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit afdb57a2499a630d82b234307b1fc928088b9174 Author: Lennert Buytenhek Date: Tue Mar 18 11:36:08 2008 -0700 mv643xx_eth: identify ports by struct mv643xx_private * Instead of identifying individual mv643xx ethernet ports by only their port number, identify them by their struct mv643xx_private *, as just a port number has no meaning when there are multiple mv643xx_eth silicon blocks in the system. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c0d0f2caa1cd0f015aa42bbdb10cb8913bb95e4e Author: Lennert Buytenhek Date: Tue Mar 18 11:34:34 2008 -0700 mv643xx_eth: various cleanups - Remove unused MV643XX_DEFAULT_[RT]X_QUEUE_SIZE definitions. - Remove ETH_TARGET enum -- it isn't used anywhere in the driver, and isn't even valid for non-mv643xx chip models, as those use different MBUS target IDs. - Clean up comment and control flow in mv643xx_eth_change_mtu(). - Use mp->dev instead of mp->mii.dev in mv643xx_eth_tx_timeout_task(). - Make mv643xx_eth_free_tx_descs() static. - Remove overzealous NULL check in mv643xx_eth_start_xmit(). - Use symbolic NETDEV_TX_* constants in mv643xx_eth_start_xmit(). Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 4d64e718b46f4eedaf0379e0150de4d28b06b916 Author: Lennert Buytenhek Date: Tue Mar 18 11:32:41 2008 -0700 mv643xx_eth: mp->tx_desc_count needs spinlock protection mv643xx_eth_start_xmit() should check mp->tx_desc_count only inside the mp->lock spinlock. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 771168494719b90621ac61f9ae68c4af494e418f Author: Kumar Gala Date: Wed Apr 16 23:19:36 2008 +1000 [POWERPC] Remove unused machine call outs When we moved to arch/powerpc we actively tried to avoid using the ppc_md.setup_io_mappings(). Currently no board ports use it so let's remove it to avoid any new boards using it. Also, remove early_serial_map() since we don't even have a call out for it in arch/powerpc. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 5faae2e5d1f53df9dce482032c8486bc3a1feffc Author: Michael Ellerman Date: Wed Apr 16 13:51:49 2008 +1000 [POWERPC] Always add preferred consoles in platforms/pseries/lpar.c There is logic in platforms/peries/lpars.c which checks if the user has specified a console on the command line, and refrains from adding a preferred console entry for the hvc/hvsi console if they have. This trips up if you use "netconsole=foo" on the command line, and has the result that you get _only_ the netconsole, because the hvc device is never added as a preferred console. Worse still if you get the netconsole configuration wrong somehow, you end up with no console at all. As it turns out we don't need to worry about checking the command line. If the user has specified "console=foo", then foo will be set as the preferred console when the command line is parsed in start_kernel(), much later than the pseries code, and so the latter setting will take effect. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 21cf91338fabe649ae3744429e13b61da2a17a6a Author: Michael Ellerman Date: Wed Apr 16 13:51:48 2008 +1000 [POWERPC] Move prototype for find_udbg_vterm() into a header file Move the prototype for find_udbg_vterm() into pseries.h, removing it from setup.c. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 37ddd5d053c57fee798d72fa9c18660f59a9299b Author: Manish Ahuja Date: Sat Apr 12 09:31:52 2008 +1000 [POWERPC] pseries/phyp dump: Reserve a variable amount of space at boot This changes the way we calculate how much space to reserve for the pHyp dump. Currently we reserve 256MB only. With this change, the code first checks to see if an amount has been specified on the boot command line with the "phyp_dump_reserve_size" option, and if so, uses that much. Otherwise it computes 5% of total ram and rounds it down to a multiple of 256MB, and uses the larger of that or 256MB. This is for large systems with a lot of memory (10GB or more). The aim is to have more space available for the kernel on reboot on machines with more resources. Although the dump will be collected pretty fast and the memory released really early on allowing the machine to have the full memory available, this alleviates any issues that can be caused by having way too little memory on very very large systems during those few minutes. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit af892e0f9fad390669494e389aed29b968ab7fdb Author: Kumar Gala Date: Wed Apr 16 05:52:30 2008 +1000 [POWERPC] Cleanup pgtable-ppc32.h * Removed defines KERNEL_PGD_PTRS & USER_PGD_PTRS since they aren't used anywhere * Changed pmd_page macro to use pfn_to_page so we get proper behavior if ARCH_PFN_OFFSET is set as well if we use a different memory model on ppc32. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit b18796d32a35ca4d996c584c3bb6d0a4f8a7d310 Author: Kumar Gala Date: Wed Apr 16 05:52:29 2008 +1000 [POWERPC] bootwrapper: Use physical address in PHDR for uImage Now that we properly set the physical address in the program header of the vmlinux ELF we can extract it to properly set the load and entry point for u-boot uImages. Before we always hard coded the load & entry point to 0. However there are situations that the kernel may be built with a non-zero physical address. We use objdump to extract the PHDR. We assume that there is only one PHDR in the vmlinux of type LOAD. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 366234f657879aeb7a1e2ca582f2f24f3fae9269 Author: Kumar Gala Date: Wed Apr 16 05:52:28 2008 +1000 [POWERPC] Update linker script to properly set physical addresses We can set LOAD_OFFSET and use the AT attribute on sections and the linker will properly set the physical address of the LOAD program header for us. This allows us to know how the PHYSICAL_START the user configured a kernel with by just looking at the resulting vmlinux ELF. This is pretty much stolen from how x86 does things in their linker scripts. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit d04ceb3fc294ea2c4f538a04343f3a473953a3b0 Author: Kumar Gala Date: Wed Apr 16 05:52:27 2008 +1000 [POWERPC] Move phys_addr_t definition into asm/types.h Moved phys_addr_t out of mmu-*.h and into asm/types.h so we can use it in places that before would have caused recursive includes. For example to use phys_addr_t in we would have included which would have possibly included which includes . Wheeee recursive include. CONFIG_PHYS_64BIT is a bit counterintuitive in light of ppc64 systems and thus the config option is only used for ppc32 systems with >32-bit physical addresses (44x, 85xx, 745x, etc.). Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 4846c5deb9776a7306d0f656ade7505278ac39ba Author: Kumar Gala Date: Wed Apr 16 05:52:26 2008 +1000 [POWERPC] Clean up some linker and symbol usage * PAGE_OFFSET is not always the start of code, use _stext instead. * grab PAGE_SIZE and KERNELBASE from asm/page.h like ppc64 does. Makes the code a bit more common and provide a single place to manipulate the defines for things like kdump. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 09b5e63f827016732d956abb7a4c74a312d20521 Author: Kumar Gala Date: Wed Apr 16 05:52:25 2008 +1000 [POWERPC] Rename __initial_memory_limit to __initial_memory_limit_addr We always use __initial_memory_limit as an address so rename it to be clear. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit edc164d18f6b86b6de134d432de286e6c440c66d Author: Kumar Gala Date: Wed Apr 16 05:52:24 2008 +1000 [POWERPC] Use lowmem_end_addr to limit lmb allocations on ppc32 Now that we have a proper variable that is the address of the top of low memory we can use it to limit the lmb allocations. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 0aef996b37d08757562ecf0bb0c1f6998e634c8b Author: Kumar Gala Date: Wed Apr 16 05:52:23 2008 +1000 [POWERPC] 85xx: Cleanup TLB initialization * Determine the RPN we are running the kernel at runtime rather than using compile time constant for initial TLB * Cleanup adjust_total_lowmem() to respect memstart_addr and be a bit more clear on variables that are sizes vs addresses. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit d7917ba7051e3fd12ebe2d5a09b29fb3a2b38190 Author: Kumar Gala Date: Wed Apr 16 05:52:22 2008 +1000 [POWERPC] Introduce lowmem_end_addr to distinguish from total_lowmem total_lowmem represents the amount of low memory, not the physical address that low memory ends at. If the start of memory is at 0 it happens that total_lowmem can be used as both the size and the address that lowmem ends at (or more specifically one byte beyond the end). To make the code a bit more clear and deal with the case when the start of memory isn't at physical 0, we introduce lowmem_end_addr that represents one byte beyond the last physical address in the lowmem region. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 99c62dd773797b68f3b1ca6bb3274725d1852fa2 Author: Kumar Gala Date: Wed Apr 16 05:52:21 2008 +1000 [POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr A number of users of PPC_MEMSTART (40x, ppc_mmu_32) can just always use 0 as we don't support booting these kernels at non-zero physical addresses since their exception vectors must be at 0 (or 0xfffx_xxxx). For the sub-arches that support relocatable interrupt vectors (book-e), it's reasonable to have memory start at a non-zero physical address. For those cases use the variable memstart_addr instead of the #define PPC_MEMSTART since the only uses of PPC_MEMSTART are for initialization and in the future we can set memstart_addr at runtime to have a relocatable kernel. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 1993cbf4ae7d30f9a417e143c1344466f2e2ae2e Author: Kumar Gala Date: Wed Apr 16 05:52:20 2008 +1000 [POWERPC] Provide access to arch/powerpc include path on ppc64 There does not appear to be any reason that we shouldn't just have -Iarch/$(ARCH) on both ppc32 and ppc64 builds. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 38521a23a99232e14d7454ab59d23565c626ea33 Author: Kumar Gala Date: Wed Apr 16 05:52:19 2008 +1000 [POWERPC] Remove Kconfig option BOOT_LOAD Nothing appears to use BOOT_LOAD so remove it as a configurable option. Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 3fbe9d413e503aba71258947bf2e22f6de5ffa41 Author: Adrian Bunk Date: Tue Apr 15 00:19:42 2008 +1000 [POWERPC] Add MODULE_LICENSE to powerpc/sysdev/rtc_cmos_setup.c This adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 7f4392cdcc63fea72fc77d14497059267d77d5d0 Author: David Woodhouse Date: Mon Apr 14 02:52:38 2008 +1000 [POWERPC] Efika: Really, don't pretend to be CHRP Fedora 9 works on Efika without the separate 'device-tree supplement', thanks to the kernel's own fixups. With one exception -- because 'CHRP' still appears on the 'machine:' line in /proc/cpuinfo, the installer misdetects the platform and misconfigures yaboot, putting it into a PReP boot partition instead of in the /boot filesystem where the Efika's firmware could find it. The kernel's fixups for Efika already correct one instance of 'chrp', in the 'device_type' property. This fixes it in the 'CODEGEN,description' property too, since that's what's exposed to userspace in /proc/cpuinfo. Signed-off-by: David Woodhouse Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 612212a3f2f053ea68ce9cd16d3deeca7754e8c9 Author: Jochen Friedrich Date: Sat Apr 12 05:22:35 2008 +1000 [POWERPC] i2c: OF helpers for the i2c API This implements various helpers to support OF bindings for the i2c API. Signed-off-by: Jochen Friedrich Acked-by: David S. Miller Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b7ce341585a51a6d65c7a77b6918132a3b360b81 Author: Anton Vorontsov Date: Fri Apr 11 23:06:36 2008 +1000 [POWERPC] Implement support for the GPIO LIB API This implements support for the GPIO LIB API. Two calls are still unimplemented though: irq_to_gpio and gpio_to_irq. Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 863fbf4966a7ac301a4077e4a04d73e8abfdd7b2 Author: Anton Vorontsov Date: Fri Apr 11 23:06:45 2008 +1000 [POWERPC] OF helpers for the GPIO API This implements various helpers to support OF bindings for the GPIO LIB API. Previously this was PowerPC specific, but it seems this code isn't arch-dependent anyhow, so let's place it into of/. SPARC will not see this addition yet, real hardware seem to not use GPIOs at all. But this might change: http://www.leox.org/docs/faq_MLleon.html "16-bit I/O port" sounds promising. :-) Signed-off-by: Anton Vorontsov Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit a2879fef7ccd1e0891a8f147c20ce6f1501e373b Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:34 2008 +1000 [POWERPC] properly declare onstack completion in iseries veth The iSeries veth driver uses an on-stack struct completion that it initializes using the COMPLETION_INITIALIZER instead of COMPLETION_INITIALIZER_ONSTACK macro, causing problems with lockdep. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e6768a4f392d05bc11ed508d35938932c73aac5a Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:28 2008 +1000 [POWERPC] Fixup softirq preempt count This fixes the handling of the preempt count when switching interrupt stacks so that HW interrupt properly get the softirq mask copied over from the previous stack. It also initializes the softirq stack preempt_count to 0 instead of SOFTIRQ_OFFSET, like x86, as __do_softirq() does the increment, and we hit some lockdep checks if we have it twice. That means we do run for a little while off the softirq stack with the preempt-count set to 0, which could be deadly if we try to take a softirq at that point, however we do so with interrupts disabled, so I think we are ok. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7c6352a4699e9a3a2d91b2cddbf3f1048207e904 Author: Benjamin Herrenschmidt Date: Wed Apr 9 17:21:26 2008 +1000 [POWERPC] Initialize paca->current earlier Currently, we initialize the "current" pointer in the PACA (which is used by the "current" macro in the kernel) before calling setup_system(). That means that early_setup() is called with current still "NULL" which is -not- a good idea. It happens to work so far but breaks with lockdep when early code calls printk. This changes it so that all PACAs are statically initialized with __current pointing to the init task. For non-0 CPUs, this is fixed up before use. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 55045d47d7a8c4c61bc0ca6f2fac5087dd598bc3 Author: Ishizaki Kou Date: Mon Mar 17 21:05:18 2008 +1100 [POWERPC] hvcbeat: Fix buffer manipulation This fixes a potential bug at drivers/char/hvc_beat.c. - hvc_put_term_char routine will decrement "rest" variable twice, and forget to advance "buf" pointer by "nlen" bytes. This bug was not hit previously because the output handler in drivers/char/hvc_console.c splits given output into 16 bytes at maximum. Reported-by: Timur Tabi Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 2fe37a6ec933ca7332a8ca8d29e87705116afd3a Author: Ishizaki Kou Date: Fri Mar 14 23:19:34 2008 +1100 [POWERPC] celleb: Coding style cleanup Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c7cd5b98072f7e04a50415b9501793bd905ecc16 Merge: e92716f... 7132799... Author: Paul Mackerras Date: Thu Apr 17 07:45:35 2008 +1000 Merge branch 'for-2.6.26' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi commit 30b89b0f5e1313c8a5a039abeaa89248b6338d81 Author: Johannes Berg Date: Wed Apr 16 17:43:20 2008 +0200 mac80211: rework scanning to account for probe response/beacon difference This patch reworks the scanning code (ieee80211_rx_bss_info) to take more parameters from beacons and keep a BSS info structure alive when only beacons for it are received. This fixes a problem with iwlwifi drivers (where we don't understand the root cause of the problem yet) and another driver for some broken hardware (which cannot send probe requests unless associated, so can't always actively scan.) Signed-off-by: Bill Moss [jmberg: reformatted comments, make probe_resp a bool] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 194828a292db3cf421ae7f82232f2fc655fbbc3c Author: Nick Kossifidis Date: Wed Apr 16 18:49:02 2008 +0300 ath5k: Misc fixes/cleanups *Handle MIB interrupts and pass low level stats to mac80211 *Add Power On Self Test function *Update to match recent dumps *Let RF2425 attach so we can further test it *Remove unused files regdom.c and regdom.h base.c Changes-licensed-under: 3-clause-BSD rest Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 136bfc798fe5378c7c1b5f5294abcfd1428438b3 Author: Nick Kossifidis Date: Wed Apr 16 18:42:48 2008 +0300 ath5k: Add RF2425 initvals *Add RF2425 initvals (still no rx/tx) This was on my laptop for a long time so it has to go out even if it still doesn't work, i hope i'll get my hands on an eeepc so i can work this out. base.c Changes-licensed-under: 3-clause-BSD rest Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit fcc76c6b3367e654377d61403f4945ac85c4b651 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:47 2008 -0700 iwlwifi: Use HW acceleration decryption by default This patch reverses the hw_crypto logic and makes HW crypto a default. Giving swcrypto=1 as parameter to the module disables HW crypto. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 59003835020ed696e941df2f8a50210bdc6e246c Author: Mohamed Abbas Date: Tue Apr 15 16:01:46 2008 -0700 iwlwifi: fix unload warning and error This patch fix the error we get when unload the driver, No space for Tx. The cause of this problem is related to receiving late SW rfkill from rfkill subsystem during the driver teardown causing this error. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dfe7d458408188718089f41d0e2330fed13697e2 Author: Ron Rindjunsky Date: Tue Apr 15 16:01:45 2008 -0700 iwlwifi: arrange max number of Tx queues This patch increases the max possible number of Tx queues, but leaves current used number of queues as HW dependent Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 77bab6024c69de781464c6ad094db6996d996938 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:44 2008 -0700 iwlwifi: Fix TKIP update key and get_free_ucode_key This patch fixes a bug in update_tkip_key: only one key needs to be allocated in uCode, every time it is updated, the old one will be overwritten Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7e8c519ecbd44cbe017f1749eb1f0f87d86d6ea2 Author: Tomas Winkler Date: Tue Apr 15 16:01:43 2008 -0700 iwlwifi: move rxon associated command to hcmd This patch run rxon associated command from hcmd handler Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3c424c281a9887733ab936477c327cdb2a7ae367 Author: Tomas Winkler Date: Tue Apr 15 16:01:42 2008 -0700 iwlwifi: introduce host commands callbacks This patch adds place holder for host command handlers for supporting different implementations per HW Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fed9017e03f23098137716bd6010772ac1aa8a80 Author: Ron Rindjunsky Date: Tue Apr 15 16:01:41 2008 -0700 iwlwifi: move HW device registration This patch moves the HW device registration from the iwl-4965.c file, which implies a HW specific support, to a more general location. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 66c73db7c6f7672e40c0bb1d2689f2d0d0922aad Author: Tomas Winkler Date: Tue Apr 15 16:01:40 2008 -0700 iwlwifi: move the creation of LQ host command to iwlcore This patch moves creation of LQ host command to iwlcore from previous location in rate scaling. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit ec35cf2afb0d807c39188e3a9962ffa51f603024 Author: Tomas Winkler Date: Tue Apr 15 16:01:39 2008 -0700 iwlwifi: support different num of tx and rx antennas This patch adds infrastructure for supporting different number of tx and rx antennas Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5425e490471d521bae2fce16d22995803b41d90f Author: Tomas Winkler Date: Tue Apr 15 16:01:38 2008 -0700 iwlwifi: hw_setting cleanup 1. This patch renames hw_setting to hw_params 2. Align names of the structure and variables 3. set_hw_params is called from libs_ops Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 49ea85961cf8b60b5387cc1c1bc06fe4b6a31ee4 Author: Emmanuel Grumbach Date: Tue Apr 15 16:01:37 2008 -0700 iwlwifi: remove the statistics work This patch does 3 things 1) It removes the statistics work. The request statistics command is sent in ASYNC mode in this flow, the mutex is uneeded, so the request statistics function can't go to sleep. No need for a workqueue anymore. 2) iwl4965_send_statistics_request has been renamed to iwl_send_statistics_request and moved to iwl-core.c 3) A request for statistics is sent in alive_notify, the makes the uCode sends statistics notification periodically starting from association. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit ba380013b681e91e059f95b51002f8d43024b371 Author: Michael Buesch Date: Tue Apr 15 21:13:36 2008 +0200 b43: Add fastpath to b43_mac_suspend() This adds a fastpath for the common workloads to the MAC suspend flushing. In common workloads the FIFO flush will take between 100 and 200 microseconds. So we want to avoid calling msleep() in the common case, as it will waste over 800 microseconds + scheduler overhead. This fastpath will hit in workloads where only small chunks of data are transmitted (downloading a file) or when a TX rate bigger or equal to 24MBit/s is used when transmitting lots of stuff (iperf). So in the commonly used workloads it will basically always hit. In case the fastpath is not hit, there's no real performance or latency disadvantage from that. And yes, I measured this. So this is not one of these bad Programmer Likeliness Assumptions that are always wrong. ;) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 059ff8266104d4919c693d6bf974c9e350da513e Author: Tomas Winkler Date: Mon Apr 14 21:16:14 2008 -0700 iwlwifi: move shared pointers to iwl_priv Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 508e32e177f54d1f6ebcfa181b9d6f2583c3b1c0 Author: Reinette Chatre Date: Mon Apr 14 21:16:13 2008 -0700 iwlwifi: perform bss_info_changed post association work right away Do not use workqueue for bss_info_changed post association work. When driver is notified of association the upper layer will be notified right after that the association is complete. Doing the post association work in a workqueue introduces a race condition where the upper layer may want to make use of the association, but it is not yet complete. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit eadd3c4b9a90e31d5b6034a8813bfabecbe48681 Author: Reinette Chatre Date: Mon Apr 14 21:16:12 2008 -0700 iwlwifi: make Makefile more concise Also change CONFIG_IWLCORE_RFKILL to CONFIG_IWLWIFI_RFKILL to be more consistent with other config variables. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 51dbfd1d59b0f55aef2105e06f770f3a97fc4e3a Author: Reinette Chatre Date: Mon Apr 14 21:16:11 2008 -0700 iwl4965: make iwl4965_send_rxon_assoc asynchronous Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit e2a722eba1b3aa504ae177353d100287398881c3 Author: Tomas Winkler Date: Mon Apr 14 21:16:10 2008 -0700 iwlwifi: Fix byte count table for fragmented packets This patch fix byte count table update. Table must be updated for each fragment Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7480513f5b436321f86f5a5210af5bf8edb19e9a Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:09 2008 -0700 iwlwifi: moves security functions to iwl-sta.c This patch moves security related functions to iwl-sta.c. Note that iwl4965_mac_update_tkip_key is still in iwl4965-base.c since it is a mac80211 handler. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 80fb47a11eaf3d1d70c02f3dc7976eaac9b0eef2 Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:08 2008 -0700 iwlwifi: maintain uCode key table state This patch fix book keeping of key table in the driver to be synchronized with uCode Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0211ddda9deb681a804572936cd49e466a1aa88b Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:07 2008 -0700 iwlwifi: add 1X HW WEP support This patch adds support for HW encryption/decryption in 1X WEP. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6974e36356524fa856435cb1be40aaffbac9601a Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:06 2008 -0700 iwlwifi: default WEP HW encryption This patch adds HW encryption support in default WEP mode. When no key mapping key/pairwise key is used. The key is broadcast key is used as default/global/static key. This code assumes that group cast key is added after pairwise key. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0a0bed1d10105a9f58cd14ebe216e8479dd31fda Author: Emmanuel Grumbach Date: Mon Apr 14 21:16:05 2008 -0700 iwlwifi: add default WEP key host command This patch adds declaration for static WEP host command. This command will be used for default WEP group keys when no key mapping keys are used. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit db0589f3b9443f2b57ea6daaec09c1ab0ac99cb0 Author: Abhijeet Kolekar Date: Mon Apr 14 21:16:04 2008 -0700 iwlwifi: replace sprintf with scnprintf for debugfs output The buffersize allocated is not accurate. Writing to these buffers with scnprintf is safer. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 57aab75a39089744aba4bd126df2de526481b128 Author: Tomas Winkler Date: Mon Apr 14 21:16:03 2008 -0700 iwlwifi: generalize iwlwifi init flow This patch creates handlers to support iwlwifi init flow for multiple HWs Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit b454048cb933eb69dd9d46c16bf01e9df997fa3d Author: Johannes Berg Date: Mon Apr 14 15:37:03 2008 +0200 mac80211: allow WDS mode This allows creating interfaces in WDS mode or switching existing ones into WDS mode (both via cfg80211 and wext.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e2c40ef09f397b0123fc0233d5d0531c217dc39 Author: Stefano Brivio Date: Mon Apr 14 00:57:03 2008 +0200 b43legacy: fix TBTT and PU timings This fixes some timings for pre-TBTT and synthetic PU. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 245cbe7a65f3e17999de276ea1c84538f3a7451e Author: Johannes Berg Date: Sun Apr 13 10:43:50 2008 +0200 mac80211: fix key todo list order When we add multiple todo entries, we rely on them being executed mostly in the right order, especially when a key is being replaced. But when a default key is replaced, the todo list order will differ from the order when the key being replaced is not a default key, so problems will happen. Hence, just move each todo item to the end of the list when it is added so we can in the other code ensure that hw accel for a key will be disabled before it is enabled for the replacement. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b16bd15c379410f2aa47837aa4a0de5712856ad5 Author: Johannes Berg Date: Fri Apr 11 21:40:35 2008 +0200 mac80211: fix spinlock recursion When STAs are expired, we need to hold the sta_lock. Using the same lock for keys too would then mean we'd need another key free function, and that'll just lead to confusion, so just use a new spinlock for all key lists. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6b914c521687ae6cb8923c7235fd69b7bc027703 Author: Alexey Dobriyan Date: Thu Apr 10 14:34:35 2008 -0700 proc: switch /proc/driver/ray_cs/ray_cs to seq_file interface Signed-off-by: Alexey Dobriyan Cc: Dominik Brodowski Cc: Jean Tourrilhes Cc: David S. Miller Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d18ef29f34eb33099d387a327abe139f3915a829 Author: Reinette Chatre Date: Wed Apr 9 16:56:15 2008 -0700 mac80211: no BSS changes to driver from beacons processed during scanning There is no need to send BSS changes to driver from beacons processed during scanning. We are more interested in beacons from an AP with which we are associated - these will still be used to send updates to driver as the beacons are received without scanning. This change·removes the requirement that bss_info_changed needs to be atomic. The beacons received during scanning are processed from a tasklet, but if we do not call bss_info_changed for these beacons there is no need for it to be atomic. This function (bss_info_changed) is called either from workqueue or ioctl in all other instances. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8d0c7fad35538e02dff6fdb2d67943ae582819b3 Author: Holger Schurig Date: Wed Apr 9 10:23:31 2008 +0200 libertas: un-garbage various command structs Some command structs contain reserved or unused fields, which the driver send uninitialized down to the card. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7919b89c8276d657976d4d4d6b7cb58ea1aa08c3 Author: Holger Schurig Date: Tue Apr 1 14:50:43 2008 +0200 libertas: convert libertas driver to use an event/cmdresp queue This patch (co-developed by Dan Williams and Holger Schurig) uses a kfifo object for events and a swapping buffer scheme for the command response to preserve the zero-copy semantics of the CF driver and keep memory usage low. The main thread should only ever touch the buffer indexed by priv->resp_idx, while the interface code is free to write to the second buffer, then swap priv->resp_idx under the driver spinlock. The firmware specs only permit one in-flight command, so there will only ever be one command response to process at a time. Signed-off-by: Holger Schurig Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 98dd6a575928ed9c42130d208e6bfb0f7a914d5a Author: Johannes Berg Date: Thu Apr 10 15:36:09 2008 +0200 mac80211: further RCU fixes There were a few more instances of sta_info_get calls not being protected by RCU, fix them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 171afcd4ba093b50cd2fb33fe2371fbc1f7fd389 Author: Ivo van Doorn Date: Wed Apr 9 20:46:27 2008 +0200 rt2x00: Only free skb when beacon_update fails In rt2x00lib_intf_scheduled_iter() we use the hw->beacon_update() callback function. This means that it should behave similarly as mac80211 when that uses the function. This means that the skb should only be freed when beacon_update() has failed, otherwise the driver is the owner and is responsible for freeing the buffer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3a245766901a9dfdc3f53457a7954b369b50f281 Author: Johannes Berg Date: Wed Apr 9 16:45:37 2008 +0200 mac80211: fix key hwaccel race The previous key locking patch left a small race: it would be possible to add a key and take the interface down before the key todo is run so that hwaccel for that key is enabled on an interface that is down. Avoid this by running the todo list when an interface is brought up or down. This patch also fixes a small bug: before this change, a few functions used the key list without the lock that protects it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51e8b885902fc8cc2ded48322ad9402bbcff23fe Author: Michael Buesch Date: Tue Apr 8 10:31:22 2008 +0200 ssb-pcicore: Remove b44 TPS flag workaround Now that we fixed the TPS flag assignment in commit b63009b456c8d9abe684bdf8d4bd8f27eb040019 we don't need the workaround for the bcm44xx chip anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 50c4afb99166dc0d2e8a0b063fe83befaa426a44 Author: John W. Linville Date: Tue Apr 15 14:09:27 2008 -0400 mlme.c: fixup some merge damage This one got renamed, complicating the merge a bit...this should restore it to its intended state. Signed-off-by: John W. Linville commit 95e7a8efd79d4eb74646ed5cb998599f21627091 Author: Paul Bolle Date: Wed Apr 16 14:43:00 2008 +0200 [SCSI] aacraid: Do not describe check_reset parameter with its value Describe check_reset parameter with its name (and not its value) Signed-off-by: Paul Bolle Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit e6990c6448ca9359b6d4ad027c0a6efbf4379e64 Author: Mark Salyzyn Date: Mon Apr 14 14:20:16 2008 -0400 [SCSI] aacraid: Fix down_interruptible() to check the return value Instead of ignoring the return value in aac_fib_send() return 2 to indicate to the layers above that fib transmission was aborted due to timeout. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 582df15327828570595d4be55b2b300dac5271c1 Author: Adrian Bunk Date: Mon Apr 14 17:17:26 2008 +0300 [SCSI] sun3_scsi_vme: add MODULE_LICENSE This patch adds the missing MODULE_LICENSE("GPL"). Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 8ef8d5941cdc6ab616334e14306c39f7aceb780c Author: Adrian Bunk Date: Mon Apr 14 17:17:16 2008 +0300 [SCSI] st: rename flush_write_buffer() This patch fixes the following namespace collision with include/asm-avr32/cacheflush.h : <-- snip --> ... CC [M] drivers/scsi/st.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/st.c:629:53: error: macro "flush_write_buffer" passed 1 arguments, but takes just 0 ... make[3]: *** [drivers/scsi/st.o] Error 1 <-- snip --> st now uses st_flush_write_buffer() Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit b312bab3b961de21c5a98bd70e04070eaa61817c Author: FUJITA Tomonori Date: Thu Apr 10 23:48:14 2008 +0900 [SCSI] tgt: use KMEM_CACHE macro This uses new KMEM_CACHE() macro instead of kmem_cache_create directly to simplify slab cache creation. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e92716f2aa68cdfbf6ec24d6f31f08b072e1a246 Author: Jerone Young Date: Sat Apr 12 05:03:33 2008 +1000 [POWERPC] 4xx: Add idle wait support for 44x platforms This changes the cpu_idle loop for 44x platforms to utilize the Wait Enable feature of the CPU. This helps virtulization solutions know when the guest Linux kernel is in an idle state. A command line option called "idle" is also added to allow people to change the idle loop back to the original variation. This is done by setting "idle=spin" on the kernel command line. Signed-off-by: Jerone Young Signed-off-by: Josh Boyer commit 478d5dcb620abae146edd542b4e76cea47855bc9 Author: Josh Boyer Date: Tue Apr 15 10:05:53 2008 -0500 [POWERPC] 4xx: Add ppc40x_defconfig Add a multi-board PowerPC 40x defconfig file Signed-off-by: Josh Boyer commit dd9e0dda66ba38a2ddd1405ac279894260dc5c36 Author: John Heffner Date: Tue Apr 15 15:26:39 2008 -0700 [TCP]: Increase the max_burst threshold from 3 to tp->reordering. This change is necessary to allow cwnd to grow during persistent reordering. Cwnd moderation is applied when in the disorder state and an ack that fills the hole comes in. If the hole was greater than 3 packets, but less than tp->reordering, cwnd will shrink when it should not have. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit d0498d9ae1a5cebac363e38907266d5cd2eedf89 Author: Pavel Emelyanov Date: Wed Apr 16 02:17:42 2008 -0700 [NET]: Do not allocate unneeded memory for dev->priv alignment. The alloc_netdev_mq() tries to produce 32-bytes alignment for both the net_device itself and its private data. The second alignment is achieved by adding the NETDEV_ALIGN_CONST to the whole size of the memory to be allocated. However, for those devices that do not need the private area, this addition just makes the net_device weight 1024 + 32 = 1068 bytes, i.e. consume twice as much memory. Since loopback device is such (sizeof_priv == 0 for it), and each net namespace creates one, this can save a noticeable amount of memory for kernel with net namespaces turned on. After this set the lo device is actually allocated from a size-1024 kmem cache on i386 box even with NETPOLL and WIRELESS_EXT turned on. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f3005d7f4abe03ad41af33b1548602cd086d86a2 Author: Denis V. Lunev Date: Wed Apr 16 02:02:18 2008 -0700 [NETNS]: Add netns refcnt debug for network devices. dev_set_net is called for - just allocated devices - devices moving from one namespace to another release_net has proper check inside to distinguish these cases. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3661a910836a509be65afc3c1e512d900e1280f9 Author: Denis V. Lunev Date: Wed Apr 16 02:01:56 2008 -0700 [NETNS]: Add netns refcnt debug to fib rules. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 48115becf6ad9c0e700ff7c1792b7f2a288ef8fb Author: Denis V. Lunev Date: Wed Apr 16 02:01:34 2008 -0700 [NETNS]: Add netns refcnt debug for dst ops. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8c5da49a63c7675a3e137eb384b982e562622342 Author: Denis V. Lunev Date: Wed Apr 16 02:01:11 2008 -0700 [NETNS]: Add netns refcnt debug for inet bind buckets. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 57d7a6009241fe04a699e5f65d55cf5cb7008fc7 Author: Denis V. Lunev Date: Wed Apr 16 02:00:50 2008 -0700 [NETNS]: Add netns refcnt debug into fib_info. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit cd5342d9055545624187a2d47e68bdabc1ca9963 Author: Denis V. Lunev Date: Wed Apr 16 02:00:28 2008 -0700 [NETNS]: Add netns refcnt debug for timewait buckets. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 65a18ec58e5e6186103f62f720acea94dfb26f4e Author: Denis V. Lunev Date: Wed Apr 16 01:59:46 2008 -0700 [NETNS]: Add netns refcnt debug for kernel sockets. Protocol control sockets and netlink kernel sockets should not prevent the namespace stop request. They are initialized and disposed in a special way by sk_change_net/sk_release_kernel. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5d1e4468a7705db7c1415a65fd16f07113afc1b2 Author: Denis V. Lunev Date: Wed Apr 16 01:58:04 2008 -0700 [NETNS]: Make netns refconting debug like a socket one. Make release_net/hold_net noop for performance-hungry people. This is a debug staff and should be used in the debug mode only. Add check for net != NULL in hold/release calls. This will be required later on. [ Added minor simplifications suggested by Brian Haley. -DaveM ] Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 554eb27782d4bb79e0a286a08ecafb81f758058c Author: Pavel Emelyanov Date: Wed Apr 16 01:24:13 2008 -0700 [IP6TUNNEL]: Allow to create IP6 tunnels in net namespaces. And no need in some IPPROTO_XXX enabling, since ipv6 code doesn't have any filtering. So, just set proper net and mark device with NETNS_LOCAL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2f7f54b725f1a93f0a4daace1a924bee382b33b6 Author: Pavel Emelyanov Date: Wed Apr 16 01:23:44 2008 -0700 [IP6TUNNEL]: Use proper net instead of init_net stubs. All the ip_route_output_key(), dev_get_by_...() and ipv6_chk_addr() calls are now stubbed with init_net. Fortunately, all the places already have where to get the proper net from. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3e6c9fb5f5a4cab0d2342b69d4e46e8f5a08b04e Author: Pavel Emelyanov Date: Wed Apr 16 01:23:22 2008 -0700 [IP6TUNNEL]: Make tunnels hashes per-net. Move hashes in the struct ip6_tnl_net, replace tnls_xxx[] with ip6n->tnlx_xxx[] and handle init and exit appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 15820e129013dd0771812001a2046ae37c9a2ba0 Author: Pavel Emelyanov Date: Wed Apr 16 01:23:02 2008 -0700 [IP6TUNNEL]: Make the fallback tunnel device per-net. All the code, that reference it already has the ip6_tnl_net pointer, so s/ip6_fb_tnl_dev/ip6n->fb_tnl_dev/ and move creation/releasing code into net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8704ca7e916973c6583c0937e14b057d6c748651 Author: Pavel Emelyanov Date: Wed Apr 16 01:22:43 2008 -0700 [IP6TUNNEL]: Use proper net in hash-lookup functions. Calls to ip6_tnl_lookup were stubbed with init_net - give them a proper one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2dd02c897d798c6a00dca46c7a50ebc10eb3be0d Author: Pavel Emelyanov Date: Wed Apr 16 01:22:23 2008 -0700 [IP6TUNNEL]: Add (ip6_tnl_)net argument to some calls. Hashes and fallback device used in them will be per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 13eeb8e92c95ca8a1c044e3692246f884be826ee Author: Pavel Emelyanov Date: Wed Apr 16 01:22:02 2008 -0700 [IP6TUNNEL]: Introduce empty ip6_tnl_net structure and net ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b0970c428b33ee6e0aa576f58f87dde74262a441 Author: Pavel Emelyanov Date: Wed Apr 16 01:17:39 2008 -0700 [SIT]: Allow for IPPROTO_IPV6 protocol in namespaces. This makes sit-generated traffic enter the namespace. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7a97146cc6e8145f65abfee36e56de7b8061c34f Author: Pavel Emelyanov Date: Wed Apr 16 01:17:18 2008 -0700 [SIT]: Allow to create SIT tunnels in net namespaces. Set proper net and mark a new device as NETNS_LOCAL before registering. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 907a08c4023b54ffebf3fb966efcbcc1312abe32 Author: Pavel Emelyanov Date: Wed Apr 16 01:16:58 2008 -0700 [SIT]: Use proper net in routing calls. I.e. replace init_net stubs in ip_route_output_key() calls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 291821766b5ca90ffe3fb64531d49537c4ff7395 Author: Pavel Emelyanov Date: Wed Apr 16 01:16:38 2008 -0700 [SIT]: Make tunnels hashes per-net. Just move all the hashes on the sit_net structure and patch the rest of the code appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cd3dbc194d6784624f21acbc622a75c92378ba5a Author: Pavel Emelyanov Date: Wed Apr 16 01:16:18 2008 -0700 [SIT]: Make the fallback tunnel device per-net Allocate and register one in sit_init_net, use sitn->fb_tunnel_dev over the code and unregister one in sit_exit_net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fcee5ec9fdd2b27bce2a6ae8cd8161ad9a8899df Author: Pavel Emelyanov Date: Wed Apr 16 01:15:59 2008 -0700 [SIT]: Use proper net in hash-lookup functions. Replace introduced in the previous patch init_net stubs with the proper net pointer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ca8def1483a7621503247e28d1ca5dace9b945fe Author: Pavel Emelyanov Date: Wed Apr 16 01:15:39 2008 -0700 [SIT]: Add net/sit_net argument to some functions. ... to make them prepared for future hashes and fallback device move on the struct sit_net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8190d9009a74e7862b31874cd347b394d390cc6e Author: Pavel Emelyanov Date: Wed Apr 16 01:15:17 2008 -0700 [SIT]: Introduce empty struct sit_net and init/exit net ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f96c148fd53a2a0dbb2d768895c7cf6951e35cc5 Author: Pavel Emelyanov Date: Wed Apr 16 01:11:36 2008 -0700 [GRE]: Allow for IPPROTO_GRE protocol in namespaces. This one was also disabled by default for sanity. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0b67eceb198b77045950011e12bf176a7c11ad98 Author: Pavel Emelyanov Date: Wed Apr 16 01:11:13 2008 -0700 [GRE]: Allow to create IPGRE tunnels in net namespaces. I.e. set the proper net and mark as NETNS_LOCAL. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 96635522f7930025b8a56a7075db82c48a454a30 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:44 2008 -0700 [GRE]: Use proper net in routing calls. As for the IPIP tunnel, there are some ip_route_output_key() calls in there that require a proper net so give one to them. And a proper net for the __get_dev_by_index hanging around. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit eb8ce741a3c4d4ba5f345ff19689c7d2e4555668 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:26 2008 -0700 [GRE]: Make tunnels hashes per-net. Very similar to what was done for the IPIP code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7daa0004895f0421bff41a3ac0464f2ff4d9cd41 Author: Pavel Emelyanov Date: Wed Apr 16 01:10:05 2008 -0700 [GRE]: Make the fallback tunnel device per-net. Everything is prepared for this change now. Create on in init callback, use it over the code and destroy on net exit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3b4667f3db4d7d0b6d8f35c2ca80333ea141629a Author: Pavel Emelyanov Date: Wed Apr 16 01:09:44 2008 -0700 [GRE]: Use proper net in hash-lookup functions. This is the part#2 of the patch #2 - get the proper net for these functions. This change in a separate patch in order not to get lost in a large previous patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f57e7d5a7bd2a600a8a97e278e4c46904ceacf51 Author: Pavel Emelyanov Date: Wed Apr 16 01:09:22 2008 -0700 [GRE]: Add net/gre_net argument to some functions. The fallback device and hashes are to become per-net, but many code doesn't have anything to get the struct net pointer from. So pass the proper net there with an extra argument. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 59a4c7594bcecef27f072a599e9fb3b18754fc60 Author: Pavel Emelyanov Date: Wed Apr 16 01:08:53 2008 -0700 [GRE]: Introduce empty ipgre_net structure and net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4597a0ce0849eaa62fc9083c21943e0c434e4135 Author: Pavel Emelyanov Date: Wed Apr 16 01:06:56 2008 -0700 [IPIP]: Allow for IPPROTO_IPIP protocol in namespaces. This one was disabled by default for sanity. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0a826406d4adf0c4b7cd47f116cb8e8ef65b92a3 Author: Pavel Emelyanov Date: Wed Apr 16 01:06:18 2008 -0700 [IPIP]: Allow to create IPIP tunnels in net namespaces. Set the proper net before calling register_netdev and disable the tunnel device netns changing. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b99f0152e5f96dde31d2b9060b4f1029abc11078 Author: Pavel Emelyanov Date: Wed Apr 16 01:05:57 2008 -0700 [IPIP]: Use proper net in (mostly) routing calls. There are some ip_route_output_key() calls in there that require a proper net so give one to them. Besides - give a proper net to a single __get_dev_by_index call in ipip_tunnel_bind_dev(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 44d3c299dcfee094f10e0c686ad6588fd36d4f8f Author: Pavel Emelyanov Date: Wed Apr 16 01:05:32 2008 -0700 [IPIP]: Make tunnels hashes per net. Either net or ipip_net already exists in all the required places, so just use one. Besides, tune net_init and net_exit calls to respectively initialize the hashes and destroy devices. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cec3ffae1a019f02cd6b5fa291f279c8e9f86157 Author: Pavel Emelyanov Date: Wed Apr 16 01:05:03 2008 -0700 [IPIP]: Use proper net in hash-lookup functions. This is the part#2 of the previous patch - get the proper net for these functions. I make it in a separate patch, so that this change does not get lost in a large previous patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b9fae5c9138086d27715a8a0f29d5b55239db35c Author: Pavel Emelyanov Date: Wed Apr 16 01:04:35 2008 -0700 [IPIP]: Add net/ipip_net argument to some functions. The hashes of tunnels will be per-net too, so prepare all the functions that uses them for this change by adding an argument. Use init_net temporarily in places, where the net does not exist explicitly yet. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b9855c54dadc0768dcc3804df1972488783d2267 Author: Pavel Emelyanov Date: Wed Apr 16 01:04:13 2008 -0700 [IPIP]: Make the fallback tunnel device per-net. Create on in ipip_init_net(), use it all over the code (the proper place to get the net from already exists) and destroy in ipip_net_exit(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 10dc4c7bb70533d16184aaaa69e137a7d2b9a3a8 Author: Pavel Emelyanov Date: Wed Apr 16 01:03:13 2008 -0700 [IPIP]: Introduce empty ipip_net structure and net init/exit ops. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 30688a9a3e06d83d187658bd1c15f0e306bed38b Author: Pavel Emelyanov Date: Wed Apr 16 00:57:01 2008 -0700 [VLAN]: Handle vlan devices net namespace changing. When van device is moved to another namespace proc files, related to this device, should also change one. Use the netdev REGISTER and UNREGISTER event handlers for this. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 65d292a2ef2df66fd1ab83447afee71ef3720ded Author: Pavel Emelyanov Date: Wed Apr 16 00:55:06 2008 -0700 [VLAN]: Allow vlan devices registration in net namespaces. This one is similar to what I've done for TUN - set the proper net after device allocation and clean VLANs on net exit (use the rtnl_kill_links helper finally). Plus, drop explicit init_net usage and net != &init_net checks. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 7a17a2f79f54a988d08ffa33ec9e1038bffec42b Author: Pavel Emelyanov Date: Wed Apr 16 00:54:39 2008 -0700 [VLAN]: Make the vlan_name_type per-net. This includes moving one on the struct vlan_net and s/vlan_name_type/vn->name_type/ over the code. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 80de2d982156b5f6f50ff97175dc94ccfe3d093f Author: Pavel Emelyanov Date: Wed Apr 16 00:52:24 2008 -0700 [VLAN]: Make the /proc/net/vlan/conf file show per-net info. It is created in a proper net, so make is show info, related to this particular net. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit a59a8c1c865e6d231e1b5675f767ace006f08c21 Author: Pavel Emelyanov Date: Wed Apr 16 00:51:51 2008 -0700 [VLAN]: Create proc entries in the proper net. The proc_vlan_dir and proc_vlan_conf migrate on the struct vlan_net and their creation uses the struct net. The devices' entries use the corresponding device's net. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit cd1c701432fbf84ad5ea1d8012ddd398a560bccc Author: Pavel Emelyanov Date: Wed Apr 16 00:51:12 2008 -0700 [VLAN]: Add a net argument to proc init and cleanup calls. All proc files will be created in each net, so prepare them for this change now, not to mess it with real creation patch. The net != &init_net checks in them are for git-bisect sanity, but I will drop them soon. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit d9ed0f0e2dba45eec79ffbdd841757f87712349b Author: Pavel Emelyanov Date: Wed Apr 16 00:49:09 2008 -0700 [VLAN]: Introduce the vlan_net structure and init/exit net ops. Unlike TUN, it is empty from the very beginning, and will be eventually populated later. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit a9fde2607895667823e9d1172fc193087125ef68 Author: Pavel Emelyanov Date: Wed Apr 16 00:48:04 2008 -0700 [VLAN]: Tag vlan_group_device with net device, not ifindex. Currently vlan group is searched using one key - the ifindex. We'll have to lookup the vlan_group by two keys - ifindex and net. Turning the vlan_group lookup key to struct net_device pointer will make this process easier. Besides, this will eliminate one more place in the networking, that assumes that indexes are unique in the kernel. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 669f87baab90183e13b95480aecf8d7bac92ca3c Author: Pavel Emelyanov Date: Wed Apr 16 00:46:52 2008 -0700 [RTNL]: Introduce the rtnl_kill_links helper. This one is responsible for calling ->dellink on each net device found in net to help with vlan net_exit hook in the nearest future. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a931a80cb25f905da377d1bb0ba9b1641aa579a Author: Pavel Emelyanov Date: Wed Apr 16 00:45:56 2008 -0700 [RTNL]: Relax for_each_netdev_safe in __rtnl_link_unregister. Each potential list_del (happening from inside a ->dellink call) is followed by goto restart, so there's no need in _safe iteration. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit fc54c65853dbfd2f70ff827b73344f9de4e4b501 Author: Pavel Emelyanov Date: Wed Apr 16 00:41:53 2008 -0700 [TUN]: Allow to register tun devices in namespace. This is basically means that a net is set for a new device, but actually also involves two more steps: 1. mark the tun device as "local", i.e. do not allow for it to move across namespaces. This is done so, since tun device is most often associated to some file (and thus to some process) and moving the device alone is not valid while keeping the file and the process outside. The need in ability to move a detached persistent device is to be investigated later. 2. get the tun device's net when tun becomes attached and put one when it becomes detached. This is needed to handle the case when a task owning the tun dies, but a files lives for some more time - in this case we must not allow for net to be freed, since its exit hook will spoil that file's private data by unregistering the tun from under tun_chr_close. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d647a591dae06ccc96210cea938aa0342ef935fc Author: Pavel Emelyanov Date: Wed Apr 16 00:41:16 2008 -0700 [TUN]: Make the tun_dev_list per-net. Remove the static tun_dev_list and replace its occurrences in driver with per-net one. It is used in two places - in tun_set_iff and tun_cleanup. In the first case it's legal to use current net_ns. In the cleanup call - move the loop, that unregisters all devices in net exit hook. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 79d1760491a25bfc70aeac363142cadd3f1cda71 Author: Pavel Emelyanov Date: Wed Apr 16 00:40:46 2008 -0700 [TUN]: Introduce the tun_net structure and init/exit net ops. This is the first step in making tuntap devices work in net namespaces. The structure mentioned is pointed by generic net pointer with tun_net_id id, and tun driver fills one on its load. It will contain only the tun devices list. So declare this structure and introduce net init and exit hooks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d142137b4fe87188f211042b16a5993964226f9 Author: Steve French Date: Wed Apr 16 03:56:51 2008 +0000 [CIFS] make cifs_dfs_automount_list_static This patch makes the needlessly global cifs_dfs_automount_list static. Signed-off-by: Adrian Bunk Signed-off-by: Steve French commit 17515408a15fa51c553e67c415502e785145cd7f Author: Ilpo Järvinen Date: Tue Apr 15 20:36:55 2008 -0700 [TCP]: Remove superflushious skb == write_queue_tail() check Needed can only be more strict than what was checked by the earlier common case check for non-tail skbs, thus cwnd_len <= needed will never match in that case anyway. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b131dd5d659aaf287a3809473130c3ff5eddb71b Author: Mandeep Singh Baines Date: Tue Apr 15 19:24:17 2008 -0700 [ETHTOOL]: Add support for large eeproms Currently, it is not possible to read/write to an eeprom larger than 128k in size because the buffer used for temporarily storing the eeprom contents is allocated using kmalloc. kmalloc can only allocate a maximum of 128k depending on architecture. Modified ethtool_get/set_eeprom to only allocate a page of memory and then copy the eeprom a page at a time. Updated original patch as per suggestions from Joe Perches. Signed-off-by: Mandeep Singh Baines Signed-off-by: David S. Miller commit 73e87e02ec484ac459c4be262ab76960b89dc019 Author: Oliver Hartkopp Date: Tue Apr 15 19:29:14 2008 -0700 CAN: use hrtimers in can-bcm protocol Make use of hrtimers to support high resolution capabilities, when provided by the system clocksource. The conversion to hrtimers additionally discovered and solved an unlikely race condition that has been reproduced under (unrealistic) massive receive load, which can only be produced on vcan software devices. [ Fix printf format warnings on 64-bit -DaveM ] Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 85035568a96065de6fb29478707a3ad5f1fed169 Author: Allan Stephens Date: Tue Apr 15 19:04:54 2008 -0700 [TIPC]: Enhance validation of format on incoming messages This patch ensures that TIPC properly handles incoming messages that have incorrect or unexpected formats. Most significantly, it now ensures that each sl_buff has at least as much data as the message header indicates it should, and that the entire message header is stored contiguously; this prevents TIPC from accidentally accessing memory that is not part of the sk_buff. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit fe13dda2d24eca2ee8a6bb8a0af88ab84d589fd6 Author: Allan Stephens Date: Tue Apr 15 19:03:23 2008 -0700 [TIPC]: Force linearization of non-linear sk_buffs This patch allows TIPC to process incoming messages that are stored in a fragmented sk_buff, by forcing the linearization of any such messages it receives. Note: This is an interim solution to allow TIPC to operate with Ethernet devices that generate non-linear buffers (such as the gianfar driver), until such time as the rest of TIPC is enhanced to handle sk_buffs with multiple data areas. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit bdc82bee43d11c093ff0378acef2a9550891cbb9 Author: Allan Stephens Date: Tue Apr 15 19:02:30 2008 -0700 [TIPC]: Use fast buffer cloning to improve performance This patch causes TIPC to allocate fast clonable sk_buffs, rather than standard ones. This speeds up the cloning operation done by the link code each time a message is sent off-node. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 11ecede7874efb9c31184b49090fc6d9bb17f9f6 Author: Allan Stephens Date: Tue Apr 15 19:01:43 2008 -0700 [TIPC]: Remove redundant NULL check when discarding buffers This patch eliminates a null pointer check when discarding a TIPC message buffer, since kfree_skb() already handles this situation. Acknowledgements to Florian Westphal (fw@strlen.de> for suggesting this enhancement. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 5d941ca628a142f44d7a2440fe919f8e8691f590 Author: Steve French Date: Tue Apr 15 18:40:48 2008 +0000 [CIFS] Fix oops when slow oplock process races with unmount If a tcon is being freed in call tconInfoFree, clean up any entries that may exist in global oplock queue as the tcon structure hanging off of those entries will be invalid and can cause oops while accesing any elements in the tcon structure. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit e48d199ba10bb8267f491a3a585ca4a833e950a4 Merge: cce246e... 0de19a4... Author: Steve French Date: Tue Apr 15 18:38:29 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 072f042df335d7e0da2027637bcf720d7ff1589b Author: Takao Indoh Date: Tue Apr 15 05:59:54 2008 -0400 [IA64] kdump: Add crash_save_vmcoreinfo for INIT This patch fixes the problem that kdump by INIT does not work if we use makedumpfile. The problem is that after INIT is issued, 2nd kernel starts and makedumpfile fails with the following error message. /proc/vmcore doesn't contain vmcoreinfo. '-x' or '-i' must be specified. makedumpfile Failed. The cause of this problem is that kernel does not call crash_save_vmcoreinfo. When kdump starts by panic or sysrq-trigger, crash_save_vmcoreinfo is called by crash_kexec. But this function is not called when kdump starts by INIT. The Attached patch fixes this. This patch just adds crash_save_vmcoreinfo into machine_kdump_on_init so that crash_save_vmcoreinfo can be called when kdump starts by INIT. I tested this patch with linux-2.6.25-rc9 and I confirmed it worked. Signed-off-by: Takao Indoh Signed-off-by: Tony Luck commit 3e24e2b5ae03394d9510530f9dd973050fd18730 Author: Martin Kebert Date: Mon Mar 10 13:40:36 2008 +0100 Input: add Zhen Hua driver This is a driver for Zhen Hua PPM-4CH RC transmitter (commonly used in cheap Ready To Fly RC helicopters by Walkera) which using "Zhen Hua 5-byte protocol" for using them as a four axis joystick via serial port. Transmitter connected to serial port (19200 8N1) sending periodically 5 bytes where first byte is for synchronization and next four bytes are values of axis. Signed-off-by: Martin Kebert Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit a32bcc45b9e9d8021b5936c45dc3f8db7a044466 Author: Guryanov Dmitry Date: Mon Mar 10 03:08:58 2008 -0700 Input: aiptek - add support for Genius G-PEN 560 tablet USBHID driver only supports relative mode with this tablet so let aiptek module handle it. Signed-off-by: Dmitry Guryanov Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 975386ee0e71df6162f600749d027a28e85a5c5f Author: Josh Boyer Date: Sun Apr 6 08:01:21 2008 -0500 [POWERPC] 4xx: Reorganize 4xx defconfigs Board specific defconfigs are useful, however with the ability to do multi-board defconfigs they aren't needed in the top level configs directory. Move the 4xx board specific defconfigs to individual directories under arch/powerpc/configs. Signed-off-by: Josh Boyer commit d9024df02ffe74d723d97d552f86de3b34beb8cc Author: Paul Mackerras Date: Sat Apr 12 15:20:59 2008 +1000 [LMB] Restructure allocation loops to avoid unsigned underflow There is a potential bug in __lmb_alloc_base where we subtract `size' from the base address of a reserved region without checking whether the subtraction could wrap around and produce a very large unsigned value. In fact it probably isn't possible to hit the bug in practice since it would only occur in the situation where we can't satisfy the allocation request and there is a reserved region starting at 0. This fixes the potential bug by breaking out of the loop when we get to the point where the base of the reserved region is less than the size requested. This also restructures the loop to be a bit easier to follow. The same logic got copied into lmb_alloc_nid_unreserved, so this makes a similar change there. Here the bug is more likely to be hit because the outer loop (in lmb_alloc_nid) goes through the memory regions in increasing order rather than decreasing order as __lmb_alloc_base does, and we are therefore more likely to hit the case where we are testing against a reserved region with a base address of 0. Signed-off-by: Paul Mackerras commit 300613e523d53f346f8ff0256921e289da39ed7b Author: Paul Mackerras Date: Sat Apr 12 15:20:59 2008 +1000 [LMB] Fix some whitespace and other formatting issues, use pr_debug This makes no semantic changes. It fixes the whitespace and formatting a bit, gets rid of a local DBG macro and uses the equivalent pr_debug instead, and restructures one while loop that had a function call and assignment in the condition to be a bit more readable. Some comments about functions being called with relocation disabled were also removed as they would just be confusing to most readers now that the code is in lib/. Signed-off-by: Paul Mackerras commit c50f68c8aea421267ba7995b1c485c281b28add6 Author: David S. Miller Date: Mon Mar 24 20:50:48 2008 +1100 [LMB] Add lmb_alloc_nid() A variant of lmb_alloc() that tries to allocate memory on a specified NUMA node 'nid' but falls back to normal lmb_alloc() if that fails. The caller provides a 'nid_range' function pointer which assists the allocator. It is given args 'start', 'end', and pointer to integer 'this_nid'. It places at 'this_nid' the NUMA node id that corresponds to 'start', and returns the end address within 'start' to 'end' at which memory assosciated with 'nid' ends. This callback allows a platform to use lmb_alloc_nid() in just about any context, even ones in which early_pfn_to_nid() might not be working yet. This function will be used by the NUMA setup code on sparc64, and also it can be used by powerpc, replacing it's hand crafted "careful_allocation()" function in arch/powerpc/mm/numa.c If x86 ever converts it's NUMA support over to using the LMB helpers, it can use this too as it has something entirely similar. Signed-off-by: David S. Miller Signed-off-by: Paul Mackerras commit 4b1d99b37f608b8cc03550033b16212ca9362efd Author: Stephen Rothwell Date: Mon Apr 14 12:08:47 2008 +1000 [POWERPC] replace asm/of_device.h with linux/of_device.h in macio.h Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 98245c169af77e5c78efe381e128716aebb7d025 Author: Stephen Rothwell Date: Mon Apr 14 12:00:47 2008 +1000 [POWERPC] remove include of asm/of_device.h from pmi.h pmi.h does not diectly reference anything in of_device.h and of the two files that include asm/pmi.h, one includes of_device.h and the other includes of_platform.h (which includes of_device.h). Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9a5e6a27d2aa1b37758abb031f37615ac367cca Author: Stephen Rothwell Date: Thu Apr 10 16:44:30 2008 +1000 [POWERPC] iSeries: Localise and constify some iSeries data Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 30ff2e87ed55e83b4eb436f5f14a7e49ff81ad99 Author: Stephen Rothwell Date: Thu Apr 10 16:43:47 2008 +1000 [POWERPC] iSeries: Make iseries_reg_save private to iSeries Now that we have the alpaca, the reg_save_ptr is no longer needed in the paca. Eradicate all global uses of it and make it static in the iSeries lpardata.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3eb9cf076180ed2003db77bd2c33ac4ed0211089 Author: Stephen Rothwell Date: Thu Apr 10 16:39:18 2008 +1000 [POWERPC] iSeries: Use alternate paca structure for booting The iSeries HV only needs the first two fields of the paca statically initialised, so create an alternate paca that contains only those and switch to our real paca immediately after boot. This is in order to make the 1024 cpu patches easier since they will no longer have to statically initialise the pacas for iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a7e695f6bf37f829a01e693a1569e96a842a1017 Author: Dale Farnsworth Date: Tue Apr 8 08:13:10 2008 +1000 [POWERPC] prpmc2800 needs a dtbImage The prpmc2800 platform requires a zImage formatted file with an embedded dtb file. Rename the requested boot image file to dtbImage.prpmc2800. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit f5412c4980a9fbf9540078577747d7e098829e75 Author: Dale Farnsworth Date: Tue Apr 8 08:12:07 2008 +1000 [POWERPC] Document the mv64x60 device tree bindings Add the device tree bindings for the Marvell mv64x60 series of system controller chips in booting-without-of.text. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a0916bd64a0e6636f0161480e04057c89e90c5da Author: Dale Farnsworth Date: Tue Apr 8 08:11:27 2008 +1000 [POWERPC] mv643xx_eth: Prepare to support multiple silicon blocks The mv643xx_eth driver is being modified to support multiple instances of the ethernet silicon block on the same platform. Each block contains a single register bank containing the registers for up to three ports interleaved within that bank. This patch updates the PowerPC OF to platform_device glue code to support multiple silicon blocks, each with up to three ethernet ports. The main difference is that we now allow multiple mv64x60_shared platform_devices to be registered and we provide each port platform_device with a pointer to its associated shared platform_device. The pointer will not be used until the mv643xx_eth driver changes are committed. Signed-off-by: Dale Farnsworth Acked-by: Mark Greer Signed-off-by: Paul Mackerras commit 1791f91bc794b7efc90719268146f582b9f29ead Author: Mark A. Greer Date: Tue Apr 8 08:10:34 2008 +1000 [POWERPC] prpmc2800: Clean up dts properties Remove several unused (or software config only) properties. Rename marvel node to "system-controller". Also, rename the "block-index" property to "cell-index" to conform to current practice. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit a05ce88ab3e8a022ee17d89ecf86f6929c89c50e Author: Dale Farnsworth Date: Tue Apr 8 08:09:51 2008 +1000 [POWERPC] mv64x60: Remove device tree absolute path references Replace several device node absolute path lookups in the mv64x60 bootwrapper code with lookups by compatible or device_type properties. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a1810b44c2d52392cd63e17fc208783cf6be6215 Author: Mark A. Greer Date: Tue Apr 8 08:09:03 2008 +1000 [POWERPC] mv64x60: Fix FDT compatible names: mv64x60 => mv64360 Compatible names should refer to a specific version of the hardware, without wildcards. Change each instance of mv64x60 to mv64360, which is the oldest version we currently support. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit fb9d93de6049922c4d46cc2dc9d2eeec07369e7f Author: Dale Farnsworth Date: Tue Apr 8 08:08:06 2008 +1000 [POWERPC] prpmc2800: Fix frequencies in prpmc2800.dts After the conversion to dts v1 format, seeing the frequencies in decimal made it obvious that some of them had been incorrectly truncated. This fixes them. Note that the PCI frequency comes from a different source and is documented as 66MHz, so it was left at 66000000. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit d528be50c616ff2b1f2259589730608a1d348d63 Author: Mark A. Greer Date: Tue Apr 8 08:07:08 2008 +1000 [POWERPC] prpmc2800: Convert DTS to v1 and add labels Update the prpmc2800 DTS file to version 1 and add labels. I verified that there was no change in the resulting dtb file. Signed-off-by: Mark A. Greer Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 53bcddb915533c2c41d590e386502a50effd1a21 Author: Stephen Rothwell Date: Fri Apr 11 11:11:56 2008 +1000 [POWERPC] Fix MAX_ORDER config problem The allyesconfig (among others) build was giving this: In file included from include/linux/gfp.h:4, from include/linux/slab.h:14, from include/linux/percpu.h:5, from include2/asm/time.h:18, from include2/asm/cputime.h:26, from include/linux/sched.h:67, from arch/powerpc/kernel/asm-offsets.c:17: include/linux/mmzone.h:791:2: error: #error Allocator MAX_ORDER exceeds SECTION_SIZE Kconfig options are order depenendent, so move the setting of FORCE_MAX_ZONEORDER to after the setting of PPC_64K_PAGES. Also add an explicit !PPC_64K_PAGES. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dec827d174d7f76c457238800183ca864a639365 Author: Pavel Emelyanov Date: Tue Apr 15 00:36:08 2008 -0700 [NETNS]: The generic per-net pointers. Add the elastic array of void * pointer to the struct net. The access rules are simple: 1. register the ops with register_pernet_gen_device to get the id of your private pointer 2. call net_assign_generic() to put the private data on the struct net (most preferably this should be done in the ->init callback of the ops registered) 3. do not store any private reference on the net_generic array; 4. do not change this pointer while the net is alive; 5. use the net_generic() to get the pointer. When adding a new pointer, I copy the old array, replace it with a new one and schedule the old for kfree after an RCU grace period. Since the net_generic explores the net->gen array inside rcu read section and once set the net->gen->ptr[x] pointer never changes, this grants us a safe access to generic pointers. Quoting Paul: "... RCU is protecting -only- the net_generic structure that net_generic() is traversing, and the [pointer] returned by net_generic() is protected by a reference counter in the upper-level struct net." Signed-off-by: Pavel Emelyanov Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit c93cf61fd1d5378134f9b06703f7078067542e00 Author: Pavel Emelyanov Date: Tue Apr 15 00:35:23 2008 -0700 [NETNS]: The net-subsys IDs generator. To make some per-net generic pointers, we need some way to address them, i.e. - IDs. This is simple IDA-based IDs generator for pernet subsystems. Addressing questions about potential checkpoint/restart problems: these IDs are "lite-offsets" within the net structure and are by no means supposed to be exported to the userspace. Since it will be used in the nearest future by devices only (tun, vlan, tunnels, bridge, etc), I make it resemble the functionality of register_pernet_device(). The new ids is stored in the *id pointer _before_ calling the init callback to make this id available in this callback. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 31efdf0530b6351b0658d35a602a0f2d6bc2ed6f Author: Adrian Bunk Date: Tue Apr 15 00:30:16 2008 -0700 [ISDN] include/linux/isdn.h: remove dead code This patch remove the usage of a nonexisting kconfig variable. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 7ef3abd2104232a35f259dad6a213310edc7c9fe Author: Adrian Bunk Date: Tue Apr 15 00:29:24 2008 -0700 [IRDA]: Remove irlan_eth_send_gratuitous_arp() Even kernel 2.2.26 (sic) already contains the #undef CONFIG_IRLAN_SEND_GRATUITOUS_ARP with the comment "but for some reason the machine crashes if you use DHCP". Either someone finally looks into this or it's simply time to remove this dead code. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 99971e70fdc1862e120f3319fc0a4dba8c728acf Author: Adrian Bunk Date: Tue Apr 15 00:27:58 2008 -0700 [WANPIPE]: Forgotten bits of Sangoma drivers removal. Robert P. J. Day spotted that my removal of the Sangoma drivers missed a few bits. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0c3141e910eaaa0b617e2f26c69b266d1cd1f035 Author: Allan Stephens Date: Tue Apr 15 00:22:02 2008 -0700 [TIPC]: Overhaul of socket locking logic This patch modifies TIPC's socket code to follow the same approach used by other protocols. This change eliminates the need for a mutex in the TIPC-specific portion of the socket protocol data structure -- in its place, the standard Linux socket backlog queue and associated locking routines are utilized. These changes fix a long-standing receive queue bug on SMP systems, and also enable individual read and write threads to utilize a socket without unnecessarily interfering with each other. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit b89741a0cc162511b4341c07e17e1bd4c8b4621d Author: Allan Stephens Date: Tue Apr 15 00:20:37 2008 -0700 [TIPC]: Cosmetic changes to TIPC connect() code This patch fixes TIPC's connect routine to conform to Linux kernel style norms of indentation, line length, etc. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 99bda83e8b3140b7e81572a5aabc7dedb455b272 Author: Ralf Baechle Date: Thu Mar 13 23:54:09 2008 +0100 MIPS Alchemy: Crapectomy after removal of pm_send_all calls. Signed-off-by: Ralf Baechle Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 5373fd72577ffc4689ade0a2a1a885293c32c711 Author: Andrew Morton Date: Thu Mar 27 02:00:06 2008 -0400 PM: arch/x86/kernel/apm_32.c: fix build warning arch/x86/kernel/apm_32.c:1215: warning: label 'out' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 6afe1a1fe8ff83f6ac2726b04665e76ba7b14f3e Author: Pavel Machek Date: Thu Mar 13 23:52:49 2008 +0100 PM: Remove legacy PM AFAICT pm_send_all is a nop when noone uses pm_register... Hmm.. can we just force CONFIG_PM_LEGACY=n, and see what happens? Or maybe this is better idea? It may break build somewhere, but it should be easy to fix... (it builds here, i386 and x86-64). Signed-off-by: Pavel Machek Acked-by: Ralf Baechle Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 4934c69a384ede7d0c3009098184554da2063de6 Author: Allan Stephens Date: Tue Apr 15 00:16:19 2008 -0700 [TIPC]: Add error check to detect non-blocking form of connect() This patch causes TIPC to return an error indication if the non- blocking form of connect() is requested (which TIPC does not yet support). Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 1819b83718dc3fe0aea0a2c3cd48d617e2003606 Author: Allan Stephens Date: Tue Apr 15 00:15:50 2008 -0700 [TIPC]: Correct "off by 1" error in socket queue limit enforcement This patch fixes a bug that allowed TIPC to queue 1 more message than allowed by the socket receive queue threshold limits. The patch also improves the threshold code's logic and naming to help prevent this sort of error from recurring in the future. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 7a8036c2b93c8301afce8f75ac099c347bad569d Author: Allan Stephens Date: Tue Apr 15 00:15:15 2008 -0700 [TIPC]: Ignore message padding when receiving stream data This patch ensures that padding bytes appearing at the end of an incoming TIPC message are not returned as valid stream data. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit a198d3a200313bca8261e30e6daaad790937fd7e Author: Allan Stephens Date: Tue Apr 15 00:07:15 2008 -0700 [TIPC]: Allow stream receive to read from multiple TIPC messages This patch allows a stream socket to receive data from multiple TIPC messages in its receive queue, without requiring the use of the MSG_WAITALL flag. Acknowledgements to Florian Westphal for identifying this issue and suggesting how to correct it. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 990098068fe963f956c14f681bd88d90dcb14584 Author: Allan Stephens Date: Tue Apr 15 00:06:12 2008 -0700 [TIPC]: Skip connection flow control in connectionless sockets This patch optimizes the receive path for SOCK_DGRAM and SOCK_RDM messages by skipping over code that handles connection-based flow control. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e722409445fbe718f09f6d5e03d0ae84cf0954d0 Author: Oliver Neukum Date: Tue Apr 15 01:31:57 2008 -0400 Input: wacom - implement suspend and autosuspend This implements suspend and autosuspend support for wacom devices. It works by using the usb last busy functionality triggered in the completion callback. Signed-off-by: Oliver Neukum Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 04021e4e401d7ac2051839dd5b00a701c9119dd9 Author: Michael Gruber Date: Tue Apr 15 01:31:47 2008 -0400 Input: xpad - set proper buffer length for outgoing requests The messages for led/rumble are exactly 3 and 8 bytes respectively. Hence set up the transfer_buffer_length accordingly. Signed-off-by: Michael Gruber Acked-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit da3e4c885e5ebbccc8181f53d8ae74c4c22d506f Author: David Brownell Date: Tue Apr 15 01:31:33 2008 -0400 Input: omap-keypad - fix build warning Fix the following build warning: drivers/input/keyboard/omap-keypad.c: In function 'omap_kp_probe': drivers/input/keyboard/omap-keypad.c:418: warning: 'row_idx' is used uninitialized in this function drivers/input/keyboard/omap-keypad.c:421: warning: 'col_idx' is used uninitialized in this function These variables are useful when cpu_is_omap24xx(), and otherwise just for useless cleanup. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Dmitry Torokhov commit 1164ec1ae43770db6ea5450c6cac0761b11d6d1d Author: David Brownell Date: Tue Apr 15 01:31:13 2008 -0400 Input: gpio_keys - irq handling cleanup Cleanup IRQ handling in gpio_keys: bail after handling the IRQ, and report IRQ_NONE if we never handle it. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 9f9439e92a7fb057d31a19636b99e43306192756 Author: Hans-Christian Egtvedt Date: Tue Apr 15 01:30:47 2008 -0400 Input: add PS/2 serio driver for AVR32 devices Add support for the PSIF peripheral on AVR32 AP7 devices. It is implemented as a serio driver and will behave like a serio 8042 device. The driver has been tested with a Dell keyboard capable of running on 3.3 volts and a Logitech mouse on the STK1000 + STK1002 starter kit. The Logitech mouse was hacked by cutting the cord and using a bi-directional voltage converter to get the required 5 volt I/O level. For more information about the PSIF module, see the datasheet for AT32AP700X at http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 0beb4f6f294b0f2dde07fa9da9c00abd4f9c8b50 Author: Karl Dahlke Date: Tue Apr 15 01:30:32 2008 -0400 Input: put ledstate in the keyboard notifier Led state should be part of the key event, like shiftstate, and not grabbed asynchronously after the fact. [samuel.thibault@ens-lyon.org: various fixes] Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 3e238be2f75f2a6d5d5064eda46ac96268c6411e Author: Russell King Date: Mon Apr 14 23:03:10 2008 +0100 [ARM] sa1100: add clock event support d142b6e77d394a4fcc0a42381b03852bd9c4e263 added clock source support, now it's time for the clock event support. Tested-by: Thomas Kunze Signed-off-by: Russell King commit 2c8dd11636e3a5f14a7fb765331b7043f01fe937 Author: Denis V. Lunev Date: Mon Apr 14 14:47:48 2008 -0700 [XFRM]: Compilation warnings in xfrm_user.c. When CONFIG_SECURITY_NETWORK_XFRM is undefined the following warnings appears: net/xfrm/xfrm_user.c: In function 'xfrm_add_pol_expire': net/xfrm/xfrm_user.c:1576: warning: 'ctx' may be used uninitialized in this function net/xfrm/xfrm_user.c: In function 'xfrm_get_policy': net/xfrm/xfrm_user.c:1340: warning: 'ctx' may be used uninitialized in this function (security_xfrm_policy_alloc is noop for the case). It seems that they are result of the commit 03e1ad7b5d871d4189b1da3125c2f12d1b5f7d0b ("LSM: Make the Labeled IPsec hooks more stack friendly") Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3760d31f11bfbd0ead9eaeb8573e0602437a9d7c Author: Roman Tereshonkov Date: Thu Mar 13 21:35:09 2008 +0200 ARM: OMAP2: New DPLL clock framework These changes is the result of the discussion with Paul Walmsley. His ideas are included into this patch. Remove DPLL output divider handling from DPLLs and CLKOUTX2 clocks, and place it into specific DPLL output divider clocks (e.g., dpll3_m2_clk). omap2_get_dpll_rate() now returns the correct DPLL rate, as represented by the DPLL's CLKOUT output. Also add MPU and IVA2 subsystem clocks, along with high-frequency bypass support. Add support for DPLLs function in locked and bypass clock modes. Signed-off-by: Roman Tereshonkov Acked-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 02e19a960a519224a74da4d190965201044c1583 Author: Paul Walmsley Date: Tue Mar 18 15:09:51 2008 +0200 ARM: OMAP2: Add 34xx clock code This patch add 34xx clock code. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit b045d0809871eae4341e60a1db2b7d31703d8175 Author: Paul Walmsley Date: Tue Mar 18 11:24:28 2008 +0200 ARM: OMAP2: Add 34xx clocks This patch defines 34xx clocks. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d83b079f0f5c6f5ef34976330b904509a53ff1ec Author: Paul Walmsley Date: Tue Mar 18 11:02:28 2008 +0200 ARM: OMAP2: Remove old PRCM register access code Remove old PRCM register access code that is no longer needed. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit a16e97037b518533569a778f0e997704e5c43796 Author: Tony Lindgren Date: Tue Mar 18 11:56:39 2008 +0200 ARM: OMAP2: Clean up 24xx clock code Clean up 24xx clock code to sync it with linux-omap tree. Signed-off-by: Tony Lindgren commit 2150ef46f8b5b2a5e3e5c53c1b04c513276ad4f7 Author: Paul Walmsley Date: Tue Mar 18 10:53:16 2008 +0200 ARM: OMAP2: Remove old 24xx specific clock functions Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit e32744b02d2d8f5242720998c9f955d8545751ac Author: Paul Walmsley Date: Tue Mar 18 15:47:55 2008 +0200 ARM: OMAP: Add rest of 24xx clocks This patch adds the rest of clocks for 24xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 6b8858a972a0eff1dc1ab77b0fd9fc25387c217c Author: Paul Walmsley Date: Tue Mar 18 10:35:15 2008 +0200 ARM: OMAP2: Change 24xx to use shared clock code and new reg access This patch changes 24xx to use shared clock code and new register access. Note that patch adds some temporary OLD_CK defines to keep patch more readable. These temporary defines will be removed in the next patch. Also not all clocks are changed in this patch to limit the size. Also, the patch fixes few incorrect clock defines in clock24xx.h. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 543d93781a3c744017594d0721c4c1814a26bcce Author: Paul Walmsley Date: Tue Mar 18 10:22:06 2008 +0200 ARM: OMAP2: Add common clock framework for 24xx and 34xx This patch adds a common clock framework for 24xx and 34xx. Note that this patch does not add it to Makefile until in next patch. Some functions are modified from earlier 24xx clock framework code. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 3d876e59c819efcc4810a5945f9d780d05e28d93 Author: Paul Walmsley Date: Tue Mar 18 14:41:40 2008 +0200 ARM: OMAP2: Move clock.c to clock24xx.c This patch moves clock.h to clock24xx.c to make room for adding common clock code for 24xx and 34xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 32ab2cb9415f341913e3f33ef7566ca6e92ef283 Author: Paul Walmsley Date: Tue Mar 18 10:15:28 2008 +0200 ARM: OMAP2: Move clock.h to clock24xx.h This patch moves clock.h to clock24xx.h to make room for adding common clock code for 24xx and 34xx. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit b81ad56b078a5ee7c0061b117c7287e8987d6692 Author: Tony Lindgren Date: Tue Mar 18 10:59:00 2008 +0200 ARM: OMAP2: Remove old 24xx PM code This patch removes old 24xx PM code that does not really work for sleep states, and uses old power management register access. Working PM code will be added later. Signed-off-by: Tony Lindgren commit 445959821f82846913fe09fee0573e0238415e8c Author: Paul Walmsley Date: Tue Mar 18 10:04:51 2008 +0200 ARM: OMAP2: Change 24xx to use new register access This patch changes 24xx to use new register access, except for clock framework. Clock framework register access will get updates in the next patch. Note that board-*.c files change GPMC (General Purpose Memory Controller) access to use gpmc_cs_write_reg() instead of accessing the registers directly. The code also uses gpmc_fck instead of it's parent clock core_l3_ck for GPMC clock. The H4 board file also adds h4_init_flash() function, which specify the flash start and end addresses. Also note that sleep.S removes some unused registers addresses. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit c595713da76bc7cedddf5135072ea6037cc0befb Author: Tony Lindgren Date: Tue Mar 18 14:53:17 2008 +0200 ARM: OMAP2: Add register access for 34xx This patch adds register access for 34xx power and clock management. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 69d88a00a240fbed07fb6943c862ea3188e9097d Author: Paul Walmsley Date: Tue Mar 18 10:02:50 2008 +0200 ARM: OMAP2: Add common register access for 24xx and 34xx This patch adds common register access for 24xx and 34xx power and clock management in order to share code between 24xx and 34xx. Only change USB platform init code to use new register access, other access will be changed in later patches. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 9330899e0f878ff3b7a23b856de8bbb52c9c04fd Author: Tony Lindgren Date: Thu Jan 24 17:24:15 2008 -0800 ARM: OMAP2: Clean-up mux code Misc clean-up for the mux code and remove some unnecessary ifdefs. Patch changes debug function so it can be used on both 24xx and 34xx. Changes are mostly for omap2, but patch also cleans up some omap1 and common mux code. Signed-off-by: Tony Lindgren commit f7337a199acffa9f12fa9d88253d33bfb56ef14a Author: Tony Lindgren Date: Thu Mar 20 16:56:26 2008 +0200 ARM: OMAP2: Add new pin multiplexing configurations Add new pin multiplexing configurations Signed-off-by: Tony Lindgren commit dd89dd98cb9ae28f9e4c4d2c08be427a1f941c54 Author: Kevin Hilman Date: Mon Nov 12 23:24:04 2007 -0800 ARM: OMAP: TimerMPU: Remove MPU-timer based sched_clock() Remove MPU-timer based sched_clock() in favor of the common one based on 32k sync timer which works across all OMAP1/2/3 platforms. Using 32k based one also gives a valid sched_clock() very early in the boot process. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit caa97963a5d9042af15728bcd22ee5a8900dc0e9 Author: Kevin Hilman Date: Wed Dec 12 18:25:56 2007 -0800 ARM: OMAP: TimerMPU: Remove unused cycles-to-nsec conversions These are no longer used and similar conversions are provided by the clocksource/clockevent code. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 5c8388e5dfa7bddfca68f16b0ef61933508b716b Author: Tony Lindgren Date: Thu Mar 13 08:47:21 2008 +0200 ARM: OMAP1: Timer32K: Fix timer32K for clockevents and clean it up This patch fixes timer32k for clockevents and syncs it with linux-omap tree. Signed-off-by: Tony Lindgren commit a57fb870c8c4864031d7568f91e882e93238c9cb Author: Kevin Hilman Date: Mon Nov 12 23:24:05 2007 -0800 ARM: OMAP: Timer32K: Move timer32k to mach-omap1 Move now OMAP1-specific timer32k code to mach-omap1 since OMAP2/3 32k timers are done in gptimer code. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f258b0c6fa6ca653c7f4e6e2846dbb7ed3af3446 Author: Kevin Hilman Date: Mon Nov 12 23:24:03 2007 -0800 ARM: OMAP: Timer32K: Move 32k-based sched_clock() to common code Since 32k timer code is moving to OMAP1 specific dir, move the 32k-based sched_clock() into common code where it is based on the 32k sync counter and can be used even when using MPU timer. While moving, change the ticks-to-nsecs conversion to use the helper functions provided by clocksource.h. Also removed the unused ticks_to_usec, leaving only ticks_to_nsec. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 5a3a388fbefac3705dfcde16c93fc81e6fd9378f Author: Kevin Hilman Date: Mon Nov 12 23:24:02 2007 -0800 ARM: OMAP: Timer32K: Re-organize duplicated 32k-timer code On OMAP2/3, the gp-timer code can be used for a 32kHz timer simply by setting the source to be the 32k clock instead of sys_clk. This patch uses the mach-omap2/timer-gp.c code for 32kHz timer on OMAP2, moving the logic into mach-omap2/timer-gp.c, and not using plat-omap/timer32k.c which, for OMAP2, is redundant with the timer-gp code. Also, if CONFIG_OMAP_32K_TIMER is enabled, the gptimer-based clocksource is not used. Instead the default 32k sync counter is used as the clocksource (see the clocksource in plat-omap/common.c.) This is important for sleep/suspend so there is a valid counter during sleep. Note that the suspend/sleep code needs fixing to check for overflows of this counter. In addition, the OMAP2/3 details are removed from timer32k.c leaving that with only OMAP1 specifics. A follow-up patch will move it from plat-omap common code to mach-omap1. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 225dfda1d676b70acf1e696ace68c23297926ce0 Author: Tony Lindgren Date: Fri Jan 25 00:42:48 2008 -0800 ARM: OMAP: Split omap_cfg_reg() into omap processor specific functions Use omap processor specific function depending on system type. Based on an earlier patch by Klaus Pedersen . Signed-off-by: Tony Lindgren commit 7d7f665d5dac8d19f2fcb56baea09c59a3f861be Author: Tony Lindgren Date: Fri Jan 25 00:42:48 2008 -0800 ARM: OMAP: Allow registering pin mux function This patch changes pin multiplexing init to allow registering custom function. The omap_cfg_reg() func will be split into omap processor specific functions in later patch. This is done to make adding omap3 pin multiplexing easier. Signed-off-by: Tony Lindgren commit 672e302e3c04e40e7c236cb09159f593f24f5def Author: Kevin Hilman Date: Wed Jan 16 21:56:16 2008 -0800 ARM: OMAP: use edge/level handlers from generic IRQ framework Currently, the GPIO interrupt handling is duplicating some of the work done by the generic IRQ handlers (handle_edge_irq, handle_level_irq) such as detecting nesting, handling re-triggers etc. Remove this duplication and use generic hooks based on IRQ type. Using generic IRQ handlers ensures correct behavior when using threaded interrupts introduced by the -rt patch. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit b144ff6f3068602e5bbcefab888b97bcedb9b4a5 Author: Kevin Hilman Date: Wed Jan 16 21:56:15 2008 -0800 ARM: OMAP: Clear level-triggered GPIO interrupts in unmask hook The clearing was moved to the unmask hook because it is known to run after the interrupt handler has actually run. Before this patch, if interrupts are threaded, the clearing/unmasking of level triggered interrupts would be done before the threaded handler actually ran. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit d94577d5a581fe55c46b5b82eee733b8d053db19 Author: David Brownell Date: Thu Feb 28 22:09:15 2008 -0800 ARM: OMAP: Use gpiolib with tps65010 for OSK 5912 Convert OSK board to use new tps65010 gpiolib support. This includes moving its LED support from leds-osk to gpio-leds, giving more trigger options and a net platform code shrink. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 79966fd9b4781f9bd257312489ff511f2c01f210 Author: David Brownell Date: Thu Feb 28 22:07:28 2008 -0800 ARM: OMAP: I2C: tps65010 driver converts to gpiolib Make the tps65010 driver use gpiolib to expose its GPIOs. Note: This patch will get merged via omap tree instead of I2C as it will cause some board updates. This has been discussed at on the I2C list: http://lists.lm-sensors.org/pipermail/i2c/2008-March/003031.html Signed-off-by: David Brownell Cc: i2c@lm-sensors.org Signed-off-by: Tony Lindgren commit ac37a0b0ba7e8a6afce8db3f6c3367a3cfedad26 Author: David Brownell Date: Tue Feb 26 00:01:23 2008 -0800 ARM: OMAP: 5912 OSK GPIO updates Start cleaning up GPIO handling for OMAP5912 OSK board: - Initialize GPIOs using the cross-platform calls, not the old OMAP-private ones. - Move touchscreen setup out of ads7846 code into board-specfic setup code, where it belongs. This doesn't depend on the patches to update OMAP to use the gpiolib implementation framework. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 52e3134423c3af4431fedb34f77e31cfff91e0c3 Author: David Brownell Date: Mon Mar 3 12:43:23 2008 -0800 ARM: OMAP: Use gpiolib Update OMAP to use the new GPIO implementation framework. This is just a quick'n'dirty update ... more code could now be removed, ideally as part of cleaning up the entire OMAP GPIO infrastructure ... Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 0f389ec63077521166f071e1e970aed36147fd45 Author: Christoph Lameter Date: Mon Apr 14 18:53:02 2008 +0300 slub: No need for per node slab counters if !SLUB_DEBUG The per node counters are used mainly for showing data through the sysfs API. If that API is not compiled in then there is no point in keeping track of this data. Disable counters for the number of slabs and the number of total slabs if !SLUB_DEBUG. Incrementing the per node counters is also accessing a potentially contended cacheline so this could actually be a performance benefit to embedded systems. SLABINFO support is also affected. It now must depends on SLUB_DEBUG (which is on by default). Patch also avoids a check for a NULL kmem_cache_node pointer in new_slab() if the system is not compiled with NUMA support. [penberg@cs.helsinki.fi: fix oops and move ->nr_slabs into CONFIG_SLUB_DEBUG] Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 49bd5221ce8fb55d12c04a3ffd375201c5bbfb7a Author: Christoph Lameter Date: Mon Apr 14 18:52:18 2008 +0300 slub: Move map/flag clearing to __free_slab __free_slab does some diagnostics. The resetting of mapcount etc in discard_slab() can interfere with debug processing. So move the reset immediately before the page is freed. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 50ef37b96c11e76625067ae413dc54585ea22585 Author: Christoph Lameter Date: Mon Apr 14 18:52:05 2008 +0300 slub: Fixes to per cpu stat output in sysfs Only output per cpu stats if the kernel is build for SMP. Use a capital "C" as a leading character for the processor number (same as the numa statistics that also use a capital letter "N"). Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 5b06c853ad447636e31d105e95c48ae9abb6bfb5 Author: Christoph Lameter Date: Mon Apr 14 18:51:34 2008 +0300 slub: Deal with config variable dependencies count_partial() is used by both slabinfo and the sysfs proc support. Move the function directly before the beginning of the sysfs code so that it can be easily found. Rework the preprocessor conditional to take into account that slub sysfs support depends on CONFIG_SYSFS *and* CONFIG_SLUB_DEBUG. Make CONFIG_SLUB_STATS depend on CONFIG_SLUB_DEBUG and CONFIG_SYSFS. There is no point of keeping statistics if no one can restrive them. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 4097d6017576a5e138f442f5e3c393ad00d10f58 Author: Christoph Lameter Date: Mon Apr 14 18:51:18 2008 +0300 slub: Reduce #ifdef ZONE_DMA by moving kmalloc_caches_dma near dma logic Move the definition of kmalloc_caches_dma() into a later #ifdef CONFIG_ZONE_DMA. This saves one #ifdef and leaves us with a total of two #ifdefs for dma slab support. Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 62f75532b583c03840f31e40386ce2df73be9ca0 Author: Pekka Enberg Date: Mon Apr 14 18:50:44 2008 +0300 slub: Initialize per-cpu stats As spotted by kmemcheck, we need to initialize the per-CPU ->stat array before using it. [kmem_cache_cpu structures are usually allocated from arrays defined via DEFINE_PER_CPU that are zeroed so we have not noticed this so far --cl]. Reported-by: Vegard Nossum Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 320787c75ccac3189a1b7aae81f0efc1055f6d3a Author: Paul Mackerras Date: Mon Apr 14 13:59:02 2008 +1000 [POWERPC] Fix handling of unrecoverable SLB miss interrupts If an SLB miss interrupt happens while the RI bit of MSR is zero, we can't just return, because RI being zero indicates that SRR0/SRR1 potentially had live values in them, and the process of taking an interrupt overwrites them. This should never happen, but if it does, we try to print a nice oops message. That doesn't work, however, because the code at unrecov_slb assumes that the MMU has been turned on, but we call it with the MMU off (and have done so since the SLB miss handler was rewritten to run without turning the MMU on) -- except on iSeries, where everything runs with the MMU on. This fixes it by adding the necessary code to turn the MMU on if necessary. Signed-off-by: Paul Mackerras commit ac7c5353b189e10cf5dd27399f64f7b013abffc6 Merge: a8f75ea... 120dd64... Author: Paul Mackerras Date: Mon Apr 14 21:11:02 2008 +1000 Merge branch 'linux-2.6' commit 569508c964a8b5235e00998523bc3acd3f6aff01 Author: YOSHIFUJI Hideaki Date: Mon Apr 14 04:09:36 2008 -0700 [TCP]: Format addresses appropriately in debug messages. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit a7d632b6b4ad1c92746ed409e41f9dc571ec04e2 Author: YOSHIFUJI Hideaki Date: Mon Apr 14 04:09:00 2008 -0700 [IPV4]: Use NIPQUAD_FMT to format ipv4 addresses. And use %u to format port. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 334f8b2afd9652e20f67ddee4fec483ed860425b Merge: 7477fd2... ef1a5a5... Author: David S. Miller Date: Mon Apr 14 03:50:43 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.26 commit 7477fd2e6b676fcd15861c2a96a7172f71afe0a5 Author: Pavel Emelyanov Date: Mon Apr 14 02:42:27 2008 -0700 [SOCK]: Add some notes about per-bind-bucket sock lookup. I was asked about "why don't we perform a sk_net filtering in bind_conflict calls, like we do in other sock lookup places" for a couple of times. Can we please add a comment about why we do not need one? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 13f51d82acb003918d71ce4639ae77fceaa58cad Author: Pavel Emelyanov Date: Mon Apr 14 02:38:45 2008 -0700 [DCCP]: Fix comment about control sockets. These sockets now have a bit other names and are no longer global. Shame on me, I haven't provided a good comment for this when sending DCCP netnsization patches. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit df39e8ba56a788733d369068c7319e04b1da3cd5 Merge: f557285... 159d833... Author: David S. Miller Date: Mon Apr 14 02:30:23 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/ehea/ehea_main.c drivers/net/wireless/iwlwifi/Kconfig drivers/net/wireless/rt2x00/rt61pci.c net/ipv4/inet_timewait_sock.c net/ipv6/raw.c net/mac80211/ieee80211_sta.c commit ef1a5a50bbd509b8697dcd4d13017e9e0053867b Author: Patrick McHardy Date: Mon Apr 14 11:21:01 2008 +0200 [NETFILTER]: nf_conntrack: fix incorrect check for expectations The expectation classes changed help->expectations to an array, fix use as scalar value. Signed-off-by: Patrick McHardy commit e7bfd0a1a6c8f82977253dab19be9d9979c1ec1b Author: Peter Warasin Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: bridge: add ebt_nflog watcher This patch adds the ebtables nflog watcher to the kernel in order to allow ebtables log through the nfnetlink_log backend. Signed-off-by: Peter Warasin Signed-off-by: Patrick McHardy commit 3c9fba656a185cf56872a325e5594d9b4d4168ec Author: Jan Engelhardt Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: nf_conntrack: replace NF_CT_DUMP_TUPLE macro indrection by function call Directly call IPv4 and IPv6 variants where the address family is easily known. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 12c33aa20e1e248ac199d58076fcd4522acbff17 Author: Jan Engelhardt Date: Mon Apr 14 11:15:54 2008 +0200 [NETFILTER]: nf_conntrack: const annotations in nf_conntrack_sctp, nf_nat_proto_gre Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f2ea825f483d5d78754ae813b6db63f8b74e9343 Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_nat: use bool type in nf_nat_proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5f2b4c9006fc667c4614f0b079efab3721f68316 Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_tuple.h Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 09f263cd39751cada63dec2dccc71e67c00bc38c Author: Jan Engelhardt Date: Mon Apr 14 11:15:53 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l4proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 8ce8439a31f723f3aa28adf27fe8797a5678dde1 Author: Jan Engelhardt Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_l3proto Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9dbae7917899d78a094aceeb5062cd76efa89052 Author: Jan Engelhardt Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: Remove unused callbacks in nf_conntrack_l3proto These functions are never called. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5e8fbe2ac8a3f1e34e7004c5750ef59bf9304f82 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack: add tuplehash l3num/protonum accessors Add accessors for l3num and protonum and get rid of some overly long expressions. Signed-off-by: Patrick McHardy commit 5f7da4d26d421f3bdf10c3bbdb86ffc3a12a84f2 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_conntrack_tcp: catch invalid state updates over ctnetlink Invalid states can cause out-of-bound memory accesses of the state table. Also don't insist on having a new state contained in the netlink message. Signed-off-by: Patrick McHardy commit dd13b010368f85dfa59364ba87bfe8ae930b2832 Author: Patrick McHardy Date: Mon Apr 14 11:15:52 2008 +0200 [NETFILTER]: nf_nat: kill helper and seq_adjust hooks Connection tracking helpers (specifically FTP) need to be called before NAT sequence numbers adjustments are performed to be able to compare them against previously seen ones. We've introduced two new hooks around 2.6.11 to maintain this ordering when NAT modules were changed to get called from conntrack helpers directly. The cost of netfilter hooks is quite high and sequence number adjustments are only rarely needed however. Add a RCU-protected sequence number adjustment function pointer and call it from IPv4 conntrack after calling the helper. Signed-off-by: Patrick McHardy commit 55871d04793d9c069ee277b1e98794b88d92ed80 Author: Patrick McHardy Date: Mon Apr 14 11:15:51 2008 +0200 [NETFILTER]: nf_conntrack_extend: warn on confirmed conntracks New extensions may only be added to unconfirmed conntracks to avoid races when reallocating the storage. Also change NF_CT_ASSERT to use WARN_ON to get backtraces. Signed-off-by: Patrick McHardy commit 8c87238b726e543f8af4bdb4296020a328df4744 Author: Patrick McHardy Date: Mon Apr 14 11:15:51 2008 +0200 [NETFILTER]: nf_nat: don't add NAT extension for confirmed conntracks Adding extensions to confirmed conntracks is not allowed to avoid races on reallocation. Don't setup NAT for confirmed conntracks in case NAT module is loaded late. The has one side-effect, the connections existing before the NAT module was loaded won't enter the bysource hash. The only case where this actually makes a difference is in case of SNAT to a multirange where the IP before NAT is also part of the range. Since old connections don't enter the bysource hash the first new connection from the IP will have a new address selected. This shouldn't matter at all. Signed-off-by: Patrick McHardy commit 42cf800c240fa845e9c154429d70d62750e65b64 Author: Patrick McHardy Date: Mon Apr 14 11:15:50 2008 +0200 [NETFILTER]: nf_nat: remove obsolete check for ICMP redirects Locally generated ICMP packets have a reference to the conntrack entry of the original packet manually attached by icmp_send(). Therefore the check for locally originated untracked ICMP redirects can never be true. Signed-off-by: Patrick McHardy commit 9d908a69a32e0171eb5eeac93f2f46ffa4190573 Author: Patrick McHardy Date: Mon Apr 14 11:15:50 2008 +0200 [NETFILTER]: nf_nat: add SCTP protocol support Signed-off-by: Patrick McHardy commit 4910a087996e637adc50f955eccf114307f8fab7 Author: Patrick McHardy Date: Thu Mar 20 15:15:57 2008 +0100 [NETFILTER]: nf_nat: add DCCP protocol support Signed-off-by: Patrick McHardy commit 2bc780499aa33311ec0f3e42624dfaa7be0ade5e Author: Patrick McHardy Date: Thu Mar 20 15:15:55 2008 +0100 [NETFILTER]: nf_conntrack: add DCCP protocol support Add DCCP conntrack helper. Thanks to Gerrit Renker for review and testing. Signed-off-by: Patrick McHardy commit d63a650736f566a1f9e9434725d2089597c0d2cc Author: Patrick McHardy Date: Thu Mar 20 15:15:53 2008 +0100 [NETFILTER]: Add partial checksum validation helper Move the UDP-Lite conntrack checksum validation to a generic helper similar to nf_checksum() and make it fall back to nf_checksum() in case the full packet is to be checksummed and hardware checksums are available. This is to be used by DCCP conntrack, which also needs to verify partial checksums. Signed-off-by: Patrick McHardy commit 6185f870e293a0a3eae5c81eb0106480cf03dfde Author: Patrick McHardy Date: Thu Mar 20 15:15:51 2008 +0100 [NETFILTER]: nf_nat: add UDP-Lite support Signed-off-by: Patrick McHardy commit 2d2d84c40e19a7fce51ba1f124ecde105104192d Author: Patrick McHardy Date: Thu Mar 20 15:15:49 2008 +0100 [NETFILTER]: nf_nat: remove unused name from struct nf_nat_protocol Signed-off-by: Patrick McHardy commit ca6a50749012fc17feeec91ee2f9eeacacf06f0b Author: Patrick McHardy Date: Mon Apr 14 11:15:47 2008 +0200 [NETFILTER]: nf_conntrack_netlink: clean up NAT protocol parsing Move responsibility for setting the IP_NAT_RANGE_PROTO_SPECIFIED flag to the NAT protocol, properly propagate errors and get rid of ugly return value convention. Signed-off-by: Patrick McHardy commit 535b57c7c1524125444aa1b874332f6ff1608ef5 Author: Patrick McHardy Date: Mon Apr 14 11:15:47 2008 +0200 [NETFILTER]: nf_nat: move NAT ctnetlink helpers to nf_nat_proto_common Move to nf_nat_proto_common and rename to nf_nat_proto_... since they're also used by protocols that don't have port numbers. Signed-off-by: Patrick McHardy commit 5abd363f738dcd048ee790fb9b84d0768a8a407f Author: Patrick McHardy Date: Mon Apr 14 11:15:46 2008 +0200 [NETFILTER]: nf_nat: fix random mode not to overwrite port rover The port rover should not get overwritten when using random mode, otherwise other rules will also use more or less random ports. Signed-off-by: Patrick McHardy commit 937e0dfd87a8b7946a17161664500fba93eb13fd Author: Patrick McHardy Date: Thu Mar 20 15:15:47 2008 +0100 [NETFILTER]: nf_nat: add helpers for common NAT protocol operations Add generic ->in_range and ->unique_tuple ops to avoid duplicating them again and again for future NAT modules and save a few bytes of text: net/ipv4/netfilter/nf_nat_proto_tcp.c: tcp_in_range | -62 (removed) tcp_unique_tuple | -259 # 271 -> 12, # inlines: 1 -> 0, size inlines: 7 -> 0 2 functions changed, 321 bytes removed net/ipv4/netfilter/nf_nat_proto_udp.c: udp_in_range | -62 (removed) udp_unique_tuple | -259 # 271 -> 12, # inlines: 1 -> 0, size inlines: 7 -> 0 2 functions changed, 321 bytes removed net/ipv4/netfilter/nf_nat_proto_gre.c: gre_in_range | -62 (removed) 1 function changed, 62 bytes removed vmlinux: 5 functions changed, 704 bytes removed Signed-off-by: Patrick McHardy commit 544473c1664f3a688be949ac078bdee6f4afeef1 Author: Patrick McHardy Date: Mon Apr 14 11:15:45 2008 +0200 [NETFILTER]: {ip,ip6,arp}_tables: return EAGAIN for invalid SO_GET_ENTRIES size Rule dumping is performed in two steps: first userspace gets the ruleset size using getsockopt(SO_GET_INFO) and allocates memory, then it calls getsockopt(SO_GET_ENTRIES) to actually dump the ruleset. When another process changes the ruleset in between the sizes from the first getsockopt call doesn't match anymore and the kernel aborts. Unfortunately it returns EAGAIN, as for multiple other possible errors, so userspace can't distinguish this case from real errors. Return EAGAIN so userspace can retry the operation. Fixes (with current iptables SVN version) netfilter bugzilla #104. Signed-off-by: Patrick McHardy commit fa913ddf6372b20b23061996150d38f639488d42 Author: Patrick McHardy Date: Mon Apr 14 11:15:45 2008 +0200 [NETFILTER]: nf_conntrack_sip: clear address in parse_addr() Some callers pass uninitialized structures, clear the address to make sure later comparisions work properly. Signed-off-by: Patrick McHardy commit c2f9c68398ec724738509f95f1599378ebcc45e0 Author: Jan Engelhardt Date: Mon Apr 14 11:15:44 2008 +0200 [NETFILTER]: Explicitly initialize .priority in arptable_filter Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 3bb0362d2f53fa54a17b88c96b43fc093e47699b Author: Jan Engelhardt Date: Mon Apr 14 11:15:44 2008 +0200 [NETFILTER]: remove arpt_(un)register_target indirection macros Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 95eea855af69bfd54a7b73546190e76046ca2e07 Author: Jan Engelhardt Date: Mon Apr 14 11:15:43 2008 +0200 [NETFILTER]: remove arpt_target indirection macro Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 4abff0775d5e4feb20b21371e1c63a1b30fc2140 Author: Jan Engelhardt Date: Mon Apr 14 11:15:43 2008 +0200 [NETFILTER]: remove arpt_table indirection macro Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 72b72949db9aabaafd791a9077f02188a866824d Author: Jan Engelhardt Date: Mon Apr 14 11:15:42 2008 +0200 [NETFILTER]: annotate rest of nf_nat_* with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 58c0fb0ddd92e5105d61fc85b6e7af7b1f669067 Author: Jan Engelhardt Date: Mon Apr 14 11:15:42 2008 +0200 [NETFILTER]: annotate rest of nf_conntrack_* with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5452e425adfdfc4647b618e303f73d48f2405b0e Author: Jan Engelhardt Date: Mon Apr 14 11:15:35 2008 +0200 [NETFILTER]: annotate {arp,ip,ip6,x}tables with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 3cf93c96af7adf78542d45f8a27f0e5f8704409d Author: Jan Engelhardt Date: Mon Apr 14 09:56:05 2008 +0200 [NETFILTER]: annotate xtables targets with const and remove casts Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit b9f61b160336da5eaaacb0cb41ebe32169e3bde5 Author: Jan Engelhardt Date: Mon Apr 14 09:56:04 2008 +0200 [NETFILTER]: xt_sctp: simplify xt_sctp.h The use of xt_sctp.h flagged up -Wshadow warnings in userspace, which prompted me to look at it and clean it up. Basic operations have been directly replaced by library calls (memcpy, memset is both available in the kernel and userspace, and usually faster than a self-made loop). The is_set and is_clear functions now use a processing time shortcut, too. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit fdccecd0cc267817607acca386181439e8e1bd83 Author: Robert P. J. Day Date: Mon Apr 14 09:56:03 2008 +0200 [NETFILTER]: Use non-deprecated __RW_LOCK_UNLOCKED macro Signed-off-by: Robert P. J. Day Signed-off-by: Patrick McHardy commit 0718300c06d4b86ca2f4b93084ff3813fc81f5a2 Author: Robert P. J. Day Date: Mon Apr 14 09:56:03 2008 +0200 [NETFILTER]: bridge netfilter: use non-deprecated __RW_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Patrick McHardy commit 666953df353194bef76086fa3f126241cbac3e3a Author: Alexey Dobriyan Date: Mon Apr 14 09:56:02 2008 +0200 [NETFILTER]: ip_tables: per-netns FILTER/MANGLE/RAW tables for real Commit 9335f047fe61587ec82ff12fbb1220bcfdd32006 aka "[NETFILTER]: ip_tables: per-netns FILTER, MANGLE, RAW" added per-netns _view_ of iptables rules. They were shown to user, but ignored by filtering code. Now that it's possible to at least ping loopback, per-netns tables can affect filtering decisions. netns is taken in case of PRE_ROUTING, LOCAL_IN -- from in device, POST_ROUTING, LOCAL_OUT -- from out device, FORWARD -- from in device which should be equal to out device's netns. This code is relatively new, so BUG_ON was plugged. Wrappers were added to a) keep code the same from CONFIG_NET_NS=n users (overwhelming majority), b) consolidate code in one place -- similar changes will be done in ipv6 and arp netfilter code. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 36e2a1b0f7f2598e38952494b91490f58aa221c8 Author: Patrick McHardy Date: Thu Mar 20 15:15:45 2008 +0100 [NETFILTER]: {ip,ip6}t_LOG: print MARK value in log output Dump the mark value in log messages similar to nfnetlink_log. This is useful for debugging complex setups where marks are used for routing or traffic classification. Signed-off-by: Patrick McHardy commit b916f7d4b7b4b427ad9a9486de3da41a16b24d67 Author: Alexey Dobriyan Date: Thu Mar 20 15:15:43 2008 +0100 [NETFILTER]: nf_conntrack: less hairy ifdefs around proc and sysctl Patch splits creation of /proc/net/nf_conntrack, /proc/net/stat/nf_conntrack and net.netfilter hierarchy into their own functions with dummy ones if PROC_FS or SYSCTL is not set. Also, remove dead "ret = 0" write while I'm at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit f5572855ec492334d8c3ec0e0e86c31865d5cf07 Author: Gerrit Renker Date: Mon Apr 14 00:05:28 2008 -0700 [SKB]: __skb_queue_tail = __skb_insert before This expresses __skb_queue_tail() in terms of __skb_insert(), using __skb_insert_before() as auxiliary function. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 7de6c033367ab86f39c7723392caf73325cbf286 Author: Gerrit Renker Date: Mon Apr 14 00:05:09 2008 -0700 [SKB]: __skb_append = __skb_queue_after This expresses __skb_append in terms of __skb_queue_after, exploiting that __skb_append(old, new, list) = __skb_queue_after(list, old, new). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit bf299275882624b1908521ee8074df85160e9679 Author: Gerrit Renker Date: Mon Apr 14 00:04:51 2008 -0700 [SKB]: __skb_queue_after(prev) = __skb_insert(prev, prev->next) By reordering, __skb_queue_after() is expressed in terms of __skb_insert(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit f525c06d12b72cddb085df7f6f348c3c5a39b3ce Author: Gerrit Renker Date: Mon Apr 14 00:04:12 2008 -0700 [SKB]: __skb_dequeue = skb_peek + __skb_unlink By rearranging the order of declarations, __skb_dequeue() is expressed in terms of * skb_peek() and * __skb_unlink(), thus in effect mirroring the analogue implementation of __skb_dequeue_tail(). Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 0912ea38de61378c5c753aef78c12e2f95854313 Author: Rami Rosen Date: Sun Apr 13 23:59:13 2008 -0700 [IPV6] MROUTE: Add stats in multicast routing module method ip6_mr_forward(). This patches adds a call to increment IPSTATS_MIB_OUTFORWDATAGRAMS when forwarding the packet in ip6_mr_forward() in the IPv6 multicast routing module (net/ipv6/ip6mr.c). Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0b18542b7f5379e052d2a3132be91185776e7ceb Author: Jan Engelhardt Date: Sun Apr 13 23:30:47 2008 -0700 [NET]: Sink IPv6 menuoptions into its own submenu Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit e7712f1a7c32a5533be25ed806b1a8f7e42b452a Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:21:52 2008 -0700 [IPV6]: Share common code-paths for sticky socket options. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit cee8947338d46bccece54c752bf6cd4043035f05 Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:21:16 2008 -0700 [IPV6] MROUTE: Do not call ipv6_find_idev() directly. Since NETDEV_REGISTER notifier chain is responsible for creating inet6_dev{}, we do not need to call ipv6_find_idev() directly here. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 671a1c7401c6e48f5f2a77ac330727a13a9c8b63 Author: Pavel Emelyanov Date: Sun Apr 13 22:33:06 2008 -0700 [NETNS][DCCPV6]: Make per-net socket lookup. The inet6_lookup family of functions requires a net to lookup a socket in, so give a proper one to them. No more things to do for dccpv6, since routing is OK and the ipv4-like transport layer filtering is not done for ipv6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 334527d3511ecbffca68d6c8f75046262510cf41 Author: Pavel Emelyanov Date: Sun Apr 13 22:32:45 2008 -0700 [NETNS][DCCPV6]: Actually create ctl socket on each net and use it. Move the call to inet_ctl_sock_create to init callback (and inet_ctl_sock_destroy to exit one) and use proper ctl sock in dccp_v6_ctl_send_reset. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0204774191d3e7bc69e3ae6bbf328b635607505a Author: Pavel Emelyanov Date: Sun Apr 13 22:32:25 2008 -0700 [NETNS][DCCPV6]: Move the dccp_v6_ctl_sk on the struct net. And replace all its usage with init_net's socket. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8231bd270df435f2d4d85b284dd9dbd48521dd84 Author: Pavel Emelyanov Date: Sun Apr 13 22:32:02 2008 -0700 [NETNS][DCCPV6]: Add dummy per-net operations. They will be responsible for ctl socket initialization, but currently they are void. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 68d185980f70413b353df99cdf5e667510036668 Author: Pavel Emelyanov Date: Sun Apr 13 22:31:32 2008 -0700 [NETNS][DCCPV6]: Don't pass NULL to ip6_dst_lookup. This call uses the sock to get the net to lookup the routing in. With CONFIG_NET_NS this code will OOPS, since the sk ptr is NULL. After looking inside the ip6_dst_lookup and drawing the analogy with respective ipv6 code, it seems, that the dccp ctl socket is a good candidate for the first argument. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fc5f8580d31d52890f17526ea739b124bd4e56f4 Author: Pavel Emelyanov Date: Sun Apr 13 22:31:05 2008 -0700 [NETNS][DCCPV4]: Enable DCCPv4 in net namespaces. This enables sockets creation with IPPROTO_DCCP and enables the ip level to pass DCCP packets to the DCCP level. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b9901a84c98fe27c6a598c0f3ec944a7f17a5f97 Author: Pavel Emelyanov Date: Sun Apr 13 22:30:43 2008 -0700 [NETNS][DCCPV4]: Make per-net socket lookup. The inet_lookup family of functions requires a net to lookup a socket in, so give a proper one to them. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f54873982c6aac9bc5c7eef62a9ce4d52b1dfc19 Author: Pavel Emelyanov Date: Sun Apr 13 22:30:19 2008 -0700 [NETNS][DCCPV4]: Use proper net to route the reset packet. The dccp_v4_route_skb used in dccp_v4_ctl_send_reset, currently works with init_net's routing tables - fix it. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b76c4b27fee9c88294d3152784291fc6f6d23401 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:59 2008 -0700 [NETNS][DCCPV4]: Actually create ctl socket on each net and use it. Move the call to inet_ctl_sock_create to init callback (and inet_ctl_sock_destroy to exit one) and use proper ctl sock in dccp_v4_ctl_send_reset. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7b1cffa8c90269dc3dc721d084d1e0d742d87c31 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:37 2008 -0700 [NETNS][DCCPV4]: Move the dccp_v4_ctl_sk on the struct net. And replace all its usage with init_net's socket. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 72a2d6138224298a576bcdc33d7d0004de604856 Author: Pavel Emelyanov Date: Sun Apr 13 22:29:13 2008 -0700 [NETNS][DCCPV4]: Add dummy per-net operations. They will be responsible for ctl socket initialization, but currently they are void. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 67019cc9ee3f4868c8e5e493b2873c4722306019 Author: Pavel Emelyanov Date: Sun Apr 13 22:28:42 2008 -0700 [NETNS]: Add an empty netns_dccp structure on struct net. According to the overall struct net design, it will be filled with DCCP-related members. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5f4472c5a640c9671ca5becaebdfd6e651482176 Author: Denis V. Lunev Date: Sun Apr 13 22:13:53 2008 -0700 [TCP]: Remove owner from tcp_seq_afinfo. Move it to tcp_seq_afinfo->seq_fops as should be. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 68fcadd16c371d5e0698ba366f33a4f990ce83ce Author: Denis V. Lunev Date: Sun Apr 13 22:13:30 2008 -0700 [TCP]: Place file operations directly into tcp_seq_afinfo. No need to have separate never-used variable. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 52d6f3f11bdb8c26fead701c9dbad08acd28063d Author: Denis V. Lunev Date: Sun Apr 13 22:12:41 2008 -0700 [TCP]: Cleanup /proc/tcp[6] creation/removal. Replace seq_open with seq_open_net and remove tcp_seq_release completely. seq_release_net will do this job just fine. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9427c4b36b8fe652df1d7c89eae678948e1f4b32 Author: Denis V. Lunev Date: Sun Apr 13 22:12:13 2008 -0700 [TCP]: Move seq_ops from tcp_iter_state to tcp_seq_afinfo. No need to create seq_operations for each instance of 'netstat'. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1abf4fb20d38cf58c92b27f4d6ad4fa92a3bb553 Author: Denis V. Lunev Date: Sun Apr 13 22:11:46 2008 -0700 [TCP]: No need to check afinfo != NULL in tcp_proc_(un)register. tcp_proc_register/tcp_proc_unregister are called with a static pointer only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a4146b1b2c6ba995db08b1a2aef5af1b17b151e6 Author: Denis V. Lunev Date: Sun Apr 13 22:11:14 2008 -0700 [TCP]: Replace struct net on tcp_iter_state with seq_net_private. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2cf83afe902fd72ef4b211774e48ab39890fb328 Author: Denys Vlasenko Date: Sun Apr 13 21:54:34 2008 -0700 [ATM] drivers/atm/horizon.c: stop inlining largish static functions drivers/atm/horizon.c has unusually large number of static inline functions - 36. I looked through them. Most of them seems to be small enough, but a few are big, others are using udelay or busy loop, and as such are better not be inlined. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 8201 180 6 8387 20c3 linux-2.6-ALLYES/drivers/atm/horizon.o 7840 180 6 8026 1f5a linux-2.6.inline-ALLYES/drivers/atm/horizon.o Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit ac6f78192054784f02dd47f8e6d7d1c8d75ab173 Author: Gerrit Renker Date: Sun Apr 13 21:50:08 2008 -0700 [INET]: sk_reuse is valbool sk_reuse is declared as "unsigned char", but is set as type valbool in net/core/sock.c. There is no other place in net/ where sk->sk_reuse is set to a value > 1, so the test "sk_reuse > 1" can not be true. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 3654ea02f2819cf8821c0acd35bc7cded5f1f2a9 Author: Allan Stephens Date: Sun Apr 13 21:35:11 2008 -0700 [TIPC]: Improve socket time conversions This patch modifies TIPC's socket code to use standard kernel routines to handle time conversions between jiffies and ms. This ensures proper operation even when HZ isn't 1000. Acknowledgements to Eric Sesterhenn for identifying this issue and proposing a solution. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 9673693284763417ea5edcdebc1a0c5d1dead51c Author: Allan Stephens Date: Sun Apr 13 21:33:17 2008 -0700 [TIPC]: Remove redundant socket wait queue initialization This patch eliminates re-initialization of the standard socket wait queue used for sleeping in TIPC's socket creation code. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 6fb9114e4bc4b9144306bc2c64abd18b364409d7 Merge: 03e1ad7... 05f175c... Author: David S. Miller Date: Sat Apr 12 19:19:46 2008 -0700 Merge branch 'net-2.6.26-misc-20080412b' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit 03e1ad7b5d871d4189b1da3125c2f12d1b5f7d0b Author: Paul Moore Date: Sat Apr 12 19:07:52 2008 -0700 LSM: Make the Labeled IPsec hooks more stack friendly The xfrm_get_policy() and xfrm_add_pol_expire() put some rather large structs on the stack to work around the LSM API. This patch attempts to fix that problem by changing the LSM API to require only the relevant "security" pointers instead of the entire SPD entry; we do this for all of the security_xfrm_policy*() functions to keep things consistent. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 00447872a643787411c2c0cb1df6169dda8b0c47 Author: Paul Moore Date: Sat Apr 12 19:06:42 2008 -0700 NetLabel: Allow passing the LSM domain as a shared pointer Smack doesn't have the need to create a private copy of the LSM "domain" when setting NetLabel security attributes like SELinux, however, the current NetLabel code requires a private copy of the LSM "domain". This patches fixes that by letting the LSM determine how it wants to pass the domain value. * NETLBL_SECATTR_DOMAIN_CPY The current behavior, NetLabel assumes that the domain value is a copy and frees it when done * NETLBL_SECATTR_DOMAIN New, Smack-friendly behavior, NetLabel assumes that the domain value is a reference to a string managed by the LSM and does not free it when done Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit b9f3124f08fffe2ad706fd164f6702fdca409a91 Author: Joe Perches Date: Sat Apr 12 19:04:38 2008 -0700 [AF_UNIX]: Use SEQ_START_TOKEN Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 1a4187963e5a706e78bbfa2d5b2e9101a63f1f7c Author: Vlad Yasevich Date: Sat Apr 12 18:55:42 2008 -0700 MAINTAINERS: New sctp mailing list Add a new sctp mailing list linux-sctp@vger.kernel.org. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 765ff02e896a4f4e0fdb223aadab629aaf3756d2 Author: Gui Jianfeng Date: Sat Apr 12 18:55:12 2008 -0700 [SCTP]: Remove an unused parameter from sctp_cmd_hb_timer_update The 'asoc' parameter to sctp_cmd_hb_timer_update() is unused, and we can remove it. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 9dbc15f055f05393ace4f1733f160ec3d188cf9b Author: Robert P. J. Day Date: Sat Apr 12 18:54:24 2008 -0700 [SCTP]: "list_for_each()" -> "list_for_each_entry()" where appropriate. Replacing (almost) all invocations of list_for_each() with list_for_each_entry() tightens up the code and allows for the deletion of numerous list iterator variables that are no longer necessary. Signed-off-by: Robert P. J. Day Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 30e935600776b45db38238355f0de2b8f72b3847 Author: Neil Horman Date: Sat Apr 12 18:53:48 2008 -0700 [SCTP]: Correct /proc/net/assocs formatting error Recently I posted a patch to add some informational items to /proc/net/sctp/assocs. All the information is correct, but because of how the seqfile show operation is laid out, some of the formatting is backwards. This patch corrects that formatting, so that the new information appears at the end of each line, rather than in the middle. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 05f175cdcf9d3615c1633615d87891ebfb729401 Author: YOSHIFUJI Hideaki Date: Fri Apr 11 23:51:26 2008 +0900 [IPV6]: Fix IPV6_RECVERR for connected raw sockets. Based on patch from Dmitry Butskoy . Closes: 10437 Signed-off-by: YOSHIFUJI Hideaki commit 876c7f41961dc5172b03cbf2dca65f05003f28a0 Author: Brian Haley Date: Fri Apr 11 00:38:24 2008 -0400 [IPv6]: Change IPv6 unspecified destination address to ::1 for raw and un-connected sockets This patch fixes a difference between IPv4 and IPv6 when sending packets to the unspecified address (either 0.0.0.0 or ::) when using raw or un-connected UDP sockets. There are two cases where IPv6 either fails to send anything, or sends with the destination address set to ::. For example: --> ping -c1 0.0.0.0 PING 0.0.0.0 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.032 ms --> ping6 -c1 :: PING ::(::) 56 data bytes ping: sendmsg: Invalid argument Doing a sendto("0.0.0.0") reveals: 10:55:01.495090 IP localhost.32780 > localhost.7639: UDP, length 100 Doing a sendto("::") reveals: 10:56:13.262478 IP6 fe80::217:8ff:fe7d:4718.32779 > ::.7639: UDP, length 100 If you issue a connect() first in the UDP case, it will be sent to ::1, similar to what happens with TCP. This restores the BSD-ism. Signed-off-by: Brian Haley Signed-off-by: YOSHIFUJI Hideaki commit 6ac7eb0868ccc9a2c597d6fd0b1ea09dcdc396ed Author: Rami Rosen Date: Thu Apr 10 12:40:10 2008 +0300 [IPV6] MROUTE: Adjust IPV6 multicast routing module to use mroute6 header declarations. - This patch adjusts IPv6 multicast routing module, net/ipv6/ip6mr.c, to use mroute6 header definitions instead of mroute. (MFC6_LINES instead of MFC_LINES, MAXMIFS instead of MAXVIFS, mifi_t instead of vifi_t.) - In addition, inclusion of some headers was removed as it is not needed. Signed-off-by: Rami Rosen Signed-off-by: YOSHIFUJI Hideaki commit b2a9d7c2f8ab151fff78db06f1ae9b22a856e95e Author: YOSHIFUJI Hideaki Date: Sat Apr 12 12:59:42 2008 +0900 [IPV6]: Check length of int/boolean optval provided by user in setsockopt(). Signed-off-by: YOSHIFUJI Hideaki commit a28398ba6112be28c6a92aacf06aca1979b454b7 Author: Wang Chen Date: Mon Apr 7 09:42:07 2008 +0800 [IPV6]: Check length of optval provided by user in setsockopt(). Check length of setsockopt's optval, which provided by user, before copy it from user space. For POSIX compliant, return -EINVAL for setsockopt of short lengths. Signed-off-by: Wang Chen Signed-off-by: YOSHIFUJI Hideaki commit 7f1eced8b0a001c4d5a8cfa5ac7b5cbc89fedab8 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:12 2008 +0900 [IPV6] MIP6: Use our standard definitions for paddings. MIP6_OPT_PAD_X are actually for paddings in destination option header. Replace them with our standard IPV6_TLV_PADX. Signed-off-by: YOSHIFUJI Hideaki commit d7aabf22efb50e6d52ed953ed2a43996152a7fb0 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:11 2008 +0900 [IPV6]: Use in6addr_any where appropriate. Signed-off-by: YOSHIFUJI Hideaki commit f3ee4010e84452aa133e5163e6cfabc52b194e94 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:11 2008 +0900 [IPV6]: Define constants for link-local multicast addresses. - Define link-local all-node / all-router multicast addresses. - Remove ipv6_addr_all_nodes() and ipv6_addr_all_routers(). Signed-off-by: YOSHIFUJI Hideaki commit 9acd9f3ae92d0dc0ca7504fb48c1040e8bbc39fe Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:10 2008 +0900 [IPV6]: Make address arguments const. - net/ipv6/addrconf.c: ipv6_get_ifaddr(), ipv6_dev_get_saddr() - net/ipv6/mcast.c: ipv6_sock_mc_join(), ipv6_sock_mc_drop(), inet6_mc_check(), ipv6_dev_mc_inc(), __ipv6_dev_mc_dec(), ipv6_dev_mc_dec(), ipv6_chk_mcast_addr() - net/ipv6/route.c: rt6_lookup(), icmp6_dst_alloc() - net/ipv6/ip6_output.c: ip6_nd_hdr() - net/ipv6/ndisc.c: ndisc_send_ns(), ndisc_send_rs(), ndisc_send_redirect(), ndisc_get_neigh(), __ndisc_send() Signed-off-by: YOSHIFUJI Hideaki commit dfd982baff01c18e3e1717c97fdac79c28f105ce Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:09 2008 +0900 [IPV6] ADDRCONF: Uninline ipv6_isatap_eui64(). Signed-off-by: YOSHIFUJI Hideaki commit 3eb84f49290461e2b83d6e8ee1f3f0e504340c8b Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:08 2008 +0900 [IPV6] ADDRCONF: Uninline ipv6_addr_hash(). The function is only used in net/ipv6/addrconf.c. Signed-off-by: YOSHIFUJI Hideaki commit fed85383ac34d82e96f227ce49ce68117cec23a0 Author: YOSHIFUJI Hideaki Date: Fri Apr 11 20:17:55 2008 +0900 [IPV6]: Use XOR and OR rather than mutiple ands for ipv6 address comparisons. ipv6_addr_equal(), ipv6_addr_v4mapped(), ipv6_addr_is_ll_all_{nodes,routers}(), ipv6_masked_addr_cmp() Signed-off-by: YOSHIFUJI Hideaki commit 98075d245a5bc4aeebc2e9f16fa8b089a5c200ac Author: Zoltan Menyhart Date: Fri Apr 11 15:21:35 2008 -0700 [IA64] Fix NUMA configuration issue There is a NUMA memory configuration issue in 2.6.24: A 2-node machine of ours has got the following memory layout: Node 0: 0 - 2 Gbytes Node 0: 4 - 8 Gbytes Node 1: 8 - 16 Gbytes Node 0: 16 - 18 Gbytes "efi_memmap_init()" merges the three last ranges into one. "register_active_ranges()" is called as follows: efi_memmap_walk(register_active_ranges, NULL); i.e. once for the 4 - 18 Gbytes range. It picks up the node number from the start address, and registers all the memory for the node #0. "register_active_ranges()" should be called as follows to make sure there is no merged address range at its entry: efi_memmap_walk(filter_memory, register_active_ranges); "filter_memory()" is similar to "filter_rsvd_memory()", but the reserved memory ranges are not filtered out. Signed-off-by: Zoltan Menyhart Signed-off-by: Tony Luck commit 423eef6fbb989f316d268d0d96812165fbaed26c Author: Grant Grundler Date: Sat Apr 5 10:14:22 2008 -0600 [SCSI] initio: fix big endian problems for auto request sense Most of the cpu_to_le32() usage was wrong in one way or another. Compiler warning on BE builds was just the tip of the iceberg. This patch attempts to make this driver work on BE though I don't have the HW to test it. Signed-off-by: Grant Grundler Signed-off-by: James Bottomley commit caad295fed8b652c67159911d11c65d476351d2f Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:42:07 2008 +0900 [IPV6]: Use ipv6_addr_equal() instead of !ipv6_addr_cmp(). Signed-off-by: YOSHIFUJI Hideaki commit ff4e1fb0be7386e97580d50f09a804b33b58377a Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:28 2008 +0900 [IPV6] FIB_RULE: Sparse: fib6_rules_cleanup() is of void. | net/ipv6/fib6_rules.c:319:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit a9f83bf3858672164ed531cbc60ee9082d21d53f Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:28 2008 +0900 [IPV6]: Sparse: Reuse previous delaration where appropriate. | net/ipv6/ipv6_sockglue.c:162:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ipv6_sockglue.c:175:16: warning: symbol 'net' shadows an earlier one | net/ipv6/ipv6_sockglue.c:111:13: originally declared here | net/ipv6/ip6mr.c:1241:10: warning: symbol 'ret' shadows an earlier one | net/ipv6/ip6mr.c:1163:6: originally declared here Signed-off-by: YOSHIFUJI Hideaki commit 02e10b90cd478bda81b4644102b0009bcd1d14ab Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:27 2008 +0900 [IPV6] SIT: Sparse: Use NULL pointer instead of 0. | net/ipv6/sit.c:382:42: warning: Using plain integer as NULL pointer Signed-off-by: YOSHIFUJI Hideaki commit aba6096b21e151bc55da74605fe77b92cfcccb12 Author: YOSHIFUJI Hideaki Date: Thu Apr 10 15:41:26 2008 +0900 [IPV6]: Kill several warnings without CONFIG_IPV6_MROUTE. Pointed out by Andrew Morton . Signed-off-by: YOSHIFUJI Hideaki commit b43a9e60873ebe16502061961ca3f3b7bc6f69d2 Author: Dmitry Baryshkov Date: Thu Apr 10 13:36:53 2008 +0100 [ARM] 4962/1: Introduce standard gpio interface for Scoop2. This deprecates old set/reset_scoop_gpio interfacein favour of support for generic gpio interface. It requires gpiolib, so it depends on the previous patch (gpiolib for SA-1100). Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 45528e38173e7d8c03821850e8fd1ddbf16f2b3d Author: Dmitry Baryshkov Date: Thu Apr 10 13:31:47 2008 +0100 [ARM] 4961/1: gpiolib support for SA-1100 architecture This adds gpiolib support for the SA-1100 arch: - Move all GPIO API functions from generic.c into gpio.c - Convert all gpio functions into gpiolib callbacks. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit c353faa4b2abd8d5142640b880532c97a0807460 Author: Dmitry Baryshkov Date: Wed Apr 9 23:05:09 2008 +0100 [ARM] 4957/1: Drop special macro SCOOP_REG in favour if ioread16/iowrite16. Make scoop driver use generic purpose io routines: ioread16 and iowrite16 instead of direct writing to memory. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 2f8c51493323550529ed295ba6ddcdd3d0f704d5 Author: Dmitry Baryshkov Date: Wed Apr 9 22:43:37 2008 +0100 [ARM] 4956/1: Scoop: sparse cleanup Cleanup most errors errors reported by sparse: declare IO space as __iomem, use %p for address printing make functions static Use __devinit instead of __init for scoop_init Make scoop_remove __devexit and use __devexit_p for referencing it. Signed-off-by: Dmitry Baryshkov Acked-by: Richard Purdie Signed-off-by: Russell King commit 875492511a4afce7880c9dd0ca71462c299b40e6 Author: Byron Bradley Date: Wed Apr 9 21:50:16 2008 +0100 [ARM] 4955/1: Orion: Support the Buffalo Linkstation Pro/Live Platform The Buffalo Linkstation Pro/Live is the same hardware as the Kurobox Pro but without the NAND flash. This patch adds a second MACHINE_START macro to the Kurobox setup file to minimise code duplication. Signed-off-by: Byron Bradley Acked-by: Nicolas Pitre Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit b488a5ed12c0d8417884d8c33fc0a1701a16c951 Author: Nicolas Pitre Date: Wed Apr 9 21:08:35 2008 +0100 [ARM] 4954/1: Orion: fix some function section mismatch Without this, lspci won't work. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 6dccd74b38fae5a531e0df8cc6f4fbf1e468e100 Author: Bill Gatliff Date: Tue Apr 8 03:04:01 2008 +0100 [ARM] 4939/1: [CSB637] Update defconfig to use gpio-led Updates the CSB637 platform's D1/PB2 LED to use gpio-led by default. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit ca1544790244b209e98351d365729061eaca213d Author: Bill Gatliff Date: Tue Apr 8 02:57:03 2008 +0100 [ARM] 4938/1: [CSB637] Convert heartbeat LED to gpio-leds Converts the D1/PB2 LED to use the gpio-leds API and heartbeat trigger. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 952c855fc7a88610940d2438072884d64dc9cefb Author: Bill Gatliff Date: Mon Apr 7 22:05:38 2008 +0100 [ARM] 4937/1: [CSB637] Convert to new-style UART initialization Converts the CSB637 to the new-style UART initialization API. Signed-off-by: Bill Gatliff Acked-by: Andrew Victor Signed-off-by: Russell King commit c8fc19165694a9d4bd0f80c9f167e4b41d0db1a0 Author: Bill Gatliff Date: Mon Apr 7 22:03:17 2008 +0100 [ARM] 4936/1: [CSB337] Converts to new-style UART initialization Converts the CSB337 target to the new UART initialization API. Signed-off-by: Bill Gatliff Acked-by: Andrew Victor Signed-off-by: Russell King commit 1af89cb6532dff0ad26f33fe6bd548c307a92f2b Author: Andrew Victor Date: Wed Apr 2 22:38:11 2008 +0100 [ARM] 4915/1: AT91: Update defconfigs (Part 2) Update the default configuration for the following AT91-based boards: Embest ATEB9200 Cogent CSB337 Cogent CSB637 Sperry-Sun KAFA Picotux200 Signed-off-by: Andrew Victor Signed-off-by: Russell King commit adfbe06a3dcf791c1ec2fea6dfb2c59f0ad27c88 Author: Andrew Victor Date: Wed Apr 2 22:36:58 2008 +0100 [ARM] 4914/1: AT91: Update defconfigs (Part 1) Update the default configuration for the following AT91-based boards: Atmel AT91RM9200 DK Atmel AT91RM9200 EK Atmel AT91SAM9260 EK Atmel AT91SAM9261 EK Atmel AT91SAM9263 EK Atmel AT91SAM9RL EK Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 32b1216d1e338d69cc5a11ca81fc247eb8ddfb2e Author: Andrew Victor Date: Wed Apr 2 22:31:31 2008 +0100 [ARM] 4913/1: [AT91] PMC_MDIV definitions The allowed values for the MDIV field (Master Clock Division) in the PMC controller differ between the AT91RM9200 and AT91SAM9/CAP9. To remove possible confusion, change the definitions to be more explicit. Also define the Processor Clock Division bits. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c21098ea5608c98b5ada1b7ec82522c7c53869eb Author: Andrew Victor Date: Tue Apr 8 21:33:07 2008 +0100 [ARM] 4912/2: [AT91] Endrelia audio driver must use GPIO interface The SoC audio driver for the Endrelia ETI_B1 board should not access the PIO controller directly, but must rather use the AT91 GPIO interface. (This is updated version of patch with removed trailing whitespace) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 9f448b5554b485012b8a80c1c889175b3cb84940 Author: James Smart Date: Mon Apr 7 10:16:10 2008 -0400 [SCSI] lpfc 8.2.6 : Update lpfc driver version to 8.2.6 Update lpfc driver version to 8.2.6 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 97eab63490452f0a5242fa94ddaa9b727d69cb25 Author: James Smart Date: Mon Apr 7 10:16:05 2008 -0400 [SCSI] lpfc 8.2.6 : Miscellaneous Fixes Miscellaneous Fixes - Allow WRITE_VPARAM command when the virtual port is in a stopped state - Fixed handling of our queue depth max that was unconditionally raising the depth on all vports, rather than just the vport affected. - Fix race in interrupt handler for mailbox processing that did not take out the host lock. - Removed unused functions: find_node, findnode_rpi, and fabric_abort_flogi - Correct misspelled word unsolicited in message 0146 - Correct HW-error 5 handling - it should not reset the adapter - Correct handling of IOCBs, which did not null out our pCmd field before invoking the midlayer io done function. - Changed our maximum supported target id to 4096 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9b37960523afb1b519b406dec4c4f3155b82b2ba Author: James Smart Date: Mon Apr 7 10:16:00 2008 -0400 [SCSI] lpfc 8.2.6 : PCI Parity and EEH handling fixes PCI Parity and EEH handling Fixes: - Under a PCI Data Parity Error, remove a completion routine callback that was on a command that we had already failed and released. - Under PCI parity error, we were not reinstalling the interrupt handler in the slot_reset callback, so we never became functional again. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 58da1ffb2b1234e9c6c75013a649c659cc38ebd4 Author: James Smart Date: Mon Apr 7 10:15:56 2008 -0400 [SCSI] lpfc 8.2.6 : Multiple discovery fixes Multiple Discovery Fixes: - Fix race on discovery due to link events coinciding with vport_delete. - Use NLP_FABRIC state to filter out switch-based pseudo initiators that reuse the same WWNs. - Correct erroneous setting of DID=0 in lpfc_matchdid() - Correct extra reference count that was in the lookup path for the remoteid from an unsolicited ELS. - Correct double-free bug in els abort path. - Correct FDMI server discovery logic for switch that return a WWN of 0. - Fix bugs in ndlp mgmt when a node changes address - Correct bug that did not delete RSCNs for vports upon link transitions - Fix "0216 Link event during NS query" error which pops up when vports are swapped to different switch ports. - Add sanity checks on ndlp structures - Fix devloss log message to dump WWN correctly - Hold off mgmt commands that were interferring with discovery mailbox cmds - Remove unnecessary FC_ESTABLISH_LINK logic. - Correct some race conditions in the worker thread, resulting in devloss: - Clear the work_port_events field before handling the work port events - Clear the deferred ring event before handling a deferred ring event - Hold the hba lock when waking up the work thread - Send an acc for the rscn even when we aren't going to handle it - Fix locking behavior that was not properly protecting the ACTIVE flag, thus allowing mailbox command order to shift. Signed-off-by: James Smart Signed-off-by: James Bottomley commit c0b8c32b1c96afc9b32b717927330025cc1c501e Author: Stephen Hemminger Date: Thu Apr 10 04:00:28 2008 -0700 IPV4: use xor rather than multiple ands for route compare The comparison in ip_route_input is a hot path, by recoding the C "and" as bit operations, fewer conditional branches get generated so the code should be faster. Maybe someday Gcc will be smart enough to do this? Signed-off-by: Stephen Hemminger Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 996b1dbadcbcafb899f022303e01d46ab87920eb Author: YOSHIFUJI Hideaki Date: Thu Apr 10 03:50:13 2008 -0700 [SCTP]: Use snmp_mib_{init,free}(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 24e8b7e48471514c9311c733b3f399bd20d014fe Author: YOSHIFUJI Hideaki Date: Thu Apr 10 03:48:43 2008 -0700 [DCCP]: Use snmp_mib_{init,free}(). Signed-off-by: YOSHIFUJI Hideaki Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 387a5487f5a1f8bfc3b2c5818e50dfd19eeb4f3f Author: Stephen Hemminger Date: Thu Apr 10 03:47:34 2008 -0700 ipv4: fib_trie leaf free optimization Avoid unneeded test in the case where object to be freed has to be a leaf. Don't need to use the generic tnode_free() function, instead just setup leaf to be freed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ef3660ce0649fa10265455f539b72607cff53d02 Author: Stephen Hemminger Date: Thu Apr 10 03:46:12 2008 -0700 ipv4: fib_trie remove unused argument The trie pointer is passed down to flush_list and flush_leaf but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2e1e9848accba7e5f6a731bf0d0fc2c84f3ee748 Author: Joe Perches Date: Thu Apr 10 03:33:03 2008 -0700 [ATM]: Use SEQ_START_TOKEN Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4dfc2817025965a2fc78a18c50f540736a6b5c24 Author: Florian Westphal Date: Thu Apr 10 03:12:40 2008 -0700 [Syncookies]: Add support for TCP options via timestamps. Allow the use of SACK and window scaling when syncookies are used and the client supports tcp timestamps. Options are encoded into the timestamp sent in the syn-ack and restored from the timestamp echo when the ack is received. Based on earlier work by Glenn Griffin. This patch avoids increasing the size of structs by encoding TCP options into the least significant bits of the timestamp and by not using any 'timestamp offset'. The downside is that the timestamp sent in the packet after the synack will increase by several seconds. changes since v1: don't duplicate timestamp echo decoding function, put it into ipv4/syncookie.c and have ipv6/syncookies.c use it. Feedback from Glenn Griffin: fix line indented with spaces, kill redundant if () Reviewed-by: Hagen Paul Pfeifer Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 15be75cdb5db442d0e33d37b20832b88f3ccd383 Author: Stephen Hemminger Date: Thu Apr 10 02:56:38 2008 -0700 IPV4: fib_trie use vmalloc for large tnodes Use vmalloc rather than alloc_pages to avoid wasting memory. The problem is that tnode structure has a power of 2 sized array, plus a header. So the current code wastes almost half the memory allocated because it always needs the next bigger size to hold that small header. This is similar to an earlier patch by Eric, but instead of a list and lock, I used a workqueue to handle the fact that vfree can't be done in interrupt context. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c06f510a25153ff79e8c2dca312b732a367c5bb Author: Rami Rosen Date: Thu Apr 10 02:31:20 2008 -0700 [IPV6]: Remove unused declarations in include/net/ip6_route.h. 1) Standlaone ip6_null_entry is no longer needed as it is replaced by the ip6_null_entry member of ipv6 (instance of struct netns_ipv6) in struct net (as a result of Network Namespaces patches). 2) These 3 methods from this same header are not defined anywhere: ip6_rt_addr_add(), ip6_rt_addr_del(), rt6_sndmsg() Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 2d7bf36746b6329d9d54c6c6efe2b55666dd1f53 Author: Cornelia Huck Date: Thu Apr 10 02:12:45 2008 -0700 iucv: Delay bus registration until core is ready. If we register the iucv bus after the infrastructure is ready, userspace can start relying on it when it receives the uevent for the bus. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 9284d6c704b5cfc7f2eb44f81255b4762bcfe4c5 Author: Heiko Carstens Date: Thu Apr 10 02:12:03 2008 -0700 iucv: get rid of in_atomic() use. This BUG_ON is not needed, since all (debug) checks are also done in smp_call_function() which gets called by this function. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 3db8ce35c37b62d27e7656fe5e7d2d2865002045 Author: Robert P. J. Day Date: Thu Apr 10 02:11:24 2008 -0700 af_iucv: Use non-deprecated __RW_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 4738c1db1593687713869fa69e733eebc7b0d6d8 Author: Patrick McHardy Date: Thu Apr 10 02:02:28 2008 -0700 [SKFILTER]: Add SKF_ADF_NLATTR instruction SKF_ADF_NLATTR searches for a netlink attribute, which avoids manually parsing and walking attributes. It takes the offset at which to start searching in the 'A' register and the attribute type in the 'X' register and returns the offset in the 'A' register. When the attribute is not found it returns zero. A top-level attribute can be located using a filter like this (example for nfnetlink, using struct nfgenmsg): ... { /* A = offset of first attribute */ .code = BPF_LD | BPF_IMM, .k = sizeof(struct nlmsghdr) + sizeof(struct nfgenmsg) }, { /* X = CTA_PROTOINFO */ .code = BPF_LDX | BPF_IMM, .k = CTA_PROTOINFO, }, { /* A = netlink attribute offset */ .code = BPF_LD | BPF_B | BPF_ABS, .k = SKF_AD_OFF + SKF_AD_NLATTR }, { /* Exit if not found */ .code = BPF_JMP | BPF_JEQ | BPF_K, .k = 0, .jt = }, ... A nested attribute below the CTA_PROTOINFO attribute would then be parsed like this: ... { /* A += sizeof(struct nlattr) */ .code = BPF_ALU | BPF_ADD | BPF_K, .k = sizeof(struct nlattr), }, { /* X = CTA_PROTOINFO_TCP */ .code = BPF_LDX | BPF_IMM, .k = CTA_PROTOINFO_TCP, }, { /* A = netlink attribute offset */ .code = BPF_LD | BPF_B | BPF_ABS, .k = SKF_AD_OFF + SKF_AD_NLATTR }, ... The data of an attribute can be loaded into 'A' like this: ... { /* X = A (attribute offset) */ .code = BPF_MISC | BPF_TAX, }, { /* A = skb->data[X + k] */ .code = BPF_LD | BPF_B | BPF_IND, .k = sizeof(struct nlattr), }, ... Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3cccd6078413e9707f0ef3652b4e6e9cb84e9fa0 Author: Rami Rosen Date: Thu Apr 10 02:01:21 2008 -0700 [IPV6] Remove three method declarations in include/net/ndisc.h. This patch removes two unused method declarations in include/net/ndisc.h: ndisc_forwarding_on(void) and ndisc_forwarding_off(void); Also igmp6_cleanup(void) appears twice in this header, so one igmp6_cleanup(void) declaration is removed. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit eab2e0b2ec150aec8887d0cf178f7c989296266f Author: Gui Jianfeng Date: Thu Apr 10 02:00:23 2008 -0700 SCTP: Remove useless assignment from __sctp_rcv_lookup_endpoint Signed-off-by: Gui Jianfeng Signed-off-by: David S. Miller commit 935a7f6e4d2f2c69a2d94cbda377684fffbdcb27 Author: Li Zefan Date: Thu Apr 10 01:58:06 2008 -0700 SCTP: fix wrong debug counting of bind_bucket Should not count it if the allocation of the object is failed. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit e8c38751be84e2e930642be60331fbb6d3c4becb Author: Li Zefan Date: Thu Apr 10 01:57:24 2008 -0700 SCTP: fix wrong debug counting of datamsg Should not count it if the allocation of this object failed. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 2fa7527ba1d38175d1e42f7cb72bae5de3d55cc7 Author: Stephen Hemminger Date: Thu Apr 10 01:55:27 2008 -0700 IPV4: route rekey timer can be deferrable No urgency on the rehash interval timer, so mark it as deferrable. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 16c5f06f15ad4e5a5d6e90b78ffb1ac14319e445 Author: Josef Bacik Date: Wed Apr 9 09:33:41 2008 -0400 [GFS2] fix GFP_KERNEL misuses There are several places where GFP_KERNEL allocations happen under a glock, which will result in hangs if we're under memory pressure and go to re-enter the fs in order to flush stuff out. This patch changes the culprits to GFS_NOFS to keep this problem from happening. Thank you, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 1294fc4a4868d7e83ff749597fbf4e9d5f4d1aa0 Author: Stephen Hemminger Date: Thu Apr 10 01:54:01 2008 -0700 IPV4: route use jhash3 Since route hash is a triple, use jhash_3words rather doing the mixing directly. This should be as fast and give better distribution. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5969f71d57928511b9cd8744aaf1ed9bc5e88ea2 Author: Stephen Hemminger Date: Thu Apr 10 01:52:09 2008 -0700 IPV4: route inline changes Don't mark functions that are large as inline, let compiler decide. Also, use inline rather than __inline__. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 43db6d65e0ef943a361cb91f8baa49132009227b Author: Stephen Hemminger Date: Thu Apr 10 01:43:09 2008 -0700 socket: sk_filter deinline The sk_filter function is too big to be inlined. This saves 2296 bytes of text on allyesconfig. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b715631fad3ed320b85d386a84a6fb0b3f86b0b9 Author: Stephen Hemminger Date: Thu Apr 10 01:33:47 2008 -0700 socket: sk_filter minor cleanups Some minor style cleanups: * Move __KERNEL__ definitions to one place in filter.h * Use const for sk_filter_len * Line wrapping * Put EXPORT_SYMBOL next to function definition Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 729b2bdbfa19dd9be98dbd49caf2773b3271cc24 Author: Zhao Yakui Date: Wed Mar 19 13:26:54 2008 +0800 ACPI : Disable the device's ability to wake the sleeping system in the boot phase In some machines some GPE is shared by several ACPI devices, for example: sleep button, keyboard, mouse. At the same time one of them is non-wake(runtime) device and the other are wake devices. In such case OSPM should call the _PSW object to disable the device's ability to wake the sleeping system in the boot phase. Otherwise there will be ACPI interrupt flood triggered by the GPE input. The _PSW object is depreciated in ACPI 3.0 and is replaced by _DSW. So it is necessary to call _DSW object first. Only when it is not present will the _PSW object used. http://bugzilla.kernel.org/show_bug.cgi?id=10224 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit cce246ee5f3c7f4d3539ea41d13feb7a07859145 Author: Steve French Date: Wed Apr 9 20:55:31 2008 +0000 [CIFS] Fix acl length when very short ACL being modified by chmod Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 35028d71116926008f5c19b8fcb00aacaabf5eab Author: Steve French Date: Wed Apr 9 20:32:42 2008 +0000 [CIFS] Fix looping on reconnect to Samba when unexpected tree connect fail on reconnect Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit c19b2930df0621500913c005c06978bd8933110b Author: Russ Anderson Date: Fri Feb 29 17:14:44 2008 -0600 [IA64] Itanium Spec updates Updates based on the "Intel® Itanium® Architecture Software Developer's Manual Specification Update October 2007". http://download.intel.com/design/itanium/specupdt/24869911.pdf Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 273988fa4dffd1b1e6deb3de18b979a44e9d8732 Author: Christoph Lameter Date: Wed Apr 9 13:05:41 2008 -0700 [IA64] Untangle sync_icache_dcache() page size determination Untangle the chaos of page size determination in this function by simply using PAGE_SIZE << compound_order(). Signed-off-by: Christoph Lameter Signed-off-by: Tony Luck commit 5cf1f7cef1c67b5c81736f00e81a2890e07041b9 Author: S.Caglar Onur Date: Fri Mar 28 14:27:05 2008 -0700 [IA64] arch/ia64/kernel/: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() & time_before() macros, defined at linux/jiffies.h, which deal with wrapping correctly [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 734bc367b4830a4c80502a3f9ded7428b1c652e3 Author: Johannes Weiner Date: Fri Mar 28 14:27:04 2008 -0700 [IA64] remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit b34eb53cdcb4f49fd31d78d0e385240820ed9063 Author: FUJITA Tomonori Date: Fri Mar 28 14:27:03 2008 -0700 [IA64] make IOMMU respect the segment boundary limits IA64's IOMMU implementation allocates memory areas spanning LLD's segment boundary limit. It forces low level drivers to have a workaround to adjust scatter lists that the IOMMU builds. We are in the process of making all the IOMMUs respect the segment boundary limits to remove such work around in LLDs. This patch is for IA64's IOMMU. Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 34e1ceb1881ec895ad9b1b52d073f414f3aa87a9 Author: Masami Hiramatsu Date: Fri Mar 28 14:27:02 2008 -0700 [IA64] kprobes: kprobe-booster for ia64 Add kprobe-booster support on ia64. Kprobe-booster improves the performance of kprobes by eliminating single-step, where possible. Currently, kprobe-booster is implemented on x86 and x86-64. This is an ia64 port. On ia64, kprobe-booster executes a copied bundle directly, instead of single stepping. Bundles which have B or X unit and which may cause an exception (including break) are not executed directly. And also, to prevent hitting break exceptions on the copied bundle, only the hindmost kprobe is executed directly if several kprobes share a bundle and are placed in different slots. Note: set_brl_inst() is used for preparing an instruction buffer(it does not modify any active code), so it does not need any atomic operation. Signed-off-by: Masami Hiramatsu Cc: Anil S Keshavamurthy Cc: Ananth N Mavinakayanahalli Cc: bibo,mao Cc: Rusty Lynch Cc: Prasanna S Panchamukhi Cc: Jim Keniston Cc: Shaohua Li Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 96ded9dadde397a9e372a650534a9ffbba97194a Author: Pavel Emelyanov Date: Fri Mar 28 14:27:00 2008 -0700 [IA64] fix getpid and set_tid_address fast system calls for pid namespaces The sys_getpid() and sys_set_tid_address() behavior changed from return current->tgid to struct pid *pid; pid = current->pids[PIDTYPE_PID].pid; return pid->numbers[pid->level].nr; But the fast system calls on ia64 still operate the old way. Patch them appropriately to let ia64 work with pid namespaces. Besides, this is one more step in deprecating of pid and tgid on task_struct. The fsys_getppid() is to be patched as well, but its logic is much more complex now, so I will make it later. One thing I'm not 100% sure is the trick with the IA64_UPID_SHIFT. On order to access the pid->level's element of an array I have to perform the following calculations pid + sizeof(struct upid) * pid->level The problem is that ia64 can only multiply float point registers, while all the offsets I have in code are in rXX ones. Fortunately, the sizeof(struct upid) is 32 bytes on ia64 (and is very unlikely to ever change), so the calculations get simpler: pid + pid->level << 5 So, I introduce the IA64_UPID_SHIFT and use the shl instruction. I also looked at how gcc compiles the similar place and found that it makes it with shift as well. Is this OK to do so? Tested with ski emulator with 2.6.24 kernel, but fits 2.6.25-rc4 and 2.6.25-rc4-mm1 as well. Signed-off-by: Pavel Emelyanov Cc: David Mosberger-Tang Cc: Hidetoshi Seto Cc: Fenghua Yu Cc: Amy Griffis Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit d167cb85150bd473a27df71e3116a9cc0008f5dd Author: Robert P. J. Day Date: Sat Mar 29 10:05:30 2008 -0400 [IA64] Replace explicit jiffies tests with time_* macros. In arch/ia64/sn/kernel/xpc_{main,partition}.c Signed-off-by: Robert P. J. Day Signed-off-by: Tony Luck commit 6794c7526651160a75e90322cb750dcceb310d34 Author: Li Zefan Date: Tue Apr 1 12:29:34 2008 +0800 [IA64] use goto to jump out do/while_each_thread do_each_thread/while_each_thread is a double loop, so should use 'goto' rather than 'break' to break out the loop. Signed-off-by: Li Zefan Signed-off-by: Tony Luck commit e91450161186a926d16d8fdc8669aa1998bce148 Author: Alan D. Brunelle Date: Thu Apr 3 14:30:36 2008 -0400 [IA64] Fix unlock ordering in smp_callin One should normally unlock in the reverse order of the lock calls, and in this case there certainly is no reason not to. Signed-off-by: Alan D. Brunelle Signed-off-by: Tony Luck commit e4b05d4097eb6dab08bda86a72f6fdfdd9816395 Author: KOSAKI Motohiro Date: Wed Apr 9 12:26:10 2008 +0900 [IA64] pgd_offset() constfication. when compile 2.6.25-rc8-mm1, below warning happend. because walk_page_range pass argument as "const struct mm*", but pgd_offset() receive as "struct mm*". CC mm/pagewalk.o mm/pagewalk.c: In function 'walk_page_range': mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from pointer target type Signed-off-by: KOSAKI Motohiro Signed-off-by: Tony Luck commit 3975afffd32b84c0ad6797debe5abd179f44a698 Author: Hidetoshi Seto Date: Tue Apr 8 13:33:08 2008 +0900 [IA64] kdump: crash.c coding style fix Fix indenting of switch statement to follow Documentation/CodingStyle. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit b0247a55f4cdd7a270e938aa39f9edb5b005a88c Author: Hidetoshi Seto Date: Tue Apr 8 13:31:47 2008 +0900 [IA64] kdump: add kdump_on_fatal_mca While it is convenient that we can invoke kdump by asserting INIT via button on chassis etc., there are some situations that invoking kdump on fatal MCA is not welcomed rather than rebooting fast without dump. This patch adds a new flag 'kdump_on_fatal_mca' that is independent from 'kdump_on_init' currently available. Adding this flag enable us to turning on/off of kdump depend on the event, INIT and/or fatal MCA. Default for this flag is to take the dump. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 2c6e6db41f01b6b4eb98809350827c9678996698 Author: holt@sgi.com Date: Thu Apr 3 15:17:13 2008 -0500 [IA64] Minimize per_cpu reservations. This attached patch significantly shrinks boot memory allocation on ia64. It does this by not allocating per_cpu areas for cpus that can never exist. In the case where acpi does not have any numa node description of the cpus, I defaulted to assigning the first 32 round-robin on the known nodes.. For the !CONFIG_ACPI I used for_each_possible_cpu(). Signed-off-by: Robin Holt Signed-off-by: Tony Luck commit 41bd26d67c41e325c6b9e56aadfe9dad8af9a565 Author: holt@sgi.com Date: Thu Apr 3 15:17:12 2008 -0500 [IA64] Correct pernodesize calculation. A simple fix. The existing pernodesize reservation is not taking into account a second array of pg_data_t structures. This is normally not important because the PAGE_ALIGN macro reserves adequate space. I made the compute_pernodesize steps in the same order as the fill_pernode steps to make the correlation more clear. Signed-off-by: Robin Holt Signed-off-by: Tony Luck commit d9c58f30b08bfe1e689537af5bc855a76d0fae25 Author: Johannes Berg Date: Tue Apr 8 16:46:36 2008 -0400 mac80211: fix key debugfs default_key link The default_key symlink points to the key index rather than they key counter, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cfcdf40e52bdaa7622a9d1de62e5451d3427a5c6 Author: Christian Lamparter Date: Tue Apr 8 15:40:53 2008 -0400 drivers/net/wireless/p54/net2280.h: silence checkpatch.pl Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fb26971058845868f7c45b720636180d14c058e4 Author: Christian Lamparter Date: Tue Apr 8 15:38:00 2008 -0400 p54: move to separate directory Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c8dccc77420fb7433da5674818959d3499d35be Author: Johannes Berg Date: Tue Apr 8 15:14:40 2008 -0400 mac80211: rename files This patch renames all mac80211 files (except ieee80211_i.h) to get rid of the useless ieee80211_ prefix. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b96766f0e643f52ae19e134664df6730c737e87 Author: Johannes Berg Date: Tue Apr 8 17:56:52 2008 +0200 mac80211: fix key vs. sta locking problems Up to now, key manipulation is supposed to run under RTNL to avoid concurrent manipulations and also allow the set_key() hardware callback to sleep. This is not feasible because STA structs are rcu-protected and thus a lot of operations there cannot take the RTNL. Also, key references are rcu-protected so we cannot do things atomically. This patch changes key locking completely: * key operations are now atomic * hardware crypto offload is enabled and disabled from a workqueue, due to that key freeing is also delayed * debugfs code is also run from a workqueue * keys reference STAs (and vice versa!) so during STA unlink the STAs key reference is removed but not the keys STA reference, to avoid races key todo work is run before STA destruction. * fewer STA operations now need the RTNL which was required due to key operations This fixes the locking problems lockdep pointed out and also makes things more light-weight because the rtnl isn't required as much. Note that the key todo lock/key mutex are global locks, this is not required, of course, they could be per-hardware instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7d1559f1737d5ca27b267b0392015f42b3bbe2fa Author: Johannes Berg Date: Tue Apr 8 13:08:20 2008 +0200 mac80211: fix sta-info pinning When a STA is supposed to be unlinked but is pinned, it still needs to be unlinked from all structures. Only at the end of the unlink process should we check for pin status and invalidate the callers reference if it is pinned. Move the pin status check down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d6141c30a2567a85d869d55f579438b3365d719 Author: Jiri Slaby Date: Mon Apr 7 21:53:49 2008 +0200 mac80211: fix defined but not used These two symbols are used only in ifdeffed function. Move them to that section too. net/mac80211/sta_info.c:387: warning: `__sta_info_pin' defined but not used net/mac80211/sta_info.c:397: warning: `__sta_info_unpin' defined but not used Signed-off-by: Jiri Slaby Cc: Michael Wu Cc: Johannes Berg Cc: Jiri Benc Signed-off-by: John W. Linville commit e764948b1abd8316f8a1364757d6629f5cda199d Author: Pavel Machek Date: Mon Apr 7 21:08:55 2008 +0200 adm8211: remove commented-out code Remove some commented-out code from adm8211. Signed-off-by: Pavel Machek Signed-off-by: John W. Linville commit 513a1025fd91008316a8e9b4803d1bfcbb2bf256 Author: Ron Rindjunsky Date: Mon Apr 7 10:16:56 2008 -0700 mac80211: BA session debug prints changes This patch contains next issues: 1 - prevents "stop BA session" multiple warnings 2 - adds debug print to stop Rx BA session flow 3 - adds EOL in one debug print Signed-off-by: Ron Rindjunsky Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 8cf6a31e8d30cae1fbec8c782842f00472a4495c Author: Michael Buesch Date: Sat Apr 5 15:19:36 2008 +0200 b43: use b43_is_mode() call We must use the b43_is_mode() call to check the current interface operation mode. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5042c5070daaa6a3c033e4510439e3ac02a1df60 Author: Michael Buesch Date: Sat Apr 5 15:05:00 2008 +0200 b43: Fix PHY TX control words in SHM This fixes the initialization of the PHY TX control words in shared memory. These control words are used for management frames like beacons. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c97a4ccc1fad35d3d183900af29c171b6d56b7f9 Author: Michael Buesch Date: Sat Apr 5 15:02:09 2008 +0200 b43: Fix beacon BH update This fixes beacon updating in the bottomhalf. In case the device is busy, we will defer to later in the IRQ handler. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 84363e6e07f17f8cc580065260907ee3f0520485 Author: Mohamed Abbas Date: Fri Apr 4 16:59:58 2008 -0700 mac80211: notify mac from low level driver (iwlwifi) Add new API to MAC80211 to allow low level driver to notify MAC with driver status. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 380a942b9177dcae1429fdd0f3639f92d9ab139d Author: Johannes Berg Date: Fri Apr 4 23:40:35 2008 +0200 mac80211: fix ieee80211_ioctl_giwrate The ieee80211_ioctl_giwrate() ioctl handler doesn't rcu_read_lock() its access to the sta table, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bebb8a5e2cd30adcc5e9a14c3366a231da728aee Author: Johannes Berg Date: Fri Apr 4 23:33:37 2008 +0200 mac80211: make debugfs files root-only Unfortunately, debugfs can be made to access invalid memory by open()ing a file and then waiting until the corresponding debugfs file has been removed (and, probably, the underlying object.) That could be exploited by any user if the user is able to open debugfs files and can cause networking devices, STA entries or similar to disappear which is quite easy to do. Hence, all debugfs files should be root-only. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a82d992261f79506a0d55b9a179a211f96caf878 Author: Michael Buesch Date: Fri Apr 4 21:40:06 2008 +0200 b43: Beaconing fixes These are some beaconing related fixes. Basically it prevents the card from triggering the beacon IRQ over and over again. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 182e2e66ca56f750845f5314708434c286edd6e4 Author: Johannes Berg Date: Fri Apr 4 10:41:56 2008 +0200 iwlwifi: honour regulatory restrictions in scan code When doing firmware-assisted scanning, iwlwifi drivers do not honour the regulatory control code that might disable channels that are enabled in the EEPROM, for example when the user is visiting another country and adjusted the regulatory domain accordingly. This patch fixes that. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 41a7be4858b886f83522e62d409263fcdb82653b Author: Reinette Chatre Date: Thu Apr 3 16:08:49 2008 -0700 mac80211: notify upper layers after lower When drivers receive change notification they may do work that will enable the changes to take effect. For example, if new association the device needs to be programmed with this information. Give the driver chance to make the changes before notifying the upper layer - thus preventing race condition where upper layer attempts to utilize state that may not be configured yet. Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 03d29c684917860f90f897565b297c4aba713e0b Author: Mohamed Abbas Date: Thu Apr 3 16:05:24 2008 -0700 iwlwifi: fix rfkill memory error Do not free reference to device twice. After rfkill registration succeeds we only need to call rfkill_unregister() and not rfkill_free(). Also add some debugging. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe00b5a5b7e29180e427e58b3d0a185d1dd3f105 Author: Reinette Chatre Date: Thu Apr 3 16:05:23 2008 -0700 iwlwifi: ensure led registration complete as part of initialization After the workqueue is notified the LED code may be accessed. Ensure that LED registration completes completely as part of initialization before anything waiting on this is notified. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dc92e49729142047bce8f14762accb322962b585 Author: Tomas Winkler Date: Thu Apr 3 16:05:22 2008 -0700 iwlwifi: use ieee80211_frequency_to_channel This patch replaces ieee80211chan2mhz from radiotap with ieee80211_frequency_to_channel provided by mac80211 Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fee1247a30e5b3d48fe985b4a935eb6818f3b464 Author: Tomas Winkler Date: Thu Apr 3 16:05:21 2008 -0700 iwlwifi: move driver status inliners into iwl-core.h This patch moves inline functions into iwl-core.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 12a81f60b98096079d392f8abc284cbd76aa719b Author: Tomas Winkler Date: Thu Apr 3 16:05:20 2008 -0700 iwlwifi: hw names cleanup This patch make some cleanup in HW names Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 133adf08266740cd886d544aa9fe80b9873cf699 Author: Ivo van Doorn Date: Fri Apr 4 00:01:43 2008 +0200 rt2x00: Use lib->config_filter() during scheduled packet filter config Now rt2x00lib handles the initial configure_filter() command, we can directly call lib->config_filter() in scheduled context since the called function will no longer check if anything has changed (which is now handled in rt2x00lib as well). This fixes a endless loop with USB drivers where the config_filter command was scheduled time and time again without sending any command to the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 253898c4170c7f426d1bc32860fee04f27de3ade Author: John W. Linville Date: Thu Apr 3 15:32:54 2008 -0400 cfg80211: default to regulatory max power for channel If the driver does not specify a maximum power output, default to the regulatory max. Signed-off-by: John W. Linville commit d59f720d88089f2feabe4335839521b26572dc75 Author: Michael Buesch Date: Thu Apr 3 18:56:19 2008 +0200 b43: Fix TBTT and PU timings This fixes some timings for pre-TBTT and synthetic PU. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 7b584163979a9fe2ebfdd57a9d64cbe27166ab70 Author: Michael Buesch Date: Thu Apr 3 18:01:12 2008 +0200 b43: Add more N-PHY stuff This adds some minor stuff for N-PHY support. Nothing special. Adds Analog switching and some TODOs for RSSI processing. Just a patch I had floating around for quite some time now. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9cfb0009dab6d6b4c5a15c5d74ab60d7a7a7371b Author: Johannes Berg Date: Thu Apr 3 15:17:31 2008 +0200 mac80211: clean up IEEE80211_FC use Really doesn't need to be defined four times. Also, while at it, remove a useless macro (IEEE80211_ALIGN32_PAD) and a function prototype for a function we don't actually have (ieee80211_set_compression.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 49ec6fa22028054f292c9c290415b88281f7b783 Author: Johannes Berg Date: Thu Apr 3 14:31:05 2008 +0200 mac80211: fix possible sta-debugfs work lockup Because we queue the sta-debugfs-adding work on our mac80211 workqueue (which needs to be flushed under RTNL) and that work needs the RTNL, it can currently deadlock, thanks to Reinette Chatre for pointing out the lockdep warning about this. This patch fixes it by moving this work to the common kernel workqueue (using schedule_work) and canceling it as appropriate. It also fixes a related problem: When a STA is pinned by the debugfs adding work and sta_info_flush() runs concurrently it is not guaranteed that all STAs are removed from the driver before the corresponding interface is removed which may lead to bugs. Signed-off-by: Johannes Berg Cc: Reinette Chatre Signed-off-by: John W. Linville commit d8c17e159758c2a4f8c3319fe8a6cf313f7a6733 Author: Michael Buesch Date: Wed Apr 2 19:58:20 2008 +0200 b43: Use SSB block-I/O to do PIO This changes the b43-PIO code to use the new SSB block-I/O. This reduces the overhead by removing lots of function calls, pointer dereferencing, if-conditionals any byteswapping for each packet data word. This also fixes a harmless sparse endianness warning. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 36316126e90b058ad7bd5b9e3d6079814e0a17e2 Author: Reinette Chatre Date: Wed Apr 2 10:50:35 2008 -0700 iwl4965: use IWLWIFI_LEDS config variable Fix error reported by Miles Lane Signed-off-by: Reinette Chatre CC: Miles Lane Signed-off-by: John W. Linville commit d625a29ba649a4df6027520ffc378f23c0e6883e Author: Michael Buesch Date: Wed Apr 2 19:46:56 2008 +0200 ssb: Add support for block-I/O This adds support for block based I/O to SSB. This is needed in order to efficiently support PIO data transfers to the card. The block-I/O support is only compiled, if it's selected by the weird driver that needs it. So there's no overhead for sane devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 93af2614513103216038afa708718295e7016dbb Author: John W. Linville Date: Wed Apr 2 11:35:32 2008 -0400 drivers/net/wireless/iwlwifi/iwl-3945.h: correct CONFIG_IWL4965_LEDS typo Thakns to Winfried Tilanus for identifying the problem! Signed-off-by: John W. Linville commit d72bb40fe38608fcf7870b4d768e4416502b23b5 Author: Michael Buesch Date: Wed Apr 2 17:03:26 2008 +0200 ssb: Fix build for non-PCIhost This fixes a build error when PCMCIA-host support is built, but PCI-host support is disabled. Hell, who on earth would use such a weird configuration. :D drivers/built-in.o: In function `ssb_attr_sprom_store': (.text+0x1c4b79): undefined reference to `ssb_devices_freeze' drivers/built-in.o: In function `ssb_attr_sprom_store': (.text+0x1c4bb3): undefined reference to `ssb_devices_thaw' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Michael Buesch Acked-by: Randy Dunlap Signed-off-by: John W. Linville commit fb14a7e0860ef8b19d0dd61be96e23eacb4da129 Author: Holger Schurig Date: Wed Apr 2 18:04:35 2008 +0200 libertas: remove lbs_get_fwversion() It was used only at one place anyway. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 73ab1f25d4a3a22a1547d44199c2171c04e59cb8 Author: Holger Schurig Date: Wed Apr 2 16:52:19 2008 +0200 libertas: move lbs_update_channel out of assoc.c ... as it has nothing to do with pure association Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 245bf20f9c159f8d35befbc038997096b759459c Author: Holger Schurig Date: Wed Apr 2 16:27:42 2008 +0200 libertas: move association code from scan.c into assoc.c Besides code moving, I did the following changes: * made some functions static * removed some unneeded #include's * made patch checkpatch.pl clean Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 697900ac14528e985b66f471ecb81082fc00baa9 Author: Holger Schurig Date: Wed Apr 2 16:27:10 2008 +0200 libertas: move association code from join.c into scan.c Besides code moving, I did the following changes: * made some functions static * removed some unneeded #include's * made patch checkpatch.pl clean Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 53f36d70f072403d9aef68b332b72eb8c559b4ae Author: John W. Linville Date: Wed Apr 2 12:10:04 2008 -0400 iwlwifi/Kconfg: make IWLWIFI_LEDS invisible Select IWLWIFI_LEDS automatically when either IWL3945_LEDS or IWL4965_LEDS is selected. This avoids potential misconfigurations which lead to build failures for iwl-led.c. Cc: Miles Lane Cc: reinette.chatre@intel.com Signed-off-by: John w. Linville Signed-off-by: John W. Linville commit a0b484fee72fc18eb9145011a5edec922fafbc15 Author: Johannes Berg Date: Tue Apr 1 17:51:47 2008 +0200 iwlwifi: fix some warnings This fixes all kinds of warnings in iwlwifi. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 16788599a9601cbba6ad7b58b3b52227ea59c013 Author: John W. Linville Date: Tue Apr 1 20:59:32 2008 -0400 drivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function ‘iwl_dbgfs_stations_read’: drivers/net/wireless/iwlwifi/iwl-debugfs.c:247: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u64’ Cc: Reinette Chatre Cc: Andrew Morton Signed-off-by: John W. Linville commit fff7710937f755099209357e5b5740d42a2c9f97 Author: Chr Date: Tue Apr 1 21:45:18 2008 +0200 mac80211: add station aid into ieee80211_tx_control This patch is necessary for the upcoming Accesspoint patch for p54. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2aee82de5238625a7664f88d6ebff9de467bb685 Author: Denys Vlasenko Date: Tue Apr 1 02:56:32 2008 +0200 wavelan_cs: stop inlining largish static functions Hi John, Can you please take a look at this patch? drivers/net/wireless/wavelan_cs.c has unusually large number of static inline functions - 27. I looked through them and 20 of them do not seem to warrant inlining. Some are really big; others call mdelay(1) or busy-wait for a bit to be set in a hardware register - it's pointless to optimize such functions for speed. This patch removes "inline" from these static function (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 17020 372 8 17400 43f8 linux-2.6-ALLYES/drivers/net/wireless/wavelan_cs.o 14032 356 8 14396 383c linux-2.6.inline-ALLYES/drivers/net/wireless/wavelan_cs.o Signed-off-by: Denys Vlasenko -- vda Signed-off-by: John W. Linville commit 7b463ced635231dd1d4ca6d8b1d93f9353b9dc3a Author: Luis R. Rodriguez Date: Tue Apr 1 15:17:36 2008 -0400 prism54: set carrier flags correctly > prism54 should set the carrier flags correctly when it thinks the > link can be used. Agreed, so sure, this is OK but I rather we turn the carrier on or off *before* sending an event, like this. Signed-off-by: Roy Marples Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8fe2b65a18e49bfde56a59ed4ab3fc7aa0c2f325 Author: Michael Buesch Date: Sun Mar 30 00:10:50 2008 +0100 ssb: Turn suspend/resume upside down Turn the SSB bus suspend mechanism upside down. Instead of deciding by an internal reference count when to suspend/resume, let the parent bus call us in their suspend/resume routine. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5100d5ac81b9330dc57e35adbe50923ba6107b8f Author: Michael Buesch Date: Sat Mar 29 21:01:16 2008 +0100 b43: Add PIO support for PCMCIA devices This adds PIO support back (D'oh!) for PCMCIA devices. This is a complete rewrite of the old PIO code. It does actually work and we get reasonable performance out of it on a modern machine. On a PowerBook G4 I get a few MBit for TX and a few more for RX. So it doesn't work as well as DMA (of course), but it's a _lot_ faster than the old PIO code (only got a few kBit with that). The limiting factor is the host CPU speed. So it will generate 100% CPU usage when the network interface is heavily loaded. A voluntary preemption point in the RX path makes sure Desktop Latency isn't hurt. PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 3109ece1114293b8201d9c140d02d7ce9a9fa387 Author: Tomas Winkler Date: Fri Mar 28 16:33:35 2008 -0700 iwlwifi: Eliminate association from beacon This patch removes association from beacon using bss_info_change handler for association Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: John W. Linville commit 21c0cbe760ca6b5d4c6927c3ec1352a843a8c11c Author: Tomas Winkler Date: Fri Mar 28 16:33:34 2008 -0700 mac80211: add association capabilty and timing info into bss_conf This patch adds assocation capability, timestamp (tsf) and beacon interval to bss_conf. This is required for successful assocation of iwlwifi drivers Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: John W. Linville commit 98952d5decf8195b2cbb96d47572278335a8a8d8 Author: Tomas Winkler Date: Fri Mar 28 16:33:33 2008 -0700 iwlwifi: eliminate conf_ht This patch eliminates the use of conf_ht in iwlwifi driver, replacing it with bss_info_changed. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 38668c059f5202f5fd9612391f9aa1b38a97241b Author: Tomas Winkler Date: Fri Mar 28 16:33:32 2008 -0700 mac80211: eliminate conf_ht This patch eliminates the use of conf_ht, replacing it with bss_info_changed. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9788ba7500c3a6268ceb63296a0f37f34d450beb Author: Michael Buesch Date: Fri Mar 28 10:34:55 2008 +0100 ssb-pcmcia: IRQ and DMA related fixes Here come some IRQ and DMA related fixes for the ssb PCMCIA-host code. Not much to say, actually. I think the patch explains itself. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 247367016305637fb981db020679520e354c80c4 Author: John W. Linville Date: Tue Apr 8 14:15:46 2008 -0400 Revert "mac80211: use a struct for bss->mesh_config" This reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5. That patch breaks mesh config comparison between beacons/probe reponses, so every beacon from a mesh network would be added as a new bss. Since the comparison has to be performed for every received beacon I believe it is best to save the mesh config in a format easy to compare, rather than do a bunch of unaligned accesses to compare field by field. Signed-off-by: John W. Linville commit 8eefca4888c986d993b2571eb31f0397a5d0a178 Merge: 549e028... de357cc... Author: David S. Miller Date: Tue Apr 8 02:33:36 2008 -0700 Merge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit b35c07d00751c3d554dd6e582b661ac2e8ffc162 Author: Andrew Vasquez Date: Thu Apr 3 13:13:32 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k1. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 221726d41a6c351fd8ea7d4b11ab13085f7a8647 Author: Seokmann Ju Date: Thu Apr 3 13:13:31 2008 -0700 [SCSI] qla2xxx: Correct vport configuration-change handling. Upon having configuration changes on vports only, the driver handles SCR regardless physical port state and, in turn, it results mailbox error as below: Mar 20 11:24:20 dl585 kernel: qla2x00_mailbox_command(9): **** FAILED. mbx0=4005, mbx1=1, mbx2=8100, cmd=70 **** With the changes, driver checks physical port loop_state and make sure the port is ready to take commands. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit bd2a1846b2313e32d0270151a31a6b8335384a20 Author: Seokmann Ju Date: Thu Apr 3 13:13:30 2008 -0700 [SCSI] qla2xxx: Use proper HA during asynchrounous event handling. Changes are added to the driver so that it can behave properly upon having asynchronous events, for example, addition of target devices to the VPs. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 463717edc9d675ead14b02f060425ff7860d1dc1 Author: Seokmann Ju Date: Thu Apr 3 13:13:29 2008 -0700 [SCSI] qla2xxx: Check DFLG_NO_CABLE only on physical port. As there is no actual cable connection on vports, made change so that the driver checks DFLG_NO_CABLE against ha->device_flags only for physical port. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d4486fd6deb3354aa39cfedfcfd114cfe9ff9238 Author: Seokmann Ju Date: Thu Apr 3 13:13:28 2008 -0700 [SCSI] qla2xxx: Consistently access the physical HA port. There were several places where referencing ha structure of virtual ports for resources. Among those refereces, certain fields are get up-to-dated only on ha structure of physical port. Signed-off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 73f0f0f24ad898db8316d1c8bf877fbe7b60b015 Author: Andrew Vasquez Date: Thu Apr 3 13:13:27 2008 -0700 [SCSI] qla2xxx: Remove unused member (dma_handle) from srb_t structure. The member is not needed as there's no non-scatter-gather list I/Os submitted by the upper-layers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4d4df1932b6b116aecc81039066fec27f2050762 Author: Harihara Kadayam Date: Thu Apr 3 13:13:26 2008 -0700 [SCSI] qla2xxx: Add ISP84XX support. Signed-off-by: Ravi Anand Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b93480e319654b8921364b49528532dff4822a45 Author: Ravi Anand Date: Thu Apr 3 13:13:25 2008 -0700 [SCSI] qla2xxx: Assign mailbox command timeout values in a consistent manner. Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 523ec773b8ffb1c607bc3a54c9526558e3b1eab1 Author: Andrew Vasquez Date: Thu Apr 3 13:13:24 2008 -0700 [SCSI] qla2xxx: Add midlayer target/device reset support. Now that infrastructure is present within the midlayer and there is a clear distinction between what is expected from a device and target reset, convert the current device-reset codes to a target-reset, and add codes to perform a proper device-reset (LUN reset). In the process of adding reset support, collapse and consolidate large sections of mailbox-command (TMF issuance) codes, generalize the two 'wait-for-commands-to-complete' functions, and add a generic-reset routine for use by midlayer reset functions. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3fe7cfb910ea138ae623d1320c71e2a7a0bdc527 Author: Andrew Vasquez Date: Thu Apr 3 13:13:23 2008 -0700 [SCSI] qla2xxx: Check alternate 'reason' code during GPSC status handling. Some switches return 0x09 (Command not supported) as the reason code for GPSC failure. Check for this code, and disable additional GPSC queries if found. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7d232c745ef2ce141cc9d9538421affa32846fdb Author: Andrew Vasquez Date: Thu Apr 3 13:13:22 2008 -0700 [SCSI] qla2xxx: Add Flash Descriptor Table layout support. The Flash Descriptor Table (FDT) present on many recent HBAs encodes flash accessing characteristics of the flash-part used on the HBA. Use this information during flash manipulation (writes) rather than using specific hard-coded values based on queried manufacturer and device IDs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c87a0d8c8de7e191cd59779560d8df2e935c7dc7 Author: Andrew Vasquez Date: Thu Apr 3 13:13:21 2008 -0700 [SCSI] qla2xxx: Use PCI-SIG nomenclature for PCIe bandwidth units. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 587f4cae4a8ce1315c3def2229c2a912637269b6 Author: Andrew Vasquez Date: Thu Apr 3 13:13:20 2008 -0700 [SCSI] qla2xxx: Cruft cleanup of functions and structures. Strip unused (DEBUG-ONLY) enabled functions, inlines, useless wrappers, and unused DPC flags from the code. Another step in the migration towards a cleaner (less-crusty) driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cb8dacbf1110d8bd39413f3116ff1720f757854e Author: Andrew Vasquez Date: Thu Apr 3 13:13:19 2008 -0700 [SCSI] qla2xxx: Add hardware trace-logging support. Recent ISPs have a region within FLASH which acts as a repository for the logging of serious hardware and software failures. Currently, the region is large enough to support up to 255 entries. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0971de7f56f809f40edae6fd372745e429e970e9 Author: Andrew Vasquez Date: Thu Apr 3 13:13:18 2008 -0700 [SCSI] qla2xxx: Add FC-transport Asynchronous Event Notification support. Supported events include LIP, LIP reset, RSCN, link up, and link down. To support AEN (and additional forthcoming features), we also introduce a simple deferred-work construct to manage events which require a non-atomic sleeping-capable context. This work-list is processed as part of the driver's standard DPC routine. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c6952483b070ec8a4f2450d1116be908fe59edcc Author: Andrew Vasquez Date: Thu Apr 3 13:13:17 2008 -0700 [SCSI] qla2xxx: Simplify interrupt handler locking. There's no need to use the heavier (albiet safer) *_irq[save|restore]() locking primitives within the driver's interrupt handlers, interrupts are guaranteed to be non-reentrant. Use lightweight spin_lock() and spin_unlock() primitives while acquiring the hardware_lock. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5ab5a4dd5444db0715b5748bab916725138d3a32 Author: Andrew Vasquez Date: Thu Apr 3 13:13:16 2008 -0700 [SCSI] qla2xxx: Use an rport's scsi_target_id member consistently throughout driver. Rather than using a duplicate/cached value stored in the driver's internal fcport structure. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0ddda2d1529f2d01d3b043782d2efcf0499fc3db Author: Andrew Vasquez Date: Thu Apr 3 13:13:15 2008 -0700 [SCSI] qla2xxx: Remove unused and obsolete #define's. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2ae2b3709542a4b5b691985ecbdf3b79303d9e56 Author: Andrew Vasquez Date: Thu Apr 3 13:13:14 2008 -0700 [SCSI] qla2xxx: Add support for host supported speeds FC transport attribute. Use generic FC transport #defines for speed values. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 01e58d8eac93f3b73246b8d0bdee071d9fb85661 Author: Andrew Vasquez Date: Thu Apr 3 13:13:13 2008 -0700 [SCSI] qla2xxx: Update copyright banner. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 203c29102b8e76f088440099af01677cfb1cfdf9 Author: Andrew Vasquez Date: Thu Apr 3 13:13:12 2008 -0700 [SCSI] qla2xxx: Update firmware filenames for new ISP parts. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit db3cc200a6ecf9681d598bfe1c3df9dac1afa40a Author: James Bottomley Date: Thu Apr 3 12:28:20 2008 -0500 [SCSI] ips: remove spurious cpu_to_leX on outX statements These are completely wrong because both outX and writeX do an automatic reverse of their arguments if necessary, so having an extra cpu_to_leX gives us the wrong ordering on BE platforms again. Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 79bc14813cd7e1b75d2e4cbbc17043261cf4bcdc Author: James Bottomley Date: Thu Apr 3 09:04:31 2008 -0500 [SCSI] libsas: fix missing inlines in header file Two functions in include/scsi/sas_ata.h don't have static inlines leading to problems if they're built in: On Thu, 2008-04-03 at 14:06 +0200, Toralf Förster wrote: > drivers/scsi/mvsas.o: In function `sas_ata_init_host_and_port': > mvsas.c:(.text+0x0): multiple definition of `sas_ata_init_host_and_port' > drivers/scsi/libsas/built-in.o:(.text+0x37f4): first defined here > drivers/scsi/mvsas.o: In function `sas_ata_task_abort': > mvsas.c:(.text+0x7): multiple definition of `sas_ata_task_abort' > drivers/scsi/libsas/built-in.o:(.text+0x37fb): first defined here > make[2]: *** [drivers/scsi/built-in.o] Error 1 > make[1]: *** [drivers/scsi] Error 2 > make: *** [drivers] Error 2 Add the correct static inline modifiers. Tested-by: Toralf Förster Signed-off-by: James Bottomley commit 2f3edc6936e3f6be3f1df1e89c141ae028fa605e Author: James Bottomley Date: Wed Apr 2 10:05:48 2008 -0500 [SCSI] transport_class: BUG if we can't release the attribute container Every current transport class calls transport_container_release but ignores the return value. This is catastrophic if it returns an error because the containers are part of a global list and the next action of almost every transport class is to free the memory used by the container. Fix this by making transport_container_release a void, but making it BUG if attribute_container_release returns an error ... this catches the root cause of a system panic much earlier. If we don't do this, we get an eventual BUG when the attribute container list notices the corruption caused by the freed memory it's still referencing. Also made attribute_container_release __must_check as a reminder. Cc: Greg KH Signed-off-by: James Bottomley commit fa8e36c39b00a219d2c37250e493c3421e0e67e9 Author: James Bottomley Date: Wed Apr 2 18:11:52 2008 -0500 [SCSI] fix barrier failure issue Currently, if the barrier command fails, the error return isn't seen by the block layer and it proceeds on regardless. The problem is that SCSI always returns no error for REQ_TYPE_BLOCK_PC ... it expects the submitter to pick the errors out of req->errors, which the block barrier functions don't do. Since it appears that the way SG_IO and scsi_execute_request() work they discard the block error return and always use req->errors, the best fix for this is to have the SCSI layer return an error to block if one actually occurred (this also allows us to filter out spurious errors, like deferred sense). This patch is a bug fix that will need backporting to stable, but it's also quite a big change and in need of testing, so we'll incubate in the main kernel tree and backport at the -rc2 or so stage if no problems turn up. Acked-by: Jens Axboe Cc: Marcelo Tosatti Signed-off-by: James Bottomley commit bfab1637b5d0c9683016917fa8e082ba6ce8d5a6 Author: Martin Peschke Date: Mon Mar 31 11:15:31 2008 +0200 [SCSI] zfcp: Add docbook comments to debug trace. Add missing docbook-comments for functions forming zfcp's internal trace API. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 92c7a83fc1fe7b9c3b26831cf84aedd3962d13ee Author: Martin Peschke Date: Mon Mar 31 11:15:30 2008 +0200 [SCSI] zfcp: Cleanup line breaks in debug trace. Remove line breaks that do not conform to coding style. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6bc473dd324237acbaa7a4c5e73d00dd5fc389ec Author: Martin Peschke Date: Mon Mar 31 11:15:29 2008 +0200 [SCSI] zfcp: Shorten excessive names in debug trace. Saving on line breaks, improving readability, by shortening excessive function names and identifiers, by simplifying some functions call chains, and by simplifying nesting of some data structure. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2b604c9b909ce1c98e51208eee2f70ee3e604079 Author: Christof Schmitt Date: Mon Mar 31 11:15:28 2008 +0200 [SCSI] zfcp: Move DBF definitions to private header file Unclutter the global zfcp_def.h header. Move everything required to call into the debug feature to a new header file. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit a9c857757ea09b63040bba7ab149557ac2bfb274 Author: Martin Peschke Date: Mon Mar 31 11:15:27 2008 +0200 [SCSI] zfcp: Simplify zfcp_dbf_tag and related functions in debug trace. Simplify usage of zfcp_dbf_tag() and calling functions. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit df29f4ac4d3e8fcc8d8c85b7aeb8cc0df2a3f68a Author: Martin Peschke Date: Mon Mar 31 11:15:26 2008 +0200 [SCSI] zfcp: Simplify usage of hex dump output function for debug trace. Simplify usage of output function for hex dumps. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c7b7fc8c30df49a4ca5743d5f062666adcc1dc15 Author: Martin Peschke Date: Mon Mar 31 11:15:25 2008 +0200 [SCSI] zfcp: Remove obsolete output function from debug trace. Remove obsolete output function. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b634fff743be5e6010c5cbe36ea1e68ff56a6aee Author: Martin Peschke Date: Mon Mar 31 11:15:24 2008 +0200 [SCSI] zfcp: Cleanup debug trace view functions. Improve readability of code by using more convenient output function. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 8fc5af168753239d7bf77ccca831196bcdffbfbe Author: Martin Peschke Date: Mon Mar 31 11:15:23 2008 +0200 [SCSI] zfcp: simplify zfcp_dbf_timestamp() Change zfcp_dbf_timestamp() so that it just calculates timespec from timestamp. First step to be able to rip this code out of zfcp. Besides, this change makes it easier to rip out old-style debug view functions. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 81e56ded878aeb8730f18c1d0a70d5face788be3 Author: Adrian Bunk Date: Fri Mar 28 14:48:34 2008 -0700 [SCSI] aic94xx: cleanups - static functions in .c files shouldn't be marked inline - make needlessly global code static - remove the unused aic94xx_seq.c:asd_unpause_lseq() - #if 0 other unused code [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d70d4667e9eead06aa38be947274fda22dcf923b Author: Harvey Harrison Date: Mon Mar 31 22:05:30 2008 -0700 [SCSI] ch: fix sparse shadowed variable warnings Replace the global err array with ch_err. drivers/scsi/ch.c:271:6: warning: symbol 'err' shadows an earlier one drivers/scsi/ch.c:116:3: originally declared here Replace the temporary cmd buffer with ch_err to avoid shadowing the cmd function parameter. drivers/scsi/ch.c:724:11: warning: symbol 'cmd' shadows an earlier one drivers/scsi/ch.c:596:20: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: James Bottomley commit 8c5e03d3cf70161413aaf7152dafa96daca5bb2f Author: Adrian Bunk Date: Mon Mar 31 01:53:55 2008 +0300 [SCSI] make scsi_end_bidi_request() static This patch makes the needlessly global scsi_end_bidi_request() static. Signed-off-by: Adrian Bunk Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit f6b196a2f3058c6f70bb36ab61ff8aa996fca301 Author: James Bottomley Date: Sun Mar 30 12:36:26 2008 -0500 [SCSI] hptiop: fix header.context usage header.context is a 64 bit field, but it's deliberately split into context and context_hi32. Thus cpu_to_le64 assignments are wrong on this. Replace them with the correct settings of both the low and high words. Cc: HighPoint Linux Team Signed-off-by: James Bottomley commit a579dab1c19104fe82e864513cb17c6803dd7840 Author: James Bottomley Date: Mon Mar 31 22:06:50 2008 -0500 [SCSI] wd33c93: fix up cut and paste error The three drivers: a2091, gvp11 and mvme147 have erroneous references to a3000_host. Fix these to be references to the proper host variable. Cc: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 8dea0d02f8bb7103ec0818bd2e856f30f2d1bcf1 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:58 2008 +0900 [SCSI] scsi_debug: remove unnecessary function declarations This patch removes function declarations with moving some functions. This cleans up them a bit to silence checkpatch.pl. There is no functional change. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 5f2578e579ab74b4e3cfd1431bfa976e906594f6 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:57 2008 +0900 [SCSI] scsi_debug: support large non-fake virtual disk Currently, the maximum amount of RAM that scsi_debug can allocate is 4GB. This patch increases it to 2TB; scsi_debug can allocates 2TB memory and export it as if it were 2TB scsi disk. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 1978910062c38394570c48b3065f37060be31b91 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:56 2008 +0900 [SCSI] scsi_debug: remove the duplicated code in resp_read and resp_write resp_read and resp_write performs READ_* and WRITE_* commands respectively. This sweeps up the similar code in them. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 28898873b0049d4271c0ff3eb57eb329bbc4d9df Author: FUJITA Tomonori Date: Sun Mar 30 00:59:55 2008 +0900 [SCSI] scsi_debug: sweep up sdebug_capacity calculation sdebug_capacity is calculated at five different places. This add a helper function to calculate sdebug_capacity to sweep up the duplicatated code. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f58b0efbf49ec54c82b8904c64a6498f829e7544 Author: FUJITA Tomonori Date: Sun Mar 30 00:59:54 2008 +0900 [SCSI] scsi_debug: remove unnecessary sdebug_store_size sdebug_store_size doesn't need to be static global. It's used at startup only. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 540d9b40faa8fcf094cb1fbf9224406bb13e3307 Author: Denis Cheng Date: Thu Mar 20 03:10:20 2008 +0800 [SCSI] hosts.c: removed one unneeded shost->active_mode assignment In the following if/else statement, shost->active_mode will always be set, so this assignment is unneeded. Signed-off-by: Denis Cheng Signed-off-by: James Bottomley commit 36b8dd1bf787512e33efa7ce88eff437404ab22d Author: Marcin Slusarz Date: Fri Mar 28 14:48:35 2008 -0700 [SCSI] aacraid, ips: leX_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 507e49693a074e878f20718fb97a5da01ccd9cbd Author: Martin Peschke Date: Thu Mar 27 14:22:05 2008 +0100 [SCSI] zfcp: Remove obsolete erp_dbf trace This patch removes the now obsolete erp_dbf trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6f4f365e9c5d721c4d03ee8009dd6fab47feb045 Author: Martin Peschke Date: Thu Mar 27 14:22:04 2008 +0100 [SCSI] zfcp: Add trace records for recovery actions. This patch writes trace records for various phases of a recovery action: action being created, action being processed, action continueing asynchronously, action gone, action timed out, action dismissed etc. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9467a9b3efdd9041202f71cc270bda827a7ec777 Author: Martin Peschke Date: Thu Mar 27 14:22:03 2008 +0100 [SCSI] zfcp: Trace all triggers of error recovery activity This patch allows any recovery event to be traced back to an exact cause, e.g. a particular request identified by an id (address). Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 698ec01635819c5ae60090bb4efcbeffc41642fb Author: Martin Peschke Date: Thu Mar 27 14:22:02 2008 +0100 [SCSI] zfcp: Add traces for state changes. This patch writes a trace record which provides information about state changes for adapters, ports and units, e.g. target failure, targets becoming online, targets being temporarily blocked due to pending recovery, targets which have been recovered successfully etc. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 348447e85749120ad600a5c8e23b6bb7058b931d Author: Martin Peschke Date: Thu Mar 27 14:22:01 2008 +0100 [SCSI] zfcp: Add trace records for recovery thread and its queues This patch writes trace records which provide information about the operation of the zfcp error recovery thread and the queues it works on. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d79a83dbffe2e49e73f2903c350937faf2e0c2f1 Author: Martin Peschke Date: Thu Mar 27 14:22:00 2008 +0100 [SCSI] zfcp: Register new recovery trace. This patch registers the new recovery trace with the s390 debug feature. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 10223c60daf226ee2248b772892abc83cd875aa7 Author: Martin Peschke Date: Thu Mar 27 14:21:59 2008 +0100 [SCSI] zfcp: Introduce printf helper functions for debug trace. Introducing helper functions that allow for code simpfifications. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b75db73159ccffaf60a67896fdfed3856b1f65e3 Author: Martin Peschke Date: Thu Mar 27 14:21:58 2008 +0100 [SCSI] zfcp: Add qtcb dump to hba debug trace This patch adds per request hardware debugging data to the trace record which is written per request. It's a replacement for some sad kernel message based debugging code. Considering the amount of trace data, printk() is not suitable for this stuff. Writing binary traces is more efficient. In addition we got all information in one place. The QTCB trace data is only dumped for requests other than SCSI requests. Otherwise we would flood the trace ring buffer. We are mostly interested in non-SCSI, recovery related requests here anyway. This patch also works around a known hardware bug. It truncates QTCB traces so that we do not save unused areas of the hardware trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 07c70d26b556b342e7ad285963974808efba3104 Author: Martin Peschke Date: Thu Mar 27 14:21:57 2008 +0100 [SCSI] zfcp: Remove qtcb dump to kernel log Is not appropriate to printk() tons of hardware trace data. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0f65e951ee0c4a7506c6c0489b59a6fb1d2f0e75 Author: Martin Peschke Date: Thu Mar 27 14:21:56 2008 +0100 [SCSI] zfcp: Clean up _zfcp_san_dbf_event_common_els Clean up _zfcp_san_dbf_event_common_els using zfcp_dbf_hexdump() helper. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c15450e33d198334291d50b5a95337c6b90cdab0 Author: Martin Peschke Date: Thu Mar 27 14:21:55 2008 +0100 [SCSI] zfcp: Introduce a helper function that dumps hex data to a zfcp trace. Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d5cdc9898b5589acc77db91a1e9c0feb9f32abef Author: FUJITA Tomonori Date: Tue Mar 25 17:04:46 2008 +0900 [SCSI] scsi_debug: fix lba and data length calculation bugs For example, `modprobe scsi_debug virtual_gb=1100` gives: scsi7 : scsi_debug, version 1.81 [20070104], dev_size_mb=8, opts=0x0 scsi 7:0:0:0: Direct-Access Linux scsi_debug 0004 PQ: 0 ANSI: 5 sd 7:0:0:0: [sdc] 2306867200 512-byte hardware sectors (1181116 MB) sd 7:0:0:0: [sdc] Write Protect is off sd 7:0:0:0: [sdc] Mode Sense: 73 00 10 08 sd 7:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA sd 7:0:0:0: [sdc] 2306867200 512-byte hardware sectors (1181116 MB) sd 7:0:0:0: [sdc] Write Protect is off sd 7:0:0:0: [sdc] Mode Sense: 73 00 10 08 sd 7:0:0:0: [sdc] Write cache: enabled, read cache: enabled, supports DPO and FUA sdc: unknown partition table sd 7:0:0:0: [sdc] Attached SCSI disk sd 7:0:0:0: Attached scsi generic sg6 type 0 end_request: I/O error, dev sdc, sector 2306867072 Buffer I/O error on device sdc, logical block 288358384 end_request: I/O error, dev sdc, sector 2306867072 Buffer I/O error on device sdc, logical block 288358384 end_request: I/O error, dev sdc, sector 2306867192 (snip) Note that this converts all the calculations (including the correct calculations) for unification. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit b8e3d3aeabe3be471e448ff5e51b6e57b5819913 Author: James Bottomley Date: Sun Mar 30 11:38:07 2008 -0500 [SCSI] mpt fusion: fix up msi_enable in mpt_suspend There's a problem with the combination of the upstream power management fixes and the enabling of MSI by default in that the suspend path still uses the global variable. Convert it to check ioc->msi_enable. Cc: "Moore, Eric" Cc: "Prakash, Sathya" Signed-off-by: James Bottomley commit 53df8ba801b835ebbd116b4585adfe7ce4efd2b3 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:53 2008 +0900 [SCSI] ps3rom: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Acked-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 11002fbcb472cf1176d97eac214df98f7c17f69c Author: FUJITA Tomonori Date: Tue Mar 25 09:26:52 2008 +0900 [SCSI] stex: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 526917641aa50eb852591cc3953a92374bedc836 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:51 2008 +0900 [SCSI] libata: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: James Bottomley commit a34c4e98367965402134f2e66c3cdc4416f109e4 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:50 2008 +0900 [SCSI] scsi_debug: use scsi_build_sense_buffer Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Signed-off-by: James Bottomley commit 3bc6a26192d2548397a3e721d786cf8345ee54e1 Author: FUJITA Tomonori Date: Tue Mar 25 09:26:49 2008 +0900 [SCSI] add scsi_build_sense_buffer helper function This adds scsi_build_sense_buffer, a simple helper function to build sense data in a buffer. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit be3cb3d84bb8dffecb7c5570355866075caa7e95 Author: Thomas Bogendoerfer Date: Fri Mar 21 22:25:43 2008 +0100 [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode SGI machines with WD33C93 allow usage of burst mode DMA, which increases performance noticable. To make this selectable by the sgiwd93 stub, setting the values for no_sync, fast and dma_mode has been moved to the individual platform stubs. Signed-off-by: Thomas Bogendoerfer Acked-by: Ralf Baechle Signed-off-by: James Bottomley commit 7748369f49d428e558c519ed344d3005d38347b7 Author: Michael Reed Date: Thu Mar 20 17:32:05 2008 -0500 [SCSI] mptsas: do not use ioc->handle to locate hba portinfo structure While performing hardware raid reset testing via the raid's client, I noticed that sometimes, following the reset, that there would be more raid targets in the lsscsi output than there actually were raid targets. I tracked this down to the following issue. Fusion cannot always find the mptsas_portinfo structure for the hba because it uses the handle stored in ioc->handle to locate it. The problem is that the firmware can change the handle associated with the hba when h/w raid is reset (via the raid client). When this happens, the driver will allocate another mptsas_portinfo structure and link it into the chain of said structures. This ultimately causes confusion within the driver resulting in targets not being removed when they should be. Eric Moore pointed out that the hba's portinfo structure is always the first structure on the sas_topology list. This patch modifies mptsas.c to access the hba's portinfo structure by taking the first structure on said list. Signed-off-by: Michael Reed Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 9d56291366cd6ab156be722e42cf487bef20f5fd Author: David C Somayajulu Date: Wed Mar 19 11:23:03 2008 -0700 [SCSI] qla4xxx: fix scsi command completion, lun reset and target reset code This patch contains the following: 1. when hba completion status is good, check for iscsi transport errors (underflow/overflow) prior to checking the scsi status 2. New firmware requires that one marker iocb be issued for each task management command. The patch issues marker iocb immediately following a LUN or Target reset. Signed-off-by: David C Somayajulu Signed-off-by: James Bottomley commit af7a5647c03c18f5ea58033710ccb23d71727e0c Author: bo yang Date: Mon Mar 17 04:13:07 2008 -0400 [SCSI] megaraid_sas: Add the new controller(1078DE) support to the driver Add the new Controller (ID: 007C) support to driver. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit d532dbe2cb71586ab520dbef732d1af54a689313 Author: bo yang Date: Mon Mar 17 03:36:43 2008 -0400 [SCSI] megaraid_sas: Fix the frame count calculation When Driver sent wrong frame count to firmware. As this particular command is sent to drive, FW is seeing continuous chip resets and so the command will timeout. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit b70a41e077b3405d4b41d34db31b39c05bf142b5 Author: bo yang Date: Tue Mar 18 03:13:06 2008 -0400 [SCSI] megaraid_sas: rollback the sense info implementation Sense buffer ptr data type in the ioctl path is reverted back to u32 * as in previous versions of driver. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit ccde6b8d6217834def292030a1864d517f55ded5 Author: Denis Cheng Date: Tue Mar 4 15:24:23 2008 -0800 [SCSI] 3w-9xxx, 3w-xxxx: memset not needed in probe The memory return from scsi_host_alloc is alloced by kzalloc, which is already zero initilized, so memset not needed. Signed-off-by: Denis Cheng Cc: Adam Radford Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0b6c4b14cfb2fd89064d29bdead62f9ed8631399 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Jan 28 14:09:54 2008 +0100 [SCSI] aic7xxx: Test opcode, not definition in aicasm:type_check() This fixes a bug that we treat all sequencer operations as ands and never do the additional invalid bit checks non-and operations require because the if () to determine this has an operand which is always true at the end of the or statement. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit 639db475c8bb77f915f79f567ee98ac673d6edf3 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:19 2008 +0900 [SCSI] scsi_debug: remove unnecessary function declarations This patch removes lots of function declarations with moving scsi_debug_queuecommand. This cleans up scsi_debug_queuecommand a bit to silence checkpatch.pl Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 8b40228f3f5b1fa926c116ec444476d32bc470f6 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:18 2008 +0900 [SCSI] scsi_debug: use list_for_each_entry_safe This replaces list_for_each_safe and list_entry with list_for_each_entry_safe. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit a75869d1ff73de74249373c2a1d80fbbc3b6c8fc Author: FUJITA Tomonori Date: Thu Mar 20 11:09:17 2008 +0900 [SCSI] scsi_debug: remove unnecessary condition test in devInfoReg open_devip is always non NULL. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 5cb2fc06107fe343a9488b32ddf3d9b4596b7090 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:16 2008 +0900 [SCSI] scsi_debug: create new scsi_debug devices at a single place Two functions, sdebug_add_adapter and devInfoReg, creates new scsi_debug devices. To simplify the code, this patch adds a new helper function to create new scsi_debug devices (sdebug_device_create) and converts both functions to use it. I plan to add more to scsi_debug devices (e.g. using a thread for a scsi_debug device for scalability testings). This patch enable me to add such to just the new helper function instead of touching two functions, sdebug_add_adapter and devInfoReg. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit f3df41cff40992499d3c693251622299e4ce18c3 Author: FUJITA Tomonori Date: Thu Mar 20 11:09:15 2008 +0900 [SCSI] scsi_debug: remove temporary hack around sscanf for negative values sscanf can handle negative values. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 1c353f7d616a4ef04b5e73fe7a2184baa039f06f Author: James Bottomley Date: Thu Mar 13 11:19:36 2008 -0500 [SCSI] export command allocation and freeing functions independently of the host This is needed by things like USB storage that want to set up static commands for later use at start of day. Signed-off-by: James Bottomley commit e507e30b803fb56d768ed9a597e7609b74d2db21 Author: James Bottomley Date: Thu Mar 13 11:16:33 2008 -0500 [SCSI] consolidate command allocation in a single place Since the way we allocate commands with a separate sense buffer is getting complicated, we should isolate setup and teardown to a single routine so that if it gets even more complex, there's only one place in the code that needs to be altered. Signed-off-by: James Bottomley commit 035f5e06515a66827015202685e457a5534441b7 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:37 2008 +0900 [SCSI] 3w-9xxx: use sg buffer copy helper functions Signed-off-by: FUJITA Tomonori Cc: Adam Radford Signed-off-by: James Bottomley commit e943752ecf0ce41cdf949d565140d91c7711dfd9 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:36 2008 +0900 [SCSI] 3w-xxxx: use sg buffer copy helper functions This rewrites tw_transfer_internal with scsi_sg_copy_from/to_buffer. Signed-off-by: FUJITA Tomonori Cc: Adam Radford Signed-off-by: James Bottomley commit 31fe47d4374eb29d914333aa26bcb7ca9f1545f3 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:35 2008 +0900 [SCSI] stex: use sg buffer copy helper functions This replaces stex_internal_copy with scsi_sg_copy_to/from_buffer. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d4345028d4c20407c313061b1bd49ba1aee81f94 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:34 2008 +0900 [SCSI] aacraid: use sg buffer copy helper functions This replaces aac_internal_transfer with scsi_sg_copy_to/from_buffer. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 6690bae7e0279451ee92580bf1c5d39a76e3687e Author: FUJITA Tomonori Date: Sun Mar 9 13:44:33 2008 +0900 [SCSI] ips: use sg buffer copy helper funcitons This rewrites ips_scmd_buf_write/read with scsi_sg_copy_from/to_buffer respectively. Signed-off-by: FUJITA Tomonori Acked-by: Salyzyn, Mark Signed-off-by: James Bottomley commit 1a7a2e1a77f29179f997ca5e873c50ae2fb7fcc1 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:32 2008 +0900 [SCSI] simscsi: use sg buffer copy helper funcitons This replaces simscsi_fillresult with scsi_sg_copy_from_buffer. Signed-off-by: FUJITA Tomonori Cc: Tony Luck Signed-off-by: James Bottomley commit 944cf8b4cba42fcb284a29e4817831471adb4fad Author: FUJITA Tomonori Date: Sun Mar 9 13:44:31 2008 +0900 [SCSI] ps3rom: use sg buffer copy helper funcitons Note that if scsi_bufflen(cmd) is not zero, the command always has an sg list. So this patch doesn't do the error checking in fill_from_dev_buffer and fetch_to_dev_buffer did. Signed-off-by: FUJITA Tomonori Looks-OK-to: Geert Uytterhoeven Signed-off-by: James Bottomley commit 21a6182924d531b41cb8c24e0344213f4c90c335 Author: FUJITA Tomonori Date: Sun Mar 9 13:44:30 2008 +0900 [SCSI] scsi_debug: use sg buffer copy helper functions Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Signed-off-by: James Bottomley commit 9ac16b616ab117dab3fce9790368d3b58ca441ef Author: FUJITA Tomonori Date: Sun Mar 9 13:44:29 2008 +0900 [SCSI] scsi: add wrapper functions for sg buffer copy helper functions LLDs need to copies data between the SG table in struct scsi_cmnd and liner buffer. So they use the helper functions like sg_copy_from_buffer(scsi_sglist(sc), scsi_sg_count(sc), buf, buflen) sg_copy_to_buffer(scsi_sglist(sc), scsi_sg_count(sc), buf, buflen) This patch just adds wrapper functions: scsi_sg_copy_from_buffer(sc, buf, buflen) scsi_sg_copy_to_buffer(sc, buf, buflen) Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b1adaf65ba0398c9a1adc8f3a274533165a4df61 Author: FUJITA Tomonori Date: Tue Mar 18 00:15:03 2008 +0900 [SCSI] block: add sg buffer copy helper functions This patch adds new three helper functions to copy data between an SG list and a linear buffer. - sg_copy_from_buffer copies data from linear buffer to an SG list - sg_copy_to_buffer copies data from an SG list to a linear buffer When the APIs copy data from a linear buffer to an SG list, flush_kernel_dcache_page is called. It's not necessary for everyone but it's a no-op on most architectures and in general the API is not used in performance critical path. Signed-off-by: FUJITA Tomonori Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 78b4b05db57b04b3ed17dc71259bf1402c04abfa Author: Matthew Wilcox Date: Thu Mar 13 06:55:08 2008 -0600 [SCSI] BusLogic: make FlashPoint support x86-32 only We've verified that there are 64 bit and endianness problems in the flashpoint driver. Reverse the logic of CONFIG_OMIT_FLASHPOINT (make it CONFIG_SCSI_FLASHPOINT) and make it depend on X86_32 so it can't appear for any other architectures. Long term, if someone chooses, they could make FlashPoint 64 bit compliant (it looks like its a question of fixing up the sizes in some of the packed descriptors) Signed-off-by: James Bottomley commit 5c815d1501a9ce84578cb3ec64c9d31ef91e3de2 Author: Christof Schmitt Date: Mon Mar 10 16:18:54 2008 +0100 [SCSI] zfcp: Fix handling for boxed port after physical close When a FSF physical close returns the status boxed, this means that another system already closed the port. For our system this is the same status as in the good path, we have to send the normal close. So, set the status for the boxed response to the same as for the good status. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 2505873afe510d8db05665684c056ac8f0b24563 Author: FUJITA Tomonori Date: Sun Mar 9 22:50:40 2008 +0900 [SCSI] aic79xx: fix IOMMU mapping failure handling Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 647b24256241e144fe8369244da1730b577211e9 Author: FUJITA Tomonori Date: Sun Mar 9 22:50:41 2008 +0900 [SCSI] aic7xxx: fix IOMMU mapping failure handling Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit ed5f606fef22e515331aab4c1f927775cf4af70e Author: Matthias Kaehlcke Date: Sun Mar 9 12:16:27 2008 +0100 [SCSI] mpt fusion: convert inactive_list_mutex to a mutex the semaphore inactive_list_mutex is used as a mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51 Author: Prakash, Sathya Date: Fri Mar 7 15:53:21 2008 +0530 [SCSI] mpt fusion: Enable MSI by default for SAS controllers This patch modifies the driver to enable MSI by default for all SAS chips. Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 74b2e047ecda7a82c3327a0d0bb45ee2ccf301ca Author: Christof Schmitt Date: Mon Mar 3 12:19:28 2008 +0100 [SCSI] zfcp: convert zfcp to use target reset and device reset handler [based on proposal from Mike Christie , this patch adds some simplifications to the handler functions] With the new target reset handler callback in the SCSI midlayer, the device reset handler in zfcp can be split in two parts. Now, zfcp does not have to track anymore whether the device supports LUN resets, so remove this flag and let the SCSI midlayer decide what to do. The device reset handler simply issues a LUN reset and the target reset handler a target reset. Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ce5450392fa3ab54f0a84aa3b7589f8d6f2a58af Author: Mike Christie Date: Fri Feb 29 18:25:20 2008 -0600 [SCSI] qla4xxx: Add target reset functionality This patch adds target reset functionalty. Signed-off-by: Mike Christie Acked-by: David Somayajulu Signed-off-by: James Bottomley commit 30bd7df8ced23eefec87a5cda96dc99b002ed9da Author: Mike Christie Date: Fri Feb 29 18:25:19 2008 -0600 [SCSI] scsi_error: add target reset handler The problem is that serveral drivers are sending a target reset from the device reset handler, and if we have multiple devices a target reset gets sent for each device when only one would be sufficient. And if we do a target reset it affects all the commands on the target so the device reset handler code only cleaning up one devices's commands makes programming the driver a little more difficult than it should be. This patch adds a target reset handler, which drivers can use to send a target reset. If successful it cleans up the commands for a devices accessed through that starget. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f7441a791aeaeac2e1f1f71b485d1372016f9285 Author: Geert Uytterhoeven Date: Mon Feb 25 14:24:31 2008 +0100 [SCSI] ps3rom: Simplify fill_from_dev_buffer() As we no longer need to calculate the data length of the whole scatterlist, we can abort the loop earlier and coalesce req_len and act_len into one variable, making fill_from_dev_buffer() more similar to fetch_to_dev_buffer(). Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit d1e4c9c57c2ed4722795443db22a5d813cd4f0e5 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:18 2008 +0900 [SCSI] scsi_debug: use shost_priv macro Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 96ad0dfe8388428acc10c1bd96573f893fc79439 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:17 2008 +0900 [SCSI] scsi_debug: remove unnecessary checking Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9e603ca06a538ba6eae29f9785aa47bc53920a15 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:16 2008 +0900 [SCSI] scsi_debug: remove scsi_debug.h scsi_debug.h just incldues some function declarations. This patch removes it with moving the scsi_host_template. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9ff26eefd4f19051ce13bbba6847871626680e91 Author: FUJITA Tomonori Date: Sun Mar 2 18:30:15 2008 +0900 [SCSI] scsi_debug: stop including drivers/scsi/scsi.h This converts scsi_debug to include header files in include/scsi/ instead of drivers/scsi/scsi.h. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 9924a781f3e746ba5aa54cf96ca462b8d0915221 Author: Andi Kleen Date: Mon Feb 25 00:35:21 2008 +0100 [SCSI] Remove random noop unchecked_isa_dma users Lots of drivers set it to 0. Remove that. Patch should be a nop. Signed-off-by: Andi Kleen Signed-off-by: James Bottomley commit b271f1c881ff301ba1fbb52698d4f2b91858f421 Author: FUJITA Tomonori Date: Sun Feb 24 15:25:23 2008 -0800 [SCSI] aacraid: READ_CAPACITY_16 shouldn't trust allocation length in cdb When aacraid spoofs READ_CAPACITY_16, it assumes that the data length in the sg list is equal to allocation length in cdb. But sg can put any value in scb so the driver needs to check both the data length in the sg list and allocation length in cdb. If allocation length is larger than the response length that the driver expects, it clears the data buffer in the sg list to zero but it doesn't need to do. Just setting resid is fine. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit b174be02f3634460ac215d249617dee5ae446ae1 Author: Kai Makisara Date: Sun Feb 24 22:29:12 2008 +0200 [SCSI] st: show options currently set in sysfs Show the current binary tape driver and mode options is sysfs. A file (options) is created in each directory in /sys/class/scsi_tape. The files contain masks showing the options. The mask bit definitions are the same as used when setting the options using the MTSETDRVBUFFER function in the MTIOCTOP ioctl (defined in include/linux/mtio.h). For example: > cat /sys/class/scsi_tape/nst0/options 0x00000d07 [jejb: updated doc with correction from Randy Dunlap] Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 40f6b36c6243462fb95d0343237331c423494b03 Author: Kai Makisara Date: Sun Feb 24 22:23:24 2008 +0200 [SCSI] st: add option to use SILI in variable block reads Add new option MT_ST_SILI to enable setting the SILI bit in reads in variable block mode. If SILI is set, reading a block shorter than the byte count does not result in CHECK CONDITION. The length of the block is determined using the residual count from the HBA. Avoiding the REQUEST SENSE command for every block speeds up some real applications considerably. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit d35055a0f2637f29f95001a67b464fe833b09ebc Author: Boaz Harrosh Date: Wed Feb 27 15:31:20 2008 -0800 [SCSI] gdth: remove command accessors These are no longer necessary. Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain: Tested-by: Stefan Priebe Tested-by: Jon Chelton Signed-off-by: James Bottomley commit 68066c3ed14b529331bc2ff12470e9ca1cae5c3f Author: Darrick J. Wong Date: Tue Feb 19 10:50:49 2008 -0800 [SCSI] aic94xx: Use sas_request_addr() to provide SAS WWN if the adapter lacks one If the aic94xx chip doesn't have a SAS address in the chip's flash memory, make libsas get one for us. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 45e6cdf41437c72ed79cee64dc69e7f740511e50 Author: Darrick J. Wong Date: Tue Feb 19 10:49:40 2008 -0800 [SCSI] libsas: Provide a transport-level facility to request SAS addrs Provide a facility to use the request_firmware() interface to get a SAS address from userspace. This can be used by SAS LLDDs that cannot obtain the address from the host adapter. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 7e23ea488488400127a2da19c0d89f1723117504 Author: FUJITA Tomonori Date: Tue Feb 19 18:41:30 2008 +0900 [SCSI] ips: sg chaining support to the path to non I/O commands I overlooked ips_scmd_buf_write and ips_scmd_buf_read when I converted ips to use the data buffer accessors. ips is unlikely to use sg chaining (especially in this path) since a) this path is used only for non I/O commands (with little data transfer), b) ips's sg_tablesize is set to just 17. Thanks to Tim Pepper for testing this patch. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit cff2680643f9288a1cd4e27c241e1da51f476d66 Author: Jeff Garzik Date: Fri Feb 15 22:20:09 2008 -0500 [SCSI] gdth: convert to PCI hotplug API - remove PCI device sort, which greatly simplifies PCI probe, permitting direct, per-HBA function calls rather than an indirect route to the same end result. - remove need for pcistr[] Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 4c9c8d782c8dddc5e97d33210e8a993cec6bc168 Author: Jeff Garzik Date: Fri Feb 15 21:35:26 2008 -0500 [SCSI] gdth: PCI probe cleanups, prep for PCI hotplug API conversion - Reduce uses of gdth_pci_str::pdev, preferring a local variable (or function arg) 'pdev' instead. - Reduce uses of gdth_pcistr array, preferring local variable (or function arg) 'pcistr' instead. - Eliminate lone use of gdth_pci_str::irq, using equivalent pdev->irq instead - Eliminate assign-only gdth_pci_str::io_mm Note: If the indentation seems weird, that's because a line was converted from spaces to tabs, when it was modified. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 7132799b0e49c48cf119dbe02d20810860d20991 Author: Valentine Barshak Date: Thu Apr 3 23:09:43 2008 +0400 [POWERPC] kexec: MPIC ack interrupts at mpic_teardown_this_cpu() We really need to ack interrupts at mpic_teardown, since not all platforms reset mpic at kernel start-up. For example, kexec'ed kernel hangs on P.A. Semi if mpic_eoi() isn't called. Signed-off-by: Valentine Barshak Signed-off-by: Olof Johansson commit f724bf77813d73318bf97dab9626156a0a87c7fc Author: Olof Johansson Date: Fri Apr 4 13:06:33 2008 -0500 [POWERPC] pasemi: Minor iommu cleanup Clean up the pwrficient iommu code a bit. It was using u32 *-based offsets for registers, which can be a bit confusing when comparing to the manual. Generated binaries from the code is unchanged from before. Signed-off-by: Olof Johansson commit 6e62040c5533a385b90fcb2e33235ad7d351d3e0 Author: Nate Case Date: Fri Mar 21 17:02:42 2008 -0500 pasemi_mac: Netpoll support Add netpoll support to allow use of netconsole. Signed-off-by: Nate Case Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 1724ac2ef1caf5b4f764d4b86a85d552a7d7c8fb Author: Olof Johansson Date: Tue Mar 25 09:58:40 2008 -0500 pasemi_mac: Jumbo frame bugfixes Fix a couple of corner cases around interface up/down when jumbo frames are configured. Resources weren't always freed and reallocated properly. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit a8f75ea70c58546205fb7673be41455b9da5d9a7 Author: Stephen Rothwell Date: Thu Mar 27 16:36:08 2008 +1100 [POWERPC] Remove CONFIG_PCI_LEGACY from some configs This will remove some build warnings and doesn't stop us building any drivers that we were building previously with these configs. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ae86f0088de389baa448a42d040ab58d5c759bef Author: Stephen Rothwell Date: Thu Mar 27 16:08:57 2008 +1100 [POWERPC] htab_remove_mapping is only used by MEMORY_HOTPLUG This eliminates a warning in builds that don't define CONFIG_MEMORY_HOTPLUG. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c6d4d5a8a83e4a564bcf233fdd565183c33df5d1 Author: Nathan Lynch Date: Fri Mar 14 06:52:10 2008 +1100 [POWERPC] Convert pci and eeh code to of_device_is_available A couple of places are duplicating the function of of_device_is_available; convert them to use it. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 834d97d452208279edf11c57eca150360d2dd1d6 Author: Josh Boyer Date: Thu Mar 27 00:33:14 2008 +1100 [POWERPC] Add of_device_is_available function IEEE 1275 defined a standard "status" property to indicate the operational status of a device. The property has four possible values: okay, disabled, fail, fail-xxx. The absence of this property means the operational status of the device is unknown or okay. This adds a function called of_device_is_available that checks the state of the status property of a device. If the property is absent or set to either "okay" or "ok", it returns 1. Otherwise it returns 0. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 6ccf61f94fbac3e8715f2f938b27cdb3836c1f8c Author: Timur Tabi Date: Wed Mar 26 08:35:32 2008 +1100 [POWERPC] Enable CONFIG_FORCE_MAX_ZONEORDER for all PowerPC, and make selectable This enables the FORCE_MAX_ZONEORDER Kconfig option for all PowerPC systems. Previously, it was enabled only for 64-bit systems. We also make the option selectable from the menu, so that the user can specify different values. This is useful for 32-bit systems that need to allocate more than 4MB of physically contiguous memory. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit c5d5d94aa54ba1f7691b79336b18804d4b0adf48 Author: Robert P. J. Day Date: Sun Mar 16 04:27:07 2008 +1100 [POWERPC] Use __SPIN_LOCK_UNLOCKED macro in mpc52xx_set_psc_clkdiv __SPIN_LOCK_UNLOCKED is newer and is not deprecated. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 221ac329e93fe2a676346af2e98e311251648f69 Author: Ionut Nicu Date: Thu Mar 6 03:12:54 2008 +1100 [POWERPC] Fix kernel panic in arch_arm_kprobe The code in arch_arm_kprobe was trying to set a breakpoint which resulted in a page fault because the kernel text pages were write protected. Disable the write protect when CONFIG_KPROBES is defined. Signed-off-by: Ionut Nicu Signed-off-by: Paul Mackerras commit 0119536cd314ef95553604208c25bc35581f7f0a Author: Steven Rostedt Date: Sat Mar 1 03:04:57 2008 +1100 [POWERPC] Add hand-coded assembly strcmp We have an assembly version of strncmp for the bootwrapper, but not for the kernel, so we end up using the C version in the kernel. This takes the strncmp code from the bootup and copies it to the kernel proper, adding two instructions so it copes correctly with len==0. Signed-off-by: Steven Rostedt Signed-off-by: Paul Mackerras commit 4df4441e418c809f263939b9f371b67aca28a280 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Jan 28 21:06:55 2008 +1100 [POWERPC] Replace logical-AND by bit-AND in pci_process_ISA_OF_ranges() Replace logical "&&" by bit "&" for ISA_SPACE_MASK. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mackerras commit 16a45bc82e61891daec1ffcd057679bdf962aeb8 Author: Stelian Pop Date: Sat Apr 5 22:25:47 2008 +0200 atmel_usba_udc: Add support for AT91CAP9 UDPHS This patch is part of the series adding support for the USB High Speed Device Port on the AT91CAP9 system on chip. The AT91CAP9 uses the same UDPHS IP as the AVR32 and the AT91SAM9RL. The only differences between the AVR32 and the AT91 version of the device are in the enable/disable and suspend/wakeup sequences: the AT91 version needs to toggle the USB bias and pulldown explicitly. Signed-off-by: Stelian Pop Acked-by: Andrew Victor Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 5275653fa12b30cea6e309cc03e518bfd00073a5 Author: Stelian Pop Date: Thu Apr 3 14:51:41 2008 +0200 atmel_usba_udc: Add missing kfree() in usba_udc_remove() Signed-off-by: Stelian Pop Signed-off-by: Haavard Skinnemoen commit 8d855317fcf7fd9bd900d1e5ef1bea1b14bbe6af Author: Stelian Pop Date: Wed Mar 5 00:00:00 2008 +0100 atmel_usba_udc: move endpoint declarations into platform data. The atmel_usba_udc driver is being used by several platforms and arches (avr32 and at91 ATM), and each platform may have different endpoint settings. The patch below moves the endpoint declarations into the platform data and make the necessary adjustments for AVR32 (improved by Haavard Skinnemoen ). Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 8d12c32c19a2719f6a96a23e94d95699c47e55d0 Author: Stelian Pop Date: Wed Mar 5 22:20:36 2008 +0100 atmel_usba_udc: Kill GPIO_PIN_NONE GPIO_PIN_NONE should no longer be used. Replace it with a simple test against negative values. This is a transitional patch, waiting for gpio_is_valid() to be merged at which point the tests should be revisited. Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7a242471af4d15c2637025f0acd352c0a92a4cc4 Author: Stelian Pop Date: Wed Mar 5 22:59:15 2008 +0100 atmel_usba_udc: Fix endpoint names. The endpoints of the atmel_usba_udc driver do not have directional (in/out) or usage (ctrl/bulk/iso) restrictions, as their names incorrectly implied. Signed-off-by: Stelian Pop Acked-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 5d4c2707cf605fbf205b6d0a3c63d07204295f22 Author: Haavard Skinnemoen Date: Tue Mar 4 15:48:37 2008 +0100 atmel_usba: Kill copy_to_fifo() and copy_from_fifo() These functions do exactly the same as memcpy_toio() and memcpy_fromio() respectively. Signed-off-by: Haavard Skinnemoen Acked-by: David Brownell commit a07e387ae3a830106d0463ec254657f297b97ea0 Author: Josh Boyer Date: Sat Apr 5 18:02:31 2008 -0500 [POWERPC] 4xx: Add Canyonlands and Yosemite to multi-board defconfig Include the newly added Canyonlands and Yosemite ports in the mutli-board 440 defconfig. Signed-off-by: Josh Boyer commit d0c8df6e4525ebd38a7643ba3dbfe3989dddf781 Author: Valentine Barshak Date: Sat Apr 5 05:24:37 2008 +1100 [POWERPC] 4xx: Use machine_device_initcall() for warp_nand With a multiplatform kernel, once built we always have warp_setup_nand_flash() called and NDFC probed, no matter what machine we actually run on. This potentially can cause problems (such as kernel crash), since NDFC is probed at a warp-predefined address. Using machine_device_initcall() NAND devices are registered if we run on a warp only. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 9d7030be336ca64f9cd46707358e07c0dbd5e133 Author: Stefan Roese Date: Fri Apr 4 01:38:11 2008 +1100 [POWERPC] 4xx: Change dts files to support jumbo frames This patch changes the "max-frame-size" property to 9000 for all gbit enabled 4xx boards. All those ports generally support jumbo frames, so let's give the user a chance to enable it. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit a6190a84ab1163f750fcd1511bd96f7803724cd3 Author: Stefan Roese Date: Fri Apr 4 00:35:06 2008 +1100 [POWERPC] 4xx: Some EMAC related changes in Canyonlands & Glacier dts files This patch fixes some problems in the Canyonlands 460EX and Glacier 460GT dts files: - Add "mdio-device = <&EMAC0>" to all all EMAC's except for EMAC0 itself (the 460EX/GT only can access the PHY via the EMAC0 instance) - Add TAH support to Canyonlands dts Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 549e028d012fab01e5726943d4afecd0c33d64e6 Author: YOSHIFUJI Hideaki Date: Sat Apr 5 22:17:39 2008 +0900 [IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail. This bug resulted in compilation error on 64bit machines. Pointed out by Rami Rosen . Signed-off-by: YOSHIFUJI Hideaki commit 12802d058a003048104fe405a8d283b94ac50801 Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:56 2008 +0900 [IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h. Signed-off-by: YOSHIFUJI Hideaki commit 14fb64e1f449ef6666f1c3a3fa4e13aec669b98d Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:54 2008 +0900 [IPV6] MROUTE: Support PIM-SM (SSM). Based on ancient patch by Mickael Hoerdt , which is available at . Signed-off-by: YOSHIFUJI Hideaki commit 7bc570c8b4f75ddb3fd5dbeb38127cdc4acbcc9c Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:53 2008 +0900 [IPV6] MROUTE: Support multicast forwarding. Based on ancient patch by Mickael Hoerdt , which is available at . Signed-off-by: YOSHIFUJI Hideaki commit 932e2d23c8529c39fe74549dcbe4b2c8b2d66ba4 Author: Steve French Date: Fri Apr 4 21:59:35 2008 +0000 [CIFS] minor update to change log Signed-off-by: Steve French commit 76d057ce5a48034c97f604a0a25a87093e072c71 Author: Oliver Neukum Date: Fri Apr 4 15:31:47 2008 -0400 Input: usbtouchscreen - don't use DMA on stack DMA on the stack is not allowed. The buffer must be kmalloced. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit f0fab8e04dfe79376b410b48c817f5fe921b345b Merge: 5550fba... 6eae9b0... Author: Dmitry Torokhov Date: Fri Apr 4 15:31:23 2008 -0400 Merge branch 'xbox' commit a6c75b86ce9f01db4ea9912877b526c2dc4d2f0a Author: Fenghua Yu Date: Fri Mar 14 13:57:08 2008 -0700 [IA64] Kernel parameter for max number of concurrent global TLB purges The patch defines kernel parameter "nptcg=". The parameter overrides max number of concurrent global TLB purges which is reported from either PAL_VM_SUMMARY or SAL PALO. Signed-off-by: Fenghua Yu Signed-off-by: Tony Luck commit 2046b94e7c4fce92eb8165c2c36c6478f4927178 Author: Fenghua Yu Date: Fri Apr 4 11:05:59 2008 -0700 [IA64] Multiple outstanding ptc.g instruction support According to SDM2.2, Itanium supports multiple outstanding ptc.g instructions. But current kernel function ia64_global_tlb_purge() uses a spinlock to serialize ptc.g instructions issued by multiple processors. This serialization might have scalability issue on a big SMP machine where many processors could purge TLB in parallel. The patch fixes this problem by issuing multiple ptc.g instructions in ia64_global_tlb_purge(). It also adds support for the "PALO" table to get a platform view of the max number of outstanding ptc.g instructions (which may be different from the processor view found from PAL_VM_SUMMARY). PALO specification can be found at: http://www.dig64.org/home/DIG64_PALO_R1_0.pdf spinaphore implementation by Matthew Wilcox. Signed-off-by: Fenghua Yu Signed-off-by: Tony Luck commit bee036b503214dd65f62af6599d2bebdf156467c Author: Lennert Buytenhek Date: Tue Apr 1 16:21:49 2008 +0100 [ARM] 4886/1: Orion: grab ts209 ethernet MAC address from flash The bootloader on ts209 Orion boards doesn't configure the right ethernet MAC address into the GigE unit on boot. The only way to get the MAC address is by parsing it from the 'NAS Config' flash partition, which is an ext2 partition that contains a file which holds the MAC address in plain text (format "xx:xx:xx:xx:xx:xx\n") -- this patch does that. Tested-by: Martin Michlmayr Cc: Byron Bradley Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5b7659d190fff2d69faec07314a51ba708f1f1ce Author: Andrew Victor Date: Wed Apr 2 22:20:45 2008 +0100 [ARM] 4911/1: [AT91] LEDs on SAM9260-EK and SAM9261-EK boards Add support for the GPIO-driven LEDs (using NEW_LEDS) on the Atmel SAM9260-EK and SAM9261-EK boards. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 5e9df924dd51beaf007ffba42b5deb47e1c6249b Author: Andrew Victor Date: Wed Apr 2 22:18:35 2008 +0100 [ARM] 4910/1: [AT91] AT73C213 audio on SAM9260-EK and SAM9261-EK boards Add support for AT73C213 audio DAC on the Atmel SAM9260-EK and SAM9261-EK boards. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e5f40bfaf309ec4cc27b717d48fb0824313e5ef8 Author: Andrew Victor Date: Wed Apr 2 21:58:00 2008 +0100 [ARM] 4909/1: [AT91] Timer/Counter Block platform_devices Register platform_devices for the Timer/Counter Block peripherals found on the AT91RM9200, SAM9 & CAP9 processors. Original patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 4fd9212cb9bad88ec7c8bf5313f53331905f957a Author: Andrew Victor Date: Wed Apr 2 21:55:19 2008 +0100 [ARM] 4908/1: [AT91] RTT platform_device fix The RTT-as-RTC driver will search for the user-specified RTT peripheral via ID number (0 .. 1). Therefore if the processor only contains a single RTT peripheral, we need to set its platform_device.id to "0" instead of "-1". Also add the missing platform_device resource for the CAP9 processor. Bug reported by Sedji Gaouaou. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 565ac44593d17bdfc9f595614b56bb335a9b8d6f Author: Andrew Victor Date: Wed Apr 2 21:52:19 2008 +0100 [ARM] 4907/1: [AT91] SAM9/CAP9 reset reason The Reset controller on the SAM9/CAP9 processors will store the reason for the last system reset. On startup, display this information (wakeup signal, RTT alarm, watchdog reset, user reset, etc) Based on patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f5d0f4574fe1584891b5167fb0ba42974af13e49 Author: Andrew Victor Date: Wed Apr 2 21:50:16 2008 +0100 [ARM] 4906/1: [AT91] SAM9/CAP9 basic power-management Basic power-management (suspend-to-ram) support for Atmel SAM9 and CAP9 processors. Based on comments & patches from Anti Sullin and David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a3da12229f4f9bee2ed66ac34a54a4e8b74bcbcb Author: Andrew Victor Date: Wed Apr 2 21:47:29 2008 +0100 [ARM] 4905/1: [AT91] Atmel SAM9 boards updated to new-style UART initialization Convert the Atmel SAM9260-EK, SAM9261-EK, SAM9263-EK and SAM9RL-EK boards to use the new-style UART initialization. Signed-off-by: Sedji Gaouaou Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d7a2415f7a48ce4fc16cc769f96d0df818648837 Author: Andrew Victor Date: Wed Apr 2 21:44:44 2008 +0100 [ARM] 4904/1: [AT91] Pass ECC controller to NAND driver On AT91 processors that include an ECC controller, pass its base address to the NAND driver via platform_device resources. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3ef2fb426775fc2ae19b70c318dbdf4a0aeeced7 Author: Andrew Victor Date: Wed Apr 2 21:36:06 2008 +0100 [ARM] 4903/1: [AT91] SAM9/CAP9 system shutdown Enable system shutdown/power-off on AT91SAM9 and AT91CAP9 based boards. This does not require power-management to be enabled, and the pm_power_off method can be overridden in board-specific files if necessary. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b78eabde89f9b19d463a77abe420508c0ef29249 Author: Andrew Victor Date: Wed Apr 2 21:38:40 2008 +0100 [ARM] 4902/1: [AT91] SAM9/CAP9 memory controller header The AT91CAP9 processor includes the same Static Memory Controller (SMC) peripheral as the SAM9 processors, but replaces the SDRAM Controller with a DDR/SDR Controller (DDRSDRC). This patch splits the existing include/asm-arm/arch-at91/at91sam926x_mc.h into at91sam9_sdramc.h and at91sam9_smc.h. It also adds an at91cap9_ddrsdr.h for the DDRSDRC controller. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 80a9492a33dd7d852465625022d56ff76d62174d Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:52 2008 +0900 [IPV4] MROUTE: Adjust include files for user-space. needs . Avoid including in user-space, which conflicts with standard . Add basic struct and constant in . Signed-off-by: YOSHIFUJI Hideaki commit 2e8046271f68198dd37451017c1a4a2432e4ec68 Author: YOSHIFUJI Hideaki Date: Thu Apr 3 09:22:09 2008 +0900 [IPV4] MROUTE: Move PIM definitions to . Signed-off-by: YOSHIFUJI Hideaki commit f6a07b293f11d97bfbcd9b6a3ab4ad9c418a36ff Author: YOSHIFUJI Hideaki Date: Tue Mar 25 00:25:11 2008 +0900 [IPV6] ADDRCONF: Fix array size for sysctls. We have been using __NET_IPV6_MAX for adjusting the size of array for sysctl table, but it does not work any longer because of the deprecation of NET_IPV6_xxx constants. Let's use DEVCONF_MAX instead. Signed-off-by: YOSHIFUJI Hideaki commit a5b2db67139e991d9e9e19260989d0e66a03a2b2 Author: Denys Vlasenko Date: Thu Apr 3 14:59:55 2008 -0700 [ATM] drivers/atm/ambassador.c: stop inlining largish static functions drivers/atm/ambassador.c has unusually large number of static inline functions - 22. I looked through them and half of them seem to be too big to warrant inlining. This patch removes "inline" from these static functions (regardless of number of callsites - gcc nowadays auto-inlines statics with one callsite). Size difference for 32bit x86: text data bss dec hex filename 10209 8488 4 18701 490d linux-2.6-ALLYES/drivers/atm/ambassador.o 9462 8488 4 17954 4622 linux-2.6.inline-ALLYES/drivers/atm/ambassador.o Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit 3bb5da3837cc1aa17736b05139c9a22c3794851a Merge: 7feb49c... 9597362... Author: David S. Miller Date: Thu Apr 3 14:33:42 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 7feb49c82a74bc7c091b8ab2a3f96baa33d08ece Author: Denis V. Lunev Date: Thu Apr 3 14:32:00 2008 -0700 [NETNS]: Use TCP control socket from a correct namespace. Signed-off-by: Denis V.Lunev Signed-off-by: David S. Miller commit 046ee902357adc046d041441956ec7eeb30c77c4 Author: Denis V. Lunev Date: Thu Apr 3 14:31:33 2008 -0700 [NETNS]: Create tcp control socket in the each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1ed8516f09e510e4595bc900ad9266c15aacfdd2 Author: Denis V. Lunev Date: Thu Apr 3 14:31:03 2008 -0700 [IPV6]: Simplify IPv6 control sockets creation. Do this by replacing sock_create_kern with inet_ctl_sock_create. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5616bdd6dfeb4e36be499dbac245e4d3be90a138 Author: Denis V. Lunev Date: Thu Apr 3 14:30:12 2008 -0700 [INET]: uc_ttl assignment in inet_ctl_sock_create is redundant. uc_ttl is initialized in inet(6)_create and never changed except setsockopt ioctl. Remove this assignment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit c1e9894d486dc249331f4f04859c26147a778154 Author: Denis V. Lunev Date: Thu Apr 3 14:29:00 2008 -0700 [ICMP]: Simplify ICMP control socket creation. Replace sock_create_kern with inet_ctl_sock_create. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5677242f432102dea9e6eceec1dc089e2f709ca4 Author: Denis V. Lunev Date: Thu Apr 3 14:28:30 2008 -0700 [NETNS]: Inet control socket should not hold a namespace. This is a generic requirement, so make inet_ctl_sock_create namespace aware and create a inet_ctl_sock_destroy wrapper around sk_release_kernel. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit eee4fe4ded6e9c196168aee8f9787771f4df9c90 Author: Denis V. Lunev Date: Thu Apr 3 14:27:58 2008 -0700 [INET]: Let inet_ctl_sock_create return sock rather than socket. All upper protocol layers are already use sock internally. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8258175c811440e93baa15ab1962a5905686dda3 Author: Denis V. Lunev Date: Thu Apr 3 14:27:26 2008 -0700 [SCTP]: Replace socket with sock for SCTP control socket. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4ffe0225e0628a5812168570b50d828f541c6b06 Author: Denis V. Lunev Date: Thu Apr 3 14:26:36 2008 -0700 [SCTP]: Use inet_ctl_sock_create for control socket creation. sk->sk_proc->(un)hash is noop right now, so the unification is correct. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3d58b5fa8e4c461ab09afdacd3d1754fccca06ad Author: Denis V. Lunev Date: Thu Apr 3 14:22:32 2008 -0700 [INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create. This call is nothing common with INET connection sockets code. It simply creates an unhashes kernel sockets for protocol messages. Move the new call into af_inet.c after the rename. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4f049b4f33d07bd11335c3a074ebef14213a3e37 Author: Denis V. Lunev Date: Thu Apr 3 14:21:33 2008 -0700 [DCCP]: dccp_v(4|6)_ctl_socket is leaked. This seems a purism as module can't be unloaded, but though if cleanup method is present it should be correct and clean all staff created. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7630f026810a63464e47391ab1e03674c33eb1b8 Author: Denis V. Lunev Date: Thu Apr 3 14:20:52 2008 -0700 [DCCP]: Replace socket with sock for reset sending. Replace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 14c0c8e8e0fb85e7a57e88606c009377746b39d9 Author: Denis V. Lunev Date: Thu Apr 3 14:19:38 2008 -0700 [TCP]: Replace socket with sock for reset sending. Replace tcp_socket with tcp_sock. This is more effective (less derefferences on fast paths). Additionally, the approach is unified to one used in ICMP. Signed-off-by: Denis V. Lunev Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6eae9b0acdb6f03ed87ef882760e0ef8f440dc1a Author: Oliver Neukum Date: Thu Apr 3 16:19:33 2008 -0400 Input: xpad - don't use GFP_ATOMIC GFP_ATOMIC should not be used when GFP_KERNEL can be used. Signed-off-by: Oliver Neukum Signed-off-by: Dmitry Torokhov commit 99de0912be6f384fc31c8e8e7ba0850d0d670385 Author: Brian Magnuson Date: Thu Apr 3 16:19:23 2008 -0400 Input: xpad - add support for wireless xbox360 controllers Signed-off-by: Brian Magnuson Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit bf8cb3141884138c2e4a2ecb56300ece6e8020a2 Author: Anssi Hannula Date: Thu Apr 3 16:19:10 2008 -0400 Input: xpad - drop obsolete driver versioning The driver version numbers and changelog have not been updated in a long while to reflect actual changes. Remove the version number and add a notice that later changes can be tracked in SCM. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit cfbe20106fa00e89c1fb2c74dbff0ba80e0e539d Author: Anssi Hannula Date: Thu Apr 3 16:18:57 2008 -0400 Input: xpad - enable force feedback on xbox 360 controllers only Commit 4994cd8dadcf9d484ab3ec19f3c7c7a4e5353c1c introduced a regression which causes xpad to report force feedback cababilities for non-360 controllers too, even while there is no actual support for those. Fix that by adding a check for XTYPE_XBOX360 to xpad_init_ff(). Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit fc55e95214f1e8384e48cff88279d16507fa5358 Author: Anssi Hannula Date: Thu Apr 3 16:18:44 2008 -0400 Input: xpad - do not report nonexistent buttons for xbox360 The buttons BTN_C and BTN_Z are only used in the original xbox controller, not in xbox360 controller. Therefore only add them to keybit when the controller is a non-360 one. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 8a7ae2a890852b133342a6d72f84b0dac1bc8e8e Author: Anssi Hannula Date: Thu Apr 3 16:18:35 2008 -0400 Input: xpad - add more xbox 360 controller ids Add Mad Catz and 0x0e6f xbox360 controllers which are already found in xpad_device[] table in xpad.c into the vendor id list. Also add Logitech into the vendor list for Logitech Chillstream gamepads. Also add the RedOctane Guitar Hero X-plorer. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 97f09cb53da583cefc1ce2930de8f64b52cfc54b Author: Anssi Hannula Date: Thu Apr 3 16:18:23 2008 -0400 Input: xpad - fix inverted Y and RY axes The commit ae91d10aab2762f81733e9194cb56eff99c8d808 inverted Y and RY axes on xbox360 so that up is positive and down is negative. This is wrong, as axes on game controllers have up as negative per convention. Also, even xpad itself reports HAT0X with up as negative. Fix that by inverting them again. Also, according to http://bugzilla.kernel.org/show_bug.cgi?id=10337 the original xbox controllers also have the Y and RY axes inverted. Fix that by inverting them as well. Cc: Brian Magnuson Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit a0979923d7c34c9c60d0ee8a533f9502dcfbd42b Author: Anssi Hannula Date: Thu Apr 3 16:18:10 2008 -0400 Input: xpad - fix dpad handling of unknown devices For devices not specifically listed in xpad.c, xpad->dpad_mapping is initially set to MAP_DPAD_UNKNOWN. In xpad_probe() it gets changed to either MAP_DPAD_TO_BUTTONS or MAP_DPAD_TO_AXES, depending on the module parameter dpad_to_buttons. However, MAP_DPAD_UNKNOWN is defined as -1, while the field is u8. This results in actual value of 255, causing the MAP_DPAD_UNKNOWN check in xpad_probe() to fail. Fix that by defining MAP_DPAD_UNKNOWN as 2 instead. Also, setting module parameter dpad_to_buttons to 1 should obviously map dpad to buttons, while the default behaviour (0) should be to map dpad to axes. However, dpad_to_buttons is directly assigned to xpad->dpad_mapping, and as MAP_DPAD_TO_BUTTONS is 0, the actual behaviour is reversed. Fix that by negating dpad_to_buttons in assignment. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit 8a0f83eacc1bb8899094b17483de95ddf2d8fcc6 Author: Anssi Hannula Date: Thu Apr 3 16:17:52 2008 -0400 Input: xpad - match xbox 360 devices with interface info Match Xbox 360 controllers using the interface info, i.e. interface class 255 (Vendor specific), subclass 93 and protocol 1, instead of specifying the device ids individually. As the class is vendor-specific, we have to still match against vendor id as well, though. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit a4aa834a9165150252c5cd953faab4de29d51b87 Author: Denis V. Lunev Date: Thu Apr 3 13:04:33 2008 -0700 [NETNS]: Declare init_net even without CONFIG_NET defined. This does not look good, but there is no other choice. The compilation without CONFIG_NET is broken and can not be fixed with ease. After that there is no need for the following commits: 1567ca7eec7664b8be3b07755ac59dc1b1ec76cb 3edf8fa5ccf10688a9280b5cbca8ed3947c42866 2d38f9a4f8d2ebdc799f03eecf82345825495711 Revert them. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 31a6b11fed6ceec07ec4bdfefae56b8252d450cf Author: Xiantao Zhang Date: Thu Apr 3 11:39:43 2008 -0700 [IA64] Implement smp_call_function_mask for ia64 This interface provides more flexible functionality for smp infrastructure ... e.g. KVM frequently needs to operate on a subset of cpus. Signed-off-by: Xiantao Zhang Signed-off-by: Tony Luck commit 96651896b8d9ad4244a1c3ed9691faa3e382f503 Author: Xiantao Zhang Date: Thu Apr 3 11:02:58 2008 -0700 [IA64] Add API for allocating Dynamic TR resource. Dynamic TR resource should be managed in the uniform way. Add two interfaces for kernel: ia64_itr_entry: Allocate a (pair of) TR for caller. ia64_ptr_entry: Purge a (pair of ) TR by caller. Signed-off-by: Xiantao Zhang Signed-off-by: Anthony Xu Signed-off-by: Tony Luck commit e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a Merge: c0f3932... 802fb17... Author: David S. Miller Date: Wed Apr 2 22:35:23 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/s2io.c commit 93173ce272e54f81460986ff5040d16ab79488a9 Author: Stefan Roese Date: Fri Mar 28 01:43:31 2008 +1100 [POWERPC] 4xx: Create common ppc4xx_reset_system() in ppc4xx_soc.c This patch creates a common system reset routine for all 40x and 44x systems. Previously only a 44x routine existed. But since this system reset via the debug control register is common for 40x and 44x let's share this code for all those platforms in ppc4xx_soc.c. This patch also enables CONFIG_4xx_SOC for all 40x and 44x platforms. Tested on Kilauea (405EX) and Canyonlands (440EX). Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit d2477b5cc8ca95b8c15133ffbbebf0bd9783f560 Author: Grant Likely Date: Wed Mar 19 04:07:43 2008 +1100 [POWERPC] bootwrapper: Add a firmware-independent simpleboot target. This target produces a flat binary rather than an ELF file, fixes the entry point at the beginning of the image, and takes a complete device tree with no fixups needed. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 19a74263f49dce2b96e2213f7f4c029cedbbf0ce Author: Stephen Neuendorffer Date: Thu Apr 3 03:52:13 2008 +1100 [POWERPC] of_serial: Fix possible null dereference. The of_serial driver queries the current-speed property and attempts to use it to register the custom_divisor property of the uart_port. However, if current-speed is not set, then this code will dereference a bad pointer. The fix is to only set custom_divisor when a current-speed property appears in the device tree. Signed-off-by: Stephen Neuendorffer Signed-off-by: John Linn Signed-off-by: Josh Boyer commit 5f91925c89c39e77c170de9366ffa5144a8dd8ec Author: Stefan Roese Date: Wed Apr 2 00:45:00 2008 +1100 [POWERPC] 4xx: Fix PESDRn_UTLSET1 register setup on 460EX/GT The patch fixes a bug, where the PESDRn_UTLSET1 register was setup wrongly resulting in a non working PCIe port 1. With this fix both PCIe ports work fine again. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit b64c4c937daaa04a0a5c188718fb77e8041b5686 Author: Stefan Roese Date: Fri Mar 28 02:34:50 2008 +1100 [POWERPC] 4xx: Only reset PCIe PHY on 405EX systems when no link is detected Since the arch/powerpc PCI subsystem now does a complete re-assignment of the resources, we can move from the unconditional PCIe PHY reset to the conditional version. Now the PHY is only reset, if no link is established yet. An additional PHY reset (one is already done in U-Boot) leads to problems with some Atheros PCIe boards and some HP FPGA PCIe designs. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit e04018e8e49c8c78cebd627ea9b5d02b807662ad Author: Grant Likely Date: Tue Mar 25 09:52:46 2008 +1100 [POWERPC] add target for building .dtb files Call dtc from the Makefile instead of the wrapper script so that the dt blobs can be generated with a simple make invocation. Using this patch allows board ports to trigger automatic building of .dtb files by adding them to the image-y target list. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit de357cc01334a468e4d5b7ba66a17b0d3ca9d63e Author: YOSHIFUJI Hideaki Date: Sat Mar 15 23:59:18 2008 -0400 [IPV6] NDISC: Don't rely on node-type hint from L2 unless required. Signed-off-by: YOSHIFUJI Hideaki commit 52eeeb8481d705e61e2e9aae974e7799a93783e9 Author: YOSHIFUJI Hideaki Date: Sat Mar 15 22:54:23 2008 -0400 [IPV6]: Unify ip6_onlink() and ipip6_onlink(). Both are identical, let's create ipv6_chk_prefix() and use it in both places. commit 6294e000736401d4415ad41f408e56e14aaaf7b4 Author: YOSHIFUJI Hideaki Date: Sat Mar 15 23:56:52 2008 -0400 [IPV6] NDISC: Ignore route information with /0 prefix from interior router. Signed-off-by: YOSHIFUJI Hideaki commit 300aaeeaab5f447fcf40e911afe96df3de28f0db Author: YOSHIFUJI Hideaki Date: Mon Mar 24 18:28:39 2008 +0900 [IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL. Signed-off-by: YOSHIFUJI Hideaki commit 0009ae1f50fb10178b5f54216ce567f3cb1d7267 Author: YOSHIFUJI Hideaki Date: Sat Mar 22 17:50:59 2008 +0900 [IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL. Signed-off-by: YOSHIFUJI Hideaki commit 3fcfa12904e83cc291cf2b7b05ff2530068920a4 Author: YOSHIFUJI Hideaki Date: Sat Mar 22 17:42:57 2008 +0900 [IPV6] SIT: Fix locking issues in PRL management. To protect PRL list, use ipip6_lock. Signed-off-by: YOSHIFUJI Hideaki commit fadf6bf06069138f8e97c9a963be38348ba2708b Author: Templin, Fred L Date: Tue Mar 11 18:35:59 2008 -0400 [IPV6] SIT: Add PRL management for ISATAP. This patch updates the Linux the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) implementation. It places the ISATAP potential router list (PRL) in the kernel and adds three new private ioctls for PRL management. [Add several changes of structure name, constant names etc. - yoshfuji] Signed-off-by: Fred L. Templin Signed-off-by: YOSHIFUJI Hideaki commit 5550fbaeb3cc88fe2982e9b5351073173d733f30 Author: Dmitry Baryshkov Date: Wed Apr 2 11:22:51 2008 -0400 Input: tosakbd - fix suspend Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov commit 45d09e1e097ea5fc0bcb98a6226d90b412e6923a Merge: f23c1d7... 4db8a5f... Author: Dmitry Torokhov Date: Wed Apr 2 10:02:43 2008 -0400 Merge branch 'wm97xx' commit f23c1d7579211c801494c7a8d6fca12905f7949f Author: Tobias Mueller Date: Wed Apr 2 10:02:06 2008 -0400 Input: appletouch - add product IDs for the 4th generation MacBooks Signed-off-by: Tobias Mueller Acked-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit c0f39322c335412339dec16ebfd2a05ceba5ebcf Author: Denis V. Lunev Date: Wed Apr 2 00:10:28 2008 -0700 [NETNS]: Do not include net/net_namespace.h from seq_file.h Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 856f6ff7a3132c8e412b23a7b9157b68ac9a2baf Author: Denis V. Lunev Date: Wed Apr 2 00:10:04 2008 -0700 [NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c. They are redundant as this file is linked in iff CONFIG_NET is turned on. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 225c0a0107735597100dc4133cd88c5ed10d9e63 Author: Denis V. Lunev Date: Wed Apr 2 00:09:29 2008 -0700 [NETNS]: Merge ifdef CONFIG_NET in include/net/net_namespace.h. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f0bdb7ba5af5a7028479e9067ee74e9d66eea6df Author: YOSHIFUJI Hideaki Date: Tue Apr 1 23:57:36 2008 -0700 [IPV6] RAW: Remove ancient comment. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4db8a5f21e5149e09949516eef98b78b68880075 Author: Mark Brown Date: Wed Apr 2 00:51:46 2008 -0400 Input: WM97xx - add support for streaming mode on Mainstone Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit dca98e91fb83a43fc430893f349fd8248fa0ba38 Author: Mark Brown Date: Wed Apr 2 00:51:30 2008 -0400 Input: WM97xx - add chip driver for WM97123 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Lars Munch Signed-off-by: Dmitry Torokhov commit de22b9ef1020ffdb9e1ed6f4686e2e62eaeb0958 Author: Mark Brown Date: Wed Apr 2 00:51:26 2008 -0400 Input: WM97xx - add chip driver for WM9712 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Lars Munch Signed-off-by: Dmitry Torokhov commit 9448cefc6689aa51f1cd1cfe8b701dc94789c7ee Author: Mark Brown Date: Wed Apr 2 00:51:21 2008 -0400 Input: WM97xx - add chip driver for WM9705 touchscreen Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit febf1dff119ef27ee22a54d40f284d2454f00d8d Author: Mark Brown Date: Wed Apr 2 00:51:09 2008 -0400 Input: add support for WM97xx familty touchscreens Add support for the touchscreen controllers provided by Wolfson Microelectronics WM97xx series chips in both polled and streaming modes. These drivers have been maintained out of tree since 2003. During that time the driver the primary maintainer was Liam Girdwood and a number of people have made contributions including Dmitry Baryshkov, Stanley Cai, Rodolfo Giometti, Russell King, Marc Kleine-Budde, Ian Molton, Vincent Sanders, Andrew Zabolotny, Graeme Gregory, Mike Arthur and myself. Apologies to anyone I have omitted. Signed-off-by: Liam Girdwood Signed-off-by: Graeme Gregory Signed-off-by: Mike Arthur Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 7c6d0ee14cb7a4cfad4864dc196256da5749bc0c Author: David Brownell Date: Wed Apr 2 00:43:01 2008 -0400 Input: ads7846 - simplify support of external vREF (and ads7843) This updates the ads7846 driver to handle external vREF (required on boards using ads7843 chips) without module parameters, and also removes a needless variable with its associated bogus gcc warning. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit e6cdd15629a5a99d805fa3cbf0f5174bcfc685bb Author: Helge Deller Date: Wed Apr 2 00:42:42 2008 -0400 Input: locomokbd - add 'off' button support for Sharp Collie/Poodle Enables the Sharp Zaurus Collie and Poodle devices to be turned off by pressing the "Cancel" button for a few seconds (as designed by Sharp). Additional small cleanups: - removal of unused #defines and variables - add missing __devinit/__devexit/__devinitconst annotations - reorganized copyright notice Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 3797fec17193e05dee9666b990d6c84e16b188b3 Author: Dmitry Torokhov Date: Wed Apr 2 00:41:00 2008 -0400 Input: remove private member from input_dev structure Everyone should be using input_{get|set}_drvdata() by now. Alias them to dev_{get|set}_drvdata() and remove ->private. Signed-off-by: Dmitry Torokhov commit 06501d29ada4457349f4f4427bbf0bbb7c59b8f6 Author: John W. Linville Date: Tue Apr 1 17:38:47 2008 -0400 wireless: fix various printk warnings on ia64 (and others) drivers/net/wireless/ath5k/base.c: In function `ath5k_check_ibss_tsf': drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/ath5k/base.c:1740: warning: long long int format, u64 arg (arg 7) drivers/net/wireless/ath5k/base.c:1740: warning: long long unsigned int format, u64 arg (arg 8) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 5) drivers/net/wireless/ath5k/base.c:1757: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl4965-base.c: In function `iwl4965_tx_status_reply_tx': drivers/net/wireless/iwlwifi/iwl4965-base.c:3105: warning: long long unsigned int format, u64 arg (arg 6) drivers/net/wireless/iwlwifi/iwl-4965.c: In function `iwl4965_rx_reply_rx': drivers/net/wireless/iwlwifi/iwl-4965.c:3978: warning: long long unsigned int format, u64 arg (arg 7) Cc: Andrew Morton Signed-off-by: John W. Linville commit 6c4711b4697d93424e4b1f76a9929ba844d714a5 Author: Luis Carlos Cobo Date: Mon Mar 31 17:39:18 2008 -0700 mac80211: use a struct for bss->mesh_config This allows cleaner code when accesing bss->mesh_config components. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 05e5e88373d91c75e9262a3f984be511960e510d Author: Luis Carlos Cobo Date: Mon Mar 31 16:00:13 2008 -0700 mac80211: check for mesh_config length on incoming management frames Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 966a54282257ce1c43a5410dab2f2778a6f4dcf9 Author: Luis Carlos Cobo Date: Mon Mar 31 15:33:39 2008 -0700 mac80211: use recent multicast table for all mesh multicast frames ...not only broadcast. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit cb585bccfedab0c228344ffa258950c417dea6b5 Author: Luis Carlos Cobo Date: Mon Mar 31 15:21:23 2008 -0700 mac80211: fix spinlock recursion on sta expiration Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 73bb3e4a7a9f1b8d5f89c3991bd0c904ab0b8e27 Author: Luis Carlos Cobo Date: Mon Mar 31 15:10:22 2008 -0700 mac80211: fix deadlocks in debugfs_netdev.c The bug shows up with CONFIG_PREEMPT enabled. Pointed out by Andrew Morton. Cc: Andrew Morton Cc: Johannes Berg Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 7e879b551f1ada78d66fa5c6914aa1744b9c97d2 Author: Johannes Berg Date: Mon Mar 31 19:23:04 2008 +0200 mac80211: fix sparse complaint in ieee80211_sta_def_wmm_params A variable 'i' is being shadowed by another one, but the second one can just be removed. Signed-off-by: Johannes Berg Cc: Vladimir Koutny Signed-off-by: John W. Linville commit dc6676b7f2c2072ec05254aaca32e99f87a8a417 Author: Johannes Berg Date: Mon Mar 31 19:23:03 2008 +0200 mac80211: sta_info_flush() fixes When the IBSS code tries to flush the STA list, it does so in an atomic context. Flushing isn't safe there, however, and requires the RTNL, so we need to defer it to a workqueue. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f6fab472c4c7c21d577f85fabec7628d4a05637 Author: Johannes Berg Date: Mon Mar 31 19:23:02 2008 +0200 mac80211: clean up sta_info_destroy() users wrt. RCU/locking Calling sta_info_destroy() doesn't require RCU-synchronisation before-hand because it does that internally. However, it does require rtnl-locking so insert that where necessary. Also clean up the code doing it internally to be a bit clearer and not synchronize twice if keys are configured. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 93e5deb1ae39b56f4743955e76c72251256f23c1 Author: Johannes Berg Date: Tue Apr 1 15:21:00 2008 +0200 mac80211: automatically free sta struct when insertion fails When STA structure insertion fails, it has been allocated but isn't really alive yet, it isn't reachable by any other code and also can't yet have much configured. This patch changes the code so that when the insertion fails, the resulting STA pointer is no longer valid because it is freed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 97bff8ecf4e4e26749a67dcfbb7565d8a0f4acb4 Author: Johannes Berg Date: Mon Mar 31 19:23:00 2008 +0200 mac80211: fix sta_info_destroy(NULL) sta_info_destroy(NULL) should be valid, but currently isn't because the argument is dereferenced before the NULL check. There are no users that currently pass in NULL, i.e. all check before calling the function, but I want to change that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9dd6aed05b8859265cd79f1e47e4f844bbe1548b Author: Johannes Berg Date: Mon Mar 31 19:22:59 2008 +0200 mac80211 ibss: flush only stations belonging to current interface When joining a new IBSS, all old stations are flushed, but currently all stations belonging to all virtual interfaces are flushed, which is wrong. This patch fixes it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a2e1d52a32eab53f8ab03c4023310f65aaa054a7 Author: Ivo van Doorn Date: Mon Mar 31 15:53:44 2008 +0200 rt2x00: Remove MAC80211_LEDS dependency Implement triggers inside rt2x00 itself based on input from mac80211. This replaces the method of using the mac80211 trigger events which do not work for USB drivers due to the scheduling requirement. After this patch RT2500USB_LEDS and RT73USB_LEDS no longer need to be tagged as broken since they now support LED handling again without having to check for in_atomic(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e0b005fa1479045fe879944036268af3ebcd1835 Author: Ivo van Doorn Date: Mon Mar 31 15:24:53 2008 +0200 rt2x00: TO_DS filter depends on intf_ap_count The TO_DS filter does not only depend on the FIF_PROMISC_IN_BSS flag provided by mac80211, but also on the intf_ap_count count. This makes sense, since when Master mode is active, we should all frames that are send to the active AP (the device itself). This means that when an interface is added we should force the packet filter to be updated during the next mac80211 call of configure_filter() to make sure the intf_ap_count field is checked. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bc5213f468b4d0520a06e27ea2cc9724bc5b896c Author: Ivo van Doorn Date: Sat Mar 29 15:59:01 2008 +0100 rt2x00: Invert scheduled packet_filter check Invert the check for scheduling the packet_filter configuration. When DRIVER_REQUIRE_SCHEDULED is not set we should immediately configure the the filter. This fixes the 'infinite calls to rt2x00mc_configure_filter' bug reported by Bas Hulsken. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e5472978ef16051337913f57b2f22982f3e9e4c2 Author: Tomas Winkler Date: Fri Mar 28 16:21:12 2008 -0700 iwlwifi: Fix synchronous host command This patch replaces static variable from send_cmd_sync with flag in priv->status. It was used for reentrance protection but clearly made it impossible to stuck more cards into the same machine In addition it force check of return values of synchronous commands commands that doesn't requires return value async commands have to be used Signed-off-by: Tomas Winkler Signed-off-by: Yi Zhu Signed-off-by: John W. Linville commit a571ea4eb34adbf33bbaf4bdc6db6037b1a93e0f Author: Tomas Winkler Date: Fri Mar 28 16:21:11 2008 -0700 iwlwifi: LED initialize before registering This patch initialize all fields in led before registering it This fixes oops on initialization Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4f552321fa2cfe1d6b1846138d2aa8254308f96 Author: Ron Rindjunsky Date: Fri Mar 28 16:21:10 2008 -0700 iwlwifi: unregister to upper stack before releasing resources This patch fixes an early release of driver's resources before upper stack was notified that low-level driver shuts down. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 897e1cf29e05e3373bf380a417d085cd3389a3c0 Author: Reinette Chatre Date: Fri Mar 28 16:21:09 2008 -0700 iwlwifi: move rate registration to module load Having rate registration during module load enables the use of error checking as well as reliable registration/unregistration pairing. Previously this was not possible as rate registration was done during _probe where _probe could be run for more than one device on the system. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0359facc7b7a37fd1223ac60649c80cd8daeaf73 Author: Mohamed Abbas Date: Fri Mar 28 16:21:08 2008 -0700 iwlwifi: fix race condition during driver unload This patch fixed the OOPS when load the driver while rf-kill is on then unload the driver right after load. a race condition caused the interupt handler to schedule the tasklet which will run right after the driver pci_remove causing invalid poiter OOPS. Signed-off-by: Mohamed Abbas Signed-off-by: Joonwoo Park Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ad97edd2f524940d524c26ae273a4eb23067a7c0 Author: Mohamed Abbas Date: Fri Mar 28 16:21:06 2008 -0700 iwlwifi: hook iwlwifi with Linux rfkill This patch hook IWL with Linux rfkill. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c8381fdcab98b74f670d879097bab35d97d88400 Author: Mohamed Abbas Date: Fri Mar 28 16:21:05 2008 -0700 iwlwifi: add notification infrastructure to iwlcore This patch add notification function to be called by low level iwl driver to notify iwlcore with current state. This function will call iwlcore subsystem with the new state. This will help make the code more consistent and easy to extend. For example the rf-kill need to know when the driver in init, start, stop or remove state. Instead doing the same call in 3945 and 4965, we just do it from this function. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0675abdbfbcb8e0253a970c0dfe8d23b112888f3 Author: Andrew Morton Date: Thu Mar 27 23:25:27 2008 -0700 net/mac80211/debugfs_netdev.c: use of bool triggers a gcc bug This bool causes my gcc-4.1.0 alpha cross compiler to go into an infinite loop. Switching it to u8 works around that. Cc: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3480a58a90cd505578b9979d878a5ad9c347d424 Author: John W. Linville Date: Thu Mar 27 19:54:13 2008 -0400 rt2x00: fixup some non-functional merge errors These small changes restore the rt2x00 sources to the way Ivo intended. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 04850a47aa7d03cbf651a91262fdaa9f18373dfc Author: Holger Schurig Date: Wed Mar 26 17:56:26 2008 +0100 libertas: don't depend on IEEE80211 Runtime-wise we only need escape_ssid from the deprecated IEEE80211 subsystem. However, it's easy to provide our own copy. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit f539f2efe9fdf9e7db2022a757190858576d34fd Author: Holger Schurig Date: Wed Mar 26 13:22:11 2008 +0100 libertas: convert sleep/wake config direct commands Confirm sleep event: they come very regularly, eventually several times per second. Therefore we want to send the config command as fast as possible. The old code pre-set the command in priv->lbs_ps_confirm_sleep. However, the byte sequence to be sent to the hardware is the same for all interfaces. So this patch make this an extern structure, initialized at module load time. Config wake event: normal conversion to a direct command. However, I don't know how to trigger a "HOST AWAKE" event from the firmware, so this part is untested. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7460f5a69055357bf97f1890db547aba0c4bf2fa Author: Holger Schurig Date: Wed Mar 26 10:03:48 2008 +0100 libertas: convert CMD_802_11_EEPROM_ACCESS to a direct command Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 2af9f039a17c0acd9e5b21d10058688687bad86d Author: Holger Schurig Date: Wed Mar 26 09:58:32 2008 +0100 libertas: convert CMD_802_11_MAC_ADDRESS to a direct command * directly call lbs_cmd_with_response() * only overwrite priv->current_addr once the firmware call succeeded Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 717ddc0ebdd00c233fcb1ae9a243e69f301cde24 Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 endianness annotations: drivers/net/wireless/rtl8180_dev.c Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 1e5ef43e8c206128560eb6c32a19a7951033a3c3 Author: Johannes Weiner Date: Sat Mar 29 08:21:10 2008 +1100 [POWERPC] ppc: Remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 745681a524cfc9c972dd89dc7df46f825217c22b Author: Johannes Weiner Date: Sat Mar 29 08:21:09 2008 +1100 [POWERPC] Remove redundant display of free swap space in show_mem() show_mem() has no need to print the amount of free swap space manually because show_free_areas() does this already and is called by the former. The two outputs only differ in text formatting: printk("Free swap = %lukB\n", ...); printk("Free swap: %6ldkB\n", ...); Signed-off-by: Johannes Weiner Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit ea6728c11f3afa15a9c7c50a6c9ae061fe5a9d00 Author: Julia Lawall Date: Sat Mar 29 08:21:08 2008 +1100 [POWERPC] Use FIELD_SIZEOF in drivers/block/viodasd.c Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Cc: Jens Axboe Cc: Benjamin Herrenschmidt Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1d18a602e9116dc89da6750dcbda44bb1eb82b8e Author: Harvey Harrison Date: Sat Mar 29 08:21:07 2008 +1100 [POWERPC] ppc: Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e48b1b452ff630288c930fd8e0c2d808bc15f7ad Author: Harvey Harrison Date: Sat Mar 29 08:21:07 2008 +1100 [POWERPC] Replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit a78bfbfcfaca64e6198f164c43a60afc8a50e2c6 Author: Robert Brose Date: Sat Mar 29 07:20:23 2008 +1100 [POWERPC] Add kernel parameter to set l3cr for MPC745x Old-world powermacs don't set L2CR or L3CR on processor upgrade cards. This simple patch allows the setting of L3CR via a kernel parameter (like the existing kernel parameter to set L2CR). Signed-off-by: Robert Brose Signed-off-by: Paul Mackerras commit b163a256dac8ceb01d40bebe25c315768cf1877b Author: Geert Uytterhoeven Date: Sat Mar 29 03:53:38 2008 +1100 [POWERPC] PS3: Split device setup for static vs. dynamic devices Split the device setup code in ps3_register_repository_device() in two routines: 1. ps3_setup_static_device(), to handle the setup of static devices in the PS3 repository, which can be __init, 2. ps3_setup_dynamic_device(), to handle the setup of storage devices that may appear later in the PS3 repository. This fixes a few section mismatch warnings. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fa90f70a8ed338d1afb43da21163752c6558a7d5 Author: Geert Uytterhoeven Date: Sat Mar 29 03:10:50 2008 +1100 [POWERPC] arch_add_memory() cannot be __devinit WARNING: vmlinux.o(.text+0xb41b0): Section mismatch in reference from the function .add_memory() to the function .devinit.text:.arch_add_memory() The function .add_memory() references the function __devinit .arch_add_memory(). This is often because .add_memory lacks a __devinit annotation or the annotation of .arch_add_memory is wrong. arch_add_memory() is also not __devinit on other architectures Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 18f032cb51a6de7d9c875e1112650ecf975fee12 Author: Geert Uytterhoeven Date: Sat Mar 29 03:07:45 2008 +1100 [POWERPC] move_device_tree() should be __init WARNING: vmlinux.o(.text+0x1e4c0): Section mismatch in reference from the function .move_device_tree() to the function .init.text:.lmb_alloc_base() The function .move_device_tree() references the function __init .lmb_alloc_base(). This is often because .move_device_tree lacks a __init annotation or the annotation of .lmb_alloc_base is wrong. move_device_tree() is called from early_init_devtree() only, which is __init Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 52db9b44262754bad1b0456d27a862a46cc7f893 Author: Badari Pulavarty Date: Fri Mar 28 11:37:21 2008 +1100 [POWERPC] Add error return from htab_remove_mapping() If the platform doesn't support hpte_removebolted(), gracefully return failure rather than success. Signed-off-by: Badari Pulavarty Signed-off-by: Paul Mackerras commit 3faac21546f5b213cda490d45fe5927d713e44f1 Author: Masakazu Mokuno Date: Thu Mar 27 11:39:31 2008 +1100 [POWERPC] PS3: Gelic network driver Wake-on-LAN support Add Wake-on-LAN support to the PS3 Gelic network driver. Other OS WOL support was introduced in PS3 system firmware 2.20. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 1c43d265f462bc714da67aa8113b3846bb9943e3 Author: Geoff Levand Date: Thu Mar 27 11:39:04 2008 +1100 [POWERPC] PS3: Sys-manager Wake-on-LAN support Add Wake-on-LAN support to the PS3 system-manager. Other OS WOL support was introduced in PS3 system firmware 2.20. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ca052f7924141f34998ab440bb4d908dc021a46b Author: Geert Uytterhoeven Date: Thu Mar 27 11:38:31 2008 +1100 [POWERPC] PS3: Save power in busy loops on halt PS3 save power on halt: - Replace infinite busy loops by smarter loops calling lv1_pause() to save power. - Add ps3_halt() and ps3_sys_manager_halt(). - Add __noreturn annotations. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 5761eaa3a5ae3c7ea796add73b86176b7c963cca Author: Geoff Levand Date: Fri Mar 28 07:41:45 2008 +1100 [POWERPC] PS3: Bootwrapper improvements Improve the debugging support of the PS3 bootwraper code: o Increase the size of the PS3 bootwrapper overlay from 256 to 512 bytes to allow for more debugging code in the overlay. o Use the dot symbol to set the size of __system_reset_overlay. The assembler will then emit an error if the overlay code is too big. o Remove some unused instructions. o Update the text describing the PS3 bootwrapper overlay. o Add a check for null pointer writes. o Change hcall return value from s64. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 23afcb4e0061c591776a3350db89512d085397c2 Author: Takashi Yamamoto Date: Thu Mar 27 11:37:38 2008 +1100 [POWERPC] PS3: Add ps3_get_speid routine Add a new routine ps3_get_speid() which returns the logical SPE ID. This ID is needed for profiling support. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ad18c3db337c6307c7bfbe1f89ad6d92714ffc11 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 27 11:37:18 2008 +1100 [POWERPC] PS3: Fix unlikely typo in ps3_get_irq Fix a typo bug 'unlikely(x) == y' and add an unlikely() call to an unlikely code path in the PS3 interrupt routine ps3_get_irq(). Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e6b18912d3df8ccc5cc19823544fcce19af25072 Merge: 99d8be0... ee0a3f5... Author: Paul Mackerras Date: Tue Apr 1 20:34:26 2008 +1100 Merge branch 'powerpc-next' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit dfb12eb70fc926562488515a9596c88b8eadc545 Author: Pavel Emelyanov Date: Mon Mar 31 19:43:43 2008 -0700 [IPV6][NETNS]: Display per-net info in sockstat6 file. Do with the sockstat6 file what we've already done for the sockstat. Same good side effect - ipv6 reassembling stats are now shown per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd4e7b50455330403ed5b1060055f9d411ecdc57 Author: Pavel Emelyanov Date: Mon Mar 31 19:43:18 2008 -0700 [IPV4][NETNS]: Display per-net info in sockstat file. Besides, now we can see per-net fragments statistics in the same file, since this stats is already per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d0538ca3554a3985c09921903cf8f5e38fa56123 Author: Pavel Emelyanov Date: Mon Mar 31 19:42:37 2008 -0700 [SOCK][NETNS]: Register sockstat(6) files in each net. Currently they live in init_net only, but now almost all the info they can provide is available per-net. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 70ee115942be6ce52ff10e5e813fb4da82cdb25a Author: Pavel Emelyanov Date: Mon Mar 31 19:42:16 2008 -0700 [SOCK][NETNS]: Add the percpu prot_inuse counter in the struct net. Such an accounting would cost us two more dereferences to get the percpu variable from the struct net, so I make sock_prot_inuse_get and _add calls work differently depending on CONFIG_NET_NS - without it old optimized routines are used. The per-cpu counter for init_net is prepared in core_initcall, so that even af_inet, that starts as fs_initcall, will already have the init_net prepared. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c29a0bc4dfc4d833eb702b1929cec96a3eeb9f7a Author: Pavel Emelyanov Date: Mon Mar 31 19:41:46 2008 -0700 [SOCK][NETNS]: Add a struct net argument to sock_prot_inuse_add and _get. This counter is about to become per-proto-and-per-net, so we'll need two arguments to determine which cell in this "table" to work with. All the places, but proc already pass proper net to it - proc will be tuned a bit later. Some indentation with spaces in proc files is done to keep the file coding style consistent. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8efa6e93cb2666dceafc4844057fdcb9aa324fb7 Author: Pavel Emelyanov Date: Mon Mar 31 19:41:14 2008 -0700 [NETNS]: Introduce a netns_core structure. There's already some stuff on the struct net, that should better be folded into netns_core structure. I'm making the per-proto inuse counter be per-net also, which is also a candidate for this, so introduce this structure and populate it a bit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2c130fd5294499cd94578f8c792e190959372763 Author: Robert Schwebel Date: Fri Mar 28 11:02:13 2008 +0100 [ARM] 4877/1: i.MXC family: Clean up current platform code From: Juergen Beisert This patch cleans up the in-kernel platform code from doxygen comments. We don't know how this could have leak in, but anyway. Changes since last release: - none Signed-off-by: Juergen Beisert Signed-off-by: Ross Wille Signed-off-by: Russell King commit f304fc422d9f159badb0edfa5921611a2fa371c7 Author: Robert Schwebel Date: Fri Mar 28 10:59:08 2008 +0100 [ARM] 4876/1: i.MXC family: Clean up From: Juergen Beisert Clean up current header files from doxygen style comments. There are probably more such comments left, but we start with these. Things happend since last review: - needless blank lines removed (note by Russell King) - re-format comments (note by Ross Wille) Signed-off-by: Juergen Beisert Signed-off-by: Ross Wille Signed-off-by: Russell King commit 773adff8e983cba1f5844c3be3be224ca6645f26 Author: Julia Lawall Date: Mon Mar 24 19:08:48 2008 +0100 [GFS2] test for IS_ERR rather than 0 The function gfs2_inode_lookup always returns either a valid pointer or a value made with ERR_PTR, so its result should be tested with IS_ERR, not with a test for 0. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = gfs2_inode_lookup(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Signed-off-by: Steven Whitehouse commit 58e9fee13e579df44922172dbe3c9e3ba3edf7a3 Author: Benjamin Marzinski Date: Fri Mar 14 13:52:52 2008 -0500 [GFS2] Invalidate cache at correct point GFS2 wasn't invalidating its cache before it called into the lock manager with a request that could potentially drop a lock. This was leaving a window where the lock could be actually be held by another node, but the file's page cache would still appear valid, causing coherency problems. This patch moves the cache invalidation to before the lock manager call when dropping a lock. It also adds the option to the lock_dlm lock manager to not use conversion mode deadlock avoidance, which, on a conversion from shared to exclusive, could internally drop the lock, and then reacquire in. GFS2 now asks lock_dlm to not do this. Instead, GFS2 manually drops the lock and reacquires it. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit f5a8cd020173c455705fc0095b7d299da6f8f87b Author: akpm@linux-foundation.org Date: Wed Mar 12 14:01:29 2008 -0700 [GFS2] fs/gfs2/recovery.c: suppress warnings fs/gfs2/recovery.c: In function 'get_log_header': fs/gfs2/recovery.c:152: warning: 'lh.lh_sequence' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_flags' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_tail' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_blkno' may be used uninitialized in this function fs/gfs2/recovery.c:152: warning: 'lh.lh_hash' may be used uninitialized in this function Cc: David Teigland Cc: Bob Peterson Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit 1f466a47e8a3a3e3b527b3285c7b9c8a837fb7ec Author: Bob Peterson Date: Mon Mar 10 18:17:47 2008 -0500 [GFS2] Faster gfs2_bitfit algorithm This version of the gfs2_bitfit algorithm includes the latest suggestions from Steve Whitehouse. It is typically eight to ten times faster than the version we're using today. If there is a lot of metadata mixed in (lots of small files) the algorithm is often 15 times faster, and given the right conditions, I've seen peaks of 20 times faster. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d82661d96993ac4efc1d54259ea85ffcd9b8bec6 Author: Steven Whitehouse Date: Mon Mar 10 15:34:50 2008 +0000 [GFS2] Streamline quota lock/check for no-quota case This patch streamlines the quota checking in the "no quota" case by making the check inline in the calling function, thus reducing the number of function calls. Eventually we might be able to remove the checks from the gfs2_quota_lock() and gfs2_quota_check() functions, but currently we can't as there are a very few places in the code which need to call these functions directly still. Signed-off-by: Steven Whitehouse Cc: Abhijith Das commit 860b25d4a913a00331d333f8e207a088c7a1b84a Author: Steven Whitehouse Date: Mon Mar 10 10:13:31 2008 +0000 [GFS2] Remove drop of module ref where not needed In an earlier patch "[GFS2] fix file_system_type leak on gfs2meta mount" we removed the code to grab a ref to the module which was not needed (since we know that the module cannot be unloaded at that time) so this patch removes the code to drop that reference. Signed-off-by: Steven Whitehouse commit 20b95bf2c4c5c28e093aa42699e67829b6cd7fd0 Author: Abhijith Das Date: Thu Mar 6 17:43:52 2008 -0600 [GFS2] gfs2_adjust_quota has broken unstuffing code This patch combines the 2 patches in bug 434736 to correct the lock ordering in the unstuffing of the quota inode in gfs2_adjust_quota and adjusting the number of revokes in gfs2_write_jdata_pagevec Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 182fe5abd8ebbb3a00c1be91f44e4783e139918c Author: Cyrill Gorcunov Date: Mon Mar 3 21:54:21 2008 +0300 [GFS2] possible null pointer dereference fixup gfs2_alloc_get may fail so we have to check it to prevent NULL pointer dereference. Signed-off-by: Cyrill Gorcunov Signed-off-by: Steven Whitehouse commit 105284970ba7d0d0ff4b97e57728eac7adf6a42a Author: Steven Whitehouse Date: Wed Feb 27 17:56:27 2008 +0000 [GFS2] Need to ensure that sector_t is 64bits for GFS2 We need to ensure that sector_t is 64bits for GFS2, so that we need to depend on LBD as well as LSF. Signed-off-by: Steven Whitehouse commit 43a33c53cc9131a537522ab9736c6e4c03ddf57a Author: Denis Cheng Date: Tue Feb 26 15:25:04 2008 +0800 [GFS2] re-support special inode a previous commit removed call to init_special_inode from inode lookuping, this cause problems as: # mknod /mnt/gfs2/dev/null c 1 3 # cat /mnt/gfs2/dev/null cat: /mnt/gfs2/dev/null: Invalid argument without special inode, GFS2 cannot support char device file, block device file, fifo pipe, and socket file, lose many important features as a common file system. this one line patch re add special inode support. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit d83225d45d2b76175279abb2a3d7ee325a09aba8 Author: Denis Cheng Date: Tue Feb 26 15:25:03 2008 +0800 [GFS2] remove gfs2_dev_iops struct inode_operations gfs2_dev_iops is always the same as gfs2_file_iops, since Jan 2006, when GFS2 merged into mainstream kernel. So one of them could be removed. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 7dc2cf1c8ffbd471722f1aa479bc68d4df1c9edc Author: Christoph Hellwig Date: Mon Feb 25 18:58:36 2008 +0100 [GFS2] fix file_system_type leak on gfs2meta mount get_gfs2_sb does a get_fs_type without doing a put_filesystem and thus leaking a file_system_type reference everytime it's called. Just use gfs2_fs_type directly instead of doing the lookup and thus fix the problem. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit 9b8c81d1de49943ec69d157234b8981008c30d31 Author: Steven Whitehouse Date: Fri Feb 22 16:09:31 2008 +0000 [GFS2] Allow bmap to allocate extents We've supported mapping of extents when no block allocation is required for some time. This patch extends that to mapping of extents when an allocation has been requested. In that case we try to allocate as many blocks as are requested, but we might return fewer in case there is something preventing us from returning the complete amount (e.g. an already allocated block is in the way). Currently the only code path which can actually request multiple data blocks in a single bmap call is the page_mkwrite path and even then it only happens if there are multiple blocks per page. What this patch does do however, is merge the allocation requests for metadata (growing the metadata tree in either height or depth) with the allocation of the data blocks in the case that both are needed. This results in lower overheads even in the single block allocation case. The one thing which we can't handle here at the moment is unstuffing. I would like to be able to do that, but the problem which arises is that in order to unstuff one has to get a locked page from the page cache which results in locking problems in the (usual) case that the caller is holding the page lock on the page it wishes to map. So that case will have to be addressed in future patches. Signed-off-by: Steven Whitehouse commit 7afd88d9166a752b52517648bcbe923e05d393fc Author: Steven Whitehouse Date: Fri Feb 22 16:07:18 2008 +0000 [GFS2] Fix a page lock / glock deadlock We've previously been using a "try lock" in readpage on the basis that it would prevent deadlocks due to the inverted lock ordering (our normal lock ordering is glock first and then page lock). Unfortunately tests have shown that this isn't enough. If the glock has a demote request queued such that run_queue() in the glock code tries to do a demote when its called under readpage then it will try and write out all the dirty pages which requires locking them. This then deadlocks with the page locked by readpage. The solution is to always require two calls into readpage. The first unlocks the page, gets the glock and returns AOP_TRUNCATED_PAGE, the second does the actual readpage and unlocks the glock & page as required. Signed-off-by: Steven Whitehouse commit 60b779cfc1fa52034a996ee12a23b62d32e86000 Author: Adrian Bunk Date: Sun Feb 17 10:20:34 2008 +0200 [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops This patch adds a proper extern declaration for gdlm_ops in fs/gfs2/locking/dlm/lock_dlm.h Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit 8af4c72f7df2442230fca3ff49a97f978cfb4a04 Author: Adrian Bunk Date: Sun Feb 17 10:17:12 2008 +0200 [GFS2] gfs2/ops_file.c should #include "ops_inode.h" Every file should include the headers containing the prototypes for its global functions (in this case for gfs2_set_inode_flags()). Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit bb16b342b2e2c83fa47dbb042400db91b748ded7 Author: Marcin Slusarz Date: Wed Feb 13 00:06:10 2008 +0100 [GFS2] be*_add_cpu conversion replace all: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Steven Whitehouse commit 840ca0ec70903ce8e0fba1596460876c796e4f60 Author: Steven Whitehouse Date: Tue Feb 12 15:28:21 2008 +0000 [GFS2] Fix bug where we called drop_bh incorrectly As a result of an earlier patch, drop_bh was being called in cases when it shouldn't have been. Since we never have a gh in the drop case and we always have a gh in the promote case, we can use that extra information to tell which case has been seen. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit e23159d2a7b2df5bce5f0ee8d57d3292243abf66 Author: Steven Whitehouse Date: Tue Feb 12 14:48:39 2008 +0000 [GFS2] Get inode buffer only once per block map call In the case that we needed to grow the height of the metadata tree we were looking up the inode buffer and then brelse()ing it despite the fact that it is needed later in the block map process. This patch ensures that we look up the inode's buffer once and only once during the block map process. Signed-off-by: Steven Whitehouse commit 77658aad226866fb94097236d14d41a88aaab2ec Author: Steven Whitehouse Date: Tue Feb 12 14:17:27 2008 +0000 [GFS2] Eliminate (almost) duplicate field from gfs2_inode The blocks counter is almost a duplicate of the i_blocks field in the VFS inode. The only difference is that i_blocks can be only 32bits long for 32bit arch without large single file support. Since GFS2 doesn't handle the non-large single file case (for 32 bit anyway) this adds a new config dependency on 64BIT || LSF. This has always been the case, however we've never explicitly said so before. Even if we do add support for the non-LSF case, we will still not require this field to be duplicated since we will not be able to access oversized files anyway. So the net result of all this is that we shave 8 bytes from a gfs2_inode and get our config deps correct. Signed-off-by: Steven Whitehouse commit 30cbf189cd2a1ba13ff3c8c8ee2103dbdb18578a Author: Steven Whitehouse Date: Fri Feb 8 13:18:11 2008 +0000 [GFS2] Add a function to interate over an extent This adds a function (currently the only use is during mapping of already allocated blocks, but watch this space) which iterates over a number of pointers in a block and returns the extent length. If the initial pointer is 0 (i.e. unallocated) it will return the number of unallocated blocks in the extent. If the initial pointer is allocated, then it returns the number of contiguously allocated blocks in the extent. Signed-off-by: Steven Whitehouse commit c85a665f064863cc8a2fe88e5f1eb4def5446e90 Author: Steven Whitehouse Date: Tue Feb 12 12:14:59 2008 +0000 [GFS2] The case of the missing asterisk A dereference was forgotten. This adds it back correctly. Signed-off-by: Steven Whitehouse commit b45e41d7d56dfef1ae9e02e6c59990066ba82e5c Author: Steven Whitehouse Date: Wed Feb 6 10:11:15 2008 +0000 [GFS2] Add extent allocation to block allocator Rather than having to allocate a single block at a time, this patch allows the block allocator to allocate an extent. Since there is no difference (so far as the block allocator is concerned) between data blocks and indirect blocks, it is posible to allocate a single extent and for the caller to unrevoke just the blocks required for indirect blocks. Currently the only bit of GFS2 to make use of this feature is the build height function. The intention is that gfs2_block_map will be changed to make use of this feature in future patches. Signed-off-by: Steven Whitehouse commit 1639431a3f57b43da1e15e9268a1d691ac01ba26 Author: Steven Whitehouse Date: Fri Feb 1 14:52:30 2008 +0000 [GFS2] Merge gfs2_alloc_meta and gfs2_alloc_data Thanks to the preceeding patches, the only difference between these two functions is their name. We can thus merge them and call the new function gfs2_alloc_block to reflect the fact that it can allocate either kind of block. Signed-off-by: Steven Whitehouse commit 5731be53e3d82aedd06e02574f833a57b07a08d2 Author: Steven Whitehouse Date: Fri Feb 1 13:16:55 2008 +0000 [GFS2] Update gfs2_trans_add_unrevoke to accept extents By adding an extra argument to gfs2_trans_add_unrevoke we can now specify an extent length of blocks to unrevoke. This means that we only need to make one pass through the list for each extent rather than each block. Currently the only extent length which is used is 1, but that will change in the future. Also gfs2_trans_add_unrevoke is removed from gfs2_alloc_meta since its the only difference between this and gfs2_alloc_data which is left. This will allow a future patch to merge these two functions into one (i.e. one call to allocate both data and metadata in a single extent in the future). Signed-off-by: Steven Whitehouse commit ac576cc5bed0dd7759e2b196468c7df93d6aeeee Author: Steven Whitehouse Date: Fri Feb 1 10:34:15 2008 +0000 [GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields We don't need to keep track of when we last allocated data and metadata separately since the only thing thats important when searching for a free block is whether its free or not, which is independent from what type of block it is. Signed-off-by: Steven Whitehouse commit ce276b06e8b81845926387e93f77bf81e14b5cc2 Author: Steven Whitehouse Date: Wed Feb 6 09:25:45 2008 +0000 [GFS2] Reduce inode size by merging fields There were three fields being used to keep track of the location of the most recently allocated block for each inode. These have been merged into a single field in order to better keep the data and metadata for an inode close on disk, and also to reduce the space required for storage. Signed-off-by: Steven Whitehouse commit 9feb7c889f2a3b088a7f6583e609bd39997c0f47 Author: Bob Peterson Date: Tue Feb 5 17:11:40 2008 -0600 [GFS2] Remove unused counters This is kind of trivial in the greater scheme of things, but this removes three counters that AFAICT are never used. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 9a0045088d888c9c539c8c626a366cb52c0fbdab Author: Steven Whitehouse Date: Fri Feb 1 09:23:44 2008 +0000 [GFS2] Shrink & rename di_depth This patch forms a pair with the previous patch which shrunk di_height. Like that patch di_depth is renamed i_depth and moved into struct gfs2_inode directly. Also the field goes from 16 bits to 8 bits since it is also limited to a max value which is rather small (17 in this case). In addition we also now validate the field against this maximum value when its read in. Signed-off-by: Steven Whitehouse commit cf45b752c9f23939e40d823b0600bf876e97b0e0 Author: Bob Peterson Date: Thu Jan 31 10:31:39 2008 -0600 [GFS2] Remove rgrp and glock version numbers This patch further reduces GFS2's memory requirements by eliminating the 64-bit version number fields in lieu of a couple bits. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit da755fdb414470d6dce3df12ad188de9131cf96c Author: Steven Whitehouse Date: Wed Jan 30 15:34:04 2008 +0000 [GFS2] Remove lm.[ch] and distribute content The functions in lm.c were just wrappers which were mostly only used in one other file. By moving the functions to the files where they are being used, they can be marked static and also this will usually result in them being inlined since they are often only used from one point in the code. A couple of really trivial functions have been inlined by hand into the function which called them as it makes the code clearer to do that. We also gain from one fewer function call in the glock lock and unlock paths. Signed-off-by: Steven Whitehouse commit ab0d756681c9502a2ab9e2e4ab3685bc0567f4ee Author: Bob Peterson Date: Tue Jan 29 13:56:15 2008 -0600 [GFS2] Eliminate gl_req_bh This patch further reduces the memory needs of GFS2 by eliminating the gl_req_bh variable from struct gfs2_glock. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 110acf38377b5b341b11644bfe98389eccec627d Author: Steven Whitehouse Date: Tue Jan 29 13:30:20 2008 +0000 [GFS2] Add consts to various bits of rgrp.c There are a couple of routines which scan bitmaps where we can mark the bitmaps const, plus a couple of call sites that can be updated too. Signed-off-by: Steven Whitehouse commit dbac6710a6dfcec7fbe7d9571c183d86a4237623 Author: Steven Whitehouse Date: Tue Jan 29 09:12:55 2008 +0000 [GFS2] Introduce array of buffers to struct metapath The reason for doing this is to allow all the block mapping code to share the same array. As a result we can remove two arguments from lookup_metapath since they are now returned via the array. We also add a function to drop all refs to buffer heads when we are done with the metapath. The build_height function shares the struct metapath, but currently still frees its own buffers, and this will change in a future patch. Signed-off-by: Steven Whitehouse commit 11707ea05e85290d10c482b87e195c198f5eb3cf Author: Steven Whitehouse Date: Mon Jan 28 15:10:29 2008 +0000 [GFS2] Move part of gfs2_block_map into a separate function This is required to enable future changes to the block mapping code. Signed-off-by: Steven Whitehouse commit 29d38cd16358dcaef4a6c50866ecee28025b481a Author: Bob Peterson Date: Mon Jan 28 22:31:39 2008 -0600 [GFS2] Get rid of gl_waiters2 This patch reduces memory by replacing the int variable gl_waiters2 by a single bit in the gl_flags. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 42d52e3818751633656fb90df1bd5cb5362fa8cc Author: Bob Peterson Date: Mon Jan 28 18:38:07 2008 -0600 [GFS2] Combine rg_flags and rd_flags This patch reduces the memory required by GFS2 by combining the rd_flags and rg_flags (in core only). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 6bdd9be628fa5f4dd14eb89ebddc12840d684277 Author: Bob Peterson Date: Mon Jan 28 17:20:26 2008 -0600 [GFS2] Allocate gfs2_rgrpd from slab memory This patch moves the gfs2_rgrpd structure to its own slab memory. This makes it easier to control and monitor, and yields less memory fragmentation. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 3ad62e87cd38817361e165cf4ad496ab76e19e81 Author: Bob Peterson Date: Mon Jan 28 16:35:13 2008 -0600 [GFS2] Plug an unlikely leak Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 048786f1e6042022a8fb2035157a8c8c3a82a4f2 Author: Adrian Bunk Date: Tue Jan 29 00:11:34 2008 +0200 [GFS2] make gfs2_glock_hold() static gfs2_glock_hold() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Steven Whitehouse commit ef8c441cb7fece75dbbdb1f59d3f82b6a4be7474 Author: Bob Peterson Date: Mon Jan 28 14:54:16 2008 -0600 [GFS2] Only wake the reclaim daemon if we need to This patch only wakes up the glock reclaim daemon if there is actually something to be reclaimed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 7eabb77e65c559d9c284da232b9ba5354898028a Author: Bob Peterson Date: Mon Jan 28 11:24:35 2008 -0600 [GFS2] Misc fixups This patch contains two small fixups that didn't fit elsewhere. They are: (1) get rid of temp variable in find_metapath. (2) Remove vestigial "ret" variable from gfs2_writepage_common. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d0109bfa84d6603becac8c2e87b3716f557f2039 Author: Bob Peterson Date: Mon Jan 28 11:20:10 2008 -0600 [GFS2] Only do lo_incore_commit once This patch is performance related. When we're doing a log flush, I noticed we were calling buf_lo_incore_commit twice: once for data bufs and once for metadata bufs. Since this is the same function and does the same thing in both cases, there should be no reason to call it twice. Since we only need to call it once, we can also make it faster by removing it from the generic "lops" code and making it a stand-along static function. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ca390601a8bbb4ab8301a9469d23cdb1cf77e7cb Author: Bob Peterson Date: Mon Jan 28 11:15:57 2008 -0600 [GFS2] Fix debug inode printing I noticed that the latest change to i_height got rid of the value from the inode dump. This patch adds it back. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit fe6c991c52a0dd07d4a19d392fd65048226cb1bc Author: Bob Peterson Date: Mon Jan 28 11:13:02 2008 -0600 [GFS2] Get rid of unneeded parameter in gfs2_rlist_alloc This patch removed the unnecessary parameter from function gfs2_rlist_alloc. The parameter was always passed in as 0. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ecc30c79157103e8bd7492043ee992b763443832 Author: Steven Whitehouse Date: Mon Jan 28 10:37:35 2008 +0000 [GFS2] Streamline indirect pointer tree height calculation This patch improves the calculation of the tree height in order to reduce the number of operations which are carried out on each call to gfs2_block_map. In the common case, we now make a single comparison, rather than calculating the required tree height from scratch each time. Also in the case that the tree does need some extra height, we start from the current height rather from zero when we work out what the new height ought to be. In addition the di_height field is moved into the inode proper and reduced in size to a u8 since the value must be between 0 and GFS2_MAX_META_HEIGHT (10). Signed-off-by: Steven Whitehouse commit 941e6d7d09aaf455c0d7ad383f7f5ae67e4ccf16 Author: Steven Whitehouse Date: Mon Jan 28 08:47:38 2008 +0000 [GFS2] Speed up gfs2_write_alloc_required, deprecate gfs2_extent_map This patch removes the call to gfs2_extent_map from gfs2_write_alloc_required, instead we call gfs2_block_map directly. This results in fewer overall calls to gfs2_block_map in the multi-block case. Also, gfs2_extent_map is marked as deprecated so that people know that its going away as soon as all the callers have been converted. Signed-off-by: Steven Whitehouse commit 04c366f06341259c88886a0d359e3597ba4c23f6 Author: Uwe Kleine-König Date: Wed Feb 6 15:22:56 2008 +0100 ns9xxx: add clock api Signed-off-by: Uwe Kleine-König commit ed6f5987235c628e1041311d7c1efdf659e2dad7 Author: Uwe Kleine-König Date: Tue Dec 11 16:52:50 2007 +0100 ns9xxx: add support for irq priorisation prio2irq(0) is the highest prioritized interrupt. For now there is no binary change intended. If you intend to change the priorisation, you have to assert: ∀ x ∈ {0, 1, ⋯ 31}: (irq2prio ∘ prio2irq)(x) = x Signed-off-by: Uwe Kleine-König commit 3edf8fa5ccf10688a9280b5cbca8ed3947c42866 Author: David S. Miller Date: Mon Mar 31 00:28:14 2008 -0700 [NET]: Fix allnoconfig build on powerpc and avr32 As reported by Haavard Skinnemoen and Stephen Rothwell: > allnoconfig fails with > > include/linux/netdevice.h:843: error: implicit declaration of function 'dev_net' > > which seems to be because the definition of dev_net is inside #ifdef > CONFIG_NET, while next_net_device, which calls it, is not. Signed-off-by: David S. Miller commit 5e69b945f20aec17bf057acbb61b6682461e7149 Author: Uwe Kleine-König Date: Fri Feb 29 13:27:53 2008 +0100 ns9xxx: make use of the chip's irq priorisation The irq controller automatically masks the current and all lower prioritised tasks until the current irq is acked. Signed-off-by: Uwe Kleine-König commit a287453e37a11a128ee0761e1db2e79d7faacdb3 Author: Uwe Kleine-König Date: Wed Feb 6 15:10:41 2008 +0100 ns9xxx: let putc autodetect where to write Now putc writes to the first enabled internal UART. If there is none the external UART on the a9m9750dev board is used (if enabled). Otherwise there is no output. Signed-off-by: Uwe Kleine-König commit 724ce5ee15ff4c4f3035110b683b990a3b33c832 Author: Uwe Kleine-König Date: Fri Feb 15 08:41:06 2008 +0100 ns9xxx: prepare for adding support for Digi ns921x processors The hardware team changed some things that were taken as being common to all ns9xxx processors up to now. This patch addresses: - irqs: s/IRQ_/IRQ_NS9360_/ - system module registers: some registers are still general, their definition lives now in include/asm-arm/arch-ns9xxx/regs-sys-common.h. The ns9360 specific ones are in .../regs-sys-ns9360.h As a result ns9360_systemclock cannot be static inline any more as its definition needs regs-sys-ns9360.h. This becomes a real problem when adding support for ns9215 as this will need regs-sys-ns9215.h and including both files will not work. For the same reason ns9360_reset() is now non-inline and gpio functions live in their own file. - register mapping: s/ns9xxx_map_io/ns9360_map_io/ - timer registers: move time.c to time-ns9360.c; s/ns9xxx_timer/ns9360_timer/ Signed-off-by: Uwe Kleine-König commit 3a581349b961f225893103a0fbbd065a831c5184 Author: Uwe Kleine-König Date: Tue Jan 8 11:42:44 2008 +0100 ns9xxx: update defconfig - add all available mach types for ns9xxx even if the corresponding variables don't exist yet. - minimize such that only relevant variables are defined. For others the default value is used. Signed-off-by: Uwe Kleine-König commit a9fc01f919521886436f6cdcc2c0c302d4afae15 Author: Uwe Kleine-König Date: Tue Oct 16 16:56:05 2007 +0200 ns9xxx: add module_is_..., processor_is_... and board_is_... for many machs Most of the machines are not yet supported, but I have to start somewhere. Signed-off-by: Uwe Kleine-König commit 13f429bd1b48ab67037a746ed274d7f58bb325d5 Author: Uwe Kleine-König Date: Tue Oct 16 15:32:59 2007 +0200 ns9xxx: introduce a config variable for the cc9p9360 module Moreover now it's the module that selects the processor, and not the machine anymore. Signed-off-by: Uwe Kleine-König commit ab65b87093a38ad8565780494c74bd7afd79ad9a Author: Uwe Kleine-König Date: Tue Oct 16 08:03:00 2007 +0200 ns9xxx: Use get_irqnr_preamble to initialize base register This patch optimizes the irq handling a bit. Now the base register is only computed once if more than one irq is pending. Signed-off-by: Uwe Kleine-König commit c1a9e91e426a78728c0e815b0355a7c0374d1088 Author: Uwe Kleine-König Date: Tue Feb 5 16:08:50 2008 +0100 ns9xxx: use default text offset Signed-off-by: Uwe Kleine-König commit 210b94e864de9d50ed08603a1ff0834603f309e0 Author: Uwe Kleine-König Date: Thu Jan 31 14:20:21 2008 +0100 ns9xxx: move registration of serial8250 to a dedicated file Now the needed structs are allocated dynamically from __init code reducing memory usage if the kernel runs on a board different from a9m9750dev. Signed-off-by: Uwe Kleine-König commit 17eed249539a7b756ca65a5cb0940abc48ef553b Merge: 4ad96d3... 318a94d... Author: David S. Miller Date: Fri Mar 28 19:48:26 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 318a94d68979cbe9cc98a3050b4b7be2f08513c8 Author: Jeff Kirsher Date: Fri Mar 28 09:15:16 2008 -0700 e1000e: reorganize PHY and flow control interface This reorganization moves the PHY status into a separate struct. Flow Control setup is moved into this struct as well and frame size away from here into the adapter struct where its inly use is. The post-link-up code is now a separate function and moved out of the watchdog function itself. This allows us to track the es2lan restart issue a bit easier. Signed-off-by: Jeff Kirsher Signed-off-by: Bruce Allan Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e2de3eb69c40c01739ce9b154c65e51d94d72966 Author: Jeff Kirsher Date: Fri Mar 28 09:15:11 2008 -0700 e1000e: rename mc_addr_list_update Rename this function to be consistent with function naming (verb first) Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit ad68076e07fa01bd0c98278a959d0fd2bb26f1ac Author: Bruce Allan Date: Fri Mar 28 09:15:03 2008 -0700 e1000e: reformat comment blocks, cosmetic changes only Adjusting the comment blocks here to be code-style compliant. no code changes. Changed some copyright dates to 2008. Indentation fixes. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 652f093fdf14c7ca1e13c052da429ae385e4dc21 Author: Denis V. Lunev Date: Thu Mar 27 14:39:17 2008 +0300 Compilation fix for ixgbe_main.c. Under CONFIG_DCA the compilation is broken since the commit bd0362dde080cef377d99fa5beb5c25308c29c73 (ixgbe: Add optional DCA infrastructure). IXGBE_SUCCESS is not defined anywhere, replace it with 0. Signed-off-by: Denis V. Lunev Signed-off-by: Jeff Garzik commit 80950f8b71176ae8b6f2a78de039b8bc2da7f480 Author: Mariusz Kozlowski Date: Fri Mar 28 14:41:29 2008 -0700 net: yellowfin parenthesis fix The code is under unused #ifdef NO_TXSTATS branch but its better to have it fixed. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a5af6ad3a0d4f5c6d0a3535d46fc1b26eeff0816 Author: Daniel Walker Date: Fri Mar 28 14:41:28 2008 -0700 netdev: ehea: port_lock semaphore to mutex Convert the port_lock to a mutex. There is also some additional cleanup. The line length inside the ehea_rereg_mrs was getting long so I made some adjustments to shorten them. [akpm@linux-foundation.org: dec99ification] Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit da59cde4825bd42f305efb8e6335f1b58ab8d88c Author: Daniel Walker Date: Fri Mar 28 14:41:28 2008 -0700 netdev: ehea: bcmc_regs semaphore to mutex Convert the ehea_bcmc_regs.lock to a mutex. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit dbbcbb2d95dc4faa3b96d39f78032c85e8745c0c Author: Daniel Walker Date: Fri Mar 28 14:41:27 2008 -0700 netdev: ehea: locking order correction Nested locks always need to be taken in the same order. This change factors out the ehea_fw_handles.lock to make the locking order consistent. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9f71a568f5f1d6c9fb3ca89b6b973475e6475192 Author: Daniel Walker Date: Fri Mar 28 14:41:26 2008 -0700 netdev: ehea: ehea_fw_handles semaphore to mutex Converted the ehea_fw_handles.lock to a mutex. Signed-off-by: Daniel Walker Cc: Christoph Raisch Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 06f89edf89f254346c95d0c569cecd606459d83e Author: Daniel Walker Date: Fri Mar 28 14:41:26 2008 -0700 netdev: ehea: semaphore to mutex Converted the dlpar_mem_lock. With a bit of cleanup, I converted to DEFINE_MUTEX() instead of a runtime init. I also made the lock static. Signed-off-by: Daniel Walker Cc: Christoph Raisch Acked-by: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b7aa69097acb86c118edaa5e339b714617062dfe Author: S.Caglar Onur Date: Fri Mar 28 14:41:25 2008 -0700 drivers/net/tokenring/3c359.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9307b570a745da4f2d83195f5337927e98221bb2 Author: S.Caglar Onur Date: Fri Mar 28 14:41:24 2008 -0700 drivers/net/arcnet/arcnet.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So use the time_after() macro, defined in linux/jiffies.h, which deals with wrapping correctly. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: S.Caglar Onur Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac4bed1375c06af7c76b4615ae661791b62e93ef Author: Ondrej Zary Date: Fri Mar 28 14:41:23 2008 -0700 3c509: convert to isa_driver and pnp_driver Convert 3c509 driver to isa_driver and pnp_driver. The result is that autoloading using udev and hibernation works with ISA PnP cards. It also adds hibernation support for non-PnP ISA cards. xcvr module parameter was removed as its value was not used. Tested using 3 ISA cards in various combinations of PnP and non-PnP modes. EISA and MCA only compile-tested. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4ad96d39a2d74c1b2e400b602da2594f5098fc26 Author: Denis V. Lunev Date: Fri Mar 28 18:25:53 2008 -0700 [UDP]: Remove owner from udp_seq_afinfo. Move it to udp_seq_afinfo->seq_fops as should be. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3ba9441bdf07370670a684e6d95dfc523476677f Author: Denis V. Lunev Date: Fri Mar 28 18:25:32 2008 -0700 [UDP]: Place file operations directly into udp_seq_afinfo. No need to have separate never-used variable. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a2be75c182cd16bc104919e33451ffda8b6f65b4 Author: Denis V. Lunev Date: Fri Mar 28 18:25:06 2008 -0700 [UDP]: Cleanup /proc/udp[6] creation/removal. Replace seq_open with seq_open_net and remove udp_seq_release completely. seq_release_net will do this job just fine. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit dda61925f84d89e2f2a4597d6298a05a2bc05c20 Author: Denis V. Lunev Date: Fri Mar 28 18:24:26 2008 -0700 [UDP]: Move seq_ops from udp_iter_state to udp_seq_afinfo. No need to create seq_operations for each instance of 'netstat'. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 997feb5e7a24ce155c1d3bea9d0b5c6530bb6197 Author: Denis V. Lunev Date: Fri Mar 28 18:24:01 2008 -0700 [UDP]: No need to check afinfo != NULL in udp_proc_(un)register. udp_proc_register/udp_proc_unregister are called with a static pointer only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6f191efe48af62dd5f8917dd21d187f896cd6c81 Author: Denis V. Lunev Date: Fri Mar 28 18:23:33 2008 -0700 [UDP]: Replace struct net on udp_iter_state with seq_net_private. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a0f55e0e833009c6a4eeb2626b807e3c21b128c8 Author: David S. Miller Date: Fri Mar 28 18:22:32 2008 -0700 [NET]: Fix dev_alloc_skb() typo. Noticed by Joe Perches. Signed-off-by: David S. Miller commit 095d911201b0741e7f326d269a005dba55985acf Author: Pavel Emelyanov Date: Fri Mar 28 16:39:58 2008 -0700 [LIB]: Drop the pcounter itself. The knock-out. The pcounter abstraction is not used any longer in the kernel. Not sure whether this should go via netdev tree, but as far as I remember it was added via this one, and besides Eric thinks that Andrew shouldn't mind this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit bdcde3d71a67e97f25e851f3ca97c9bb5ef03e7f Author: Pavel Emelyanov Date: Fri Mar 28 16:39:33 2008 -0700 [SOCK]: Drop inuse pcounter from struct proto (v2). An uppercut - do not use the pcounter on struct proto. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 60e7663d462af3994f292cb3691ea4f7371a9220 Author: Pavel Emelyanov Date: Fri Mar 28 16:39:10 2008 -0700 [SOCK]: Drop per-proto inuse init and fre functions (v2). Constructive part of the set is finished here. We have to remove the pcounter, so start with its init and free functions. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 1338d466d9c3f8a65cc6d83c629cd906f2a989f8 Author: Pavel Emelyanov Date: Fri Mar 28 16:38:43 2008 -0700 [SOCK]: Introduce a percpu inuse counters array (v2). And redirect sock_prot_inuse_add and _get to use one. As far as the dereferences are concerned. Before the patch we made 1 dereference to proto->inuse.add call, the call itself and then called the __get_cpu_var() on a static variable. After the patch we make a direct call, then one dereference to proto->inuse_idx and then the same __get_cpu_var() on a still static variable. So this patch doesn't seem to produce performance penalty on SMP. This is not per-net yet, but I will deliberately make NET_NS=y case separated from NET_NS=n one, since it'll cost us one-or-two more dereferences to get the struct net and the inuse counter. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 13ff3d6fa4e6d8b6ee7c64245a0078e6a0e6f977 Author: Pavel Emelyanov Date: Fri Mar 28 16:38:17 2008 -0700 [SOCK]: Enumerate struct proto-s to facilitate percpu inuse accounting (v2). The inuse counters are going to become a per-cpu array. Introduce an index for this array on the struct proto. To handle the case of proto register-unregister-register loop the bitmap is used. All its bits manipulations are protected with proto_list_lock and a sanity check for the bitmap being exhausted is also added. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit bc578a54f0fd489d0722303f9a52508495ccaf9a Author: Joe Perches Date: Fri Mar 28 16:35:27 2008 -0700 [NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_* On Fri, 2008-03-28 at 03:24 -0700, Andrew Morton wrote: > they should all be renamed. Done for include/net and net Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit be2ce06b4962658d807410e58f7c6b739dc6a0c3 Author: Rami Rosen Date: Fri Mar 28 16:26:45 2008 -0700 [IPV6]: Remove unused method declaration in include/net/addrconf.h. This patches removes unused declaration of addrconf_forwarding_on() method in include/net/addrconf.h. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 1483b8744e1a189b2018e2a1bd82f343d6bb52d2 Author: Denys Vlasenko Date: Fri Mar 28 15:57:39 2008 -0700 [NET]: Add inline intent commentary to dev_alloc_skb(). Signed-off-by: Denys Vlasenko Signed-off-by: David S. Miller commit 1567ca7eec7664b8be3b07755ac59dc1b1ec76cb Author: David S. Miller Date: Fri Mar 28 15:53:11 2008 -0700 [NET]: Protect device namespace inlines with CONFIG_NET Include sites should not be bothered by whether CONFIG_NET is set or not when trying to include benign files like linux/etherdevice.h et al. From a report by Stephen Rothwell. Signed-off-by: David S. Miller commit 3ad0920d7b11a88379ec4db186be3eee667c4278 Author: Steve Birtles Date: Sat Feb 9 04:49:55 2008 +0100 [ARM] 4825/1: adds support for YL9200 board 1. Configuration file for YL9200 2. Board file fro YL9200 Adds support for the UCdragon YL9200 board available widly in China Signed-off-by: steve birtles Signed-off-by: Russell King commit 0736ffc04eec239cce9fd3c6ae5dce54e14c25c7 Author: YOSHIFUJI Hideaki Date: Fri Mar 28 13:37:58 2008 +0900 [IPV6] NEIGH: Optimize is_router check. Our interest is not the whole entry of proxy neighbor but the NTF_ROUTER flag. Let's test it explicitly. Signed-off-by: YOSHIFUJI Hideaki commit be01d655d9b07c1350b19bf3d80eae0059254b4b Author: YOSHIFUJI Hideaki Date: Fri Mar 28 12:46:53 2008 +0900 [NET] NEIGHBOUR: Extract hash/lookup functions for pneigh entries. Extract hash function for pneigh entries from pneigh_lookup(), __pneigh_lookup() and pneigh_delete() as pneigh_hash(). Extract core of pneigh_lookup() and __pneigh_lookup() as __pneigh_lookup_1(). Signed-off-by: YOSHIFUJI Hideaki commit 0a204500f913974b4ca9b6f509a43e1544239c6d Author: YOSHIFUJI Hideaki Date: Mon Mar 24 18:39:10 2008 +0900 [NET] NEIGHBOUR: Make each EXPORT_SYMBOL{,_GPL}() immediately follow its function/variable. Signed-off-by: YOSHIFUJI Hideaki commit ada397e93d6002021f5bf4ba060aa4ecd5dea3e5 Author: Gerhard Stenzel Date: Fri Mar 28 14:18:30 2008 +1100 [POWERPC] spufs: fix incorrect file descriptors in SPU coredump note names At present, ppu-gdb can't trace spu infomation with coredump generated by the kernel. While the core dumps notes have correct contents, they have the wrong names, as the file descriptors used to generate the note names are off-by-one. An application that opens a SPE context as fd 3, the current core dump code will generate notes like: SPU/4/mem SPU/4/regs etc. This confuses GDB, which knows it is looking for SPE context 3 (from parsing the spu_context_run system call arguments), and cannot find any notes that match context 3. This change corrects the file descriptor counting, to only increment the fd until after we've written the note name. Signed-off-by: Gerhard Stenzel Signed-off-by: Jeremy Kerr commit 36d29edb6dded938bf07f741a0bb0f2a7116e617 Author: Jeremy Kerr Date: Thu Mar 27 14:59:58 2008 +1100 [POWERPC] spufs: save MFC command channel before purging MFC queue During the context save process, we currently save the MFC command channel after purging the MFC queues. This causes a systemsim warning, as the command channel may be in an unknown state after the purge. This change does the save before purging the MFC queues. Signed-off-by: Jeremy Kerr commit 4eb5aef583aab29dc125b6c2feb0b31f2e350c45 Author: Jeremy Kerr Date: Tue Mar 25 13:32:03 2008 +1100 [POWERPC] spufs: reacquire LS pointer in spu_process_callback During spu_process callback, we release then acquire the SPU, but keep a pointer to the local store memory. Since the context may have been scheduled out during the callback, the ls pointer may become invalid. This change reacquires the pointer to the context local store after spu_acquire()-ing, so that it isn't invalidated by a context switch. Signed-off-by: Jeremy Kerr commit af8b44e01b4e5a94cb665f6b958f5a5bc4025b0e Author: Jeremy Kerr Date: Tue Mar 25 13:15:11 2008 +1100 [POWERPC] spufs: add newline to signal{1,2}_type files All of the single-value files in spufs are terminated by a newline, except for signal1_type and signal2_type. This change adds a trailing newline to these two files. Signed-off-by: Jeremy Kerr commit 8e8e43843ba3ced0c657cbc0fdb10644ec60f772 Merge: ed85f2c... 50fd440... Author: David S. Miller Date: Thu Mar 27 18:48:56 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/usb/rndis_host.c drivers/net/wireless/b43/dma.c net/ipv6/ndisc.c commit ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e Merge: bc09dff... e5225b3... Author: David S. Miller Date: Thu Mar 27 18:01:13 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit bc09dff198e67a98a82c42000006b39f6d502031 Author: Ilpo Järvinen Date: Thu Mar 27 17:54:29 2008 -0700 [SCTP]: Remove sctp_add_cmd_sf wrapper bloat With a was number of callsites sctp_add_cmd_sf wrapper bloats kernel by some amount. Due to unlikely tracking allyesconfig, with the initial result were around ~7kB (thus caught my attention) while a non-debug config produced only ~2.3kB effect. I (ij) proposed first a patch to uninline it but Vlad responded with a patch that removed the only sctp_add_cmd call which is wrapped by sctp_add_cmd_sf (I wasn't sure if I could do that). I did minor cleanup to Vlad's patch. Signed-off-by: Ilpo Järvinen Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 419ae74ecc9494e58928a5c6652f4c072f3ca744 Author: Ilpo Järvinen Date: Thu Mar 27 17:54:01 2008 -0700 [NET]: uninline skb_trim, de-bloats Allyesconfig (v2.6.24-mm1): -10976 209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -7360 192 funcs, 131 +, 7491 -, diff: -7360 --- skb_trim skb_trim | +42 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8d3308687f7f1eaa1bb5d202d14752d5f90068eb Author: Ilpo Järvinen Date: Thu Mar 27 17:53:31 2008 -0700 [NET]: uninline dst_release Codiff stats (allyesconfig, v2.6.24-mm1): -16420 187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -7257 186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release dst_release | +40 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c2aa270ad73d385bd6cdebf5d741bdf18a3e17ad Author: Ilpo Järvinen Date: Thu Mar 27 17:52:40 2008 -0700 [NET]: uninline skb_push, de-bloats a lot Allyesconfig (v2.6.24-mm1): -21593 356 funcs, 2418 +, 24011 -, diff: -21593 --- skb_push Without many debug related CONFIGs (v2.6.25-rc2-mm1): -13890 341 funcs, 189 +, 14079 -, diff: -13890 --- skb_push skb_push | +46 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f58518e678e5eef430c8d5cdcc7cd28d285f1980 Author: Ilpo Järvinen Date: Thu Mar 27 17:51:31 2008 -0700 [NET]: uninline dev_alloc_skb, de-bloats a lot Allyesconfig (v2.6.24-mm1): -23668 392 funcs, 104 +, 23772 -, diff: -23668 --- dev_alloc_skb Without many debug CONFIGs (v2.6.25-rc2-mm1): -12178 382 funcs, 157 +, 12335 -, diff: -12178 --- dev_alloc_skb dev_alloc_skb | +37 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6be8ac2fdc5e69dec53913a42312a92dbfbd4907 Author: Ilpo Järvinen Date: Thu Mar 27 17:47:24 2008 -0700 [NET]: uninline skb_pull, de-bloats a lot Allyesconfig (v2.6.24-mm1): -28162 354 funcs, 3005 +, 31167 -, diff: -28162 --- skb_pull Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -9697 338 funcs, 221 +, 9918 -, diff: -9697 --- skb_pull skb_pull | +44 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0dde3e16485dca16eb682dd59da1a598bf62e284 Author: Ilpo Järvinen Date: Thu Mar 27 17:43:41 2008 -0700 [NET]: uninline skb_put, de-bloats a lot Allyesconfig (v2.6.24-mm1): ~500 files changed ... 869 funcs, 198 +, 111003 -, diff: -110805 --- skb_put skb_put | +104 Without number of debug related CONFIGs (v2.6.25-rc2-mm1): -60744 855 funcs, 861 +, 61605 -, diff: -60744 --- skb_put skb_put | +57 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4f95165d4bf6369d57052d60cc0266c569c6b077 Author: Rami Rosen Date: Thu Mar 27 17:39:19 2008 -0700 [IPV6]: Remove three unused method declarations in include/net/ipv6.h This patch removes three unused method declarations in include/net/ipv6.h: inet_getfrag_t(), ipv6_build_nfrag_opts() and ipv6_build_frag_opts(). Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 09382bac667821017144de6b733a26f29a1c185b Author: Denis V. Lunev Date: Thu Mar 27 16:53:37 2008 -0700 [PKT_SCHED]: Pass real namespace in net scheduler classifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2d38f9a4f8d2ebdc799f03eecf82345825495711 Author: Denis V. Lunev Date: Thu Mar 27 14:26:30 2008 -0700 [NETNS]: Do no include NET related headers if CONFIG_NET is not set. This fix broken compilation for 'allnoconfig'. This was introduced by Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.") Signed-off-by: Denis V. Lunev Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0e5f8be1388093edc324a78ebf241170b258eba3 Author: Denis V. Lunev Date: Thu Mar 27 14:25:53 2008 -0700 [NETNS]: Compile NET /proc support only if CONFIG_NET is set. This fix broken compilation for 'allnoconfig'. This was introduced by Introduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 ("[NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS.") Signed-off-by: Denis V. Lunev Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e5225b397308f9eea86327293b73dc88068e0179 Author: Holger Schurig Date: Wed Mar 26 10:04:44 2008 +0100 libertas: reduce debug output This patch tries to make dmesg logs between different runs easier to compare by * removing the jiffies (use CONFIG_PRINTK_TIME if you need timing) * remove the line numbers, they change with each applied patch It also changes the deprecated __FUNCTION__ to __func__ to make checkpatch.pl happy. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 056cdd599d004e36de64c925b8a13f6676451360 Author: Johannes Berg Date: Wed Mar 26 23:21:47 2008 +0100 mac80211: reorder fields to make some structures smaller This patch reorders some fields in various structures to have less padding within the structures, making them smaller. It doesn't yet make any type adjustments, but often size_t is used for example for IE lengths which is total overkill since size_t will be 8 bytes long on 64-bit yet the length can at most fill a u8. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8dd62822ddbf6a9314e9b92a3816c04490c91293 Author: John W. Linville Date: Wed Mar 26 15:21:33 2008 -0400 prism54: correct thinko in "prism54: Convert stats_sem in a mutex" mutex_trylock has different return code semantics than down_trylock... Signed-off-by: John W. Linville commit cee24a3e580f1062c8bb8b1692b95014d882bc7d Author: Ron Rindjunsky Date: Wed Mar 26 20:36:03 2008 +0200 mac80211: A-MPDU MLME use dynamic allocation This patch alters the A-MPDU MLME in sta_info to use dynamic allocation, thus drastically improving memory usage - from a constant ~2 Kbyte in the previous (static) allocation to a lower limit of ~200 Byte and an upper limit of ~2 Kbyte. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 6c507cd0400cb51dd2ee251c1b8756b9375a1128 Author: Johannes Berg Date: Wed Mar 26 14:14:55 2008 +0100 cfg80211: don't export ieee80211_get_channel This patch makes ieee80211_get_channel a static inline defined in cfg80211's header file which simply calls __ieee80211_get_channel to avoid symbol clashes with the ieee80211 code. The problem was pointed out by David Miller, thanks! Signed-off-by: Johannes Berg Cc: David Miller Signed-off-by: John W. Linville commit 7d5796118353cd45e9e301fdf3ff99fdec5390e9 Author: Holger Schurig Date: Wed Mar 26 13:26:55 2008 +0100 libertas: the compact flash driver is no longer experimental Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 62436138c83f221943c1f5d9cff41305d3d26ac4 Author: Holger Schurig Date: Wed Mar 26 09:57:45 2008 +0100 libertas: remove CMD_802_11_PWR_CFG This has nowhere been used. Note: in the firmware manual this was documented as CMD_802_11_PA_CFG. If we ever need it, we can/should re-implement it as a direct command. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c2b310a73b62f074b0019b940417cafbdbafde41 Author: Holger Schurig Date: Wed Mar 26 09:57:14 2008 +0100 libertas: kill useless #define LBS_MONITOR_OFF 0 Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 69dc5d9da5c499c23db7b80217023403da103816 Author: Tomas Winkler Date: Tue Mar 25 16:33:41 2008 -0700 iwlwifi: iwl_priv - clean up in types of members This patch fix types of is_open and iw_mode members of iwl_priv sturct Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0472f887e0689fff2dce82c01d40698432965b5a Author: Emmanuel Grumbach Date: Tue Mar 25 16:33:40 2008 -0700 iwlwifi: allow a default callback for ASYNC host commands This patch provides a default callback for ASYNC host commands instead of calling to BUG_ON. Most of the callbacks are now just empty functions Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 24709182754625829e499b5d628affa881d1dba0 Author: Ron Rindjunsky Date: Tue Mar 25 16:33:39 2008 -0700 mac80211: fix wrong Rx A-MPDU control via debugfs This patch eliminate the use of buf_size as a trigger in favor of a new flag to control Rx A-MPDU sessions through debugfs Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 775ea378fa04f39164f170f308ec467ee4ab6d34 Author: Tomas Winkler Date: Tue Mar 25 16:33:38 2008 -0700 iwlwifi: improve NIC i/o debug prints information This patch gives the function's caller name in case NIC access reference count was not used by it. Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 3395f6e9cf48469d7ee05703cad1502002741c16 Author: Tomas Winkler Date: Tue Mar 25 16:33:37 2008 -0700 iwlwifi: rename iwl-4965-io.h to iwl-io.h This patch renames iwl-4965-io.h back to iw-io.h it also remove 4965 from all functions it supplies Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab53d8af6772b22d4d68b1bcd74f7a5dba693983 Author: Mohamed Abbas Date: Tue Mar 25 16:33:36 2008 -0700 iwlwifi: Add led support This patch add LEDS support to 3965 and 4965 drivers. It is based on led trigger and class. For our drivers we needed to avoid two things. 1- We receive led trigger on/off on each Rx\Tx frame. In our driver we can not call led command like that. In this driver once driver receive a start of traffic it call the led command to start blinking then we count all bytes of Tx and Rx frame, after two second we count the blink rate of last two second then id blink rate changed we call the led commands 2- Since we can call led command very often, we make sure we call the led command after we receive the statistics notification so we don't need to wake up the ucode id it is in sleep state. This patch was tested with 4965 and 3945. Signed-off-by: Mohamed Abbas Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e0e0a67e44ce13e34f553b6ab6377560fa9813f1 Author: John W. Linville Date: Tue Mar 25 15:58:40 2008 -0400 iwlwifi: do not register bands with no supported channels Otherwise, b/g-only devices fail in wiphy_register. Signed-off-by: John W. Linville commit be892471c42f70e47541e42b8dba7ff91cebd026 Author: John W. Linville Date: Tue Mar 25 11:43:15 2008 -0400 mac80211: silently accept deletion of non-existant key Otherwise, 'iwconfig wlan0 key off' with no key set results in: Error for wireless request "Set Encode" (8B2A) : SET failed on device wlan0 ; No such file or directory. Signed-off-by: John W. Linville commit 9dd0b194bf6804b1998f0fe261b2606ec7b58d72 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: orion -> orion5x rename Do a global s/orion/orion5x/ of the Orion 5x-specific bits (i.e. not the plat-orion bits.) Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Saeed Bishara Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 159ffb3a04f6bc619643af680df406faafd0199d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: general cleanup Various Orion cleanups: - Unify GPL license banner format across all files. - Unify naming of .h double inclusion guard preprocessor macros. - Unify spelling of "PCIe" (variants seen: PCIE, PCIe, PCI-EX.) - Various typo fixes. - Remove __init attributes from prototypes declared in headers. - Remove trailing comments from #endif statements. - Mark a couple of locally-used-only structs static. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit d50c60a87a95a42f1bc984150d3eebc77a0b0c14 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: enable access to local config space This patch enables access to the local PCIe/PCI configuration space, and is necessary for such things as PCI Advanced Error Recovery to work. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit a99842704a031ac23d4f7344e412a44bb3beb3b3 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: add __init attribute to all boot time-only functions Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 1419468ab548f990b172740d77b5c1032a790114 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: only map peripheral register space once Save some TLB entries by making ioremap() return pointers into the boot-time Orion peripheral iotable mapping whenever someone tries to ioremap any part of the Orion peripheral register space. Signed-off-by: Lennert Buytenhek Reviewed-by: Nicolas Pitre Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit b590bc5cd0ced1019f02ca7c9b8594482304987f Author: Lennert Buytenhek Date: Thu Mar 27 14:51:41 2008 -0400 Orion: move I/O macros out of orion.h Move the Orion register accessor macros out of orion.h, to prevent them from ending up in the decompressor image (Orion uncompress.h includes orion.h.) Move them into io.h, which seems a better place for this kind of stuff. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit da14d88e90d476b315e5e9c3e3ffa940cb670c6d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 Orion: describe physical address map Include a table describing our physical address map in orion.h. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 98f79d1ea0459b907f95846bad5e967a06b7a0d5 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 Orion: revamp cpu mbus window handling Instead of forcing all device bus window setup through one function with some enum as the first argument, create separate window setup functions for each of the four possible targets, and do the demux internally. This allows getting rid of the window identifier enum and the big switch statement in orion_setup_cpu_win(). Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 5d4294c524fc53746b5ec138d2e90f9d34d754b0 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make orion_nand available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 8791ed3295950b06a0edd8aea1d0717f66f3e5cf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make i2c-mv64xxx available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 83aac8a338520573104127b5180f46c11e9f02e7 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make mv643xx_eth available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 705a752162768fed3e2c26fba5bffdd3a3bd04f2 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: make ehci-orion available for all Orion families Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 2bac1de2031aa4cad88a437d4410ec289da4f7dc Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share time handling code Split off Orion time handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit abc0197d7a74e51a1581ce9971d7c2c0f2adadaf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share PCIe handling code Split off Orion PCIe handling code into plat-orion/. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 01eb569823792ab83b2810fcb31fa38560b08951 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:40 2008 -0400 plat-orion: share IRQ handling code Split off Orion IRQ handling code into plat-orion/, and add support for multiple sets of (32) interrupts. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 69b02f6a9639af89c099d06d5f2c4c66a1b03ebf Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 plat-orion: introduce Create arch/arm/plat-orion/, for peripherals shared between various Marvell Orion SoCs. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 15a32632d94011911497052a96cdbf3b905b325d Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 sata_mv: mbus decode window support Make it possible to pass mbus_dram_target_info to the sata_mv driver via the platform data, make the sata_mv driver program the window registers based on this data if it is passed in, and make the Orion platform setup code use this method instead of programming the SATA mbus window registers by hand. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 92aecfa95523384923b52c8ddaf948fc02a53e82 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 ehci-orion: mbus decode window support Make it possible to pass mbus_dram_target_info to the ehci-orion driver via the platform data, make the ehci-orion driver program the window registers based on this data if it is passed in, and make the Orion platform setup code use this method instead of programming the EHCI mbus window registers by hand. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 1f2223b12b62a97d66e39199db50ed3fae9222c0 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 Orion: make PCIe/PCI support use mbus DRAM info Make the Orion PCIe/PCI code initialise MBUS decode windows based on mbus_dram_target_info instead of reading the info from the Orion DDR unit decode registers directly, and move the window code with the other PCI code, where it can be called as part of the generic PCIe/PCI init process. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 83b6d822e4237052371e771b1f994823615a5341 Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 Orion: initialise mbus DRAM target info on boot Initialise orion_mbus_dram_info on boot, and prepare for passing this info into peripheral drivers. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit abc848c182960118fbb7cdae397b5608c5bcef1b Author: Lennert Buytenhek Date: Thu Mar 27 14:51:39 2008 -0400 introduce mbus DRAM target info abstraction Introduce struct mbus_dram_target_info, which will be used for passing information about the mbus target ID of the DDR unit, and mbus target attribute, base address and size for each of the DRAM chip selects from the platform code to peripheral drivers. Signed-off-by: Lennert Buytenhek Reviewed-by: Tzachi Perelstein Acked-by: Russell King Signed-off-by: Nicolas Pitre commit 5983a3dff0036d7ef6a2139473564f4f3e7b2a11 Author: Benjamin Thery Date: Wed Mar 26 16:53:30 2008 -0700 [NETNS][IPV6] flowlabels - make proc per namespace Make /proc/net/ip6_flowlabel show only flow labels belonging to the current network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 60e8fbc4c53d3ef0cbffa393a9e7b77e2a1bae58 Author: Benjamin Thery Date: Wed Mar 26 16:53:08 2008 -0700 [NETNS][IPV6] flowlabels - make flowlabels per namespace This patch introduces a new member, fl_net, in struct ip6_flowlabel. This allows to create labels with the same value in different namespaces. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 6ab57e7e7fa316552d0f94eaebf1def1d49f18da Author: Daniel Lezcano Date: Wed Mar 26 16:52:32 2008 -0700 [NETNS][IPV6] anycast - handle several network namespace Make use of the network namespace information to have this protocol to handle several network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a233352506be35aafd49c0ba8c88ca96ebde1c3d Author: Pavel Emelyanov Date: Wed Mar 26 16:49:40 2008 -0700 [IPV6]: Fix potential net leak and oops in ipv6 routing code. The commits f3db4851 ([NETNS][IPV6] ip6_fib - fib6_clean_all handle several network namespaces) and 69ddb805 ([NETNS][IPV6] route6 - Make proc entry /proc/net/rt6_stats per namespace) made some proc files per net. Both of them introduced potential OOPS - get_proc_net can return NULL, but this check is lost - and a struct net leak - in case single_open() fails the previously got net is not put. Kill all these bugs with one patch. Signed-off-by: Pavel Emelyanov Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9b674e82b73a61844967b32e1b4ecaf8eb9d1805 Author: Allan Stephens Date: Wed Mar 26 16:48:21 2008 -0700 [TIPC]: Cosmetic cleanup of TIPC polling logic This patch eliminates an unnecessary poll-related routine by merging it into TIPC's main polling routine, and updates the comments associated with this code. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 67727184f28c38d06013c6659560bb046c1d9f9c Author: Pavel Emelyanov Date: Wed Mar 26 16:27:22 2008 -0700 [VLAN]: Reduce memory consumed by vlan_groups Currently each vlan_groupd contains 8 pointers on arrays with 512 pointers on struct net_device each :) Such a construction "in many cases ... wastes memory". My proposal is to allow for some of these arrays pointers be NULL, meaning that there are no devices in it. When a new device is added to the vlan_group, the appropriate array is allocated. The check in vlan_group_get_device's is safe, since the pointer vg->vlan_devices_arrays[x] can only switch from NULL to not-NULL. The vlan_group_prealloc_vid() is guarded with rtnl lock and is also safe. I've checked (I hope that) all the places, that use these arrays and found, that the register_vlan_dev is the only place, that can put a vlan device on an empty vlan_group. Rough calculations shows, that after the patch a setup with a single vlan dev (or up to 512 vlans with sequential vids) will occupy approximately 8 times less memory. The question I have is - does this patch makes sense, or a totally new structures are required to store the vlan_devs? Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy commit c34002c102880bfac5b449b41e5313dcda186db8 Author: Dan Williams Date: Wed Mar 26 19:12:38 2008 -0700 iop: unconditionally initialize the ATU on platforms known to be 'hosts' Platforms like iq80321 and iq80331 which may be host-bus-adapters require 'iop3xx_init_atu=y' to be specified on the kernel command line. Signed-off-by: Dan Williams commit 97c46048ce73c27fd2734299f07a8c06c8156a2e Author: Russell King Date: Wed Mar 26 18:46:42 2008 -0700 iop: Program outbound windows using the correct definitions The outbound translate registers should be programmed with the bus addresses that are defined in the header files, rather than the physical address. Currently it doesn't matter because they're identical, but the headers currently allow them to be different, and not using the right macros here means that people are in for a surprise if they change them. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit 27eedbf557f511efbe5651fa2fbfa0e4e8315ab7 Author: Russell King Date: Wed Mar 26 18:44:58 2008 -0700 iop: when scanning PCI bus, translate the PCI addresses according to the outbound window settings ... otherwise we end up trying to access peripherals using wrong PCI addresses. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit c3a1c9c75b986e5a2c5d878ef0700a1ca6bb895a Author: Russell King Date: Wed Mar 26 18:42:10 2008 -0700 iop: Make IOP ATU window debug readable Make the inbound and outbound memory windows debugging meaningful to those who don't know what the register names for the ATU mean. IOW, use plain english rather than register jargon. Cc: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit ee0a3f564e5b45792ae26fd3a2f8daf98c30ff45 Author: Alexandr Smirnov Date: Thu Mar 6 18:14:51 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 device tree Add device tree file for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 65848f7a0d9cf8787d5d72fca2863108766d73ad Author: Alexandr Smirnov Date: Tue Mar 4 19:36:52 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 default config Add default config for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit ff880112afbc05b478cb5b4fa58ad160004193f4 Author: Alexandr Smirnov Date: Tue Mar 4 19:34:26 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 bootwrapper Add boot wrapper for Emerson KSI8560 board. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 22b619eee525371a65d1386e5d6439b26d9b024c Author: Alexandr Smirnov Date: Thu Mar 6 18:17:16 2008 +0300 [POWERPC] 85xx: Emerson KSI8560 base support The KSI8560 is a single compact, mid-, or full-size Advanced Mezzanine Card (AdvancedMC™) based on the Freescale™ Semiconductor MPC8560 PowerQUICC III™ microprocessor. This product will serve in data and signaling applications such as signaling gateways (SGW) and softswitch signaling interface cards. The board has altera maxii CPLD, that is used to obtain and manage board configuration. Also there are two SCC UART serial consoles and FCC ethernet, that is routed to the front panel, while other ethernet controlers (TSEC's) are routed to the backplane. Signed-off-by: Alexandr Smirnov Signed-off-by: Kumar Gala commit 99d8be052e248e09abf51d4a656717259bf9b930 Author: Stefan Roese Date: Wed Mar 26 22:42:55 2008 +1100 [POWERPC] 4xx: Add L2 cache node to AMCC Taishan dts file This patch adds the L2 cache node to the Taishan 440GX dts file. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 2a7069190e7a7f19bd37e8c08e2bf02c8d6330f7 Author: Stefan Roese Date: Wed Mar 26 22:39:50 2008 +1100 [POWERPC] 4xx: Add PPC4xx L2-cache support (440GX) This patch adds support for the 256k L2 cache found on some IBM/AMCC 4xx PPC's. It introduces a common 4xx SoC file (sysdev/ppc4xx_soc.c) which currently "only" adds the L2 cache init code. Other common 4xx stuff can be added later here. The L2 cache handling code is a copy of Eugene's code in arch/ppc with small modifications. Tested on AMCC Taishan 440GX. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 145692a734cffa9c3c6f4523d015516406ce21eb Author: Stefan Roese Date: Thu Mar 20 21:33:39 2008 +1100 [POWERPC] 4xx: Add "amcc, haleakala" to the toplevel compatible property Currently Haleakala uses the Kilauea platform code. This patch adds "haleakala" to the compatible property, in case later kernel versions will introduce a Haleakala platform code. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit c06cf7dad6626f2ea3c2ebaabc0f7f7d71792481 Author: Stefan Roese Date: Thu Mar 20 17:34:24 2008 +1100 [POWERPC] 4xx: Add AMCC Glacier 460GT eval board dts The patch adds the Glacier dts. The Glacier is nearly identical to the Canyonlands (460EX). Here the differences: - 4 ethernet ports instead of 2 - no SATA port - no USB port Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ac646734490b83afad3e058edeb6600d3666553b Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:32 2008 +1100 [POWERPC] Xilinx: hwicap: Use fixed device major. Major 259 has been assigned by lanana. Use it. Also, publish /dev/icap[0-k] as the device entries, and register platform devices named 'icap' to be consistent. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 4c58f8fe2e84ba76a4bef01cbd987b5ce62771c3 Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:31 2008 +1100 [POWERPC] Xilinx: hwicap: Verify sync before reading idcode. It appears that in some cases, the sync word might not be recognized by the hardware correctly. If this happens, then attempting to read from the port results in an unrecoverable error because of the design of the FPGA core. This patch updates the code to check the status of the device before reading the IDCODE, in order to avoid entering this unrecoverable state. This patch also adds additional NOOP commands into the sychronization sequence, which appears to be necessary to avoid the condition on some hardware. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 6b06fdbaf9eb9f208a83540265a6a82bf1049a41 Author: Stephen Neuendorffer Date: Tue Mar 18 04:36:30 2008 +1100 [POWERPC] Xilinx: hwicap: Refactor status handling code. Both the buffer-based and fifo-based icap cores have a status register. Previously, this was only used internally to check whether transactions have completed. However, the status can be useful to the main driver as well. This patch exposes these status functions to the main driver along with some masks for the differnet bits. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 783142635156b05f2e425852deb8ab71e9e1882a Author: Stefan Roese Date: Fri Mar 14 03:00:03 2008 +1100 [POWERPC] 4xx: Add TAH support to taishan dts This patch adds TAH (TCP/IP Acceleration Hardware) support to the taishan 440GX dts. It depends on the NEWEMAC/tah patch that adds the compatible "ibm,tah" property to the matching table. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 6e42b21bb91a562cd843a156586fe7b5954f58b3 Author: Valentine Barshak Date: Fri Mar 7 01:34:52 2008 +1100 [POWERPC] 4xx: Use dcri_clrset() for PCIe indirect dcr read/modify/write access Use dcri_clrset() for PCIe SDR0 read/modify/write access. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 266d028acb615e1766c3fb9530c9e86de8476a33 Author: Valentine Barshak Date: Thu Mar 6 05:38:04 2008 +1100 [POWERPC] 4xx: Add dcri_clrset() for locked read/modify/write functionality This adds dcri_clrset() macro which does read/modify/write on indirect dcr registers while holding indirect dcr lock. Signed-off-by: Valentine Barshak Acked-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit d0a48c9f4c4582a966ce6426c1bf8ef1e37e63ee Author: Josh Boyer Date: Thu Mar 6 21:15:52 2008 -0600 [POWERPC] 4xx: Add bootwrapper for AMCC Yosemite board Add the cuboot wrapper for the AMCC 440EP Yosemite board Signed-off-by: Josh Boyer commit ed70854a4f45d089bd8ef2e8476dbed6287b2ff7 Author: Josh Boyer Date: Thu Mar 6 21:15:42 2008 -0600 [POWERPC] 4xx: Add platform support for the AMCC Yosemite board The AMCC 440EP Yosemite board is very similar to the original AMCC Bamboo board. This adds a YOSEMITE option to Kconfig, and reuses the existing bamboo board support in the kernel. Signed-off-by: Josh Boyer commit fd0ed740a128efef84f33a70d24834dea684cba3 Author: Josh Boyer Date: Thu Mar 6 21:15:07 2008 -0600 [POWERPC] 4xx: Add AMCC 440EP Yosemite DTS This adds a DTS file for the AMCC 440EP Yosemite board. Signed-off-by: Josh Boyer commit 1d60f0fcda0bacadc4ceb3afdae39ce3ba1f31db Author: Stefan Roese Date: Sun Feb 24 08:08:17 2008 +1100 [POWERPC] 4xx: Add Canyonlands defconfig file Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 66b7e504c0e66c568b1759882884b8e1cfb307bd Author: Stefan Roese Date: Sun Feb 24 08:08:27 2008 +1100 [POWERPC] 4xx: Add 460EX PCIe support to 4xx pci driver All this code is needed to properly initialize the 460EX PCIe host bridge(s). We re-initialize all ports again, even though this has been done in the bootloader (U-Boot) before. This way we make sure, that we always run the latest init code in Linux and don't depend on code versions from U-Boot. Unfortunately all IBM/AMCC chips currently supported in this PCIe driver need a different reset-/init-sequence. Tested on AMCC Canyonlands eval board. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 8bc4a51d28b760b40b21217c7d613777cfeeb3b0 Author: Stefan Roese Date: Sat Mar 1 03:25:29 2008 +1100 [POWERPC] 4xx: Add Canyonlands DTS This dts source file for the AMCC 460EX Canyonlands evalutaion board Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 66e4b3341d722d464fea627f7c0b7273d4f2912b Author: Stefan Roese Date: Sun Feb 24 08:07:52 2008 +1100 [POWERPC] 4xx: Add AMCC Canyonlands 460EX eval board support to platforms/44x Canyonlands is the AMCC 460EX eval board, featuring nearly all of the 460EX interfaces: - 1 * PCI (max 66MHz), 2 * PCIe (one 4-lane, one 1-lane) - 2 * GBit Ethernet with TCP/IP acceleration - USB 2.0 Host/Device OTG and Host interface - SATA port Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 464076a4b328946528998513c4ef799fd60de588 Author: Stefan Roese Date: Sun Feb 24 08:07:41 2008 +1100 [POWERPC] 4xx: Add AMCC 460EX/460GT support to cputable.c & cpu_setup_44x.S This patch adds basic support for the AMCC 460EX/460GT PPC's to arch/powerpc. Currently those PPC's are still based on a 440 core and *not* a 460 core. Here some basic features of those SoC's: 460EX: - Up to 1.2GHz, 32kB L1 I-cache and D-cache, 256kB L2-cache, FPU - 1 * PCI (max 66MHz), 2 * PCIe (one 4-lane, one 1-lane) - 2 * GBit Ethernet with TCP/IP acceleration - USB 2.0 Host/Device OTG and Host interface - SATA controller - Optional security feature 460GT (only changes to 460EX): - 4 * GBit Ethernet with TCP/IP acceleration - RapidIO - No SATA - No USB Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ecc6cd73b7ccfa10c1f07d017fc7f62fe78eaab5 Author: David Gibson Date: Tue Feb 26 11:43:20 2008 +1100 [POWERPC] Start removing linux,network-index in favour of aliases This patch alters the bootwrapper for a number of machines (roubhly all 4xx based cuboot or treeboot platforms) to use aliases instead of the linux,network-index hack to work out which MAC address to attach to which ethernet device node. The now obsolete linux,network-index properties are removed from the corresponding device trees. This won't break backwards compatiblity, because in cases where this fixup code is relevant, the device tree is part of the kernel image. The references to linux,network-index are removed from booting-without-of.txt. Not only is it now deprecated, but as a hack applicable only when the device tree blob and fixup code were in the same image, this property never belonged in booting-without-of.txt which describes the interface between the kernel and firmware or bootloaders which produce a device tree. By the time the device tree reaches the kernel, all the MAC addresses must be fully filled in. Signed-off-by: David Gibson Signed-off-by: Josh Boyer commit 789e41e6f496022ac1639aaae38ea1943606a9d0 Author: Pavel Emelyanov Date: Wed Mar 26 02:19:25 2008 -0700 [NETNS][ICMP]: Build fix for NET_NS=n case (dev->nd_net is omitted). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b34a95ee6e05579faff2672d7d30356576407653 Author: Pavel Emelyanov Date: Wed Mar 26 02:00:21 2008 -0700 [NETNS][ICMP]: Use per-net sysctls in ipv4/icmp.c. This mostly re-uses the net, used in icmp netnsization patches from Denis. After this ICMP sysctls are completely virtualized. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 68528f09980a60c8df046d16336333cac4fc0c32 Author: Pavel Emelyanov Date: Wed Mar 26 01:56:24 2008 -0700 [NETNS][ICMP]: Make ctl tables for ICMP sysctls per-net. Add some flesh to ipv4_sysctl_init_net and ipv4_sysctl_exit_net, i.e. copy the table, alter .data pointers and register it per-net. Other ipv4_table's sysctls are now global, but this is going to change once sysctl permissions patches migrate from -mm tree to mainline in 2.6.26 merge window :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a24022e1887978decaa28fb11d1ddff63e31497f Author: Pavel Emelyanov Date: Wed Mar 26 01:55:37 2008 -0700 [NETNS][ICMP]: Move ICMP sysctls on struct net. Initialization is moved to icmp_sk_init, all the places, that refer to them use init_net for now. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1577519d6b3777d2d3ba05871dd7ee40112c58ce Author: Pavel Emelyanov Date: Wed Mar 26 01:54:18 2008 -0700 [NETNS][ICMP]: Register pernet subsys to make ICMP sysctls per-net. This includes adding pernet_operations, empty init and exit hooks and a bit of changes in sysctl_ipv4_init just not to have this part in next patches. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f5aa23fd49063745f85644dd7a9330acd706add6 Author: Denis V. Lunev Date: Wed Mar 26 00:48:17 2008 -0700 [NETNS]: Compilation warnings under CONFIG_NET_NS. Recent commits from YOSHIFUJI Hideaki have been introduced a several compilation warnings 'assignment discards qualifiers from pointer target type' due to extra const modifier in the inline call parameters of {dev|sock|twsk}_net_set. Drop it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9c2f5746b9cd536f0007709196d85a7e7d0070fa Author: Denis V. Lunev Date: Wed Mar 26 00:47:14 2008 -0700 [NETNS]: Compilation fix for include/linux/netdevice.h. Commit commit c346dca10840a874240c78efe3f39acf4312a1f2 ([NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS) breaks compilation with CONFIG_NET_NS set. Fix the typo. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 14eabf70c82cade5dbc71d2e913d533193a91785 Merge: f49e1aa... 2f44891... Author: David S. Miller Date: Tue Mar 25 23:11:25 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 2f4489112896770d66dc2960f71174d69ee23004 Author: Andy Fleming Date: Mon Mar 24 10:53:28 2008 -0500 gianfar: Fix Rx/Tx HW interrupt coalescing counter reset procedure. - Fix Rx/Tx HW interrupt coalescing counter reset logic. Disabling is required before resetting the counter. - Update the Default both Rx and Tx coalescing timer threshold. Formerly 4 is set which is equal to 1.5 frame at the line rate of 1GbE interface, and it doesn't match to the coalescing frame count which is set to 16. Threashold 21 is matched to frame count 16. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 99da5003a5b085c12d996da1010e276e9b88672f Author: Andy Fleming Date: Mon Mar 24 10:53:27 2008 -0500 gianfar: Only process completed frames If the LAST bit is not set in the RxBD, it's possible we're processing an incomplete frame, which is bad. While we're at it, add a constant for the error bitmask, so the whole if-clause fits on one line, and is more legible. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit faa89577621b4296a8869e75b90a546c951df968 Author: Dai Haruki Date: Mon Mar 24 10:53:26 2008 -0500 gianfar: Fix frame size calculation when hardware VLAN acceleration is on In gfar_change_mtu(), the frame size needs to be increased to account for the extra 4 bytes VLAN adds to the ethernet header. However, it was being increased by the length of the whole header (18 bytes), which is wrong. Signed-off-by: Dai Haruki Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit a3cb96a13cf74b3e5bb4ecca0c39df1022539059 Author: Dai Haruki Date: Mon Mar 24 10:53:29 2008 -0500 gianfar: Fix the data buffer stashing amount - Buffer stashing parameter change to 96 from 64 in order to cover the Layer 4 header. Signed-off-by: Dai Haruki Signed-off-by: Jeff Garzik commit 1119d577ccfeb727e3f26f07e612d6f2a9c349e7 Author: Pavel Emelyanov Date: Mon Feb 18 13:55:10 2008 +0300 Use single_open instead of manual manipulations. The code opening proc entry for each device makes the same thing, as the single_open does, so remove the unneeded code. Signed-off-by: Pavel Emelyanov Signed-off-by: Jeff Garzik commit 57bb7e222804c68066e3e995dffbedda5b1ec1ea Author: Anton Vorontsov Date: Tue Mar 4 19:41:32 2008 +0300 phy/broadcom: add support for BCM5481 PHY This patch adds support for BCM5481 PHY. Unfortunately it's hard to get specifications for this PHY, so its special register 0x18 isn't annotated properly (but we know it's used to set up the delays). I've kept the magic numbers, so we'll not forget to fix it at the first opportunity, and will name that register and its bits correctly. p.s. also fixed the line with broken indention, introduced by commit 03157ac31eb4a8883382a212b161d2e6c5059fbf PHYLIB: Add BCM5482 PHY support Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit b39b5a2bc339d8ea04fde2e343bcb4c8f38df692 Author: Marcin Slusarz Date: Tue Mar 4 15:19:20 2008 -0800 qla3xxx: convert byte order of constant instead of variable Convert byte order of constant instead of variable which can be done at compile time (vs run time) Signed-off-by: Marcin Slusarz Acked-by: Ron Mercer Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7a6d84c1b26fd8a1deb28a4bbed672959f7f26ae Author: Julia Lawall Date: Tue Mar 4 15:19:19 2008 -0800 drivers/net/mv643xx_eth.c: Use FIELD_SIZEOF Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ef11291bcd5f963c72e7ba5952be3e3c97463d2c Author: Florian Fainelli Date: Wed Mar 19 17:14:51 2008 +0100 Add support the Korina (IDT RC32434) Ethernet MAC This patch adds support for the IDT rc32434 Ethernet MAC we can find in the IDT boards and the Mikrotik RB500. Driver references some code from the linux-mips RB500 support. Signed-off-by: Florian Fainelli Signed-off-by: Felix Fietkau Signed-off-by: Philip Rischel Signed-off-by: Jeff Garzik commit bfebbb88eca12a01fff1fbee2b8e1a4e932b799b Author: Daniel Drake Date: Tue Mar 18 11:07:18 2008 +0000 forcedeth: Use round_jiffies for stats timer This timer doesn't need to run at precise times, so round it to a whole second to decrease wakeups. Signed-off-by: Daniel Drake Signed-off-by: Jeff Garzik commit 3459feb8fc0e2a6d3fe5c6eb8c05cdab2c04871c Author: Al Viro Date: Sun Mar 16 22:23:14 2008 +0000 s2io annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3b86301f1217553a80a0ff59a601b0fa3f257b8d Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 endianness annotations: rndis Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit fa3a6cb4a6feacd712ca58fd1c6e99b33fde5d5d Author: Al Viro Date: Sun Mar 16 22:22:54 2008 +0000 annotate cxgb3 (ab)uses of skb->priority/skb->csum Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2f220e305b23ab277aa0f91e2a65978f5cc1a785 Author: Al Viro Date: Sun Mar 16 22:22:24 2008 +0000 skfp annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit eca1ad82bda0293339e1f8439dc9c8dba25ff088 Author: Al Viro Date: Sun Mar 16 22:21:54 2008 +0000 misc drivers/net annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05bd831fcdf4ce08ae5b832cfe03a303245fb135 Author: Al Viro Date: Wed Mar 19 09:44:39 2008 +0000 ni52: more unbreaking missed read*/write* plus a bunch of wrong-sized ones... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 176f65f3efb55723518d018c8020867f44d05147 Author: Al Viro Date: Wed Mar 19 09:44:29 2008 +0000 ni52: switch to ioremap() isa_bus_to_virt() is the wrong thing to do here; it happens to work on i386, but only by accident. What we want is normal ioremap/readb/etc. set - it's all in iomem. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 76af5699a359c3683f1c94444826d78be8d42513 Author: Al Viro Date: Wed Mar 19 09:44:19 2008 +0000 ni52: clean up check586() take iscp-based testing into helper, kill the loop, stop wanking with reassignments of priv->iscp Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7f8cfd560875fd643024c02ea25d4f3b8f1fd31c Author: Al Viro Date: Wed Mar 19 09:44:09 2008 +0000 ni52: clean up initialization of priv * initialize spinlock once * check586() used to be done before we'd allocated ->priv; these days it's there from the very beginning, so we don't have to play with private copy. Consequently, we don't need to mess with reinitializing ->base, etc. afterwards. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit e06ee2bb03f936c57265e447bc05e8324db61207 Author: Al Viro Date: Wed Mar 19 09:43:59 2008 +0000 ni52: make ->base char __iomem * ... and store the virt address where we map the ->mem_addr, while we are at it. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit de5971462fe27885290d8c95d9446a8b6d012448 Author: Al Viro Date: Wed Mar 19 09:43:49 2008 +0000 ni52: kill the second argument of check586(), get rid of bogus pointer Passing ISA bus address explicitly cast to char * only to cast it back to unsigned long is dumb; so's passing it at all when it's always dev->mem_start... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 725aa4a9abc5d391ce36387e01c5b3c90a9f5516 Author: Al Viro Date: Wed Mar 19 09:43:39 2008 +0000 ni52: unbreak scp_struct unsigned short != u8, it's u16... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2d76c267e90aafef72df1318b49cb8f43a59ac94 Author: Al Viro Date: Wed Mar 19 09:43:29 2008 +0000 ni52 trivial iomem annotations Driver is still broken, though; partially from Alan's checkpatch-induced fun, partially from layers of ancient mess ;-) By the end of the series... hell, might be even worth trying to stick such card into old alpha or ppc with an ISA slot and see if it work - would be for the first time ever in case of alpha and for the first time since at least 2.5.3 in case of ppc... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 9c61a9dcb26dc1db9912c11568b98f89b635adfd Author: Jesse Brandeburg Date: Fri Mar 21 11:07:03 2008 -0700 ixgb: remove irq_sem ixgb can remove irq_sem by auditing all the call sites to make sure that each of them makes sure the adapter is in the correct state before re-enabling interrupts. after doing this to all of our other drivers it is becoming easier. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9150b76a6439b60e678ccb6376ee3686a2f76767 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:58 2008 -0700 e1000: remove irq_sem irq_sem was just a hack to prevent interrupts from being enabled unexpectedly in deep call paths. Simply finding those call paths and fixing them by hand results in a driver that behaves as we expect and doesn't need the atomic at all. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 74ef9c39db952355ed379f28b8907bae8ff1abe9 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:52 2008 -0700 e1000e: remove irq_sem irq_sem can safely be removed by auditing all irq.*able sites to make sure that interrupts don't get enabled unexpectedly when the interface is down. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 67d204a532c6fa76041440069e1b00d5b0b8d42c Author: Auke Kok Date: Fri Mar 21 11:06:47 2008 -0700 e1000e: remove no longer used e1000e_read_nvm_spi This function is no longer used now that 82573 uses the eerd read method as well. Thanks to Adrian Bunk for pointing this out. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit a9340b86f0c9d788e24a5117d5650c6776a363af Author: Auke Kok Date: Fri Mar 21 11:06:42 2008 -0700 ixgb: move externs out of .c files Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 446490ca44dcc8a1a9f3c082809bdab208626891 Author: Joe Perches Date: Fri Mar 21 11:06:37 2008 -0700 ixgb: convert boolean_t to bool > send me a patch for e1000 and for ixgb and I'll happily apply those :) boolean_t to bool TRUE to true FALSE to false Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit bab2bce7dcea9aaf9374b6c24001d6afcced4ca5 Author: Jesse Brandeburg Date: Fri Mar 21 11:06:32 2008 -0700 ixgb: add explicit state checking In order to remove the irq_sem code we need to implement strict adapter state checking to prevent accidental double up or downs or resets. This code is largely copied from e1000/e1000e. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c3033b01d763aff572080db09ddcebed115b9cf5 Author: Joe Perches Date: Fri Mar 21 11:06:25 2008 -0700 e1000: Convert boolean_t to bool On Thu, 2008-03-06 at 10:07 -0800, Kok, Auke wrote: > send me a patch for e1000 and for ixgb and I'll happily apply those :) boolean_t to bool TRUE to true FALSE to false comment typo ahread to ahead Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f49e1aa133c2c9b74b5dfddca8863609bbda9086 Author: Patrick McHardy Date: Tue Mar 25 20:27:05 2008 -0700 [NETFILTER]: nf_conntrack_sip: update copyright Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7f485abd618e0d249bdd1abdc586bd10fee1954 Author: Patrick McHardy Date: Tue Mar 25 20:26:43 2008 -0700 [NETFILTER]: nf_conntrack_sip: RTP routing optimization Optimize call routing between NATed endpoints: when an external registrar sends a media description that contains an existing RTP expectation from a different SNATed connection, the gatekeeper is trying to route the call directly between the two endpoints. We assume both endpoints can reach each other directly and "un-NAT" the addresses, which makes the media stream go between the two endpoints directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d0ab0378d67517a4f4ae3497706c13d9dd24af1 Author: Patrick McHardy Date: Tue Mar 25 20:26:24 2008 -0700 [NETFILTER]: nf_conntrack_sip: support multiple media channels Add support for multiple media channels and use it to create expectations for video streams when present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ab9e64e5e3c0516577818804aaf13a630d67bc9 Author: Patrick McHardy Date: Tue Mar 25 20:26:08 2008 -0700 [NETFILTER]: nf_nat_sip: split up SDP mangling The SDP connection addresses may be contained in the payload multiple times (in the session description and/or once per media description), currently only the session description is properly updated. Split up SDP mangling so the function setting up expectations only updates the media port, update connection addresses from media descriptions while parsing them and at the end update the session description when the final addresses are known. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a9c1d35917c0c95c8f95a8e497fb91e301419693 Author: Patrick McHardy Date: Tue Mar 25 20:25:49 2008 -0700 [NETFILTER]: nf_conntrack_sip: create RTCP expectations Create expectations for the RTCP connections in addition to RTP connections. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d901a9369e6e7d07a7eb4ddb315c6fcbaf8b24d3 Author: Patrick McHardy Date: Tue Mar 25 20:25:32 2008 -0700 [NETFILTER]: nf_conntrack_sip: allow media expectations with wildcard source address Media streams can come from anywhere, add a module parameter which controls whether wildcard expectations or expectations between the two signalling endpoints are created. Since the same media description sent on multiple connections may results in multiple identical expections when using a wildcard source, we need to check whether a similar expectation already exists for a different connection before attempting to register it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0f32a40fc91a9ebbbf66e826ac2a829ab37d9cf8 Author: Patrick McHardy Date: Tue Mar 25 20:25:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: create signalling expectations Create expectations for incoming signalling connections when seeing a REGISTER request. This is needed when the registrar uses a different source port number for signalling messages and for receiving incoming calls from other endpoints than the registrar. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c978cd3a937141deaf7995b849824af6dacdeae7 Author: Patrick McHardy Date: Tue Mar 25 20:24:57 2008 -0700 [NETFILTER]: nf_nat_sip: translate all Contact headers The SIP message may contain multiple Contact: addresses referring to the NATed endpoint, translate all of them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 720ac7085ce815ea4caec24396575fed7bd711aa Author: Patrick McHardy Date: Tue Mar 25 20:24:41 2008 -0700 [NETFILTER]: nf_nat_sip: translate all Via headers Update maddr=, received= and rport= Via-header parameters refering to the signalling connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2bbb21168a90c788e12fe722eb66f27e611e7df7 Author: Patrick McHardy Date: Tue Mar 25 20:24:24 2008 -0700 [NETFILTER]: nf_conntrack_sip: introduce URI and header parameter parsing helpers Introduce URI and header parameter parsing helpers. These are needed by the conntrack helper to parse expiration values in Contact: header parameters and by the NAT helper to properly update the Via-header rport=, received= and maddr= parameters. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9467ee380ae881443bc259fbbac9992baf523e2d Author: Patrick McHardy Date: Tue Mar 25 20:24:04 2008 -0700 [NETFILTER]: nf_conntrack_sip: flush expectations on call termination Flush the RTP expectations we've created when a call is hung up or terminated otherwise. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 595a8ecb5fa41295a7010678b60cb2f7ab15fe42 Author: Patrick McHardy Date: Tue Mar 25 20:22:53 2008 -0700 [NETFILTER]: nf_conntrack_sip: process ACK and PRACK methods Both may contains SDP offers/answers. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 33cb1e9a93312f0cdd34e0be2bc88e893ff96a33 Author: Patrick McHardy Date: Tue Mar 25 20:22:37 2008 -0700 [NETFILTER]: nf_conntrack_sip: perform NAT after parsing Perform NAT last after parsing the packet. This makes no difference currently, but is needed when dealing with registrations to make sure we seen the unNATed addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30f33e6dee80c6ded917f978e4f377d1069d519d Author: Patrick McHardy Date: Tue Mar 25 20:22:20 2008 -0700 [NETFILTER]: nf_conntrack_sip: support method specific request/response handling Add support for per-method request/response handlers and perform SDP parsing for INVITE/UPDATE requests and for all informational and successful responses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d3dd043b69b10f5abe9c785ab82cc6627898fcd Author: Patrick McHardy Date: Tue Mar 25 20:19:46 2008 -0700 [NETFILTER]: nf_conntrack_sip: move SDP parsing to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 624f8b7bba98c27a1464f5f858c4a861d5d3e8d7 Author: Patrick McHardy Date: Tue Mar 25 20:19:30 2008 -0700 [NETFILTER]: nf_nat_sip: get rid of text based header translation Use the URI parsing helper to get the numerical addresses and get rid of the text based header translation. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 05e3ced297fe755093140e7487e292fb7603316e Author: Patrick McHardy Date: Tue Mar 25 20:19:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: introduce SIP-URI parsing helper Introduce a helper function to parse a SIP-URI in a header value, optionally iterating through all headers of this kind. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea45f12a2766dae54e5426a23e8f4bafdbe2782e Author: Patrick McHardy Date: Tue Mar 25 20:18:57 2008 -0700 [NETFILTER]: nf_conntrack_sip: parse SIP headers properly Introduce new function for SIP header parsing that properly deals with continuation lines and whitespace in headers and use it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac3677406d4e36e86b1eb5a453997a3b3e0c089a Author: Patrick McHardy Date: Tue Mar 25 20:18:40 2008 -0700 [NETFILTER]: nf_conntrack_sip: kill request URI "header" definitions The request URI is not a header and needs to be treated differently than real SIP headers. Add a seperate function for parsing it and get rid of the POS_REQ_URI/POS_REG_REQ_URI definitions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3e9b4600b4e71beaa9d943251bfe9c25f6a97b8c Author: Patrick McHardy Date: Tue Mar 25 20:17:55 2008 -0700 [NETFILTER]: nf_conntrack_sip: add seperate SDP header parsing function SDP and SIP headers are quite different, SIP can have continuation lines, leading and trailing whitespace after the colon and is mostly case-insensitive while SDP headers always begin on a new line and are followed by an equal sign and the value, without any whitespace. Introduce new SDP header parsing function and convert all users that used the SIP header parsing function. This will allow to properly deal with the special SIP cases in the SIP header parsing function later. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 779382eb324ad0c39f8c4d10a47a813b490ab82c Author: Patrick McHardy Date: Tue Mar 25 20:17:36 2008 -0700 [NETFILTER]: nf_conntrack_sip: use strlen/strcmp Replace sizeof/memcmp by strlen/strcmp. Use case-insensitive comparison for SIP methods and the SIP/2.0 string, as specified in RFC 3261. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 212440a7d04a12ee13787afecc6c86c7fc4e6184 Author: Patrick McHardy Date: Tue Mar 25 20:17:13 2008 -0700 [NETFILTER]: nf_conntrack_sip: remove redundant function arguments The conntrack reference and ctinfo can be derived from the packet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2a6cfb22ae002330d445f734668d9158db9e90de Author: Patrick McHardy Date: Tue Mar 25 20:16:54 2008 -0700 [NETFILTER]: nf_conntrack_sip: adjust dptr and datalen after packet mangling After mangling the packet, the pointer to the data and the length of the data portion may change and need to be adjusted. Use double data pointers and a pointer to the length everywhere and add a helper function to the NAT helper for performing the adjustments. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b1ec488b1fb3c7a8819857e3506787516ca1ed4d Author: Patrick McHardy Date: Tue Mar 25 20:10:11 2008 -0700 [NETFILTER]: nf_conntrack_sip: fix some off-by-ones "limit" marks the first character outside the bounds. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3d244121d88cd9b0baa12c25ff25561e7b4f71cd Author: Patrick McHardy Date: Tue Mar 25 20:09:51 2008 -0700 [NETFILTER]: nf_nat_sip: fix NAT setup order We need to set up the destination NAT mapping before the source NAT mapping, so the NAT core gets to see the final tuple and can decide whether the source port needs to be remapped. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8beedd25d3913d45b8330a08ab88fdf90eb54b8 Author: Patrick McHardy Date: Tue Mar 25 20:09:33 2008 -0700 [NETFILTER]: Add nf_inet_addr_cmp() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6002f266b3e7f0acc2d5158cddbed41730b02e82 Author: Patrick McHardy Date: Tue Mar 25 20:09:15 2008 -0700 [NETFILTER]: nf_conntrack: introduce expectation classes and policies Introduce expectation classes and policies. An expectation class is used to distinguish different types of expectations by the same helper (for example audio/video/t.120). The expectation policy is used to hold the maximum number of expectations and the initial timeout for each class. The individual classes are isolated from each other, which means that for example an audio expectation will only evict other audio expectations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 359b9ab614aba71c2c3bc047efbd6d12dd4a2b9e Author: Patrick McHardy Date: Tue Mar 25 20:08:37 2008 -0700 [NETFILTER]: nf_conntrack_expect: support inactive expectations This is useful for the SIP helper and signalling expectations. We don't want to create a full-blown expectation with a wildcard as source based on a single UDP packet, but need to know the final port anyways. With inactive expectations we can register the expectation and reserve the tuple, but wait for confirmation from the registrar before activating it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bb119eab7b724109d8eeb0f8d86ed1e4953d338 Author: Patrick McHardy Date: Tue Mar 25 20:08:17 2008 -0700 [NETFILTER]: nf_conntrack_expect: show NF_CT_EXPECT_PERMANENT flag in /proc Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d9d752259ab2e16b99f84b7e7bd4a30c884c289 Author: Patrick McHardy Date: Tue Mar 25 20:07:58 2008 -0700 [NETFILTER]: nf_conntrack_expect: constify nf_ct_expect_init arguments Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef27559b70bd5312dfcbeab3b9ab0296206413c4 Author: Patrick McHardy Date: Tue Mar 25 20:07:38 2008 -0700 [NETFILTER]: nf_conntrack: fix NF_CT_TUPLE_DUMP for IPv4 NF_CT_TUPLE_DUMP prints IPv4 addresses as IPv6, fix this and use printk (guarded by #ifdef DEBUG) directly instead of pr_debug since the tuple is usually printed at the end of line and we don't want to include a log-level. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30c69fed7d94c5c330a47fcc4833627644c19a5b Author: Patrick McHardy Date: Tue Mar 25 20:06:59 2008 -0700 [NETFILTER]: ipt_CLUSTERIP: fix non-existant macro-name With nf_conntrack DUMP_TUPLE got renamed to NF_CT_DUMP_TUPLE, fix CLUSTERIP to use the proper macro name. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dfe98e9214ced45cd1a6ecd19f2627819a630f77 Merge: f89e6e3... 878628f... Author: David S. Miller Date: Tue Mar 25 19:43:59 2008 -0700 Merge branch 'net-2.6.26-netns-20080326' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev commit f89e6e3834035c6e8203042f3527931aa7f52496 Merge: 7cbca67... 3a643d2... Author: David S. Miller Date: Tue Mar 25 17:20:03 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit 54f53f2b94feb72622bec7a8563fc487d9f97720 Merge: f61fb8a... a4083c9... Author: Paul Mackerras Date: Wed Mar 26 08:44:18 2008 +1100 Merge branch 'linux-2.6' commit f61fb8a52cdf8b9b6a6badde84aefe58cb35d315 Author: Nathan Lynch Date: Mon Mar 24 09:51:45 2008 +1100 [POWERPC] scanlog_init cleanup and minor fixes scanlog_init() could use some love. * properly return -ENODEV if this system doesn't support scan-log-dump * don't printk if scan-log-dump not present; only older systems have it * convert from create_proc_entry() to preferred proc_create() * allocate zeroed data buffer * fix potential memory leak of ent->data on failed create_proc_entry() * simplify control flow Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 9356d90effa39c83c8fdba2a14cecec79959d4d0 Author: Robert P. J. Day Date: Sun Mar 23 06:05:43 2008 +1100 [POWERPC] Move a.out.h to header-y since it doesn't check __KERNEL__ Since a.out.h doesn't check the value of __KERNEL__, there's no point in unifdef'ing it. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 7415d5e0bec6ecd79d2698ae9655b10be47d8aa8 Author: Manish Ahuja Date: Sat Mar 22 11:40:53 2008 +1100 [POWERPC] pseries: phyp dump: Inform kdump when phyp-dump is loaded This adds /sys/kernel/phyp_dump_active so that kdump init scripts may look for it and take appropriate action if this file is found. This file is only created when phyp_dump has been registered. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 654f596da4a83a8d2734fba26c2a1257533e6d75 Author: Manish Ahuja Date: Sat Mar 22 11:38:59 2008 +1100 [POWERPC] pseries: phyp dump: Disable phyp-dump through boot-var This adds a kernel command line option "phyp_dump", which takes a 0/1 value for disabling/ enabling phyp_dump at boot time. Kdump can use this on cmdline (phyp_dump=0) to disable phyp-dump during boot when enabling itself. This will ensure only one dumping mechanism is active at any given time. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 242f271c056f49b64b94c06b38fe9e8d3bf703bc Author: Manish Ahuja Date: Sat Mar 22 10:50:50 2008 +1100 [POWERPC] pseries: phyp dump: Add Kconfig file option Add hypervisor-assisted dump to kernel config. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit fd35cff8d285c6ae30c66a70321ebbcd2a4615ec Author: Manish Ahuja Date: Sat Mar 22 10:47:04 2008 +1100 [POWERPC] pseries: phyp dump: Tracking memory range freed This tracks the size freed. For now it does a simple rudimentary calculation of the ranges freed. The idea is to keep it simple at the external shell script level and send in large chunks for now. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit a9c508dae10a821dc95653178eec018abc90482e Author: Manish Ahuja Date: Sat Mar 22 10:45:22 2008 +1100 [POWERPC] pseries: phyp dump: Invalidate and print dump areas This adds routines to a. invalidate dump b. calculate region that is reserved and needs to be freed. This is exported through sysfs interface. Unregister has been removed for now as it wasn't being used. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 599c1aa54f06da4fd277982be0731e96f0791caa Author: Manish Ahuja Date: Sat Mar 22 10:44:05 2008 +1100 [POWERPC] pseries: phyp dump: Debugging print routines Provide some basic debugging support. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2c4f41139cc4ffc3ad12d7fdb8dd71dc36824a6e Author: Manish Ahuja Date: Sat Mar 22 10:43:15 2008 +1100 [POWERPC] pseries: phyp dump: Register dump area Set up the actual dump header, register it with the hypervisor. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d5a29c7a36958ddec1ae7ab685ce09a002356548 Author: Manish Ahuja Date: Sat Mar 22 10:39:17 2008 +1100 [POWERPC] pseries: phyp dump: Use sysfs to release reserved mem Check to see if there actually is data from a previously crashed kernel waiting. If so, allow user-space tools to grab the data (by reading /proc/kcore). When user-space finishes dumping a section, it must release that memory by writing to sysfs. For example, echo "0x40000000 0x10000000" > /sys/kernel/release_region will release 256MB starting at the 1GB. The released memory becomes free for general use. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 6ac26c8a7eb149dbd669cc6cd9b77ffc9cd0d2fb Author: Manish Ahuja Date: Sat Mar 22 10:37:08 2008 +1100 [POWERPC] pseries: phyp dump: Reserve and release memory Initial patch for reserving memory in early boot, and freeing it later. If the previous boot had ended with a crash, the reserved memory would contain a copy of the crashed kernel data. Signed-off-by: Manish Ahuja Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d28a79326a4028dbb1755b8efe6daa915d8bfeea Author: Manish Ahuja Date: Sat Mar 22 10:33:10 2008 +1100 [POWERPC] pseries: phyp dump: Documentation Basic documentation for hypervisor-assisted dump. Signed-off-by: Linas Vepstas Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit 163dab39b5432761437ae59164ab351a8680ca4f Author: Roland McGrath Date: Thu Mar 20 08:07:51 2008 +1100 [POWERPC] powerpc32: Remove asm-offsets ptrace cruft These items in asm-offsets.c are not used anywhere. This removes them. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 59861bc6ee475542c66f4b24b9f5b5148f1d4f0e Author: S.Çağlar Onur Date: Mon Mar 17 20:36:26 2008 +1100 [POWERPC] arch/powerpc/platforms/iseries/pci.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. This implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly. Signed-off-by: S.Çağlar Onur Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 96366a8d3f17ee964802378d4a1f51fda86f070e Author: Tony Breeds Date: Mon Mar 17 16:23:29 2008 +1100 [POWERPC] Update wait_state_cycles in the VPA The hypervisor can look at the value in the wait_state_cycles field of the VPA for an estimate of how busy dedicated processors are. Currently, as the kernel never touches this field, we appear to be 100% busy. This records the duration the kernel is in powersave and passes that to the HV to provide a reasonable indication of utilisation. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 71e91a0abb839f8d2372236d8fe0513c295ec717 Author: Roland McGrath Date: Mon Mar 17 16:01:20 2008 +1100 [POWERPC] Don't touch PT_DTRACE in exec The PT_DTRACE flag is meaningless and obsolete. Don't touch it. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit bceabd15050d8d0e3742af350f072a110510a2aa Author: Stephen Rothwell Date: Thu Mar 13 16:20:31 2008 +1100 [POWERPC] Really export empty_zero_page It was being protected by CONFIG_PPC32, but we want to export it on 64-bit also. This moves it out of the ifdef. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4944774d7fc170ed9a3b15065da6986f2e9429db Author: Nathan Lynch Date: Thu Mar 13 10:43:05 2008 +1100 [POWERPC] maple: Enable ipr driver in defconfig Some machines supported by the maple platform have an Obsidian controller which can't be used without enabling CONFIG_IPR and the options on which it depends. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1cd8f348beedf335ef0f1dc8073c05dfe9227d81 Author: Nathan Lynch Date: Thu Mar 13 10:43:04 2008 +1100 [POWERPC] maple: Kill fixup_maple_ide This function has been a no-op for about 18 months; it's there in the history should anyone need to resurrect it. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 53378c2845d93b09056bc7b4233a366798ae2450 Author: Nathan Lynch Date: Thu Mar 13 10:43:03 2008 +1100 [POWERPC] maple: Use platform name in define_machine() Prevailing practice for define_machine() in powerpc is to use the platform name when the platform has only one define_machine() statement, but maple uses "maple_md". This caused me some head-scratching when writing some new code that uses machine_is(maple). Use "maple" instead of "maple_md". There should not be any behavioral change -- fixup_maple_ide() calls machine_is(maple) but the body of the function is ifdef'd out. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 0276c1368f111b1fd75e6fe0bf4cd78a6903798f Author: Marian Balakowicz Date: Sat Nov 10 04:11:43 2007 +1100 [POWERPC] Add 'model: ...' line to common show_cpuinfo() Print out 'model' property of '/' node as a machine name in generic show_cpuinfo() routine. Signed-off-by: Marian Balakowicz Acked-by: David Gibson Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3a643d244f09fa1fdd25d48a56a073c1a69583ee Author: Ivo van Doorn Date: Tue Mar 25 14:13:18 2008 +0100 rt2x00: Fix in_atomic() usage rt73usb and rt2500usb used in_atomic to determine if a configuration step should be rescheduled or not. Since in_atomic() is not a valid method to determine if sleeping is allowed we should fix the way this is handled by adding a new flag to rt2x00. In addition mark LED class support for the drivers broken since that also uses the broken in_atomic() method but so far no solution exists to have LED triggers work only in scheduled context. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 866a05038481d77cac6fc0186250b4c44e691b42 Author: Ivo van Doorn Date: Tue Mar 25 14:12:45 2008 +0100 rt2x00: Fix rate detection for invalid signals It has been observed on rt2500pci hardware that some frames received with signal 0x0C do not have the OFDM flag set. Signals can have 2 meanings: 1) The PLCP value 2) The bitrate * 10 For rt2500pci (1) is for frames received with a OFDM rate, and (2) is for frames received with a CCK rate. But 0x0C is a invalid bitrate value but is a valid PLCP value for 54Mbs (obvious OFDM rate). This means that it is possible that the hardware does not set the OFDM bit correctly under all circumstances. This results in rt2x00 failing to detect the rate and mac80211 triggering a WARN_ON() and dropping the frame. To bypass this, print a warning when such a frame is received, and reset the rate to the lowest supported rate for the current band. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49d20fac21d5207f3930401d0198ac46ad990bff Author: Masakazu Mokuno Date: Tue Mar 25 16:21:08 2008 +0900 PS3: gelic: Add support for separate cipher selection From version 2.20 of the PS3 system software, the hypervisor allows the guest OSes to specify separate cipher for group and pairwise. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit c01f9c6f1d5ceffda59a983c95338be45223d155 Author: Michael Buesch Date: Sun Mar 23 01:33:58 2008 +0100 b43: Don't compile N-PHY code when N-PHY is disabled There's no need to compile the N-PHY support code, when the N-PHY support is disabled in Kconfig. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1ea8739648cfff4027c3db0f4cee5de87bfd3886 Author: Assaf Krauss Date: Tue Mar 18 14:57:50 2008 -0700 iwlwifi: Completing the parameter packaging This patch completes the changes regarding the packaging of user parameters. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 83f7d57c37e83ab11009d58565e1010597b88db6 Author: Al Viro Date: Sun Mar 16 22:26:44 2008 +0000 ipw2200 annotations and fixes a) a bunch of printks in error-handling assums that ->status is big-endian. b) bitfields trouble c) missing annotations NB: a bunch of structs is declared packed for no good reason, AFAICS. Signed-off-by: Al Viro Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 19d30e02998ef1eb9f82a7d3ce9b4a97dba5aa13 Author: Ivo van Doorn Date: Sat Mar 15 21:38:07 2008 +0100 rt2x00: Add dev_flags to rx descriptor The rxdone_entry_desc structure contains 3 fields which are always 1 or 0. We can safe 8 bytes by replacing them with a single dev_flags fields which contain the flags for those settings. Additionally we can remove the OFDM flag since it is no longer used since the introduction of the SIGNAL_PLCP flag. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e2839d8f509451acf6b1f22787f25ce98383d94c Author: Vladimir Koutny Date: Tue Mar 18 21:14:07 2008 +0100 mac80211: configure default wmm params correctly Default WMM params have to be set according to beacon/probe response information prior to authentication (or IBSS start/join); beacon queue is configured only in IBSS. This does not affect the use of 'real' WMM params as reported by AP. Signed-off-by: Vladimir Koutny Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 675ef586f04e3a4566c9f437790a340711be5bd2 Author: Mohamed Abbas Date: Thu Mar 20 08:14:29 2008 -0700 mac80211: prevent tuning during scanning Postpone calling ieee80211_hw_config if hardware scanning is active. This is similar to solution for software scanning where channel setting is delayed until scan complete. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 85249e5fab13edb89258fa6d551cd4a3a4f0d569 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:32 2008 -0700 mac80211: tear down of block ack sessions This patch adds a clean tear down for all block ack sessions if interface goes down or if a deauthentication is done. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7b9d44cd6b393cb1032ce201307ae87e5677bfa7 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:31 2008 -0700 mac80211: fixing debug prints for AddBA request This patch also fixes the Rx timer's comments Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2e354ed7bec8a6fc9ecc71e908555af708583c30 Author: Ron Rindjunsky Date: Tue Mar 18 15:00:30 2008 -0700 mac80211: fixing delba debug print This patch fixes a wrong debug print when receiving delba Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit fab7d4a2b1d8ce47b69a133f6f9a203b0f12636e Author: Johannes Berg Date: Sun Mar 16 18:42:44 2008 +0100 mac80211: filter scan results on unusable channels When you have an AP on channel 13, it will currently often enough be listed in scan results even when the regulatory domain restricts to channels 1-11. This is due to channel overlap. To avoid getting very strange failures, don't show such APs in the scan results. The failure mode will now go from "I can see the AP but not associate" to "I can't see the AP although I know it's there" which is easier to debug. This problem was first really noticed by Jes Sorensen. Signed-off-by: Johannes Berg Cc: Jes Sorensen Signed-off-by: John W. Linville commit e048c6e4fdac9be0dbcb7e0c5d518737c867ef09 Author: Johannes Berg Date: Sun Mar 16 18:35:56 2008 +0100 mac80211: use ieee80211_get_channel Use the new ieee80211_get_channel() function instead of open-coding it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 906c730a2db950b7bce4ef17d65399acd791c360 Author: Johannes Berg Date: Sun Mar 16 18:34:33 2008 +0100 wireless: add wiphy channel freq to channel struct lookup helper Add ieee80211_get_channel() which gets you a channel struct for a specific wiphy if that channel is present in that wiphy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 857485c0c46ceee5c658c1761bba4d9a5ddf433f Author: Tomas Winkler Date: Fri Mar 21 13:53:44 2008 -0700 iwlwifi: move host command sending functions to core module 1. Host command sending functions moved from iwl4965-base.c to iwl-hcmd.c in iwlcore module 2. enqueue_hcmd function currently stays in iwl4965-base.c. It is invoked through the new 'utils' field in priv's ops. Signed-off-by: Tomas Winkler Signed-off-by: Assaf Krauss Signed-off-by: John W. Linville commit 8622e7058a8764223ae2305d980a38d07f034717 Author: Assaf Krauss Date: Fri Mar 21 13:53:43 2008 -0700 iwlwifi: rename iwl4965_get_channel_info to iwl_get_channel_info iwl4965_get_channel_info was moved to iwlcore module 4965 needs to be stripped off Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 410e088d53e40c8133f6f666992859cd0dd21ff5 Author: Tomas Winkler Date: Fri Mar 21 13:53:42 2008 -0700 iwlwifi: iwl3945 remove 4965 commands This patch removes 4965 host commands from iwl-3945-commands.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab885f8c45373dfaaa3ad251f38b4240c40b2eae Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:43 2008 +0200 iwlwifi-2.6: enables RX TKIP decryption in HW This patch enables RX TKIP decryption in HW. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2bc750899f2b1da010625d064ad46dc3a8e9a372 Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:45 2008 -0700 iwlwifi-2.6: enables HW TKIP encryption This patch add support for TKIP encryption (TX) in HW. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9ae4fda332df616ef47d5bb710c39681641d4303 Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:42 2008 +0200 mac80211: allows driver to request a Phase 1 RX key This patch makes mac80211 able to send a phase1 key for TKIP decryption. This is needed for drivers that don't do the rekeying by themselves (i.e. iwlwifi). Upon IV16 wrap around, the packet is decrypted in SW, if decryption is ok, mac80211 calls to update_tkip_key with a new phase 1 RX key. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5d2cdcd4e85c5187db30a6b29f79fbbe59f39f78 Author: Emmanuel Grumbach Date: Thu Mar 20 15:06:41 2008 +0200 mac80211: get a TKIP phase key from skb This patch makes mac80211 able to compute a TKIP key from an skb. The requested key can be a phase 1 or a phase 2 key. This is useful for drivers who need to provide tkip key to their HW to enable HW encryption. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 17e476b8db13790c03e2c46d93abc71468fca47e Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:42 2008 -0700 iwlwifi-2.6: RX status translation to old scheme This patch adds translation for the RX status of an incoming packet. The incoming status has to be translated to the old scheme in order to know if the decryption has been done, MIC failure has occured, TTAK is valid etc... This translation is mandatory for all RX packets when using 5300 and for all HT packets using 4965. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit deb09c435e3f947f8b2c9d5df6a9c0a5b472b125 Author: Emmanuel Grumbach Date: Wed Mar 19 16:41:41 2008 -0700 iwlwifi-2.6: Cleans up set_key flow This patch cleans up the set_key flow. Rxon with hw encryption bit set is not sent upon each call to set_key. Separation is made between global key (WEP) and dynamic key (TKIP + CCMP and WEP in some cases). Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bf85ea4fbecab278c63f02fd102b33cc6cb21eb9 Author: Assaf Krauss Date: Fri Mar 14 10:38:49 2008 -0700 iwlwifi: Probe Flow - Extracting hw and priv init 1. Extracting hw and priv initialization from probe function. 2. Moving some initialization functions to core module. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 1d0a082d38decb62ceb3e26a4bb1a3ca78843a23 Author: Assaf Krauss Date: Fri Mar 14 10:38:48 2008 -0700 iwlwifi: Probe Flow - Performing allocation in a separate function Performing allocation in a separate function (previously handled in 'probe') Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 00acbc91354f7c548ce12a9ebb7fd25c4c3861ae Author: Assaf Krauss Date: Fri Mar 14 10:38:47 2008 -0700 iwlwifi: Packing all 4965 parameters This patch defines a package struct for iwlwifi parameters, and uses a single instance of this struct to group all iwl4965 module parameters together. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 316c30d9dddc1bd5b586a6cf9808018746372cc9 Author: Assaf Krauss Date: Fri Mar 14 10:38:46 2008 -0700 iwlwifi: Re-ordering probe flow (4965) This patch re-orders the iwl4965_pci_probe function. Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 99f7d39bb020a06c98cd42641b6193b761f763ca Author: Reinette Chatre Date: Fri Mar 14 10:38:45 2008 -0700 iwlwifi: remove macros containing offsets from eeprom struct A user needing to access these fields can use offsetof() for access. The comments still contain the offset to assist with debugging. Signed-off-by: Reinette Chatre CC: Michael Buesch Signed-off-by: Assaf Krauss Signed-off-by: John W. Linville commit ff829ae01644c10722132a45981615be962c4a5c Author: Holger Schurig Date: Wed Mar 19 17:08:32 2008 +0100 libertas: store rssi as an u32 Don't store an (hardware base) u8 value in bss_descriptor, but just an unsigned int (RSSI is really unsigned). Compilers generate more efficent code for ints than for bytes. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit e98a88dd33b7188ce84533e128101dd9630ae592 Author: Holger Schurig Date: Wed Mar 19 14:25:58 2008 +0100 libertas: remove lots of unused stuff This removes many unused function parameters as well as some not-implemented functions, e.g. CMD_802_11_GET_STATS. The silly lbs_set_cmd_ctrl_node() function is now also gone. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d4ff0ef635b222d5f66dad65e9364d702e5f94e0 Author: Holger Schurig Date: Wed Mar 19 14:25:18 2008 +0100 libertas: misc power saving adjusts * firmware for the CF card supports power saving * the driver currenly only accept "iwconfig ethX power on|off", so I fixed what the range wext ioctl reports. * initialize value/flags in lbs_get_power() * get rid of unused parameter psmode in lbs_ps_confirm_sleep() * some minor debug output tweaks Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c49c3b77c8c611f562ca4e201d88d3e69465f928 Author: Holger Schurig Date: Mon Mar 17 12:45:58 2008 +0100 libertas: convert GET_LOG to a direct command Now uses __lbs_cmd() to get the "log" (it's actually more a snapshot of various counters, not a sequential log). Besides the "mechanical" convertion the patch add the following logical changes: * Removes the priv->logmsg variable, it was only used in one place anyway, also don't blindly get the counters when associating. Getting the counters then the user asks via WEXT for them is good enought. * don't set wstats.discard.fragment with log.rxfrag, because the latter is a counter for successfully received packets, not for fragmented packets. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit c97329e21fc487ebf251c920d46537ff5fb4d8a7 Author: Holger Schurig Date: Tue Mar 18 11:20:21 2008 +0100 libertas: fix scheduling while atomic bug in CMD_MAC_CONTROL The old code incorrectly used lbs_cmd_with_response() and now uses lbs_cmd_async(). While there I noticed that there is no real useful return values for asynchronous command functions, so I made the function "void". Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 8db4a2b986befabd2ad25c269e40444f06a6bda3 Author: Holger Schurig Date: Wed Mar 19 10:11:00 2008 +0100 libertas: make a handy lbs_cmd_async() command This uses a static lbs_cmd_async_callback function, which is a noop. Just setting the callback argument to __lbs_cmd_async() to NULL won't work, because then the cmdnode wouldn't be released. This also makes __lbs_cmd_async() a static method, which is now only used by lbs_cmd() and lbs_cmd_async(). Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 712b6cf57a53da608a682b5f782c5785bda76001 Author: Tomas Winkler Date: Wed Mar 12 16:58:52 2008 -0700 iwlwifi: Add debugfs to iwl core This patch adds debugfs support to iwl core currently only iwl4965 is supported Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19758bef09abe9d2a14575ffb6f686947e97fcb1 Author: Tomas Winkler Date: Wed Mar 12 16:58:51 2008 -0700 iwlwifi: Add TX/RX statistcs to driver This patch supports collecting of TX and RX statistics in the driver. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c79dd5b5bc5a65822cdc9d571032c469ad7577d5 Author: Tomas Winkler Date: Wed Mar 12 16:58:50 2008 -0700 iwlwifi: rename struct iwl4965_priv to struct iwl_priv This patch renames iwl4965_priv to iwl_priv. iwl_priv will be shared by more hw. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0a6857e70d577237bb1cd1c991e68e7d3b6f7c90 Author: Tomas Winkler Date: Wed Mar 12 16:58:49 2008 -0700 iwlwifi: rename iwl-4965-debug.h back to iwl-debug.h This patch removes iwl-4965-debug.h to iwl-debug.h It will be used by more NICs Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8236e183fc53be2b5d81a4f547f9c5b645e10fe0 Author: Max Stepanov Date: Wed Mar 12 16:58:48 2008 -0700 iwlwifi: Bug fix, CCMP with HW encryption with AGG This patch fixes a bug in security. Enables CCMP HW encryption with aggregations. Signed-off-by: Max Stepanov Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 56ca84c61b667e23cdc6e5179df57b9baa0eddc3 Author: Holger Schurig Date: Wed Mar 12 17:06:09 2008 +0100 libertas: remove some unused commands Neither CMD_802_11_PAIRWISE_TSC nor CMD_802_11_GROUP_TSC is used or documented. It might have something to do with TKIP sequence counters, but that's just an educated guess. Remove all occurences of them. CMD_CODE_DNLD is also neither used nor documented. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d9e9778c2ac5bac02fc118e9a2954e4c70f88eb6 Author: Holger Schurig Date: Wed Mar 12 16:06:43 2008 +0100 libertas: rename packetfilter to mac_control The CMD_MAC_CONTROL can be used for other things than just filtering packets, e.g. to enable and disable WMM. This uses the same term mac_control for the define, the function and the shadow value in struct lbs_private. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 835d3ac5e8cbe1fec2c02c7fc662586b30b1f5a8 Author: Holger Schurig Date: Wed Mar 12 16:05:40 2008 +0100 libertas: convert CMD_MAC_CONTROL to a direct command convert CMD_MAC_CONTROL to a direct command Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 878628fbf2589eb24357e42027d5f54b1dafd3c8 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 03:57:35 2008 +0900 [NET] NETNS: Omit namespace comparision without CONFIG_NET_NS. Introduce an inline net_eq() to compare two namespaces. Without CONFIG_NET_NS, since no namespace other than &init_net exists, it is always 1. We do not need to convert 1) inline vs inline and 2) inline vs &init_net comparisons. Signed-off-by: YOSHIFUJI Hideaki commit 57da52c1e62c6c13875e97de6c69d3156f8416da Author: YOSHIFUJI Hideaki Date: Wed Mar 26 03:49:59 2008 +0900 [NET] NETNS: Omit neigh_parms->net and pneigh_entry->net without CONFIG_NET_NS. Introduce neigh_parms/pneigh_entry inlines: neigh_parms_net(), pneigh_net(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit 1218854afa6f659be90b748cf1bc7badee954a35 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 02:36:06 2008 +0900 [NET] NETNS: Omit seq_net_private->net without CONFIG_NET_NS. Without CONFIG_NET_NS, no namespace other than &init_net exists, no need to store net in seq_net_private. Signed-off-by: YOSHIFUJI Hideaki commit 3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9 Author: YOSHIFUJI Hideaki Date: Wed Mar 26 02:26:21 2008 +0900 [NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS. Introduce per-sock inlines: sock_net(), sock_net_set() and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit c346dca10840a874240c78efe3f39acf4312a1f2 Author: YOSHIFUJI Hideaki Date: Tue Mar 25 21:47:49 2008 +0900 [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. Introduce per-net_device inlines: dev_net(), dev_net_set(). Without CONFIG_NET_NS, no namespace other than &init_net exists. Let's explicitly define them to help compiler optimizations. Signed-off-by: YOSHIFUJI Hideaki commit 7cbca67c073263c179f605bdbbdc565ab29d801d Author: YOSHIFUJI Hideaki Date: Tue Mar 25 09:37:42 2008 +0900 [IPV6]: Support Source Address Selection API (RFC5014). Signed-off-by: YOSHIFUJI Hideaki commit 1d5d236d309ab90fa6aedf712f586b3595721373 Author: YOSHIFUJI Hideaki Date: Mon Mar 10 10:56:55 2008 -0400 [IPV6]: Use bitfields for hop_limit and mcast_hops. Save some bits for future extensions. Signed-off-by: YOSHIFUJI Hideaki commit 6b75d0908185bf853b188afa6f269426f6554c5b Author: YOSHIFUJI Hideaki Date: Mon Mar 10 06:00:30 2008 -0400 [IPV6]: Optimize hop-limit determination. Last part of hop-limit determination is always: hoplimit = dst_metric(dst, RTAX_HOPLIMIT); if (hoplimit < 0) hoplimit = ipv6_get_hoplimit(dst->dev). Let's consolidate it as ip6_dst_hoplimit(dst). Signed-off-by: YOSHIFUJI Hideaki commit 4725474584d6aa2f07b3d47442dfbc4f6544f65e Author: YOSHIFUJI Hideaki Date: Mon Mar 10 04:41:33 2008 -0400 [IPV6]: Convert cork.hop_limit and cork.tclass into u8 instead of int. Values of those fields are always between 0 and 255 (inclusive), so use u8 and save some memory on 32bit systems. Signed-off-by: YOSHIFUJI Hideaki commit c8cdaf998df221b01134a051aba38c570105061b Author: YOSHIFUJI Hideaki Date: Mon Mar 10 04:30:37 2008 -0400 [IPV4,IPV6]: Share cork.rt between IPv4 and IPv6. Signed-off-by: YOSHIFUJI Hideaki commit a9b05723ffa2e427b0257b81ea74363fcd7c304f Author: YOSHIFUJI Hideaki Date: Sun Mar 2 10:48:21 2008 +0900 [IPV6] ADDRCONF: Clean-up ipv6_dev_get_saddr(). old: | text data bss dec hex filename | 28599 1416 96 30111 759f net/ipv6/addrconf.o new: | text data bss dec hex filename | 28007 1416 96 29519 734f net/ipv6/addrconf.o Signed-off-by: YOSHIFUJI Hideaki commit 9bb182a7007515239091b237fe7169b1328a61d3 Author: YOSHIFUJI Hideaki Date: Fri Feb 22 14:48:22 2008 +0900 [XFRM] MIP6: Fix address keys for routing search. Each MIPv6 XFRM state (DSTOPT/RH2) holds either destination or source address to be mangled in the IPv6 header (that is "CoA"). On Inter-MN communication after both nodes binds each other, they use route optimized traffic two MIPv6 states applied, and both source and destination address in the IPv6 header are replaced by the states respectively. The packet format is correct, however, next-hop routing search are not. This patch fixes it by remembering address pairs for later states. Based on patch from Masahide NAKAMURA . Signed-off-by: Masahide NAKAMURA Signed-off-by: YOSHIFUJI Hideaki commit df8ea19b5d2e7512095bb1e0737513b8da196d64 Author: YOSHIFUJI Hideaki Date: Tue Feb 19 22:54:00 2008 +0900 [XFRM] IPV6: Optimize __xfrm_tunnel_alloc_spi(). | % size old/net/ipv6/xfrm6_tunnel.o new/net/ipv6/xfrm6_tunnel.o | text data bss dec hex filename | 1606 40 2080 3726 e8e old/net/ipv6/xfrm6_tunnel.o | 1574 40 2080 3694 e6e new/net/ipv6/xfrm6_tunnel.o Signed-off-by: YOSHIFUJI Hideaki commit a002c6fd714b1710aaf64e26db3f3f18bf8e8384 Author: YOSHIFUJI Hideaki Date: Tue Feb 19 17:24:33 2008 +0900 [XFRM] IPV6: Optimize xfrm6_input_addr(). | % size old/net/ipv6/xfrm6_input.o new/net/ipv6/xfrm6_input.o | text data bss dec hex filename | 1026 0 0 1026 402 old/net/ipv6/xfrm6_input.o | 947 0 0 947 3b3 new/net/ipv6/xfrm6_input.o Signed-off-by: YOSHIFUJI Hideaki commit 3b6cdf94cd6dd0b64cc8646cf067a1ae0203276d Author: YOSHIFUJI Hideaki Date: Tue Feb 19 10:15:27 2008 +0900 [XFRM] IPV6: Use distribution counting sort for xfrm_state/xfrm_tmpl chain. Signed-off-by: YOSHIFUJI Hideaki commit ce52ddf58cbc2c40f5f08d37d2217945e4d5adf3 Author: Alexey Starikovskiy Date: Mon Mar 24 23:22:36 2008 +0300 ACPI: EC: Don't delete boot EC Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6d9e11206371be370b153264934378a29b6afe9b Author: Alexey Starikovskiy Date: Mon Mar 24 23:22:29 2008 +0300 ACPI: EC: Use default setup handler Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit fa95ba04e6ba11d71e1b87becd054b38faf546c8 Author: Alexey Starikovskiy Date: Fri Mar 21 19:36:02 2008 +0300 ACPI: EC: Detect irq storm Problem seems to be that hw fails to clear GPE after we service it and write 1 into corresponding bit. Thus, as soon as we get interrupts enabled again, we receive a new one. Google gives too many results for "acer interrupt storm" for this being one-broken-machine case. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9998 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 223883b7aafa02410ed2e571d6032c876d0b23b8 Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:21 2008 +0300 ACPI: EC: Switch off GPE mode during suspend/resume Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit b77d81b2678950077088956da4638c26853389fc Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:15 2008 +0300 ACPI: EC: Replace broken controller workarounds with poll mode. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit dc0e8490fe884a9378b8ee04a5b5f905f06f4633 Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:09 2008 +0300 ACPI: EC: Improve debug output Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 845625cdcb17119d5f6c5c8dbe586f2f36e8008a Author: Alexey Starikovskiy Date: Fri Mar 21 17:07:03 2008 +0300 ACPI: EC: Add poll timer If we can not use interrupt mode of EC for some reason, start polling EC for events periodically. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e6e82a3087e6dad619149246082c910623ea9c36 Author: Alexey Starikovskiy Date: Fri Mar 21 17:06:57 2008 +0300 ACPI: EC: Restore udelay in poll mode This fixes keyboard event handling on some systems. Note that this delay was thought unnecessary, and removed from linux-2.6.20 with 50c1e1138cb94f6aca0f8555777edbcefe0324e2 'ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.' Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 92f1fecb45ef97acae94463302f79228a4b454d9 Author: Denis V. Lunev Date: Mon Mar 24 15:34:06 2008 -0700 [NETNS]: Enable TCP/UDP/ICMP inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2342fd7e146f05edeb13feb03490c13a1bdab2e0 Author: Denis V. Lunev Date: Mon Mar 24 15:33:42 2008 -0700 [NETNS]: Allow to create sockets in non-initial namespace. Allow to create sockets in the namespace if the protocol ok with this. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f145049a06f470d0489f47cb83ff3ccb2a0de622 Author: Denis V. Lunev Date: Mon Mar 24 15:33:00 2008 -0700 [NETNS]: Drop packets in the non-initial namespace on the per/protocol basis. IP layer now can handle multiple namespaces normally. So, process such packets normally and drop them only if the transport layer is not aware about namespaces. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0be43f82c4f4c4a999b53cf794513f7f1a4ed7f3 Author: Denis V. Lunev Date: Mon Mar 24 15:32:09 2008 -0700 [NETNS]: Process netfilter hooks in initial namespace only. There were no packets in the namespace other than initial previously. This will be changed in the neareast future. Netfilters are not namespace aware and should be processed in the initial namespace only for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 05cf89d40c85e622dac20e44713168767be5c520 Author: Denis V. Lunev Date: Mon Mar 24 15:31:35 2008 -0700 [NETNS]: Process INET socket layer in the correct namespace. Replace all the reast of the init_net with a proper net on the socket layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit cb84663e4d239f23f0d872bc6463c272e74daad8 Author: Denis V. Lunev Date: Mon Mar 24 15:31:00 2008 -0700 [NETNS]: Process IP layer in the context of the correct namespace. Replace all the rest of the init_net with a proper net on the IP layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7a6adb92fe301c10ca4dbd0d9f2422f5880595e7 Author: Denis V. Lunev Date: Mon Mar 24 15:30:27 2008 -0700 [NETNS]: Add namespace parameter to ip_cmsg_send. Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f2c4802b3fdfb0d9596d932ca2af0ef6f8d60491 Author: Denis V. Lunev Date: Mon Mar 24 15:29:55 2008 -0700 [NETNS]: Add namespace parameter to ip_options_get(...). Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0e6bd4a1c6c3881c9ed82985ecb9824d4450c4ba Author: Denis V. Lunev Date: Mon Mar 24 15:29:23 2008 -0700 [NETNS]: Add namespace parameter to ip_options_compile. ip_options_compile uses inet_addr_type which requires a namespace. The packet argument is optional, so parameter is the only way to obtain it. Pass the init_net there for now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ffc31d3d7719555cd784ecaf82e9c237f3a747ab Author: Denis V. Lunev Date: Mon Mar 24 15:28:43 2008 -0700 [NETNS]: /proc/net/arp namespacing. Seqfile operation showing /proc/net/arp are already namespace aware. All we need is to register this file for each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 49e8a279a1b79e14b51aa6d4102b3a3de39e7a5e Author: Denis V. Lunev Date: Mon Mar 24 15:28:12 2008 -0700 [NETNS]: Process ARP in the context of the correct namespace. Get namespace from a device and pass it to the routing engine. Enable ARP packet processing and device notifiers after that. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2feb27dbe00cbb4f7d31f90acf6bd0d751dd0a50 Author: Pavel Emelyanov Date: Mon Mar 24 14:57:45 2008 -0700 [NETNS]: Minor information leak via /proc/net/ptype file. This file displays the registered packet types, but some of them (packet sockets creates such) can be bound to a net device and showing them in a wrong namespace is not correct. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 84c375af0ff61e0bd15fac0aed0438640494483e Author: Pavel Emelyanov Date: Mon Mar 24 14:56:57 2008 -0700 [NETNS][UDP-Lite]: Register /proc/net/udplite(6) in a namespace. UDP-Lite sockets are displayed in another files, rather than UDP ones, so make the present in namespaces as well. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ff2bac6a63e3694e7a97152b7e934fe244e2a858 Author: Pavel Emelyanov Date: Mon Mar 24 14:56:34 2008 -0700 [UDP-Lite]: Clean up proc creation a bit. Just introduce a helper to remove ifdefs from inside the udplite4_register function. This will help to make the next patch nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 757764f61d07ab8ff84699b6d608eac7bc94cecc Author: Pavel Emelyanov Date: Mon Mar 24 14:56:02 2008 -0700 [NETNS][TCP]: Register /proc/net/tcp in a namespace. After the commit f40c8174d3c21bf178283f3ef3aa8c7bf238fdec ([NETNS][IPV4] tcp - make proc handle the network namespaces) it is now possible to make this file present in newly created namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 15439febb0bd530f85e40ad6fa8e9f75106639ef Author: Pavel Emelyanov Date: Mon Mar 24 14:53:49 2008 -0700 [NETNS][UDP]: Register /proc/net/udp in a namespace. After the commit a91275eff43a527e1a25d6d034cbcd19ee323e64 ([NETNS][IPV6] udp - make proc handle the network namespace) it is now possible to make this file present in newly created namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 06802a819a0a2d31c952c0624cea6cd00e4e50da Merge: 9bd512f... 8f3ea33... Author: David S. Miller Date: Sun Mar 23 22:54:03 2008 -0700 Merge branch 'master' of ../net-2.6/ Conflicts: net/ipv6/ndisc.c commit 9bd512f619cc116b7830134d7c9f6e404a38c7bf Author: Robert P. J. Day Date: Sun Mar 23 22:47:53 2008 -0700 [CASSINI]: Use shorter list_splice_init() macro for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 80445cfb28a6b093540582b68d9ae928bf34cfe7 Author: Florian Westphal Date: Sun Mar 23 22:47:08 2008 -0700 [SCTP]: Remove redundant wrapper functions. sctp_datamsg_free and sctp_datamsg_track are just aliases for sctp_datamsg_put and sctp_chunk_hold, respectively. Saves 32 Bytes on x86. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 2444844cefd2ce0ac73858cf980de07e33a5dd20 Author: Florian Westphal Date: Sun Mar 23 22:46:34 2008 -0700 [SCTP]: Replace char msg[] with static const char[]. 133886 2004 220 136110 213ae sctp.new/sctp.o 134018 2004 220 136242 21432 sctp.old/sctp.o Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 3d3b2d25a4debaff05a9e6f5c55a0d31e4334234 Author: Stephen Hemminger Date: Sun Mar 23 22:43:56 2008 -0700 fib_trie: print information on all routing tables Make /proc/net/fib_trie and /proc/net/fib_triestat display all routing tables, not just local and main. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2a706ec1881709b8a90d8ccdd1fde40b3cc79364 Author: Jiri Olsa Date: Sun Mar 23 22:42:34 2008 -0700 [AF_PACKET]: Remove unused variable. Signed-off-by: Jiri Olsa Signed-off-by: David S. Miller commit 2051f11fb86b0056fec440fe7e9fa8370d60a5c6 Author: Florian Westphal Date: Sun Mar 23 22:21:28 2008 -0700 [TCP]: Shrink syncookie_secret by 8 byte. the first u32 copied from syncookie_secret is overwritten by the minute-counter four lines below. After adjusting the destination address, the size of syncookie_secret can be reduced accordingly. AFAICS, the only other user of syncookie_secret[] is the ipv6 syncookie support. Because ipv6 syncookies only grab 44 bytes from syncookie_secret[], this shouldn't affect them in any way. With fixes from Glenn Griffin. Signed-off-by: Florian Westphal Acked-by: Glenn Griffin Signed-off-by: David S. Miller commit 310afe86af8ddd96a06b75aa61ef1af233f80e89 Author: Joe Perches Date: Sun Mar 23 22:06:51 2008 -0700 [NET]: include/linux/udp.h - remove duplicate include Remove duplicate #include Combine #ifdef __KERNEL__ blocks Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit cc32e05416b4023a5466a2f66e3c02236a771c5b Author: Joe Perches Date: Sun Mar 23 22:05:44 2008 -0700 [NET]: include/linux/igmp.h - remove duplicate include Removed duplicate #include Combined #ifdef __KERNEL__ blocks Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 414f69d8a6ff0b30e7ea5ce10534b19f851e172e Author: Joe Perches Date: Sun Mar 23 22:04:31 2008 -0700 [NET]: include/linux/atalk.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 7d164be8aa4392fe55474f4608547f2097e07c41 Author: Joe Perches Date: Sun Mar 23 22:03:56 2008 -0700 [NET]: include/net/route.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 061964fb988ca51087948975da66ff523b3a5852 Author: Rami Rosen Date: Sun Mar 23 21:58:44 2008 -0700 [IPV6]: Remove unused code in ndisc_send_redirect(). This patches removes unused code in ndisc_send_redirect() method in net/ipv6/ndisc.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit d5706ef30bc25fe100bc3c3e46e46582a3eaf6b2 Author: David S. Miller Date: Sat Mar 22 18:33:28 2008 -0700 [8390]: Fix build error. module_init() function reference is wrong. Signed-off-by: David S. Miller commit 76fef2b6bffa13ad7ccd54c0493b053295721b9a Merge: 817bc4d... ef85004... Author: David S. Miller Date: Sat Mar 22 18:22:42 2008 -0700 Merge branch 'upstream-net26' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 Conflicts: drivers/s390/net/qeth_main.c commit 817bc4db7794d6dc6594265ddea88d2b839cf2f8 Author: Stephen Hemminger Date: Sat Mar 22 17:43:59 2008 -0700 [IPV4] route: use read_mostly The route table parameters are set based on system memory and sysctl values that almost never change. Also the genid only changes every 10 minutes. RTprint is defined by never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce259990785595420ace616faece09255bad1163 Author: Denis V. Lunev Date: Sat Mar 22 17:42:37 2008 -0700 [IPV4]: sk parameter is unused in ipv4_dst_blackhole. Just remove it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0098b7273e968fb9989a6e1e4e4c024cd081fe0d Author: Rusty Russell Date: Sat Mar 22 17:18:47 2008 -0700 [NET]: NPROTO is redundant; it's equal to AF_MAX/PF_MAX. DaveM pointed out NPROTO exposed to userspace, so keep it around, just make sure it stays in sync. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit fc8717baa8f52dd8d1b90df9008300ef3ec794ed Author: Pavel Emelyanov Date: Sat Mar 22 16:56:51 2008 -0700 [RAW]: Add raw_hashinfo member on struct proto. Sorry for the patch sequence confusion :| but I found that the similar thing can be done for raw sockets easily too late. Expand the proto.h union with the raw_hashinfo member and use it in raw_prot and rawv6_prot. This allows to drop the protocol specific versions of hash and unhash callbacks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6ba5a3c52da00015e739469e3b00cd6d0d4c5c67 Author: Pavel Emelyanov Date: Sat Mar 22 16:51:21 2008 -0700 [UDP]: Make full use of proto.h.udp_hash innovation. After this we have only udp_lib_get_port to get the port and two stubs for ipv4 and ipv6. No difference in udp and udplite except for initialized h.udp_hash member. I tried to find a graceful way to drop the only difference between udp_v4_get_port and udp_v6_get_port (i.e. the rcv_saddr comparison routine), but adding one more callback on the struct proto didn't appear such :( Maybe later. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 39d8cda76cfb1178455f9d196b39e773878e6c05 Author: Pavel Emelyanov Date: Sat Mar 22 16:50:58 2008 -0700 [SOCK]: Add udp_hash member to struct proto. Inspired by the commit ab1e0a13 ([SOCK] proto: Add hashinfo member to struct proto) from Arnaldo, I made similar thing for UDP/-Lite IPv4 and -v6 protocols. The result is not that exciting, but it removes some levels of indirection in udpxxx_get_port and saves some space in code and text. The first step is to union existing hashinfo and new udp_hash on the struct proto and give a name to this union, since future initialization of tcpxxx_prot, dccp_vx_protinfo and udpxxx_protinfo will cause gcc warning about inability to initialize anonymous member this way. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 22aba383ce52f8ca8740f9a74dc66b1b68138813 Author: Denis V. Lunev Date: Sat Mar 22 16:36:20 2008 -0700 [IPV4]: Always pass ip_options pointer into ip_options_compile. This makes code a bit more uniform and straigthforward. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ef722495c8867aacc1db0675a6737e5cf1e72e07 Author: Denis V. Lunev Date: Sat Mar 22 16:35:29 2008 -0700 [IPV4]: Remove unused ip_options->is_data. ip_options->is_data is assigned only and never checked. The structure is not a part of kernel interface to the userspace. So, it is safe to remove this field. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 10fe7d85e2e4042f703a10bed4123f2105eadad2 Author: Denis V. Lunev Date: Sat Mar 22 16:35:00 2008 -0700 [IPV4]: Remove unnecessary check for opt->is_data in ip_options_compile. There is the only way to reach ip_options compile with opt != NULL: ip_options_get_finish opt->is_data = 1; ip_options_compile(opt, NULL) So, checking for is_data inside opt != NULL branch is not needed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ec3c0982a2dd1e671bad8e9d26c28dcba0039d87 Author: Patrick McManus Date: Fri Mar 21 16:33:01 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - process as established Change TCP_DEFER_ACCEPT implementation so that it transitions a connection to ESTABLISHED after handshake is complete instead of leaving it in SYN-RECV until some data arrvies. Place connection in accept queue when first data packet arrives from slow path. Benefits: - established connection is now reset if it never makes it to the accept queue - diagnostic state of established matches with the packet traces showing completed handshake - TCP_DEFER_ACCEPT timeouts are expressed in seconds and can now be enforced with reasonable accuracy instead of rounding up to next exponential back-off of syn-ack retry. Signed-off-by: Patrick McManus Signed-off-by: David S. Miller commit e4c78840284f3f51b1896cf3936d60a6033c4d2c Author: Patrick McManus Date: Fri Mar 21 16:29:22 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - dont retxmt synack a socket in LISTEN that had completed its 3 way handshake, but not notified userspace because of SO_DEFER_ACCEPT, would retransmit the already acked syn-ack during the time it was waiting for the first data byte from the peer. Signed-off-by: Patrick McManus Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 539fae89bebd16ebeafd57a87169bc56eb530d76 Author: Patrick McManus Date: Fri Mar 21 16:27:38 2008 -0700 [TCP]: TCP_DEFER_ACCEPT updates - defer timeout conflicts with max_thresh timeout associated with SO_DEFER_ACCEPT wasn't being honored if it was less than the timeout allowed by the maximum syn-recv queue size algorithm. Fix by using the SO_DEFER_ACCEPT value if the ack has arrived. Signed-off-by: Patrick McManus Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cd9029d25f6612302f82634620f107c65f790b1 Author: Stephen Hemminger Date: Fri Mar 21 15:54:53 2008 -0700 socket: SOCK_DEBUG type checking Use the inline trick (same as pr_debug) to get checking of debug statements even if no code is generated. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 28518fc1701a757a3df8aa2d2ac2e5d1efd1c3e5 Author: Pavel Emelyanov Date: Fri Mar 21 15:52:00 2008 -0700 [NET]: NULL pointer dereference and other nasty things in /proc/net/(tcp|udp)[6] Commits f40c81 ([NETNS][IPV4] tcp - make proc handle the network namespaces) and a91275 ([NETNS][IPV6] udp - make proc handle the network namespace) both introduced bad checks on sockets and tw buckets to belong to proper net namespace. I.e. when checking for socket to belong to given net and family the do { sk = sk_next(sk); } while (sk && sk->sk_net != net && sk->sk_family != family); constructions were used. This is wrong, since as soon as the sk->sk_net fits the net the socket is immediately returned, even if it belongs to other family. As the result four /proc/net/(udp|tcp)[6] entries show wrong info. The udp6 entry even oopses when dereferencing inet6_sk(sk) pointer: static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket) { ... struct ipv6_pinfo *np = inet6_sk(sp); ... dest = &np->daddr; /* will be NULL for AF_INET sockets */ ... seq_printf(... dest->s6_addr32[0], dest->s6_addr32[1], dest->s6_addr32[2], dest->s6_addr32[3], ... Fix it by converting && to ||. Signed-off-by: Pavel Emelyanov Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit b1153f29ee07dc1a788964409255a4b4fae50b98 Author: Stephen Hemminger Date: Fri Mar 21 15:46:12 2008 -0700 netlink: make socket filters work on netlink Make socket filters work for netlink unicast and notifications. This is useful for applications like Zebra that get overrun with messages that are then ignored. Note: netlink messages are in host byte order, but packet filter state machine operations are done as network byte order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f8b13bcb3369a5df2e63acc422bed6098f5b8c4 Author: Daniel Lezcano Date: Fri Mar 21 04:14:45 2008 -0700 [NETNS][IPV6] tcp6 - make proc per namespace Make the proc for tcp6 to be per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 0c96d8c50bffb7f02690dd8a8cf1adb8e07e100f Author: Daniel Lezcano Date: Fri Mar 21 04:14:17 2008 -0700 [NETNS][IPV6] udp6 - make proc per namespace The proc init/exit functions take a new network namespace parameter in order to register/unregister /proc/net/udp6 for a namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit f40c8174d3c21bf178283f3ef3aa8c7bf238fdec Author: Daniel Lezcano Date: Fri Mar 21 04:13:54 2008 -0700 [NETNS][IPV4] tcp - make proc handle the network namespaces This patch, like udp proc, makes the proc functions to take care of which namespace the socket belongs. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 8d9f1744cab50acb0c6c9553be533621e01f178b Author: Daniel Lezcano Date: Fri Mar 21 04:12:54 2008 -0700 [NETNS][IPV6] tcp - assign the netns for timewait sockets Copy the network namespace from the socket to the timewait socket. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit a91275eff43a527e1a25d6d034cbcd19ee323e64 Author: Daniel Lezcano Date: Fri Mar 21 04:11:58 2008 -0700 [NETNS][IPV6] udp - make proc handle the network namespace This patch makes the common udp proc functions to take care of which socket they should show taking into account the namespace it belongs. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ea82edf704f6bf3c3a51d0dbee816c5bbc6d3974 Author: Daniel Lezcano Date: Fri Mar 21 04:10:53 2008 -0700 [NETNS][IPV6] mcast - fix compilation warning when procfs is not compiled in When CONFIG_PROC_FS=no, the out_sock_create label is not used because the code using it is disabled and that leads to a warning at compile time. This patch fix that by making a specific function to initialize proc for igmp6, and remove the annoying CONFIG_PROC_FS sections in init/exit function. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 82cc1a7a56872056af0ead6c7d695aa223f36695 Author: Peter P Waskiewicz Jr Date: Fri Mar 21 03:43:19 2008 -0700 [NET]: Add per-connection option to set max TSO frame size Update: My mailer ate one of Jarek's feedback mails... Fixed the parameter in netif_set_gso_max_size() to be u32, not u16. Fixed the whitespace issue due to a patch import botch. Changed the types from u32 to unsigned int to be more consistent with other variables in the area. Also brought the patch up to the latest net-2.6.26 tree. Update: Made gso_max_size container 32 bits, not 16. Moved the location of gso_max_size within netdev to be less hotpath. Made more consistent names between the sock and netdev layers, and added a define for the max GSO size. Update: Respun for net-2.6.26 tree. Update: changed max_gso_frame_size and sk_gso_max_size from signed to unsigned - thanks Stephen! This patch adds the ability for device drivers to control the size of the TSO frames being sent to them, per TCP connection. By setting the netdevice's gso_max_size value, the socket layer will set the GSO frame size based on that value. This will propogate into the TCP layer, and send TSO's of that size to the hardware. This can be desirable to help tune the bursty nature of TSO on a per-adapter basis, where one may have 1 GbE and 10 GbE devices coexisting in a system, one running multiqueue and the other not, etc. This can also be desirable for devices that cannot support full 64 KB TSO's, but still want to benefit from some level of segmentation offloading. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a25606c845856e5ca5ed54d23cab077e3a49bf10 Merge: 938b93a... 94833df... Author: David S. Miller Date: Fri Mar 21 03:42:24 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 commit 0490a54a00c14212f22c5948c8c13a4553d745bd Author: Chuck Lever Date: Fri Mar 14 14:26:08 2008 -0400 lockd: introduce new function to encode private argument in SM_MON requests Clean up: refactor the encoding of the opaque 16-byte private argument in xdr_encode_mon(). This will be updated later to support IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2ca7754d4c96d68e1475690422a202ba5f0443d8 Author: Chuck Lever Date: Fri Mar 14 14:26:01 2008 -0400 lockd: Fix up incorrect RPC buffer size calculations. Switch to using the new mon_id encoder function. Now that we've refactored the encoding of SM_MON requests, we've discovered that the pre-computed buffer length maximums are incorrect! Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ea72a7f170e686baf00ceee57b6197bef686889c Author: Chuck Lever Date: Fri Mar 14 14:25:53 2008 -0400 lockd: document use of mon_id argument in SM_MON requests Clean up: document the argument type that xdr_encode_common() is marshalling by introducing a new function. The new function will replace xdr_encode_common() in just a sec. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 850c95fd07b63704d06909c9a081c51272d32db1 Author: Chuck Lever Date: Fri Mar 14 14:25:46 2008 -0400 lockd: refactor SM_MON my_id argument encoder Clean up: introduce a new XDR encoder specifically for the my_id argument of SM_MON requests. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 496951743100b2d2ccd8b268257e79425e489851 Author: Chuck Lever Date: Fri Mar 14 14:25:39 2008 -0400 lockd: refactor SM_MON mon_name argument encoder Clean up: introduce a new XDR encoder specifically for the mon_name argument of SM_MON requests. This will be updated later to support IPv6 addresses in addition to IPv4 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 099bd05f27ff24a3041d54e7ed42d2eb681484b9 Author: Chuck Lever Date: Fri Mar 14 14:25:32 2008 -0400 lockd: Ensure NSM strings aren't longer than protocol allows Introduce a special helper function to check the length of NSM strings before they are placed on the wire. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f34ec991ae0f015f5cdc51ad46c3a317ffae2466 Author: Chuck Lever Date: Fri Mar 14 14:18:45 2008 -0400 lockd: bring a few function declarations up to date Clean-up: replace __inline__ and use up-to-date function declaration conventions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit eb18860e1385bfc7f08fcb7ba362e4a5156c8324 Author: Chuck Lever Date: Fri Mar 14 14:18:37 2008 -0400 NLM: NLM protocol version numbers are u32 Clean up: RPC protocol version numbers are u32. Make sure we use an appropriate type for NLM version numbers when calling nlm_lookup_host(). Eliminates a harmless mixed sign comparison in nlm_host_lookup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 90d5b18061656993410dfd57ddb88aa5a3f34563 Author: Chuck Lever Date: Fri Mar 14 14:18:30 2008 -0400 NLM: LOCKD fails to load if CONFIG_SYSCTL is not set Bruce Fields says: "By the way, we've got another config-related nit here: http://bugzilla.linux-nfs.org/show_bug.cgi?id=156 You can build lockd without CONFIG_SYSCTL set, but then the module will fail to load." For now, disable the sysctl registration calls in lockd if CONFIG_SYSCTL is not enabled. This allows the kernel to build properly if PROC_FS or SYSCTL is not enabled, but an NFS client is desired. In the long run, we would like to be able to build the kernel with an NFS client but without lockd. This makes sense, for example, if you want an NFSv4-only NFS client, as NFSv4 doesn't use NLM at all. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 1e40316bc44851c5920490df01482ed862e4dbc4 Author: Chuck Lever Date: Fri Mar 14 14:15:18 2008 -0400 SUNRPC: Add a default setting for CONFIG_SUNRPC_BIND34 Most distros will want support for rpcbind protocols 3 and 4 to default off until they have integrated user-space support for the new rpcbind daemon which supports IPv6 RPC services. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 327a299d8abd0f4580098cbd6c58b0f017417005 Author: Chuck Lever Date: Fri Mar 14 14:15:11 2008 -0400 SUNRPC: Update help Kconfig text Clean up: refresh the help text for Kconfig items related to the sunrpc module. Remove obsolete URLs, and make the language consistent among the options. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ecfc555a8327ff09b07066d73a98c04115007eec Author: Chuck Lever Date: Fri Mar 14 14:14:56 2008 -0400 NFS: Always enable NFS direct I/O Since O_DIRECT is a standard feature that is enabled in most distros, eliminate the CONFIG_NFS_DIRECTIO build option, and change the fs/nfs/Makefile to always build in the NFS direct I/O engine. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 82d101d58a2312297ee79f96d44c1d8c7fe1032d Author: Chuck Lever Date: Fri Mar 14 14:10:37 2008 -0400 NFS: Show most mount options via nfs_show_options() Display all mount options in /proc/mount which may be needed to reconstruct a previous mount. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit 3f8400d1f1f9d5fb175bdbf6236e564dde454f28 Author: Chuck Lever Date: Fri Mar 14 14:10:30 2008 -0400 NFS: Save the values of the "mount*=" mount options Save the value of the mountproto= mountport= mountvers= and mountaddr= options so that these values can be displayed later via nfs_show_options(). This preserves the intent of the original mount options, should the file system need to be remounted based on what's displayed in /proc/mounts. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit f22d6d79fe227245363a8849ea8c85fe6c6598c3 Author: Chuck Lever Date: Fri Mar 14 14:10:22 2008 -0400 NFS: Save the value of the "port=" mount option During a remount based on the mount options displayed in /proc/mounts, we want to preserve the original behavior of the mount request. Let's save the original setting of the "port=" mount option in the mount's nfs_server structure. This allows us to simplify the default behavior of port setting for NFSv4 mounts: by default, NFSv2/3 mounts first try an RPC bind to determine the NFS server's port, unless the user specified the "port=" mount option; Users can force the client to skip the RPC bind by explicitly specifying "port=". NFSv4, by contrast, assumes the NFS server port is 2049 and skips the RPC bind, unless the user specifies "port=". Users can force an RPC bind for NFSv4 by explicitly specifying "port=0". I added a couple of extra comments to clarify this behavior. Signed-off-by: Chuck Lever Cc: Miklos Szeredi Signed-off-by: Trond Myklebust commit 78fa701f341564e60461de91cd08ff5f7fb09b31 Author: Chuck Lever Date: Fri Mar 14 14:10:15 2008 -0400 NFS: Fix up data types of fields in nfs_parsed_mount_options Clean up: make data types of fields in nfs_parsed_mount_options more consistent with other uses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2d76743227028a26f884284aade03d1e43f4f249 Author: Chuck Lever Date: Fri Mar 14 14:10:08 2008 -0400 NFS: numeric mount parameters are unsigned Clean up: use %u instead of %d when displaying NFS mount options. Nit: Fix reporting of "namlen=" option in nfs_show_mount_stats. The mount option is called "namlen" without the "e". Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7bda2cdf484a00e52b0ed925e99d4bf4696b2c7a Author: Jeff Layton Date: Fri Feb 22 14:50:01 2008 -0500 NFS: clean up short packet handling for NFSv4 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in decode_readdir(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 643f81115baca3630e544f6874567648b605efae Author: Jeff Layton Date: Fri Feb 22 14:50:00 2008 -0500 NFS: clean up short packet handling for NFSv3 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in nfs3_xdr_readdirres(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit caa02bd540618e4b447a1f776363ba27c4c79090 Author: Jeff Layton Date: Fri Feb 22 14:49:59 2008 -0500 NFS: clean up short packet handling for NFSv2 readdir Currently, the NFS readdir decoders have a workaround for buggy servers that send an empty readdir response with the EOF bit unset. If the server sends a malformed response in some cases, this workaround kicks in and just returns an empty response rather than returning a proper error to the caller. This patch does 3 things: 1) have malformed responses with no entries return error (-EIO) 2) preserve existing workaround for servers that send empty responses with the EOF marker unset. 3) Add some comments to clarify the logic in nfs_xdr_readdirres(). Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 4af68bffac444a23f027e18ff244101e63b79227 Author: Fred Isaman Date: Wed Mar 19 11:54:04 2008 -0400 nfs: remove duplicate initializations of nfs_read_data field Signed-off-by: Fred Isaman Signed-off-by: Trond Myklebust commit 6d884e8fc8114dc8877218f06a9a9a1d801901e4 Author: Fred Date: Wed Mar 19 11:24:38 2008 -0400 nfs: nfs_redirty_request Both flush functions have the same error handling routine. Pull it out as a function. Signed-off-by: Fred Isaman Signed-off-by: Trond Myklebust commit c7c350e92aab1bba68f26a6027b734adcf9824ba Merge: 2f42b5d... f8512ad... Author: Trond Myklebust Date: Wed Mar 19 17:59:44 2008 -0400 Merge branch 'hotfixes' into devel commit 938b93adb2642885e688390396472d22a7548748 Author: Robert P. J. Day Date: Tue Mar 18 00:59:23 2008 -0700 [NET]: Add debugging names to __RW_LOCK_UNLOCKED macros. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 577f99c1d08cf9cbdafd4e858dd13ff04d855090 Merge: 26c0f03... 2f63392... Author: David S. Miller Date: Tue Mar 18 00:37:55 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/rt2x00/rt2x00dev.c net/8021q/vlan_dev.c commit ef8500457b29eed13d03ff19af36d810308e57b7 Author: Auke Kok Date: Mon Mar 3 15:04:07 2008 -0800 ixgbe: Increment version Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit bd0362dde080cef377d99fa5beb5c25308c29c73 Author: Jeb Cramer Date: Mon Mar 3 15:04:02 2008 -0800 ixgbe: Add optional DCA infrastructure 82598 cards and up support DCA, which enables the chipset to warm up the caches for upcoming payload data. This code makes the driver plug into the CONFIG_DCA infrastructure that was merged earlier. Signed-off-by: Jeb Cramer Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f494e8faa77bd4147324f7666441e0b780e7db94 Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:57 2008 -0800 ixgbe: Introduce adaptive interrupt moderation 82598 can produce a formidable interrupt rate, and is largely unusable without some form of moderation. The default behaviour before this patch is to limit irq's to a reasonable number. However, just like our other drivers we can reduce latency for small packet-type traffic considerably by allowing the irq rate to go up dynamically. This patch introduces a simple irq moderation algorithm based on traffic analysis. The driver will use more CPU to service small packets quicker but will perform the same on bulk traffic as the old code. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 30eba97a3f076cf4e100b598ee9a1b1439b0cfaa Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:52 2008 -0800 ixgbe: Introduce Multiqueue TX Now that the irq vector code is in place, we can add the conditional multiqueue TX code in the driver. This requires the optional CONFIG_NETDEVICES_MULTIQUEUE=y and will not be enabled without it. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Acked-by: Waskiewicz Jr, Peter P Signed-off-by: Jeff Garzik commit 021230d40ae0e6508d6c717b6e0d6d81cd77ac25 Author: Ayyappan Veeraiyan Date: Mon Mar 3 15:03:45 2008 -0800 ixgbe: Introduce MSI-X queue vector code This code abstracts the per-queue MSI-X interrupt vector into a queue vector layer. This abstraction is needed since there can be many more queues than available MSI-X vectors in a machine. The MSI-X irq vectors are remapped to a shared queue vector which can point to several (both RX and TX) hardware queues. The NAPI algorithm then cleans the appropriate ring/queues on interrupt or poll. The remapping is a delicate and complex calculation to make sure that we're not unbalancing the irq load, and spreads the irqs as much as possible, and may combine RX and TX flows onto the same queue vector. This effectively enables receive flow hashing across vectors and helps irq load balance across CPUs. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Acked-by: Jesse Brandeburg Acked-by: Waskiewicz Jr, Peter P Signed-off-by: Jeff Garzik commit 53e7c46b0680ccc3ac67a2b8cd7f050569836e44 Author: Jon Schindler Date: Thu Feb 28 01:31:18 2008 -0600 /drivers/net/atarilance.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 5250f33229c1e41b1fac27bb564697046e525b93 Author: Jon Schindler Date: Thu Feb 28 01:31:12 2008 -0600 /drivers/net/at1700.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 0ebd1c1d7dec3aae2c336fb1fd930961735ff249 Author: Jon Schindler Date: Thu Feb 28 01:31:08 2008 -0600 /drivers/net/arcnet/com20020.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit b32dac08e4170e54c7edd25212ff48f921bda6e8 Author: Jon Schindler Date: Thu Feb 28 01:30:50 2008 -0600 /drivers/net/appletalk/cops.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 08dc732bf4aa844b2c3994f2ac0d53a7cfe6d656 Author: Jon Schindler Date: Thu Feb 28 01:30:14 2008 -0600 /drivers/net/8390.c replaced init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Jeff Garzik commit 56872167e7339c3afba2fbeb8aa2ce75b93fd991 Author: Magnus Damm Date: Fri Feb 22 19:55:33 2008 +0900 smc91x: make superh use default config V2 Removes superh board specific configuration from the header file. These boards will instead be configured using platform data. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit 8a214c125a06e974b6fba7c38fb06297ab449d3a Author: Magnus Damm Date: Fri Feb 22 19:55:24 2008 +0900 smc91x: add insw/outsw to default config V2 This patch makes sure SMC_insw()/SMC_outsw() are defined for the default configuration. Without this change BUG()s will be triggered when using 16-bit only platform data and the default configuration. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit 3e94794355724f77dc6cbb5ad956f7c72d8313a4 Author: Magnus Damm Date: Fri Feb 22 19:55:15 2008 +0900 smc91x: introduce platform data flags V2 This patch introduces struct smc91x_platdata and modifies the driver so bus width is checked during run time using SMC_nBIT() instead of SMC_CAN_USE_nBIT. V2 keeps static configuration lean using SMC_DYNAMIC_BUS_CONFIG. Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit cfdfa86536d2fbc8102780ec15faea185e957d3d Author: Magnus Damm Date: Fri Feb 22 19:55:05 2008 +0900 smc91x: pass along private data V2 Pass a private data pointer to macros and functions. This makes it easy to later on make run time decisions. This patch does not change any logic. These changes should be optimized away during compilation. V2 changes the macro argument name from "priv" to "lp". Signed-off-by: Magnus Damm Acked-by: Nicolas Pitre Signed-off-by: Jeff Garzik commit cf374a855363ea2ad06a1c08fc513024295334cc Author: Sreenivasa Honnur Date: Wed Feb 20 17:10:28 2008 -0500 S2io: Version update for multiqueue and vlan patches - Updated version number. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit cdb5bf02f4fc0507518ea6b93c21b2707336ffef Author: Sreenivasa Honnur Date: Wed Feb 20 17:09:15 2008 -0500 S2io: Support for vlan_rx_kill_vid entry point - Resubmit #3 - Added s2io_vlan_rx_kill_vid entry point function for unregistering vlan. - Fix to aggregate vlan packets. IP offset is incremented by 4 bytes if the packet contains vlan header. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 6cfc482b4b1c512d81712eba41fa324b24e5e7b2 Author: Sreenivasa Honnur Date: Wed Feb 20 17:07:51 2008 -0500 S2io: Multiqueue network device support - FIFO selection based on L4 ports - Resubmit #2 - Transmit fifo selection based on TCP/UDP ports. - Added tx_steering_type loadable parameter for transmit fifo selection. 0x0 NO_STEERING: Default FIFO is selected. 0x1 TX_PRIORITY_STEERING: FIFO is selected based on skb->priority. 0x2 TX_DEFAULT_STEERING: FIFO is selected based on L4 Ports. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 3a3d5756ac552ee2d2cca6ba0912f0ff328e8357 Author: Sreenivasa Honnur Date: Wed Feb 20 16:44:07 2008 -0500 S2io: Multiqueue network device support implementation - Resubmit #3 Multiqueue netwrok device support implementation. - Added a loadable parameter "multiq" to enable/disable multiqueue support, by default it is disabled. - skb->queue_mapping is not used for queue/fifo selection. FIFO selection is based on skb->priority. - Added per FIFO flags FIFO_QUEUE_START and FIFO_QUEUE_STOP. Check this flag for starting and stopping netif queue and update the flags accordingly. - In tx_intr_handler added a check to ensure that we have free TXDs before wak- ing up the queue. - Added helper functions for queue manipulation(start/stop/wakeup) to invoke appropriate netif_ functions. - Calling netif_start/stop for link up/down case respectively. - As per Andi kleen's review comments, using skb->priority field for FIFO selection. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 19a3da6c6e1e74ecac129a079139aaebb63fe6c8 Author: Frank Blaschka Date: Fri Feb 15 09:19:43 2008 +0100 qeth: remove old qeth files Remove all obsolete qeth files. Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 4a71df50047f0db65ea09b1be155852e81a45eba Author: Frank Blaschka Date: Fri Feb 15 09:19:42 2008 +0100 qeth: new qeth device driver List of major changes and improvements: no manipulation of the global ARP constructor clean code split into core, layer 2 and layer 3 functionality better exploitation of the ethtool interface better representation of the various hardware capabilities fix packet socket support (tcpdump), no fake_ll required osasnmpd notification via udev events coding style and beautification Signed-off-by: Frank Blaschka Signed-off-by: Jeff Garzik commit 04885948b101c44cbec9dacfb49b28290a899012 Author: Peter Tiedemann Date: Fri Feb 8 00:03:50 2008 +0100 ctc: removal of the old ctc driver ctc driver is replaced by a new ctcm driver. The ctcm driver supports the channel-to-channel connections of the old ctc driver plus an additional MPC protocol to provide SNA connectivity. This patch removes the functions of the old ctc driver. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 293d984f0e3604c04dcdbf00117ddc1e5d4b1909 Author: Peter Tiedemann Date: Fri Feb 8 00:03:49 2008 +0100 ctcm: infrastructure for replaced ctc driver ctcm driver supports the channel-to-channel connections of the old ctc driver plus an additional MPC protocol to provide SNA connectivity. This new ctcm driver replaces the existing ctc driver. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit f423f73506ba8e837b5fdcd8c8be50078deb123d Author: Ursula Braun Date: Fri Feb 8 00:03:48 2008 +0100 drivers/s390/net: Kconfig brush up adapt drivers/s390/net/Kconfig to current IBM wording and further cosmetics Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 6446a860f8b72b6a7b6722b3e30c4b00d6f99967 Author: Jay Cliburn Date: Sat Feb 2 19:50:12 2008 -0600 atl1: reduce forward declarations Rearrange functions to allow removal of some forward declarations. Make certain global functions static along the way. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 0dde4ef99dcbf221bce6c0a5c3c3e4cdfea0b370 Author: Jay Cliburn Date: Sat Feb 2 19:50:11 2008 -0600 atl1: make functions static Make needlessly global functions static. In a couple of cases this requires removing forward declarations and reordering functions. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 235ffa136c09c56db0c6c5fc5b5832749a72f557 Author: Jay Cliburn Date: Sat Feb 2 19:50:10 2008 -0600 atl1: print debug info if rrd error Add some debug printks if we encounter a potentially bad receive return descriptor. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 460578bfe4dffbdc6eec9fcbd0fe0bb4f9f82188 Author: Jay Cliburn Date: Sat Feb 2 19:50:09 2008 -0600 atl1: use netif_msg Use netif_msg_* for console messages emitted by the driver. Add a parameter to allow control of messaging at driver startup, and also add the ability to control it with ethtool. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 5ca3bc3041b1cbbb3361a99bd666e907850a1a7a Author: Jay Cliburn Date: Sat Feb 2 19:50:08 2008 -0600 atl1: use csum_start Use skb->csum_start for tx checksum offload preparation. Also swap the variables css and cso so they hold the intended values of csum start and offset, respectively. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 401c0aabec4b97320f962a0161a846d230a6f7aa Author: Jay Cliburn Date: Sat Feb 2 19:50:07 2008 -0600 atl1: simplify tx packet descriptor The transmit packet descriptor consists of four 32-bit words, with word 3 upper bits overloaded depending upon the condition of its bits 3 and 4. The driver currently duplicates all word 2 and some word 3 register bit definitions unnecessarily and also uses a set of nested structures in its definition of the TPD without good cause. This patch adds a lengthy comment describing the TPD, eliminates duplicate TPD bit definitions, and simplifies the TPD structure itself. It also expands the TSO check to correctly handle custom checksum versus TSO processing using the revised TPD definitions. Finally, shorten some variable names in the transmit processing path to reduce line lengths, rename some variables to better describe their purpose (e.g., nseg versus m), and add a comment or two to better describe what the code is doing. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit c67c9a2f11d97a545c0e8f56b2ca3e5e36566a94 Author: Jay Cliburn Date: Sat Feb 2 19:50:06 2008 -0600 atl1: add ethtool register dump Add the ethtool register dump option to the atl1 driver. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 9d90fb1ac9d97da86e24d9ea947bf2a2f333829a Author: Jay Cliburn Date: Sat Feb 2 19:50:05 2008 -0600 atl1: fix broken TSO The L1 tx packet descriptor expects TCP Header Length to be expressed as a number of 32-bit dwords. The atl1 driver uses tcp_hdrlen() to populate the field, but tcp_hdrlen() returns the header length in bytes, not in dwords. Add a shift to convert tcp_hdrlen() to dwords when we write it to the tpd. Also, some of our bit assignments are made to the wrong tpd words. Change those to the correct words. Finally, since all this fixes TSO, enable TSO by default. Signed-off-by: Jay Cliburn Acked-by: Chris Snook Signed-off-by: Jeff Garzik commit 305282ba19f81e571bd6d2dcc10ebb02e59a06ef Author: Jay Cliburn Date: Sat Feb 2 19:50:04 2008 -0600 atl1: move common functions to atlx files The future atl2 driver and the existing atl1 driver can share certain functions and definitions. Move these shareable functions and definitions out of atl1-specific files and into atlx.c and atlx.h. Some transitory hackery will be present until atl2 is merged. Reduce the number of source files by moving ethtool, hw, and param functions from separate files into atl1_main.c, then rename it to just atl1.c. Move all atl1-specific definitions from atl1_hw.h to atl1.h. Finally, clean up to make checkpatch.pl happy. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2e5071bce5ce4037ce852a916e8106811e68677b Author: Jay Cliburn Date: Sat Feb 2 19:50:03 2008 -0600 atl1: relocate atl1 driver to /drivers/net/atlx In preparation for a future Atheros L2 NIC driver (called atl2), relocate the atl1 driver into a new /drivers/net/atlx directory that will ultimately be shared with the future atl2 driver. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit fa6557aff47f25e5b6b92c930a9b60a12acd0b58 Author: Adrian Bunk Date: Tue Jan 29 00:14:12 2008 +0200 remove the obsolete xircom_tulip_cb driver The xircom_tulip_cb driver has been replaced the xircom_cb driver, and since it depended on BROKEN_ON_SMP it e.g. was no longer present in many distribution kernels. This patch therefore removes it. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 548c36e983f346621b5cb9ab031e4383e9996576 Author: Stephen Hemminger Date: Wed Jan 30 22:04:05 2008 -0800 sk98lin: remove obsolete driver All the hardware supported by this driver is now supported by the skge driver. The last remaining issue was support for ancient dual port SysKonnect fiber boards, and the skge driver now does these correctly (p.s. sk98lin was always broken on these old dual port boards anyway). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2f42b5d043ee271d1e5d30ecd77186b6c4d4e534 Author: Fred Isaman Date: Thu Mar 13 15:26:30 2008 +0200 NFS: fix encode_fsinfo_maxsz The previous value was not taking into account space for bitmap array size. Signed-off-by: Fred Isaman Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 98a8e3239427051f5d44f2025b398bdcc3918f37 Author: Trond Myklebust Date: Wed Mar 12 12:25:28 2008 -0400 SUNRPC: Add a helper rpcauth_lookup_generic_cred() The NFSv4 protocol allows clients to negotiate security protocols on the fly in the case where an administrator on the server changes the export settings and/or in the case where we may have a filesystem migration event. Instead of having the NFS client code cache credentials that are tied to a particular AUTH method it is therefore preferable to have a generic credential that can be converted into whatever AUTH is in use by the RPC client when the read/write/sillyrename/... is put on the wire. We do this by means of the new "generic" credential, which basically just caches the minimal information that is needed to look up an RPCSEC_GSS, AUTH_SYS, or AUTH_NULL credential. Signed-off-by: Trond Myklebust commit 5c691044ecbca04dd558fca4c754121689fe1b34 Author: Trond Myklebust Date: Wed Mar 12 16:21:07 2008 -0400 SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task We need the ability to treat 'generic' creds specially, since they want to bind instances of the auth cred instead of binding themselves. Signed-off-by: Trond Myklebust commit 9a559efd4199c9812d339e23cc1b6055366b224f Author: Trond Myklebust Date: Wed Mar 12 12:24:49 2008 -0400 SUNRPC: Add a generic RPC credential Add an rpc credential that is not tied to any particular auth mechanism, but that can be cached by NFS, and later used to look up a cred for whichever auth mechanism that turns out to be valid when the RPC call is being made. Signed-off-by: Trond Myklebust commit 4ccda2cdd8d156b6f49440653d5d6997e0facf97 Author: Trond Myklebust Date: Wed Mar 12 16:20:55 2008 -0400 SUNRPC: Clean up rpcauth_bindcred() Signed-off-by: Trond Myklebust commit af093835774931de898a9baf7b4041fa0d100f77 Author: Trond Myklebust Date: Wed Mar 12 12:12:16 2008 -0400 SUNRPC: Fix RPCAUTH_LOOKUP_ROOTCREDS The current RPCAUTH_LOOKUP_ROOTCREDS flag only works for AUTH_SYS authentication, and then only as a special case in the code. This patch removes the auth_sys special casing, and replaces it with generic code. Signed-off-by: Trond Myklebust commit 25337fdc85951dfeac944f16cb565904c619077a Author: Trond Myklebust Date: Wed Mar 12 14:40:14 2008 -0400 SUNRPC: Fix a bug in rpcauth_lookup_credcache() The hash bucket is for some reason always being set to zero. Signed-off-by: Trond Myklebust commit 26c0f03f6b77c513cb7bc37b73a06819bdbb791b Author: Reinette Chatre Date: Tue Mar 11 16:17:15 2008 -0700 iwlwifi: fix bug to show hidden APs during scan Indirect scanning ('iwlist scan') should report information about hidden APs. When an AP is hidden it does not respond to active scanning, we thus have to use passive scanning to locate these APs. This fixes http://bughost.org/bugzilla/show_bug.cgi?id=1499 Signed-off-by: Reinette Chatre Tested-by: Bill Moss Signed-off-by: John W. Linville commit 35cdeaf4103b9a5c8a86899a5ed12a86c6a12a37 Author: Tomas Winkler Date: Tue Mar 11 16:17:20 2008 -0700 iwlwifi: change rate number to a constant This patch moves a number to an understandable define Signed-off-by: Tomas Winkler Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 0310ae721d1b7aaf10dd8b712a3a83c355786970 Author: Tomas Winkler Date: Tue Mar 11 16:17:19 2008 -0700 iwlwifi: Fix endianity in debug print This patch fix debug print out endianity issue for bitmap Since u64 and le64 variables are casted to unsigned long long, after patch 'wireless: correct warnings from using '%llx' for type 'u64' also bitmaps need to be converted to native endianity Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6bc913bd965e03b5273a5366eecce5c28c9b01da Author: Assaf Krauss Date: Tue Mar 11 16:17:18 2008 -0700 iwlwifi: Use eeprom form iwlcore This patch puts in use eeprom from iwlcore module Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit eb7ae89cb0b03e6e6e39737b1c8bcc1912281a00 Author: Reinette Chatre Date: Tue Mar 11 16:17:17 2008 -0700 iwlwifi: update copyright year Also fix a copy and paste error in header of iwl-core.c. This file is not dual licensed. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a4062b8fd231d2625236ad46bff07906c9bc7160 Author: Tomas Winkler Date: Tue Mar 11 16:17:16 2008 -0700 iwlwifi: Use sta_bcast_id variable instead of BROADCAST_ID constant This patch removes iwlYYY_BROADCAST_ID from run time usage. hw_setting.sta_bcast_id is used instead. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e7ec2e3230633a858af1b0b359f6c4670dbeb997 Author: Michael Buesch Date: Mon Mar 10 17:26:32 2008 +0100 ssb: Add SPROM/invariants support for PCMCIA devices This adds support for reading/writing the SPROM invariants for PCMCIA based devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 068edceb7e73c05f77e204442ea8f86e238575da Author: Joe Perches Date: Sun Mar 9 16:55:10 2008 -0700 include/net/ieee80211.h - remove duplicate include Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 8ed09854073ae0a19556d4d93cf79cf368c23673 Author: Ivo van Doorn Date: Mon Mar 10 00:30:44 2008 +0100 rt2x00: Only strip preamble bit in rt2400pci Only rt2400pci can have the preamble bit set in the PLCP value, for all other drivers it should not be cleared since that will conflict with the plcp values for OFDM rates. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f0e62e46c3cace185eed10ebf53ef060ba6d7bb1 Author: Ivo van Doorn Date: Sun Mar 9 22:49:21 2008 +0100 rt2x00: Release rt2x00 2.1.4 Version bump to 2.1.4 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 89993890aeb8fe58b2d49b2661965524802ab73c Author: Ivo van Doorn Date: Sun Mar 9 22:49:04 2008 +0100 rt2x00: Fix rt2400pci signal After sampling hundreds of RX frame descriptors, the results were conclusive: - The Ralink documentation regarding the SIGNAL and RSSI are wrong. It turns out that of the 5 BBR registers, we should not use BBR0 and BBR1 for SIGNAL and RSSI respectively, but actually BBR1 and BBR2. BBR0 does show values, but the exact meaning remains unclear, but they cannot be translated into a SIGNAL or RSSI field. BBR3, BBR4 and BBR5 are always 0, so their meaning is unknown. As it turns out, the reported SIGNAL is the PLCP value, this in contradiction to what was expected looking at rt2500pci which only reported the PLCP values for OFDM rates and bitrate values for CCK rates. This means we should let the driver raise the flag about the contents of the SIGNAL field so rt2x00lib can always do the right thing based on what the driver reports. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dac37d720860bbbc535adc90249184308501c1f0 Author: Ivo van Doorn Date: Sun Mar 9 22:48:46 2008 +0100 rt2x00: Fix RX DMA ring initialization Due to a terrible typo the RX DMA base address was initialized to the beacon base address. Obviously bad things happen with bugs like that.... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aa776721b472e343a8db7f3c0673b1fa24e6c7f7 Author: Ivo van Doorn Date: Sun Mar 9 22:48:08 2008 +0100 rt2x00: Fix basic rate initialization The basic rate which is configured in the register should not match all supported rates, but only the _basic_ rates. Fix this by adding a new flag to the rt2x00_rate structure and whenever the mode is changed, loop over all available rates for that band to get the basic rate mask. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd3c91c5e57eef8db71cf52e2473832c330bf5db Author: Ivo van Doorn Date: Sun Mar 9 22:47:43 2008 +0100 rt2x00: Always enable TSF ticking Whatever mode we are in, according to the legacy drivers we should always enable TSF ticking/counting. We should also always enable the TBCN/TBTT field, this field is only disabled during beacon regeneration. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 72fa559bf44aab30ac5fc8317472ef3441f4aa64 Author: Ivo van Doorn Date: Sun Mar 9 22:47:08 2008 +0100 rt2x00: Make rt2x00leds_register return void rt2x00dev isn't interested in the rt2x00leds_register() value anyway. So lets make it return void to even prevent people from assuming there is anybody interested in the returnvalue. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3ee08aea72f44a6d176af7a97f3ad0c67bc65a44 Author: David Brownell Date: Thu Mar 13 09:44:48 2008 -0800 tclib: Fix compile warnings Does that have something analagous to this "remove warnings" patch? Seems setup_clkevents() no longer needs a t0_clk parameter either... Signed-off-by: Haavard Skinnemoen commit 728103794316f7ff8d98bc2ce044aff7a260ee21 Author: Ivo van Doorn Date: Sun Mar 9 22:46:18 2008 +0100 rt2x00: Rename config_preamble() to config_erp() Rename config_preamble() to config_erp() and cleanup argument list by putting it all into a single structure. This will make the function more meaningful and easier to expand later. This second option is mostly intended to make the patch "mac80211: proper short-slot handling" from Johannes Berg easier to apply for rt2x00. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e4030a2f40a9575bccc71c3e156ca78c7d6fded6 Author: Ivo van Doorn Date: Sun Mar 9 22:45:47 2008 +0100 rt2x00: Check IEEE80211_TXCTL_SEND_AFTER_DTIM flag When mac sets the IEEE80211_TXCTL_SEND_AFTER_DTIM flag, we should check if the ATIM queue is available in the driver and put the frame in that queue for proper behavior (send frame after beacon interval). Unfortunately not all drivers have this ATIM queue, and will lack this feature for now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a4fe07d913096f4573512c9369f8ca824fbc2d8f Author: Ivo van Doorn Date: Sun Mar 9 22:45:21 2008 +0100 rt2x00: Start bugging when rt2x00lib doesn't filter SW diversity rt2x00lib should filter SW diversity out before sending any configuration changes to the driver. When rt2x00lib fails to do this, it is important that such events are reported because it _must_ be fixed. So upgrading the error level to a BUG_ON() which will make sure this bug gets noticed whenever it happens. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a7f3a06cbb63a16ad7a1720506591d8d12a03029 Author: Ivo van Doorn Date: Sun Mar 9 22:44:54 2008 +0100 rt2x00: Move firmware checksumming to driver rt2x00lib depended on 2 crc algorithms because rt61/rt73 use a different algorithm then rt2800. This means that even when only 1 algorithm was needed, the dependency was still present for both. By moving the checksum generation to the driver we can clean up 2 annoying flags (which indicated which checksum was required) and move the dependency to where it belongs: the driver. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f46c4d0537a870f9d9c1fd998aa9d6dac682595 Author: Ivo van Doorn Date: Sun Mar 9 22:44:30 2008 +0100 rt2x00: Upgrade queue->lock to use irqsave The queue->lock could be grabbed from interrupt context, which could lead to lockdep panic like this: kernel: ====================================================== kernel: [ INFO: soft-safe -> soft-unsafe lock order detected ] kernel: 2.6.25-0.95.rc4.fc9 #1 kernel: ------------------------------------------------------ kernel: rt2500pci/1251 [HC0[0]:SC0[1]:HE1:SE0] is trying to acquire: kernel: (&queue->lock){--..}, at: [] rt2x00queue_get_entry+0x5a/0x81 [rt2x00lib] kernel: kernel: and this task is already holding: kernel: (_xmit_IEEE80211){-...}, at: [] __qdisc_run+0x84/0x1a9 kernel: which would create a new lock dependency: kernel: (_xmit_IEEE80211){-...} -> (&queue->lock){--..} kernel: kernel: but this new dependency connects a soft-irq-safe lock: kernel: (_xmit_ETHER){-+..} kernel: ... which became soft-irq-safe at: kernel: [] 0xffffffffffffffff kernel: kernel: to a soft-irq-unsafe lock: kernel: (&queue->lock){--..} kernel: ... which became soft-irq-unsafe at: kernel: ... [] __lock_acquire+0x62d/0xd63 kernel: [] lock_acquire+0x5e/0x78 kernel: [] _spin_lock+0x26/0x53 kernel: [] rt2x00queue_reset+0x16/0x40 [rt2x00lib] kernel: [] rt2x00queue_alloc_entries+0x12/0xab [rt2x00lib] kernel: [] rt2x00queue_initialize+0x24/0xf2 [rt2x00lib] kernel: [] rt2x00lib_start+0x3b/0xd4 [rt2x00lib] kernel: [] rt2x00mac_start+0x18/0x1a [rt2x00lib] kernel: [] ieee80211_open+0x1f3/0x46d [mac80211] kernel: [] dev_open+0x4d/0x8b kernel: [] dev_change_flags+0xaf/0x172 kernel: [] do_setlink+0x276/0x338 kernel: [] rtnl_setlink+0x114/0x116 kernel: [] rtnetlink_rcv_msg+0x1d8/0x1f9 kernel: [] netlink_rcv_skb+0x3e/0xac kernel: [] rtnetlink_rcv+0x29/0x33 kernel: [] netlink_unicast+0x1fe/0x26b kernel: [] netlink_sendmsg+0x2ca/0x2dd kernel: [] sock_sendmsg+0xfd/0x120 kernel: [] sys_sendmsg+0x1d2/0x23c kernel: [] tracesys+0xdc/0xe1 kernel: [] 0xffffffffffffffff This can be fixed by using the irqsave/irqrestore versions during the queue->lock handling. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61191fb272dfa413763416ee828aae28bfd9746e Author: Luis Correia Date: Sun Mar 9 22:43:58 2008 +0100 rt2x00: Fix trivial log message Fix trivial log message. Signed-off-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fd07e06380a1fe2b2c505d00563a63cfb63d7ceb Author: Adam Baker Date: Sun Mar 9 22:43:27 2008 +0100 rt2x00:correct rx packet length for USB devices When fixing up the packet alignment, if we had to add 2 bytes to the front of the skb we need to remember to take them off the end afterwards. This fixes reception of encrypted packets which were otherwise failing with an invalid ICV. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8af244ccb14a4367568db11c5e78b45a4c2cf77e Author: Ivo van Doorn Date: Sun Mar 9 22:42:59 2008 +0100 rt2x00: Only disable beaconing just before beacon update We should not write 0 to the beacon sync register during config_intf() since that will clear out the beacon interval and forces the beacon to be send out at the lowest interval. (reported by Mattias Nissler). The side effect of the same bug was that while working with multiple virtual AP interfaces a change for any of those interfaces would disable beaconing untill an beacon update was provided. This is resolved by only updating the TSF_SYNC value during config_intf(). In update_beacon() we disable beaconing temporarily to prevent fake beacons to be transmitted. Finally kick_tx_queue() will enable beaconing again. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3976ae6c2b09608cd6a13663737a6b219245b651 Author: Ivo van Doorn Date: Sun Mar 9 22:41:53 2008 +0100 rt2x00: Use skbdesc fields for descriptor initialization In rt2x00lib_write_tx_desc() the skb->data and skb->len fields were incorrectly used. For USB drivers both of those values contain invalid data (skb->data points to the device descriptor, skb->len contains the frame _and_ descriptor length). Instead of using the skbuffer fields we should use the skbdesc fields which are correctly initialized and contain all the data that we need. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2ae23854dc0af617d9a0e3ab51a0cc51485ebbf2 Author: Mattias Nissler Date: Sun Mar 9 22:41:22 2008 +0100 rt2x00: Don't use unitialized rxdesc->size rxdesc->size is unitialized before the desriptor has been read. Move the truncation of the sk buffer to the moment all variables have been initialized. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2d1be5b0d17134ddba65c752557b1f47c8009db2 Author: Ivo van Doorn Date: Sun Mar 9 22:40:06 2008 +0100 rt2x00: Don't use uninitialized desc_len skbdesc->desc_len is uninitialized at the start of the function. So it is a _bad_ idea to use it... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 95db4d4d5f00cc9b2aa703a05a70902776d8c2f2 Author: Mattias Nissler Date: Sun Mar 9 22:39:32 2008 +0100 rt2x00: Use the correct size when copying the control info in txdone The sizeof() operator was incorrectly applied to the pointer, not the struct. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 92f5ac6320d74fbb7230626cb88141f3ec9a694c Author: Mattias Nissler Date: Sun Mar 9 22:38:54 2008 +0100 rt2x00: Initialize TX control field in data entries In the TX path, the driver didn't copy the TX control data structure. Thus, it was invalid in the TX done handler, causing serious trouble and misbehaviour. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f855c10b6e7b0c448c35b88266f788dd3738375e Author: Ivo van Doorn Date: Sun Mar 9 22:38:18 2008 +0100 rt2x00: Align RX descriptor to 4 bytes Some architectures give problems when reading RX frame descriptor words when the descriptor is not aligned on a 4 byte boundrary. Due to optimalizations for the ieee80211 payload 4 byte alignment, it is no longer guarenteed that the descriptor is placed on the 4 byte boundrary (In fact, for rt73usb it is absolutely never aligned to 4 bytes, for rt2500usb it depends on the length of the payload). This will copy the descriptor to a 4 byte aligned location before it is read for the first time. This will also move the payload data alignment in rt2x00usb (instead of inside the driver) where it has always belonged. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 40e024de932cca8b54fbcd0e5faf8f364cc84ec0 Author: Harvey Harrison Date: Sat Mar 8 02:40:38 2008 -0800 b43: pull out helpers for writing noise table Signed-off-by: Harvey Harrison Signed-off-by: John W. Linville commit 461b3f2aa3c45eb2e85751b6a3b75a8dd1abd04a Author: Jussi Kivilinna Date: Sat Mar 8 01:23:25 2008 +0200 rndis_wlan: cleanup, rename structure members Rename members of ndis_80211_* structures to match the style of the rest of the code. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1e41e1d2771456274ae2c748ed2cc74524a5863f Author: Jussi Kivilinna Date: Sat Mar 8 01:23:17 2008 +0200 rndis_wlan: cleanup, rename and reorder enums and structures Rename enums and structures to ndis_80211_* for greater readability. Also change order so that enumerations are presented first. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit e9010e2fdfe68360da374e31f7008a6d9935c783 Author: Joe Perches Date: Fri Mar 7 14:21:16 2008 -0800 drivers/net/wireless/ath5k - convert == (true|false) to simple logical tests (test == true) is not nice. Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 52933d815bff78605a490582a2212a8131482e00 Author: Holger Schurig Date: Wed Mar 5 07:05:32 2008 +0100 libertas: implement SSID scanning for SIOCSIWSCAN After my bit scan re-writing the SIOCSIWSCAN wext ioctl no longer supported scanning for a specific SSID. However, wpa_supplicant is a possible user of this ioctl, so here is code that add's this. While passing, removed even more of the debugfs-based scanning. You can (and should) the SIOCSIWSCAN to ask for scans, so there is no need for proprietary interfaces for scanning. And, besides, the scan result couldn't be used further, e.g. not for associating. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit d9357136ac4729f589543afb6b1d17d443ae4f71 Author: Adrian Bunk Date: Tue Mar 4 15:26:15 2008 -0800 the scheduled rc80211-simple.c removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 7524d7d6de5d5d3f081de8cf5479819fad339661 Author: Adrian Bunk Date: Tue Mar 4 15:26:14 2008 -0800 the scheduled ieee80211 softmac removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 2079fcdc06ea01c084044c348dbcd7b3e335ad49 Author: Adrian Bunk Date: Tue Mar 4 15:26:12 2008 -0800 the scheduled bcm43xx removal Signed-off-by: Adrian Bunk Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit affe0a02189eeec43757993b1ccb65f24e39afa5 Author: Adrian Bunk Date: Tue Mar 4 15:26:06 2008 -0800 make b43_mac_{enable,suspend}() static b43_mac_{enable,suspend}() can now become static. Signed-off-by: Adrian Bunk Acked-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit bed04a4413376265746053be2a9cfbfc80c98ec9 Merge: e37c772... c463be3... Author: Paul Mackerras Date: Thu Mar 13 15:26:33 2008 +1100 Merge branch 'linux-2.6' commit 4cd8dc83581906948ff4cfa65007e64496b5a7c8 Author: Shaohua Li Date: Thu Feb 28 16:09:42 2008 +0800 [IA64] remove duplicate code for register access We have duplicate code to access registers (access_uarea and regset way). They just have different layout, so remove duplicate code. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit 6cb53d7a6f40858181facde0f52587731d2e621f Author: Shaohua Li Date: Thu Feb 28 16:09:38 2008 +0800 [IA64] use CORE_DUMP_USE_REGSET After we have regset support, we can use CORE_DUMP_USE_REGSET. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit 75529219373e53042fc46c86d991125e616f42dd Author: Shaohua Li Date: Thu Feb 28 16:09:33 2008 +0800 [IA64] regset: 32-bit support This is the 32-bit regset implementation under IA64. Basically register read/write, which is derived from current ptrace register read/write. This version added TLS support. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit c70f8f68676866d778564de337bec6b8734c3850 Author: Shaohua Li Date: Thu Feb 28 16:47:50 2008 +0800 [IA64] regset: 64-bit support This is the 64-bit regset implementation under IA64. Basically register read/write, which is derived from current ptrace register read/write. Signed-off-by: Shaohua Li Signed-off-by: Tony Luck commit ba73d4c84a7344f1b5635c2b4e96796e8c13a126 Merge: b8ad0cb... deedf50... Author: David S. Miller Date: Tue Mar 11 19:17:18 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit 4fe01c68eba53c3f324807faff71535218c41e9c Author: Hidetoshi Seto Date: Tue Jan 29 14:39:33 2008 +0900 [IA64] cleanup and improve fsys_gettimeofday This patch does: - Remove outdated comments (which someday I marked with "?"). - Reassemble instructions to fit them in fewer bundles. - If McKinley Errata 9 workaround is not needed, the workaround bundles will be patched out with NOPs. However it also not needed to have a totally NOP bundle (nop * 3) before branch. As a result, this makes the code path 3 (or 2) bundles shorter (and remove 1 unnecessary stop bit). It seems to be 1% faster. (10sec loop test, with nojitter @ Madison 1.5GHz x 4) Before: CPU 0: 0.14 (usecs) (0 errors / 69598875 iterations) CPU 1: 0.14 (usecs) (0 errors / 69630721 iterations) CPU 2: 0.14 (usecs) (0 errors / 69607850 iterations) CPU 3: 0.14 (usecs) (0 errors / 69619832 iterations) After: CPU 0: 0.14 (usecs) (0 errors / 70257728 iterations) CPU 1: 0.14 (usecs) (0 errors / 70309498 iterations) CPU 2: 0.14 (usecs) (0 errors / 70280639 iterations) CPU 3: 0.14 (usecs) (0 errors / 70260682 iterations) Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 9446389ef612096704fdf18fa79bab423d4110f0 Merge: cdd0972... 84c6f60... Author: Trond Myklebust Date: Sat Mar 8 11:49:24 2008 -0500 Merge commit 'origin' into devel commit deedf504302ff747985db081352e045ff7087a11 Author: Reinette Chatre Date: Fri Mar 7 13:47:20 2008 -0800 iwlwifi: fix potential lock inversion deadlock This is a change to a previous patch ("iwlwifi: 3945 split tx_complete to command and packet function") to ensure we do not have hardirq safe locks (priv->lock in this case) depend on hardirq unsafe locks. We only call iwl3945_tx_queue_reclaim while in a tasklet so we have to use the irqsafe version of the function. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit f868f4e196177ee96f77304ab707a0ad5ddd6fe4 Author: John W. Linville Date: Fri Mar 7 16:38:43 2008 -0500 wireless: correct warnings from using '%llx' for type 'u64' drivers/net/wireless/ath5k/debug.c: In function 'read_file_tsf': drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c: In function 'read_file_beacon': drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_tx_status_reply_compressed_ba': drivers/net/wireless/iwlwifi/iwl-4965.c:3907: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_rx_reply_compressed_ba': drivers/net/wireless/iwlwifi/iwl-4965.c:4039: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type '__le64' drivers/net/wireless/iwlwifi/iwl-4965.c:4046: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'u64' drivers/net/wireless/iwlwifi/iwl4965-base.c: In function 'iwl4965_tx_status_reply_tx': drivers/net/wireless/iwlwifi/iwl4965-base.c:3661: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'u64' Signed-off-by: John W. Linville commit 6ba81c2c989291c5893014f84805ce9d196778b0 Author: Bruno Randolf Date: Wed Mar 5 18:36:26 2008 +0900 ath5k: work around wrong beacon rx timestamp in IBSS mode atheros hardware has a problem with the rx timestamp of some IBSS beacons when they caused a TSF update (they have the same BSSID). the rx timestamp is wrong especially if the beacon frames get bigger than 78 byte (at least on AR5213 and AR5414 hardware). in that case ath5k_extend_tsf() will assume a rs_tstamp overflow and give us a timestamp too far in the past which will cause mac80211 to merge IBSS on every beacon (which is not necessary since the BSSID already matches). but in this case we know that the HW must have synced to the beacons TSF and the rx timestamp must be later than that so we can adjust mactime accordingly. also rename the function to ath5k_check_ibss_tsf() and change comments, since "hw merge" is better described as a TSF update. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit e14296cabac60806606b4ebc1a83ee4697876346 Author: Bruno Randolf Date: Wed Mar 5 18:36:05 2008 +0900 ath5k: add notes about rx timestamp add comments about the fact that we don't know when exactly the atheros hardware takes the RX timestamp. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b47f407bef0d5349dacf65cd3560a976609d4b45 Author: Bruno Randolf Date: Wed Mar 5 18:35:45 2008 +0900 ath5k: move rx and tx status structures out of hardware descriptor move ath5k_tx_status and ath5k_rx_status structures out of the hardware descriptor since they are not accessed by the hardware at all. they just contain converted information from the hardware descriptor. since they are only used in the rx and tx tasklets there is also no use to keep them for each descriptor. drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/debug.h: Changes-licensed-under: GPL drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 19fd6e5510f6991148e2210753b58f0eab95e0f6 Author: Bruno Randolf Date: Wed Mar 5 18:35:23 2008 +0900 ath5k: struct ath5k_desc cleanups * make struct ath5k_desc clearer by directly including unions of structures, which correspond to the hardware descriptors of different HW versions (5210 and 5212). before they were casted at onto ath5k_desc at different points (e.g. ds_hw[2]). * rename some structures and variable names to make their use clearer, e.g. struct ath5k_hw_4w_tx_desc to ath5k_hw_4w_tx_ctl. * substitute "old" with "5210" and "new" with "5212" (eg. rename ath5k_hw_proc_new_rx_status() to ath5k_hw_proc_5212_rx_status()) because old and new are relative and we might have a newer structure at some point. * unify structs ath5k_hw_old_rx_status and ath5k_hw_new_rx_status into one ath5k_hw_rx_status, because they only differ in the flags and masks. drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC drivers/net/wireless/ath5k/hw.h: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit b095d03a7d724db7379b73f64b6035f7be2e0a7c Author: Ron Rindjunsky Date: Thu Mar 6 17:36:56 2008 -0800 iwlwifi: grab NIC access when disabling aggregations This patch grabs NIC access inside iwl4965_tx_queue_agg_disable, instead of the caller doing it. The caller must still hold priv->lock when calling the function. Signed-off-by: Max Stepanov Signed-off-by: Emmanuel Grumbach Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 91c066f27b6dacb6589fb5190af373fb9f993397 Author: Tomas Winkler Date: Thu Mar 6 17:36:55 2008 -0800 iwlwifi: 3945 split tx_complete to command and packet function This patch 1. removes cmd completion from iwl3945_tx_queue_reclaim and creates iwl3945_cmd_queue_reclaim. 1. removes 11n relevant elements from this function 2. removes call to ieee80211_tx_status_irqsafe and uses ieee80211_tx_status only Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28447f3cfdf72f6ea97b50cc1eefe35602107dff Author: Tomas Winkler Date: Thu Mar 6 17:36:54 2008 -0800 iwlwifi: Fix 3945 rate scaling This patch fix 3945 rate scaling after cfg80211 rate/band changes Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c54b679ddcd91604fd0d144cd793a0ddbd0ae03d Author: Tomas Winkler Date: Thu Mar 6 17:36:53 2008 -0800 iwlwifi: queue functions cleanup This patch moves 1. iwl_queue_inc_wrap and int iwl_queue_dec_wrap into iwl-helpers.h these two functions are identical to common for both iwl3956 and iwl4965 2. renames x2_queue_used to iwl3945_x2_queue_used 3. exports iwl3945_queue_space out of iwl3964-base.c Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34cf6ff6dd42cbc61fd652f893dcf71eed6052a5 Author: Assaf Krauss Date: Thu Mar 6 10:40:20 2008 -0800 iwlwifi: Moving EEPROM handling in iwlcore module This patch move EEPROM code into iwl core module Signed-off-by: Assaf Krauss Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit df48c3235c90095a2f7dbcaba444add363ffb0ef Author: Tomas Winkler Date: Thu Mar 6 10:40:19 2008 -0800 iwlwifi: add iwl-core module This patch adds iwl-core module to iwlwifi driver. This module will contain common code and infrastracture for iwlwifi driver Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f4d6082d53c588036a1c37891cb7d65088be13f5 Author: Tomas Winkler Date: Wed Mar 5 11:31:00 2008 -0800 iwlwifi: fix locking unbalance in 4965 rate scale This patch fixes locking unbalance after adding rcu locking for sta Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6c5ef8a7059e4f7adc37b337face8b0a8cbd4f48 Author: Ron Rindjunsky Date: Wed Mar 5 17:38:59 2008 +0200 mac80211: document IEEE80211_TXCTL_OFDM_HT This patch clarifies the use of IEEE80211_TXCTL_OFDM_HT flag. Can by united with patch "mac80211: adding mac80211_tx_control flags and HT flags" Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit b716bb918f8f7967e361770eb1545d2b4bcffc26 Author: Emmanuel Grumbach Date: Tue Mar 4 18:09:32 2008 -0800 iwlwifi: Cancel scanning upon association This patch cancels an ongoing HW scan upon association. Not doing this resulted in instability in association. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4bf775cdc08b8741f78fbf85e3d2e6bebe783d32 Author: Tomas Winkler Date: Tue Mar 4 18:09:31 2008 -0800 iwlwifi: Take the fw file name from the iwl_cfg. This patch adds fw_name to iwl_cfg. This allows run time selection of needed fw/ucode file Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 82b9a1213132aa53ddbcc459ed77a335d031cd2e Author: Tomas Winkler Date: Tue Mar 4 18:09:30 2008 -0800 iwlwifi: add struct iwl_cfg This patch introduces struct iwl_cfg. struct iwl_cfg defines static configuration for each device type and sku. It is passed as driver_data to the bus probe function. This patch also introduce new common header file iwl-core.h which will represent core functionality of iwlwifi driver 3945ABG uses separate iwl-3945-dev.h header file for now Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 750fe6396614e267aeec0e2ff636740e2688d4d9 Author: Tomas Winkler Date: Tue Mar 4 18:09:29 2008 -0800 iwlwifi: Move HBUS address to iwl-csr.h HBUS is accessed through CSR registers moved to iwl-csr.h Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6f83eaa170c05324fb33668eace007ea24c277d2 Author: Tomas Winkler Date: Tue Mar 4 18:09:28 2008 -0800 iwlwifi: extract iwl-csr.h This patch extract CSR Register definition into separate header files as most of the definition are commons to both 3945 and 4965. Definitions specific for 3945 and 4965 are properly prefixed Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c424e4cc7bc9d3c4c22b408904c36b44afddc3e Author: Ron Rindjunsky Date: Tue Mar 4 18:09:27 2008 -0800 iwlwifi: use mac80211_tx_control_flags This patch makes use of the new mac80211_tx_control_flags and tx_rate to pass Tx data, regular and 11n, from the HW tx response into the rate scaling. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 11f4b1cec98ad95abda80dc20bdc3cecac145d77 Author: Ron Rindjunsky Date: Tue Mar 4 18:09:26 2008 -0800 mac80211: adding mac80211_tx_control_flags and HT flags This patch makes enum from the defines previously dwelled inside ieee80211_tx_control for better readability. The patch also addes HT flags, for 802.11n drivers: - IEEE80211_TXCTL_OFDM_HT: request low-level driver to use HT OFDM rates - IEEE80211_TXCTL_GREEN_FIELD: use green field protection - IEEE80211_TXCTL_DUP_DATA: duplicate data on both 20 Mhz channels - IEEE80211_TXCTL_40_MHZ_WIDTH: send this frame in 40Mhz width - IEEE80211_TXCTL_SHORT_GI: send this frame with short guard interval Tx command can be a combination of any of these flags, along with bitrate represented by ieee80211_rate. this will allow legacy drivers to switch easily to any 11n rate representation. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler CC: Johannes Berg Signed-off-by: John W. Linville commit 134eb5d327270c5d3816f8d812e68aa27a335ca8 Author: Guy Cohen Date: Tue Mar 4 18:09:25 2008 -0800 iwlwifi: 802.11n spec removes AUTO offset for FAT channel This patch adapts to 802.11 patch and remove AUTO offset for FAT channel Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 87d96114a73dfa323c12c77a2ea9f96f0020c690 Author: Michael Buesch Date: Fri Mar 7 19:52:24 2008 +0100 b43: Fix failed frames status report typo This fixes a typo in the status report. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 57df40d278df552ad5fb4926fa05d06065c8150c Author: Michael Buesch Date: Fri Mar 7 15:50:02 2008 +0100 b43: Add TX statistics debugging counters This adds a few debugging counters, that are useful for debugging the "card does not transmit" or "connection is unstable" kind of problems. It's also useful for tuning an RC algorithm. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b27faf8ebf256429df8851477e02609448c0781f Author: Michael Buesch Date: Thu Mar 6 16:32:46 2008 +0100 b43: Rename the DMA ring pointers Rename the DMA ring pointers to have more descriptive and standard names. Also remove the 6th unused TX ring. We can add it back later, if we need it. The unused TX-status rx-ring is also removed, as that's only used by legacy devices not supported by this driver anyway. This is no functional change, except less memory allocation for the removed rings. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e6f5b934fba8c44c87c551e066aa7ca6fde2939e Author: Michael Buesch Date: Wed Mar 5 21:18:49 2008 +0100 b43: Add QOS support This adds QOS support to the b43 driver. QOS can be disabled on driver level with a module parameter for debugging purposes. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e5f98f2df903af627a9b9ac55b9352fd54fc431a Author: Johannes Berg Date: Wed Mar 5 20:39:31 2008 +0100 mac80211: don't call conf_tx under RCU lock Reinette pointed out that with the sta_info RCU-ification the behaviour here changed and the conf_tx callback is now invoked under RCU read lock. That is not necessary so this patch restores the original behaviour Signed-off-by: Johannes Berg Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit bb0c9dc27e8fa360e108e6e96860da620a7c5d04 Author: Nick Kossifidis Date: Fri Mar 7 11:52:51 2008 -0500 ath5k: Add 2413 to srev_names so that it shows up during module load Add 2413 to srev_names so that it shows up during module load. This is based on the new patch 7 which did not introduce a helper on ath5k_hw_reset(). Changes-licensed-under: 3-clause-BSD Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c87cdfd270e8fb24ba1b707c83da499b87ef1ade Author: Nick Kossifidis Date: Fri Mar 7 11:48:21 2008 -0500 ath5k: Make some changes to follow register dumps. Make some changes which mimic what we see in register dumps. This patch does not add a helper to ath5k_hw_reset(). It does seem clear we need a re-shuffle around ath5k_hw_reset() though as code in there is lengthy and already hitting 80-char limit. This can be dealt with later though. Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 56c9054f16ecb62bd83e9c55032522604d2f626c Author: Nick Kossifidis Date: Thu Feb 28 16:20:52 2008 -0500 ath5k: Fixes for PCI-E cards * Fix nic_wakeup for PCI-E chips (don't set AR5K_RESET_CTL_PCI bit) * Fix dma size setting for PCI-E chips (thanx to Bob Copeland). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 74693a7f3096a52ecbf477d31dc4c595bf27a8d3 Author: Nick Kossifidis Date: Thu Feb 28 14:51:40 2008 -0500 ath5k: Remove RF5413 from rf gain optimization functions * Since RF2413 it seems that RF_BUFFER settings are different (notice that the last part -"bank 7" or whatever- is smaller than in 5111/5112). So until we know what's going on we assume there is no gain optimization stuff in post-5112 chips. Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 903b474efabab6a4ce697063c367afd8e2ad83f3 Author: Nick Kossifidis Date: Thu Feb 28 14:50:50 2008 -0500 ath5k: more RF2413 stuff * Add AR5K_RF2413 to radio check during hw_reset so it doesn't complain * Write ah_phy_spending value we set during attach instead of checking each time for radio revision * Skip txpower setup for RF2413 because it can't transmit with it (weird thing is that RF5413 has no problem with it). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0af2256319959aaca95959a493ed2282edaaae3e Author: Nick Kossifidis Date: Thu Feb 28 14:49:05 2008 -0500 ath5k: Identify RF2413 and deal with PHY_SPENDING * Attach RF2413. * Propertly handle different AR5K_PHY_SPENDING settings for each RF chip by adding a field in ath5k_hw. This way we won't have to check inside hw_reset (see next patch). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f714dd6d452af8fda700d67dc67163c6ad9d4569 Author: Nick Kossifidis Date: Thu Feb 28 14:43:51 2008 -0500 ath5k: Add RF2413 initial settings * Add initial settings for RF2413 Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8daeef9717598f638e6fa8ea12770173d2dea771 Author: Nick Kossifidis Date: Thu Feb 28 14:40:00 2008 -0500 ath5k: Add RF2413 srev values * Add RF2413 srev values and a new entry on ath5k_radio enum for it since it differs from RF5413 (it's not like 5112-2112). Changes-licensed-under: ISC Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b8ad0cbc58f703972e9e37c4e2a8081dd7e6a551 Author: Daniel Lezcano Date: Fri Mar 7 11:16:55 2008 -0800 [NETNS][IPV6] mcast - handle several network namespace This patch make use of the network namespace information at the right places to handle the multicast for several network namespaces. It makes the socket control to be per namespace too. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit e504799276e53045a9b597f24c1b456552482f63 Author: Daniel Lezcano Date: Fri Mar 7 11:16:26 2008 -0800 [NETNS][IPV6] tcp6 - handle several network namespace We have the right network namespace at the right place now. So make use of this information to make tcp6 per network namespace Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 93ec926b075d14bb7edcbc054e92199e9ad4ad1d Author: Daniel Lezcano Date: Fri Mar 7 11:16:02 2008 -0800 [NETNS][IPV6] tcp6 - make socket control per namespace Instead of having a tcp6_socket global to all the namespace, there is tcp6 socket control per namespace. That is consistent with which namespace sent a RST and allows to pass the socket to the underlying function to retrieve the network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1762f7e88eb34f653b4a915be99a102e347dd45e Author: Daniel Lezcano Date: Fri Mar 7 11:15:34 2008 -0800 [NETNS][IPV6] ndisc - make socket control per namespace Make ndisc socket control per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit a18bc6959d9793c8352d2177b456d93868953874 Author: Daniel Lezcano Date: Fri Mar 7 11:14:49 2008 -0800 [NETNS][IPV6] ndisc - make ndisc handle multiple network namespaces Make ndisc handle multiple network namespaces: Remove references to init_net, add network namespace parameters and add pernet_operations for ndisc Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 8a3edd800dcdf949953777c73abf54de261574e8 Author: Daniel Lezcano Date: Fri Mar 7 11:14:16 2008 -0800 [NETNS][IPV6] fix some missing namespace This patch adds some missing namespace Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit db8dac20d5199307dcfcf4e01dac4bda5edf9e89 Author: David S. Miller Date: Thu Mar 6 16:22:02 2008 -0800 [UDP]: Revert udplite and code split. This reverts commit db1ed684f6c430c4cdad67d058688b8a1b5e607c ("[IPV6] UDP: Rename IPv6 UDP files."), commit 8be8af8fa4405652e6c0797db5465a4be8afb998 ("[IPV4] UDP: Move IPv4-specific bits to other file.") and commit e898d4db2749c6052072e9bc4448e396cbdeb06a ("[UDP]: Allow users to configure UDP-Lite."). First, udplite is of such small cost, and it is a core protocol just like TCP and normal UDP are. We spent enormous amounts of effort to make udplite share as much code with core UDP as possible. All of that work is less valuable if we're just going to slap a config option on udplite support. It is also causing build failures, as reported on linux-next, showing that the changeset was not tested very well. In fact, this is the second build failure resulting from the udplite change. Finally, the config options provided was a bool, instead of a modular option. Meaning the udplite code does not even get build tested by allmodconfig builds, and furthermore the user is not presented with a reasonable modular build option which is particularly needed by distribution vendors. Signed-off-by: David S. Miller commit ba0fa4599484b98dbb21d279fbfdb40e9c07d30d Author: Allan Stephens Date: Thu Mar 6 15:08:40 2008 -0800 [TIPC]: Update version to 1.6.3 This patch updates TIPC's version number to 1.6.3. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit c0cb7ef08667374f0cbe8c94c819f74a6c935135 Author: Allan Stephens Date: Thu Mar 6 15:08:10 2008 -0800 [TIPC]: Enhancements to message header writing This patch makes two enhancements to the routine used to set bit fields within a TIPC message header: 1) It now ignores any bits of the new field value that are not covered by the mask being used. (Previously, if the new value exceeded the size of the mask the extra bits could corrupt other fields in the message header word being updated.) 2) The code has been optimized to minimize the number of run-time endianness conversion operations by leveraging the fact that the mask (and, in some cases, the value as well) is constant and the necessary conversion can be performed by the compiler. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 37695420a233aa8aef40c68cb338ad09e0241ec3 Author: Allan Stephens Date: Thu Mar 6 15:07:42 2008 -0800 [TIPC]: Use correct bitmask when setting version This patch ensures that the 3-bit version field of the TIPC message header is masked correctly when written into a message. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 06d82c9191261942ce7873ce4a8735fd2a15e662 Author: Allan Stephens Date: Thu Mar 6 15:06:55 2008 -0800 [TIPC]: Minor cleanup of message header code This patch eliminates some unused or duplicate message header symbols, and fixes up the comments and/or location of a few other symbols. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 0e0609bbd2ab39a5964a70b409a5567ebbaf3700 Author: Allan Stephens Date: Thu Mar 6 15:06:06 2008 -0800 [TIPC]: Eliminate "sparse" symbol warnings This patch eliminates warnings about undeclared symbols. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit e247a8f5d018740220c66bd5df1928d21d277d63 Author: Allan Stephens Date: Thu Mar 6 15:05:38 2008 -0800 [TIPC]: Add argument validation for shutdown() This patch validates that the "how" argument to shutdown() is SHUT_RDWR, since this is the only form that TIPC supports. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 8c8696553aa3895c2ad4289537e4af45a8877b62 Author: Allan Stephens Date: Thu Mar 6 15:05:07 2008 -0800 [TIPC]: Removal of message header option code This patch removes code associated with optional, user-specified fields of the TIPC message header. Such fields were never utilized by TIPC, and have now been removed from the protocol specification. Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit 72e77a8a7921d952bdef2468d9315616eca6b464 Author: Luis Carlos Cobo Date: Mon Mar 3 12:32:15 2008 -0800 zd1211rw: support for mesh interface and beaconing The previously unused CR_CAM_MODE register is set to MODE_AP_WDS. This makes the driver ack mesh (WDS) frames. It does not affect Infra functionality of the driver. Previously missing beaconing support has been added. This might also help implement a currently missing ah-hoc mode. Support for interrupts from the device have been added, but we are not handling most of them. Mesh interfaces are considered associated as long as the interface is up. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit f137e05468f2a648aba11377dc824d788683dff4 Author: David Woodhouse Date: Mon Mar 3 12:18:59 2008 +0100 libertas: clean up scan.c, remove zeromac and bcastmac Should be purely cosmetic apart from the removal of the two pointless MAC addresses. Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit fa62f99cf80af9c65bfc0f731d780e03e3ce6ede Author: David Woodhouse Date: Mon Mar 3 12:18:03 2008 +0100 libertas: convert 802_11_SCAN to a direct command Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit c5562e98332511c3e4d7f807ae4dd85f6db2a7e6 Author: David Woodhouse Date: Mon Mar 3 12:16:42 2008 +0100 libertas: add LED control TLV to types.h Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9e1228d00a8e959dd3f4d0bd7949fda1ce11b314 Author: David Woodhouse Date: Mon Mar 3 12:15:39 2008 +0100 libertas: convert KEY_MATERIAL to a direct command The struct enc_key probably wants to die too, but that can come later. Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit 17744ff6ae7eafe33dac9772f2ef9ab5fb738db8 Author: Tomas Winkler Date: Sun Mar 2 01:52:00 2008 +0200 iwlwifi: Fix 52 rate report in rx status This patch fixes reporting rate in RX packets in 52 band. The rate was updated from CCK rate index instead of OFDM rate 6M Most of the patch is collateral clean up Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 8211ef78d9023a8772e5acf6b7934598156b2fc8 Author: Tomas Winkler Date: Sun Mar 2 01:36:04 2008 +0200 iwlwifi: refactor init geos function This patch refactors init geos function. It also fixes few minor bugs. IWL_MAX_RATE -> IWL_RATE_COUNT (IWL_MAX_RATE included also MCS setting) There are 9 and 13 rates for 4965 in 2.4 and 5.2 respectively (rate 60) Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2acae16ee79386c73db10fa8e95c9cd42fbad272 Author: Tomas Winkler Date: Sun Mar 2 01:25:59 2008 +0200 iwlwifi: removing unused priv->config This patch removes unused variable in iwlYYYY_priv Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit aab547ce0d1493d400b6468c521a0137cd8c1edf Author: Michael Buesch Date: Fri Feb 29 11:36:12 2008 +0100 ssb: Add Gigabit Ethernet driver This adds the Gigabit Ethernet driver for the SSB Gigabit Ethernet core. This driver actually is a frontend to the Tigon3 driver. So the real work is done by tg3. This device is used in the Linksys WRT350N. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69d3b6f491545d326135a1def4e290cd577c9a36 Author: Johannes Berg Date: Wed Mar 5 10:58:40 2008 +0100 mac80211: fix hardware scan completion The mac80211 MLME requires restarting timers after a scan completes but this wasn't done when hardware scan offload was added, so add it now. Signed-off-by: Johannes Berg Tested-by: Bill Moss Cc: Reinette Chatre Signed-off-by: John W. Linville commit 2a8ca29a88e3858685c463ffd19e11c20d14c73a Author: Luis Carlos Cobo Date: Fri Feb 29 17:51:25 2008 -0800 mac80211: fix mesh_path and sta_info get_by_idx functions Skip properly entries whose dev does not match. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a00de5d08b4bcd1e95d02667029406224bd0619b Author: Luis Carlos Cobo Date: Fri Feb 29 17:07:54 2008 -0800 mac80211: path IE fields macros, fix alignment problems and clean up Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit b4e08ea141e6d663dec31b31d6289baeaaa2a3a2 Author: Luis Carlos Cobo Date: Fri Feb 29 15:46:08 2008 -0800 mac80211: add PLINK_ prefix and kernel doc to enum plink_state Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit cfa22c716f65b4d286a68aeacee4a7361a4035e6 Author: Luis Carlos Cobo Date: Fri Feb 29 15:04:13 2008 -0800 mac80211: always force mesh_path deletions Postponing the deletion is not really useful anymore. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 89a1ad6990d884796c5280d13aa58d216dffa08d Author: Luis Carlos Cobo Date: Fri Feb 29 14:49:37 2008 -0800 mac80211: delete mesh_path timer on mesh_path removal This avoids dereferencing a no longer existing struct mesh_path. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit aa2b5928433ce6ba98cf31ab048c7882aeae56a3 Author: Luis Carlos Cobo Date: Fri Feb 29 14:30:32 2008 -0800 mac80211: clean up use of endianness conversion functions Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4f5d4c4da89c7aa0fa194a7fd3e52233067932ea Author: Luis Carlos Cobo Date: Fri Feb 29 12:32:46 2008 -0800 mac80211: breakdown mesh network attributes in different extra fields for wext Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3b091cd4941912081730ffa17948da6d148c822d Author: Luis Carlos Cobo Date: Fri Feb 29 12:20:39 2008 -0800 mac80211: move comment to better location Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1d1b535969ca5572d87a6fcac49e1e1a31241b99 Author: Luis Carlos Cobo Date: Fri Feb 29 12:15:28 2008 -0800 mac80211: fix incorrect parenthesis Pointed out by Johannes Berg. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 37659ff8e1d8d1f9c86bdb974d41479ccd001213 Author: Luis Carlos Cobo Date: Fri Feb 29 12:13:38 2008 -0800 mac80211: fix mesh endianness sparse warnings and unmark it as broken This patch fixes all the mesh related endianness warnings reported by sparse. As they were the reason why Johannes marked mesh as BROKEN, that flag has been removed. Signed-off-by: Luis Carlos Cobo Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 96c46546e28282a743b97f26e94c7565350898b7 Author: Johannes Berg Date: Sat Mar 1 19:32:18 2008 +0100 mac80211: always insert key into list Today I hit one of my new WARN_ONs in the mac80211 code because a key wasn't being freed correctly. After wondering for a while I finally tracked it to the fact that STA keys aren't added to the per-sdata key list correctly, they are supposed to always be on that list, not just for default keys. This patch fixes that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 38968d096b9f497e7ec4590b6b80eb8679e3646a Author: Johannes Berg Date: Mon Feb 25 16:27:50 2008 +0100 b43: verify sta_notify mac80211 callback This helps verify that nothing bad is going on in mac80211, it is unfortunately not possible to implement this generically in mac80211 easily because there we can't assume that we only have a single vif which b43 currently can assume. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 03e4497ebeaa8011eb0ab0a54496ed6413b9d1a4 Author: Johannes Berg Date: Wed Feb 27 09:56:40 2008 +0100 mac80211: fix sta_info mesh timer bug I noticed a bug I introduced when mesh is enabled: sta_info_destroy() will end up calling cancel_timer() on a timer that has never been initialized because the timer is only initialized in mesh_plink_alloc(), not in sta_info_alloc(). This patch moves the initialization of all mesh related fields into sta_info_alloc(), adds a bit of sanity checking to the cfg80211 handlers and sta_info_insert() and makes mesh_plink_alloc() a static helper function that is only used from the mesh plink code. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit dbbea6713d6096cd1c411cb453a6b71292c78b33 Author: Johannes Berg Date: Tue Feb 26 14:34:06 2008 +0100 mac80211: add documentation book Quite a while ago I started this book. The required kernel-doc patches have since gone into the tree so it is now possible to build the book in mainline. The actual documentation is still rather incomplete and not all things are linked into the book, but this enables us to edit the documentation collaboratively, hopefully driver authors can add documentation based on their experience with mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7c8076bd8be3fd2a9a94f9687cf39e3505f0e4ec Author: Johannes Berg Date: Tue Feb 26 10:53:57 2008 +0100 mac80211: don't clear next_hop in path reclaim Luis pointed out that this path is going to be freed right away anyway so there's no point in assigning next_hop. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 44213b5e13c907bf4aa2e73941944f90184c8772 Author: Johannes Berg Date: Mon Feb 25 16:27:49 2008 +0100 mac80211: remove STA entries when taking down interface When we take down an interface, we need to remove the STA info items that belong to it because otherwise we might invoke a sta_notify() callback in the driver when we later delete the STA entries, but in that case the driver will already have removed its knowledge of the interface they belonged to leading to confusion. Also, we could invoke the set_tim() callback after the driver removed its knowledge of the interface, which can lead to a crash if it requests a beacon with a then-invalid vif pointer! A side effect of this patch is that, because it was easier, it disallows changing the WDS peer while an interface is up. Should that actually be necessary, it can be added back, but the WDS peer STA entry may not be added while the interface is UP so for now I've simplified the WDS peer's STA entry lifetime management. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 693b1bbcc47b3fd436068f294147357f90cd1296 Author: Johannes Berg Date: Mon Feb 25 16:27:48 2008 +0100 mac80211: clean up sta_info and document locking This patch cleans up the sta_info struct and documents how each set of variables is locked. Notably, flags locking is completely missing. It also adds kernel-doc for some (but not all yet) members of the struct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 73651ee6396c499ccb59ebc84c9274db01ed026d Author: Johannes Berg Date: Mon Feb 25 16:27:47 2008 +0100 mac80211: split sta_info_add sta_info_add() has two functions: allocating a station info structure and inserting it into the hash table/list. Splitting these two functions allows allocating with GFP_KERNEL in many places instead of GFP_ATOMIC which is now required by the RCU protection. Additionally, in many places RCU protection is now no longer needed at all because between sta_info_alloc() and sta_info_insert() the caller owns the structure. This fixes a few race conditions with setting initial flags and similar, but not all (see comments in ieee80211_sta.c and cfg.c). More documentation on the existing races will be in a follow-up patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0709a65181beb787ef3f58cfe45536a2bb254c8 Author: Johannes Berg Date: Mon Feb 25 16:27:46 2008 +0100 mac80211: RCU-ify STA info structure access This makes access to the STA hash table/list use RCU to protect against freeing of items. However, it's not a true RCU, the copy step is missing: whenever somebody changes a STA item it is simply updated. This is an existing race condition that is now somewhat understandable. This patch also fixes the race key freeing vs. STA destruction by making sure that sta_info_destroy() is always called under RTNL and frees the key. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5cf121c3cdb955583bf0c5d28c992b7968a4aa1a Author: Johannes Berg Date: Mon Feb 25 16:27:43 2008 +0100 mac80211: split ieee80211_txrx_data Split it into ieee80211_tx_data and ieee80211_rx_data to clarify usage/flag usage and remove the stupid union thing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7495883bdd07e6a233f8a7f3d85c085c1618a203 Author: Johannes Berg Date: Mon Feb 25 22:17:30 2008 +0100 mac80211: reorder a few fields in sta_info Three __le16s followed by an enum (int) leave a two-byte hole of padding which we can use for two of the other fields. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 42096b634f87bb65e08d1fa61462d5b30d9779ca Author: Johannes Berg Date: Mon Feb 25 21:36:27 2008 +0100 mac80211: fix kernel-doc comment for mesh_plink_deactivate Accidentally copied in a __mesh_plink_deactivate, noticed by Luis Carlos Cobo. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d6d1a5a7096172a1592115331a420630adf47f8c Author: Johannes Berg Date: Mon Feb 25 16:24:38 2008 +0100 mac80211: clean up mesh RX path a bit more Moves another ifdef into the sta_info header file in favour of compiling more code even w/o CONFIG_MAC80211_MESH. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit c1edd987a4ae08908d8ec08c550240ea065e0649 Author: Johannes Berg Date: Mon Feb 25 16:15:06 2008 +0100 mac80211: export mesh_plink_broken This needs to be exported because rate control algorithms can be modular. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5c142e8db4b2a10dad103d49f309381cb9fc6a87 Author: Johannes Berg Date: Mon Feb 25 10:13:31 2008 +0100 mac80211: clarify mesh Kconfig This clarifies that the mesh networking code is currently based on Draft 1.08 of the 802.11 Mesh Networking amendment. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff59dc76e6e996092e4e11f4a6a370702428ead5 Author: Johannes Berg Date: Mon Feb 25 10:11:50 2008 +0100 mac80211: add missing "break" statement in mesh code This inserts a missing break statement which, if hit, would cause the code to fall-through and unlock a spinlock twice. Noticed via sparse's "lock count wrong in basic block" warning and careful code inspection. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit 2f5ce793c0817d8d38f1c7ad23945607d57e47d6 Author: Johannes Berg Date: Sat Feb 23 15:17:21 2008 +0100 mac80211: enable mesh in Kconfig Currently marked BROKEN because of endianness problems. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dc0b0f7d1e34b797b98e4d16122b3ea6f775154c Author: Johannes Berg Date: Sat Feb 23 15:17:20 2008 +0100 mac80211: mesh hwmp locking fixes This fixes missing unlocks noticed by sparse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 902acc7896d7649fb30e4b22bd4e643c7f34b02c Author: Johannes Berg Date: Sat Feb 23 15:17:19 2008 +0100 mac80211: clean up mesh code Various cleanups, reducing the #ifdef mess and other things. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7a921443740d7dafc65b17aa32531730d358f50 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:18 2008 +0100 mac80211: complete the mesh (interface handling) code This completes the mesh interface handling code and a few other bits about the mac80211 module. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c5dd9c2bd0b2422dbcd57fe8158d1d7d36c07dd9 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:17 2008 +0100 mac80211: mesh path and mesh peer configuration This adds code to allow adding mesh interfaces and configuring mesh peers etc. Also, it adds code for station dumping. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9f42f607058a80bfb7b4f687bb84016ae129cfd1 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:16 2008 +0100 mac80211: mesh statistics and config through debugfs This patch contains the debugfs code for mesh statistics and configuration parameters. Please note that generic support for r/w debugfs attributes has been added. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 050ac52cbe1f3de2fb0d06f02c7919ae1f691c9e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:15 2008 +0100 mac80211: code for on-demand Hybrid Wireless Mesh Protocol This file implements the on-demand Hybrid Wireless Mesh Protocol, at this moment using hop-count as the metric. When no mesh path exists for a given destination or the mesh path is not active, frames addressed to that destination will be queued and a Path Request frame will be sent. Queued frames will be sent when the path is resolved (usually after reception of a Path Response) or discarded if discovery times out. Path Requests will also be sent to refresh paths that are being used and are close to expiring. Path Errors are sent when a path discovery process triggered by the attempt to forward a frame originated in a different mesh point times out. Path Errors are also sent when a peer link is determined to be unreachable because of high error rates. Multiple destination support in Path Requests and Path Errors and precursors have not been implemented yet. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit eb2b9311fd00a868e9bf85ab66e86b7dee1643e1 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:14 2008 +0100 mac80211: mesh path table implementation The mesh path table associates destinations with the next hop to reach them. The table is a hash of linked lists protected by rcu mechanisms. Every mesh path contains a lock to protect the mesh path state. Each outgoing mesh frame requires a look up into this table. Therefore, the table it has been designed so it is not necessary to hold any lock to find the appropriate next hop. If the path is determined to be active within a rcu context we can safely dereference mpath->next_hop->addr, since it holds a reference to the sta next_hop. After a mesh path has been set active for the first time it next_hop must always point to a valid sta. If this is not possible the mpath must be deleted or replaced in a RCU safe fashion. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c3896d2ca4dd97be290f000cb1079ed759d28574 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:13 2008 +0100 mac80211: mesh peer link implementation This file implements mesh discovery and peer link establishment support using the mesh peer link table provided in mesh_plinktbl.c. Secure peer links have not been implemented yet. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f709fc696d72d31273a77b82aa32cb6d19857011 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:12 2008 +0100 mac80211: mesh changes to the MLME This includes support for mesh network scanning. The ugly code in ieee80211_sta_scan_result() is my approach to work around wext. This has been tested with wireless tools version 29 and works as expected (the new interface mode is just not shown). Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee3858551ae6d044578f598f8001db5f1a9fd52e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:11 2008 +0100 mac80211: mesh data structures and first mesh changes Includes integration in struct sta_info of mesh peer link elements, previously on their own mesh peer link table. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 33b64eb2b1b1759cbdafbe5c59df652f1e7c746e Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:10 2008 +0100 mac80211: support for mesh interfaces in mac80211 data path This changes the TX/RX paths in mac80211 to support mesh interfaces. This code will be cleaned up later again before being enabled. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2e3c8736820bf72a8ad10721c7e31d36d4fa7790 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:09 2008 +0100 mac80211: support functions for mesh The two important features coded in mesh.c are: Recently Multicast Cache: in on-demand HWMP, multicast traffic is retransmitted by every receiving node. Even though a mesh TTL counter avoids infinite loops, it is also necessary to avoid traffic explosion by keeping a cache of multicast mesh frame that have been received recently. With this feature, maximum number of retransmissions of a multicast frame for the case of N nodes within the range of each other would be N. Without it, the maximum number of retransmissions would be in the order of N^(MESH_TTL - 1). Code to support mesh tables. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccf80ddfe4923ae75cd3536723880277d285e779 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:08 2008 +0100 mac80211: mesh function and data structures definitions Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6032f934c818e5c3435c9f17274fe1983f53c6b4 Author: Johannes Berg Date: Sat Feb 23 15:17:07 2008 +0100 mac80211: add mesh interface type This adds the mesh interface type. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ec600d672e74488f8d1acf67a0a2baed222564c Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:06 2008 +0100 nl80211/cfg80211: support for mesh, sta dumping Added support for mesh id and mesh path operation as well as station structure dumping. Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cc0672a1066829be7e1b0128a13e36a2d0a15479 Author: Johannes Berg Date: Sat Feb 23 15:17:05 2008 +0100 WEXT: add mesh interface type This introduces a new WEXT type IW_MODE_MESH for mesh networks, used for scan results. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 37c5798968d0ce4d479f114f1d5785551b57bfa5 Author: Luis Carlos Cobo Date: Sat Feb 23 15:17:04 2008 +0100 wireless: various definitions for mesh networking Signed-off-by: Luis Carlos Cobo Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f59d43899e279c77924a7ada4bec8c70e5aeca06 Author: David S. Miller Date: Wed Mar 5 20:58:10 2008 -0800 [IPV6]: Fix powerpc allmodconfig build warnings. Introduced by changeset 95e41e93e18d8e1e272ce23d96bae4f17ce11d42 ("[IPV6]: Make ndisc_flow_init() common for later use.") Reported by Stephen Rothwell. In file included from net/ipv6/netfilter/ip6_tables.c:21: include/linux/icmpv6.h:192: warning: 'struct in6_addr' declared inside parameter list include/linux/icmpv6.h:192: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: David S. Miller commit 0dc47877a3de00ceadea0005189656ae8dc52669 Author: Harvey Harrison Date: Wed Mar 5 20:47:47 2008 -0800 net: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 6387c4bed539539b05fa773cf2ff26529dc3074c Author: Matthias Kaehlcke Date: Wed Mar 5 18:53:01 2008 -0800 COSA/SRP: convert channel_data.rsem to mutex COSA/SRP driver: The semaphore channel_data.rsem is used as a mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ee6b967301b4aa5d4a4b61e2f682f086266db9fb Author: Eric Dumazet Date: Wed Mar 5 18:30:47 2008 -0800 [IPV4]: Add 'rtable' field in struct sk_buff to alias 'dst' and avoid casts (Anonymous) unions can help us to avoid ugly casts. A common cast it the (struct rtable *)skb->dst one. Defining an union like : union { struct dst_entry *dst; struct rtable *rtable; }; permits to use skb->rtable in place. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e37c772e36a7943b2e0bd8f48312e78474c0df15 Author: Olof Johansson Date: Wed Feb 20 20:57:59 2008 -0600 pasemi_mac: basic ethtool support First cut at ethtool support, to be completed over time. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 251567848f2f446f4356f969329a8188faf1fe90 Author: Olof Johansson Date: Wed Feb 20 20:57:58 2008 -0600 pasemi_mac: Enable GSO by default Ethtool support will handle the runtime toggling, but we do quite a bit better with it on by default so just leave it on for now. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 8d636d8bc5ffcdbf49c72aafcda9ddab7ccb2f41 Author: Olof Johansson Date: Wed Mar 5 16:34:16 2008 -0600 pasemi_mac: jumbo frame support First cut at jumbo frame support. To support large MTU, one or several separate channels must be allocated to calculate the TCP/UDP checksum separately, since the mac lacks enough buffers to hold a whole packet while it's being calculated. Furthermore, it seems that a single function channel is not quite enough to feed one of the 10Gig links, so allocate two channels for XAUI interfaces. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 15732a1cb5f9078d460a254449eb59391e531ffc Author: Harvey Harrison Date: Wed Mar 5 14:38:22 2008 -0600 jfs: replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Dave Kleikamp commit a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5 Author: Daniel Lezcano Date: Wed Mar 5 12:37:29 2008 -0800 [IPV6]: Remove commented lines. Remove commented lines from netns patchset. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 255333c1db3ec63921de29b134418a4e56e5921e Merge: 9a43b70... 0d66afe... Author: David S. Miller Date: Wed Mar 5 12:26:41 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/mac80211/rc80211_pid_algo.c commit 9a43b709a230705ca40a6f854a334a02334a3c1c Author: Benjamin Thery Date: Wed Mar 5 10:49:18 2008 -0800 [NETNS][IPV6] icmp6 - make icmpv6_socket per namespace This patch make the changes necessary to support network namespaces in ICMPv6. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit da6bb5c0c5c22e8289aa555afadfb69487fafbc3 Author: Daniel Lezcano Date: Wed Mar 5 10:48:56 2008 -0800 [NETNS][IPV6] ip6_input - enable ipv6_rcv to handle several network namespace The different subsystem of ipv6 are ready for namespaces, so let's activate it for ipv6_rcv. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit c20121ae87955cfc8b51f89072294fc6077f39ad Author: Daniel Lezcano Date: Wed Mar 5 10:48:35 2008 -0800 [NETNS][IPV6] route6 - pass always a valid socket to ip6_dst_lookup The ip6_dst_lookup receive a socket as parameter. In some part of the code it is called with a NULL socket parameter. We want to rely on the socket to retrieve the network namespace, so we always pass a valid socket in all cases. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4591db4f37618f37a9f1f25d291c3c7a43a15a21 Author: Daniel Lezcano Date: Wed Mar 5 10:48:10 2008 -0800 [NETNS][IPV6] route6 - add netns parameter to ip6_route_output Add an netns parameter to ip6_route_output. That will allow to access to the right routing table for outgoing traffic. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 6fda73500581be531fd9bc232173332ec64f6435 Author: Benjamin Thery Date: Wed Mar 5 10:47:47 2008 -0800 [NETNS][IPV6] addrconf - make addrconf per namespace All the infrastructure to propagate the network namespace information is ready. Make use of it. There is a special case here between the initial network namespace and the other namespaces: * When ipv6 is initialized at boot time (aka in the init_net), it registers to the notifier callback. So addrconf_notify will be called as many time as there are network devices setup on the system and the function will add ipv6 addresses to the network devices. But the first device which needs to have its ipv6 address setup is the loopback, unfortunatly this is not the case. So the loopback address is setup manually in the ipv6 init function. * With the network namespace, this ordering problem does not appears because notifier is already setup and active, so as soon as we register the loopback the ipv6 address is setup and it will be the first device. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit af2849377e7b70afa1274e475be50286cd0ef6eb Author: Daniel Lezcano Date: Wed Mar 5 10:46:57 2008 -0800 [NETNS][IPV6] addrconf - Pass the proper network namespace parameters to addrconf This patch propagates the network namespace pointer to the address configuration routines which need it, which means adding a new parameter to these functions, and make them use it instead of using the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 300bf591deca8d108799e70e9300dc31765643e3 Author: Daniel Lezcano Date: Wed Mar 5 10:46:31 2008 -0800 [NETNS][IPV6] proc - protect snmp6 from non-init_net calls This patchset avoids creation of the /proc entry for snmp6 when the call is made from a network namespace different from the init_net. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 075de9395760d6d181078f863e676e81c06e1af2 Author: Benjamin Thery Date: Wed Mar 5 10:45:59 2008 -0800 [NETNS][IPV6] af_inet6 - allow socket creation per namespace Allow creation of IPv6 raw and datagram sockets in network namespaces other than init_net. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 94911fe31710e355e9fcac8b1a7eb36c4953f36b Author: Benjamin Thery Date: Wed Mar 5 10:45:36 2008 -0800 [NETNS][IPV6] Move sysctl initialization later on in the IPv6 init sequence This patch moves initialization of IPv6 sysctl stuff at the end of IPv6 initialization. This will be helpful for network namespaces where some sysctl entries depend on per-namespace variables, that need to be allocated and initialized before they are referenced by sysctl. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit dda56df08a28404004bca313d2a1ba1597acd755 Author: Olof Johansson Date: Wed Mar 5 12:25:59 2008 -0600 [POWERPC] pasemi: Add function engine management functions to dma_lib Used to allocate functions for crypto/checksum offload. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit f37203b5ccaf6d58cb5ca6b1840e40f3b587109c Author: Olof Johansson Date: Wed Mar 5 12:25:45 2008 -0600 [POWERPC] pasemi: Add flag management functions to dma_lib Add functions to manage the channel syncronization flags to dma_lib Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit afea3278f73c14271ee60ca7593ad74b7a946486 Author: Olof Johansson Date: Wed Mar 5 12:11:48 2008 -0600 pasemi_mac: Move RX/TX section enablement to dma_lib Also stop both rx and tx sections before changing the configuration of the dma device during init. Signed-off-by: Olof Johansson Acked-by: Jeff Garzik commit 6b3d626321c1d4ce9138a86b047dfafc6a403016 Author: Sangtae Ha Date: Tue Mar 4 14:17:41 2008 -0800 [TCP]: TCP cubic v2.2 We have updated CUBIC to fix some issues with slow increase in large BDP networks. We also improved its convergence speed. The fix is in fact very simple -- the window increase limit of smax during the window probing phase (i.e., convex growth phase) is removed. We found that this does not affect TCP friendliness, but only improves its scalability. We have run some tests in our lab and also over the Internet path from NCSU to Japan. These results can be seen from the following page: http://netsrv.csc.ncsu.edu/wiki/index.php/Intra_protocol_fairness_testing_with_linux-2.6.23.9 http://netsrv.csc.ncsu.edu/wiki/index.php/RTT_fairness_testing_with_linux-2.6.23.9 http://netsrv.csc.ncsu.edu/wiki/index.php/TCP_friendliness_testing_with_linux-2.6.23.9 Signed-off-by: Sangtae Ha Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7019b78e1483fa724dcba56e8465376b8fd03ea8 Author: Daniel Lezcano Date: Tue Mar 4 13:50:14 2008 -0800 [NETNS][IPV6] route6 - Make ip6_dst_gc simpler This patches improves the readibility of the ip6_dst_gc() routine. It simplifies long lines which grow a lot due to the introduction of network namespaces support. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 6891a346c387bd0a64afa50f4522f5fe8ba879d8 Author: Benjamin Thery Date: Tue Mar 4 13:49:47 2008 -0800 [NETNS][IPV6] route6 - make garbage collection work with multiple network namespaces This patch makes the necessary changes to make IPv6 dst_entry garbage collection work with multiple network namespaces. In ip6_dst_gc(), static local variables are now declared per-namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit f2fc6a54585a1be6669613a31fbaba2ecbadcd36 Author: Benjamin Thery Date: Tue Mar 4 13:49:23 2008 -0800 [NETNS][IPV6] route6 - move ip6_dst_ops inside the network namespace The ip6_dst_ops is moved inside the network namespace structure. All references to this structure are now relative to the initial network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9a7ec3a94d8da475fe81810aa55136a81556d445 Author: Daniel Lezcano Date: Tue Mar 4 13:48:53 2008 -0800 [NETNS][IPV6] route6 - dynamically allocate ip6_dst_ops ip6_dst_ops is dynamically allocated in init and exit functions. That provides the ability to do multiple instanciations of this structure. This will be needed for network namespaces, indeed dst_ops stores data that are required to be per namespace: entries and gc_thresh. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 8ed677896752fff056f6cf3d7ce462adc6c464f0 Author: Daniel Lezcano Date: Tue Mar 4 13:48:30 2008 -0800 [NETNS][IPV6] rt6_info - move rt6_info structure inside the namespace The rt6_info structures are moved inside the network namespace structure. All references to these structures are now relative to the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bdb3289f739e94bcae8b51972ae844ec66c2f4df Author: Daniel Lezcano Date: Tue Mar 4 13:48:10 2008 -0800 [NETNS][IPV6] rt6_info - make rt6_info accessed as a pointer This patch make mindless changes and prepares the code to use dynamic allocation for rt6_info structure. The code accesses the rt6_info structure as a pointer instead of a global static variable. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5578689a4e3c04f2d43ea39736fd3fa396d80c6e Author: Daniel Lezcano Date: Tue Mar 4 13:47:47 2008 -0800 [NETNS][IPV6] route6 - make route6 per namespace This patch makes the routing engine use the network namespaces to access routing informations: Add a network namespace parameter to ipv6_route_ioctl and propagate the network namespace value to all the routing code that have not yet been changed. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 7b4da53229bb61469bdab321384b9a13406e3485 Author: Daniel Lezcano Date: Tue Mar 4 13:47:14 2008 -0800 [NETNS][IPV6] route6 - Pass the network namespace parameter to rt6_purge_dflt_routers Add a network namespace parameter to rt6_purge_dflt_routers. This is needed to call fib6_get_table with the appropriate network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit efa2cea0d97a91dbbc067463de702738f7e50748 Author: Daniel Lezcano Date: Tue Mar 4 13:46:48 2008 -0800 [NETNS][IPV6] route6 - Pass network namespace to rt6_add_route_info and rt6_get_route_info Add a network namespace parameter to rt6_add_route_info() and rt6_get_route_info to enable them to handle multiple network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 69ddb80562a460d6d9edafe33a5bee06ca18b1a1 Author: Daniel Lezcano Date: Tue Mar 4 13:46:23 2008 -0800 [NETNS][IPV6] route6 - Make proc entry /proc/net/rt6_stats per namespace Make the proc entry /proc/net/rt6_stats work in all network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 606a2b4862d4be31fa55cad89871fe52a422d511 Author: Daniel Lezcano Date: Tue Mar 4 13:45:59 2008 -0800 [NETNS][IPV6] route6 - Pass the network namespace parameter to rt6_lookup Add a network namespace parameter to rt6_lookup(). Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit cdb1876192dbe680b3ac955717fdf7f863c1762d Author: Daniel Lezcano Date: Tue Mar 4 13:45:33 2008 -0800 [NETNS][IPV6] route6 - create route6 proc files for the namespace Make /proc/net/ipv6_route and /proc/net/rt6_stats to be per namespace. These proc files are now created when the network namespace is initialized. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4d243f92e48a7913938f48fa9ebea5239168bb11 Author: David Brownell Date: Fri Feb 22 17:28:37 2008 -0800 atmel_tc clocksource/clockevent code Clocksource and clockevent device based on the Atmel TC blocks. The clockevent device handles both periodic and oneshot modes, so this enables NO_HZ and high res timers on some platforms that previously couldn't use those mechanisms. This works on both AVR32 and AT91 chips, given relevant patches for tclib support (always) and clockevents (or else this will only look like a higher precision clocksource). It's an updated and modularized version of an AT91-only patch that has circulated for some time now. Changes relative to the original patch: * Update to use new tclib API * Replace open-coded do-while loop using goto with a real do-while loop * Minor irq handler optimization: Load register base address from dev_id instead of a global variable. * Aggressively turn off clocks when the clockevent isn't being used * Include the clockevent code on AT91RM9200 as well. The rating is lower than the System Timer, so the clock will usually stay off. * Don't assume that the number of clocks is always equal to the number of irqs. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 2a341f5cf57dce9d89b41484a69e88adc6422f6c Author: David Brownell Date: Fri Feb 22 17:23:23 2008 -0800 atmel_tc library Create based on and the at91sam9263 and at32ap7000 datasheets. Most AT91 and AT32 SOCs have one or two of these TC blocks, which include three 16-bit timers that can be interconnected in various ways. These TC blocks can be used for external interfacing (such as PWM and measurement), or used as somewhat quirky sixteen-bit timers. Changes relative to the original version: * Drop unneeded inclusion of * Support an arbitrary number of TC blocks * Return a struct with information about a TC block from atmel_tc_alloc() instead of using a combination of return values and "out" parameters. * ioremap() the I/O registers on allocation * Look up clocks and irqs for all channels * Add "name" parameter to atmel_tc_alloc() and use this when requesting the iomem resource. * Check if the platform provided the necessary resources at probe() time instead of when the TCB is allocated. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 83321d6b9872b94604e481a79dc2c8acbe4ece31 Author: Timo Teras Date: Mon Mar 3 23:40:12 2008 -0800 [AF_KEY]: Dump SA/SP entries non-atomically Stop dumping of entries when af_key socket receive queue is getting full and continue it later when there is more room again. This fixes dumping of large databases. Currently the entries not fitting into the receive queue are just dropped (including the end-of-dump message) which can confuse applications. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 26bad2c05eef400d9af16979bd96e301902ebd13 Author: Matthias Kaehlcke Date: Mon Mar 3 23:35:53 2008 -0800 [TIPC]: Convert tsock->sem in a mutex The semaphore tsock->sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: David S. Miller commit c572872f89e46e38cdb35a43b81122bfb7ff43fc Author: Benjamin Thery Date: Mon Mar 3 23:34:17 2008 -0800 [NETNS][IPV6] rt6_stats - make the stats per network namespace The rt6_stats is now per namespace with this patch. It is allocated when a network namespace is created and freed when the network namespace exits and references are relative to the network namespace. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 6cc118bd506ae8c6436f507b838a0e1f6185fec2 Author: Daniel Lezcano Date: Mon Mar 3 23:33:43 2008 -0800 [NETNS][IPV6] rt6_stats - dynamically allocate the routes statistics This patch allocates the rt6_stats struct dynamically when the fib6 is initialized. That provides the ability to create several instances of this structure for the network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit dcabb819a6eced95ef531b001e663d0d592c8d9f Author: Daniel Lezcano Date: Mon Mar 3 23:33:08 2008 -0800 [NETNS][IPV6] fib6_rules - handle several network namespaces The fib6_rules_ops is moved to the network namespace structure. All references are changed to have it relatively to it. Each time a network namespace is created a new fib6_rules_ops is allocated, initialized and stored into the network namespace structure. The common part of the fib rules is namespace aware, so it is quite easy to retrieve the network namespace from the rules and use it in the different callbacks. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit eb5564b8532eec6b49379095df2b979aab85661f Author: Daniel Lezcano Date: Mon Mar 3 23:32:30 2008 -0800 [NETNS][IPV6] fib6 rule - dynamic allocation of the rules struct ops The fib6_rules_ops structure is dynamically allocated, so that allows to make several instances of it per network namespace. The global static fib6_rules_ops structure is renamed to fib6_rules_ops_template in order to quickly memcopy it for the structure initialization. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit ec7d43c291df9f6e978733f892f7255be89feedb Author: Benjamin Thery Date: Mon Mar 3 23:31:57 2008 -0800 [NETNS][IPV6] ip6_fib - clean node use namespace The fib6_clean_node function should have the network namespace it is working on. The fib6_cleaner_t structure is extended with the network namespace field to be passed to the fib6_clean_node function. The different functions calling the fib6_clean_node function are extended with the netns parameter when needed to propagate the netns pointer. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 63152fc0de4dfe83da543bf133cef73d885a50fc Author: Daniel Lezcano Date: Mon Mar 3 23:31:11 2008 -0800 [NETNS][IPV6] ip6_fib - gc timer per namespace Move the timer initialization at the network namespace creation and store the network namespace in the timer argument. That enables multiple timers (one per network namespace) to do garbage collecting. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 450d19f8ab35fad4ef2b129cb383a5b8d1326611 Author: Daniel Lezcano Date: Mon Mar 3 23:29:33 2008 -0800 [NETNS][IPV6] ip6_fib - dynamically allocate gc-timer The ip6_fib_timer gc timer is dynamically allocated and initialized in the ip6 fib init function. There are no more references to a static global variable. That will allow to make multiple instance of the garbage collecting timer and make them per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 5b7c931dff03621ae7ac524c4fa280d4e5f187a4 Author: Daniel Lezcano Date: Mon Mar 3 23:28:58 2008 -0800 [NETNS][IPV6] ip6_fib - add net to gc timer parameter The fib tables are now relative to the network namespace. When the garbage collector timer expires, we must have a network namespace parameter in order to retrieve the tables. For now this is the init_net, but we should be able to have a timer per namespace and use the timer callback parameter to pass the network namespace from the expired timer. The timer callback, fib6_run_gc, is actually used to be called synchronously by some functions and asynchronously when the timer expires. When the timer expires, the delay specified for fib6_run_gc parameter is always zero. So, I changed fib6_run_gc to not be a timer callback but a function called by the timer callback and I added a timer callback where its work is just to retrieve from the data arg of the timer the network namespace and call fib6_run_gc with zero expiring time and the network namespace parameters. That makes the code cleaner for the fib6_run_gc callers. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit f3db48517f59133610f558f29de8834d7b007691 Author: Daniel Lezcano Date: Mon Mar 3 23:27:06 2008 -0800 [NETNS][IPV6] ip6_fib - fib6_clean_all handle several network namespaces The function fib6_clean_all takes the network namespace as parameter. That allows to flush the routes related to a specific network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 58f09b78b730cf0d936597272bf35b3d615e967c Author: Daniel Lezcano Date: Mon Mar 3 23:25:27 2008 -0800 [NETNS][IPV6] ip6_fib - make it per network namespace The fib table for ipv6 are moved to the network namespace structure. All references to them are made relatively to the network namespace. All external calls to the ip6_fib functions taking the network namespace parameter are made using the init_net variable, so the ip6_fib engine is ready for the namespaces but the callers not yet. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit e0b85590bc1b50c9bbef4dd4738d9995fb1d1f64 Author: Daniel Lezcano Date: Mon Mar 3 23:24:31 2008 -0800 [NETNS][IPV6] ip6_fib - dynamically allocate the fib tables This patch changes the fib6 tables to be dynamically allocated. That provides the ability to make several instances of them when a new network namespace is created. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 419271780712091ff2738aee513fa4b5b051fbdc Author: YOSHIFUJI Hideaki Date: Thu Dec 6 17:40:56 2007 -0800 [IPV6] MCAST: Use standard path for sending MLD/MLDv2 messages. This is changing the paths for sending MLD/MLDv2 messages from dev_queue_xmit() to standard dst_output(). Signed-off-by: YOSHIFUJI Hideaki commit 3b00944c5c73c49ef52bf17b66557c43c1d945fe Author: YOSHIFUJI Hideaki Date: Thu Dec 6 16:11:48 2007 -0800 [IPV6]: Make ndisc_dst_alloc() common for later use. For later use, this patch is renaming ndisc_dst_alloc() (and related function/structures) to icmp6_dst_alloc() (and so on). This patch also removing unused function- pointer argument for it. Signed-off-by: YOSHIFUJI Hideaki commit 95e41e93e18d8e1e272ce23d96bae4f17ce11d42 Author: YOSHIFUJI Hideaki Date: Thu Dec 6 15:43:30 2007 -0800 [IPV6]: Make ndisc_flow_init() common for later use. For later use, this patch is renaming ndisc_flow_init() to icmpv6_flow_init() and putting it in common place. Signed-off-by: YOSHIFUJI Hideaki commit 5e5f3f0f801321078c897a5de0b4b4304f234da0 Author: YOSHIFUJI Hideaki Date: Mon Mar 3 21:44:34 2008 +0900 [IPV6] ADDRCONF: Convert ipv6_get_saddr() to ipv6_dev_get_saddr(). Since most users of ipv6_get_saddr() pass non-NULL as dst argument, use ipv6_dev_get_saddr() directly. Signed-off-by: YOSHIFUJI Hideaki commit 8082c37cdc31fb0ed178d9d706bf7568ada0edd9 Author: YOSHIFUJI Hideaki Date: Tue Mar 4 14:55:03 2008 +0900 [NET] NEIGHBOUR: Remove unpopular neigh_is_connected(). neigh_is_connected() is not popular at all, and the only user drivers/net/cxgb3/l2t.c:t3_l2t_update() also have raw (expanded) expression. Let's expand it and remove the inline function. Signed-off-by: YOSHIFUJI Hideaki commit 0e7b8dcd16eb91b9cd8ecc07c4094512f20d7e3c Author: YOSHIFUJI Hideaki Date: Thu Feb 28 17:03:12 2008 +0900 [IPV6]: Use htonl() instead of __constant_htonl() where appricable. Signed-off-by: YOSHIFUJI Hideaki commit 5ee091050986796856cc6207d86b38b4ef6bd8f4 Author: YOSHIFUJI Hideaki Date: Thu Feb 28 00:24:28 2008 +0900 [IPV6] SYSCTL: complete initialization for sysctl table in subsystem code. Move initialization bits for subsystem sysctl tables to appropriate functions. - route - icmp Signed-off-by: YOSHIFUJI Hideaki commit 662397fd7aaa10afdbdc55a0bfdb7e9701454c27 Author: YOSHIFUJI Hideaki Date: Wed Feb 27 23:14:03 2008 +0900 [IPV6]: Move packet_type{} related bits to af_inet6.c. Signed-off-by: YOSHIFUJI Hideaki commit db1ed684f6c430c4cdad67d058688b8a1b5e607c Author: YOSHIFUJI Hideaki Date: Thu Feb 21 16:13:26 2008 +0900 [IPV6] UDP: Rename IPv6 UDP files. Rename net/ipv6/udp.c to net/ipv6/udp_ipv6.c Rename net/ipv6/udplite.c to net/ipv6/udplite_ipv6.c. Signed-off-by: YOSHIFUJI Hideaki commit 8be8af8fa4405652e6c0797db5465a4be8afb998 Author: YOSHIFUJI Hideaki Date: Tue Mar 4 14:50:52 2008 +0900 [IPV4] UDP: Move IPv4-specific bits to other file. Move IPv4-specific UDP bits from net/ipv4/udp.c into (new) net/ipv4/udp_ipv4.c. Rename net/ipv4/udplite.c to net/ipv4/udplite_ipv4.c. Signed-off-by: YOSHIFUJI Hideaki commit cf80efc27d68d4e0717aa0b8647c4e161397ced7 Author: YOSHIFUJI Hideaki Date: Tue Feb 12 17:35:16 2008 +0900 [IPV4]: Fix size description of CONFIG_INET. CONFIG_INET now enlarges about 400KB, not 140KB. Signed-off-by: YOSHIFUJI Hideaki commit e898d4db2749c6052072e9bc4448e396cbdeb06a Author: YOSHIFUJI Hideaki Date: Sat Mar 1 01:06:47 2008 +0900 [UDP]: Allow users to configure UDP-Lite. Let's give users an option for disabling UDP-Lite (~4K). old: | text data bss dec hex filename | 286498 12432 6072 305002 4a76a net/ipv4/built-in.o | 193830 8192 3204 205226 321aa net/ipv6/ipv6.o new (without UDP-Lite): | text data bss dec hex filename | 284086 12136 5432 301654 49a56 net/ipv4/built-in.o | 191835 7832 3076 202743 317f7 net/ipv6/ipv6.o Signed-off-by: YOSHIFUJI Hideaki commit c6aefafb7ec620911d46174eed514f9df639e5a4 Author: Glenn Griffin Date: Thu Feb 7 21:49:26 2008 -0800 [TCP]: Add IPv6 support to TCP SYN cookies Updated to incorporate Eric's suggestion of using a per cpu buffer rather than allocating on the stack. Just a two line change, but will resend in it's entirety. Signed-off-by: Glenn Griffin Signed-off-by: YOSHIFUJI Hideaki commit 11baab7ac34723ad481e0f97fca733272ef364d4 Author: Eric Dumazet Date: Thu Feb 7 10:40:19 2008 +0100 [TCP]: lower stack usage in cookie_hash() function 400 bytes allocated on stack might be a litle bit too much. Using a per_cpu var is more friendly. Signed-off-by: Eric Dumazet Signed-off-by: YOSHIFUJI Hideaki commit 988b705077d8f922408913f4f521ae073256d4a1 Author: Pavel Emelyanov Date: Mon Mar 3 12:20:57 2008 -0800 [ARP]: Introduce the arp_hdr_len helper. There are some place, that calculate the ARP header length. These calculations are correct, but a) some operate with "magic" constants, b) enlarge the code length (sometimes at the cost of coding style), c) are not informative from the first glance. The proposal is to introduce a helper, that includes all the good sides of these calculations. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8ed7edce82ca0d8d3adba8c08cd42337af6c758c Author: Alexey Dobriyan Date: Mon Mar 3 12:02:54 2008 -0800 ipv6: fix inet6_init/icmpv6_cleanup sections mismatch Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7cd04fa7e35100877592f6be4efdccac0fed62b2 Author: Denis V. Lunev Date: Mon Mar 3 11:59:32 2008 -0800 [TCP]: Merge exit paths in tcp_v4_conn_request. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f0fd56ed40ec5fb889bfc7efccd1c5759e6e9937 Author: Denis V. Lunev Date: Mon Mar 3 11:55:54 2008 -0800 [SCTP]: seq_printf format warning. (fixed) sctp_association->hbinterval is unsigned long. Replace %8d with %8lu. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit da7ef338a2982a3a0c7e2b1cdfd55ba35b34471e Author: Denis V. Lunev Date: Mon Mar 3 11:50:10 2008 -0800 [IPV4]: skb->dst can't be NULL in ip_options_echo. ip_options_echo is called on the packet input path after the initial routing. The dst entry on the packet is cleared only in the several very specific places and immidiately assigned back (may be new). Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 809307768cb177621b8f45f87fa840993ca4cb60 Author: Craig Kelley Date: Fri Feb 29 10:24:44 2008 -0700 hwmon: (smsc47b397) add a new chip id (0x8c) Added a new ID (0x8c) for the smsc47b397 hardware monitor driver. This ID is used by HP in, at least, their dc7700 line. Signed-off-by: Craig Kelley Signed-off-by: Mark M. Hoffman commit 1d1c8d13c4f7690d382bca5de2f9dc88f22a4aab Author: Denis V. Lunev Date: Fri Feb 29 14:15:19 2008 -0800 [ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit. Functions from __exit section should not be called from ones in __init section. Fix this conflict. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4a80f2788952055a627f2093a0174537d70aec1b Merge: 03a64c9... e486182... Author: David S. Miller Date: Fri Feb 29 13:41:25 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.26 commit e4861829072c61883114c64a3af61f305a789ff0 Author: Johannes Berg Date: Wed Feb 27 13:39:00 2008 +0100 mac80211: fix key replacing, hw accel Even though I thought about it a lot and had also tested it, some of my recent changes in the key code broke replacing keys, making the kernel oops because a key is removed from a list while not on it. This patch fixes that using the list as an indication whether or not the key is on it (an empty list means it's not on any list.) Also, this patch fixes hw accel enabling, the check for not doing hw accel when the interface is down was lost and is restored by this. Additionally, move adding the key to the list into the function __ieee80211_key_replace() for more consistency. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit db4d1169d0b893bfb7923b6526748fe2c5a7373f Author: Johannes Berg Date: Mon Feb 25 16:27:45 2008 +0100 mac80211: split ieee80211_key_alloc/free In order to RCU-ify sta_info, we need to be able to allocate a key without linking it to an sdata/sta structure (because allocation cannot be done in an rcu critical section). This patch splits up ieee80211_key_alloc() and updates all users appropriately. While at it, this patch fixes a number of race conditions such as finally making key replacement atomic, unfortunately at the expense of more complex code. Note that this patch documents /existing/ bugs with sta info and key interaction, there is currently a race condition when a sta info is freed without holding the RTNL. This will finally be fixed by a followup patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6f48422a29714ed92f6136d9e7d3ff39c75607d7 Author: Johannes Berg Date: Mon Feb 25 16:27:44 2008 +0100 mac80211: remove STA infos last_ack stuff These things aren't used and the only possible use is within rate control algorithms, however those can, if they need it, keep track of it in their private data. last_ack_ms isn't even updated so completely useless. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e6a5ddf20886206caf1c4a2431f6ff01198ab0f7 Author: Johannes Berg Date: Mon Feb 25 16:27:42 2008 +0100 mac80211: safely free beacon in ieee80211_if_reinit If ieee80211_if_reinit() is called from ieee80211_unregister_hw() then it is possible that the driver will still request a beacon (it is allowed to until ieee80211_unregister_hw() has returned.) This means we need to use an RCU-protected write to the beacon information even in this function. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2485f7105f20f85c2dbebc67be6b2cb97175fa7e Author: Johannes Berg Date: Mon Feb 25 16:27:41 2008 +0100 mac80211: clarify use of TX status/RX callbacks This patch clarifies the use of the irqsafe vs. non-irq-safe functions and their respective locking requirements. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 38c07b430b50172b803fe4c7f76cba580ba9931f Author: Pavel Roskin Date: Tue Feb 26 17:59:14 2008 -0500 ath5k: fix all endian issues reported by sparse Changes-licensed-under: ISC Signed-off-by: Pavel Roskin Acked-by: Luis R. Rodriguez Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit e6084239d39a10bac1186611fe7c523cea92c9ec Author: Ivo van Doorn Date: Mon Feb 25 23:22:13 2008 +0100 rt2x00: Release rt2x00 2.1.3 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1497074ad79009f8fb465d795f9e0d2a428b7fa2 Author: Ivo van Doorn Date: Mon Feb 25 23:20:33 2008 +0100 rt2x00: Check for 5GHz band in link tuner Fix a typo in the link tuner where accidently the 2GHz band was checked instead of the 5GHz band. This forced the link tuner to work in an invalid range for the currently active band. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 58e307398317ab55470547a7d72859c89edd187d Author: Florian Fainelli Date: Mon Feb 25 17:51:53 2008 +0100 p54: print unknown eeprom fields This patch allows p54common to print the uknown EEPROM fields, which can help when debugging/testing devices. Signed-off-by: Florian Fainelli Signed-off-by: John W. Linville commit 9a89c839f79395426b84cf6da9d56773402b4c0e Author: Johannes Berg Date: Mon Feb 25 11:12:18 2008 +0100 adm8211: fix cfg80211 band API conversion Insert a missing band assignment. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f300ae5b819f7655197925cdb1954edfd906a87 Author: Michael Buesch Date: Sun Feb 24 14:42:29 2008 +0100 b43legacy: Fix nondebug build Fix a typo. Signed-off-by: Michael Buesch Acked-by: Stefano Brivio Signed-off-by: John W. Linville commit 28de57d1a9eb7e67badb731297197fcbef0cc19e Author: Aurelien Jarno Date: Fri Feb 22 16:14:58 2008 +0100 ssb: Add CHIPCO IRQ access functions This patch adds functions to setup and read the CHIPCO IRQ. Signed-off-by: Aurelien Jarno Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fba4a1e63723b5ef16c21a90f06520ae37c5da98 Author: Johannes Berg Date: Thu Feb 21 11:08:33 2008 +0100 mac80211: fix IBSS code This patch fixes two errors introduced by commit 19d35612f3cd7f60dd9174c0100584e21f5a1025 Author: Bruno Randolf Date: Mon Feb 18 11:21:36 2008 +0900 mac80211: enable IBSS merging The first error is an endianness problem that sparse found and the second is a build failure when CONFIG_MAC80211_IBSS_DEBUG is not set. Signed-off-by: Johannes Berg Cc: Bruno Randolf Signed-off-by: John W. Linville commit f3af89d1aaaf2d2ef3bc6afe5eadb7127c51fe12 Author: Johannes Berg Date: Thu Feb 21 11:22:12 2008 +0100 mac80211: fix debugfs_sta print_mac() warning When print_mac() was marked as __pure to avoid emitting a function call in pr_debug() scenarios, a warning in this code surfaced since it relies on the fact that the buffer is modified and doesn't use the return value. This patch makes it use the return value instead. Signed-off-by: Johannes Berg Reported-by: Harvey Harrison Signed-off-by: John W. Linville commit 665e8aafb4e0826caec9db25617b186ea3f3ec91 Author: Johannes Berg Date: Thu Feb 21 01:10:07 2008 +0100 mac80211: Disallow concurrent IBSS/STA mode interfaces Disallow having more than one IBSS interface up at any time because of beacon distribution issues, and for now also disallow having more than one IBSS/STA interface up at the same time because we use the master interface's BSS struct which would be completely corrupted when we have more than one up. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 43ba7e958f2ca05e4e9171a15402288419289d71 Author: Johannes Berg Date: Thu Feb 21 14:09:30 2008 +0100 mac80211: atomically check whether STA exists already When a STA structure is added, it is often checked whether it already exists before adding it. This, however, isn't done atomically so there is a race condition that could lead to two STA structures being added with the same MAC address. This patch changes sta_info_add() to return an ERR_PTR in case of failure and adds the failure mode -EEXIST when the STA already exists. Signed-off-by: Johannes Berg Cc: Luis Carlos Cobo Signed-off-by: John W. Linville commit d46e144b65bf053b25d134ec9f52a38e63e04bb4 Author: Johannes Berg Date: Wed Feb 20 23:59:33 2008 +0100 mac80211: rework TX filtered frame code This reworks the code for TX filtered frames, splitting it out to a new function to handle those cases, making the clear instruction a flag and renaming a few things to be easier to understand and less Atheros hardware specific. Finally, it also makes the comments explain more. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d97cf01576e1867d26b5c8de360380f815a1b7df Author: Pavel Roskin Date: Thu Feb 21 11:33:58 2008 -0500 mac80211: fix incorrect use of CONFIG_MAC80211_IBSS_DEBUG Configuration variables are only available to the preprocessor Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c2976ab005695c1b73f9dbdb4d0f85ed5e0319eb Author: Johannes Berg Date: Wed Feb 20 12:08:12 2008 +0100 p54: fix sparse warnings This fixes a few sparse warnings in p54. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e63e3fa7bd4d0dc8cbab5ab7aff84cd37d45295e Author: Johannes Berg Date: Wed Feb 20 12:06:47 2008 +0100 adm8211: fix sparse warnings Both of these seem to be actual errors, the first is just wrong and the second is my mistake introduced by the cfg80211 API update. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ffc7689ddae5cbe12bde437ae0f2b386d568b5cd Author: Michael Buesch Date: Wed Feb 20 19:08:10 2008 +0100 ssb: Add support for 8bit register access This adds support for 8bit wide register reads/writes. This is needed in order to support the gigabit ethernet core. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 004c872e78d433f84f0a5cd4db7a6c780c0946e1 Author: Johannes Berg Date: Wed Feb 20 11:21:35 2008 +0100 mac80211: consolidate TIM handling code This consolidates all TIM handling code to avoid re-introducing errors with the bitmap/set_tim order and to reduce code. While reading the code I noticed a possible problem so I also added a comment about that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 836341a70471ba77657b0b420dd7eea3c30a038b Author: Johannes Berg Date: Wed Feb 20 02:07:21 2008 +0100 mac80211: remove sta TIM flag, fix expiry TIM handling The TIM flag that is kept in each station's info is completely useless, there's no code (aside from the debugfs display code) checking it, hence it can be removed. While doing that, I noticed that the TIM handling is broken when buffered frames expire, so fix that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d2259243a19894eee06c16e278adfea81dc42bd9 Author: Johannes Berg Date: Wed Feb 20 01:36:16 2008 +0100 mac80211: invoke set_tim() callback after setting own TIM info Drivers should be allowed to simply get a complete new beacon when set_tim() is invoked (and set_tim() is required for drivers that just want a beacon template!), so we need to update our own TIM bitmap before calling set_tim() so that getting the beacon will now get an already updated beacon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 013b73faff107e56cbe75fe4b881f5d80a8cf022 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Feb 19 15:41:50 2008 +0100 wireless: Convert to list_for_each_entry_rcu() Convert list_for_each_rcu() to list_for_each_entry_rcu() Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit b46b4ee034645dc87a34b29a7989a2540a8ee8ea Author: Tomas Winkler Date: Wed Feb 13 20:58:34 2008 +0200 wireless: update US regulatory domain This patch adds channels to US regulatory domain Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2533d5f800d3693e9d000abfecd030ff02e305e4 Author: Ivo van Doorn Date: Sun Feb 17 17:36:49 2008 +0100 rt2x00: Release rt2x00 2.1.2 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ce359f90d3c65bf0a575683a28d25672facd3df0 Author: Ivo van Doorn Date: Sun Feb 17 17:36:33 2008 +0100 rt2x00: Fix MAC address defines in rt61pci The MAC address offset defines were incorrect because the byte offset was used instead of word index. This bug had no affect on normal operations since these defines weren't used. (EEPROM_MAC_ADDR_0 was used to read 6 bytes from). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47ac26833663da51e7ac801db4badc2880c682c3 Author: Gertjan van Wingerde Date: Sun Feb 17 17:35:55 2008 +0100 rt2x00: Fix hw mode registration with mac80211. The supported_bands field of struct hw_mode_spec now represents a bitfield, so bitfield operators need to be tested with when setting the band data. The current code generates the following warning: [176624.986244] WARNING: at /usr/local/src/incoming/compat-wireless-2.6/net/wireless/core.c:269 wiphy_register() [176624.986249] Pid: 12548, comm: modprobe Tainted: P 2.6.24.2#4 [176624.986251] [176624.986251] Call Trace: [176624.986277] [] :cfg80211:wiphy_register+0x17f/0x1a0 [176624.986282] [] :rt61pci:rt61pci_eepromregister_write+0x0/0x80 [176624.986302] [] :mac80211:ieee80211_register_hw+0x2c/0x2b0 [176624.986310] [] :rt2x00lib:rt2x00lib_probe_dev+0x350/0x3f0 [176624.986318] [] :rt2x00pci:rt2x00pci_probe+0x149/0x200 [176624.986325] [] pci_device_probe+0xf8/0x170 [176624.986331] [] driver_probe_device+0x9c/0x1c0 [176624.986335] [] __driver_attach+0x0/0xb0 [176624.986337] [] __driver_attach+0xa5/0xb0 [176624.986341] [] bus_for_each_dev+0x4d/0x80 [176624.986347] [] bus_add_driver+0xac/0x210 [176624.986351] [] __pci_register_driver+0x73/0xc0 [176624.986357] [] sys_init_module+0x18e/0x1a20 [176624.986374] [] system_call+0x7e/0x83 Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 47b10cd1375855dbc6675a176c71a512ac4b7317 Author: Ivo van Doorn Date: Sun Feb 17 17:35:28 2008 +0100 rt2x00: Remove async vendor request calls from rt2x00usb The async vendor requests are a ugly hack which is not working correctly. The proper fix for the scheduling while atomic issue is finding out why we can't use led classes for USB drivers and fix that. Just replace all async calls with the regular ones and print an error for the disallowed LED configuration attempts. That will help in determining which led class is causing the problem. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 31562e802a72caf0757f351fff563d558d48d087 Author: Ivo van Doorn Date: Sun Feb 17 17:35:05 2008 +0100 rt2x00: Cleanup mode registration Don't wildly pass any number for num_rates to rt2x00lib, instead pass which type of rates are supported (CCK, OFDM). Same for num_modes but then for the 2GHZ and 5GHZ band. This makes the interface look much nicer and makes extending it later easier. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit de99ff82cdc2e5b596d01000eed9e0d05566f2d7 Author: Ivo van Doorn Date: Sun Feb 17 17:34:26 2008 +0100 rt2x00: Rename dscape -> mac80211 The dscape stack was renamed to mac80211 a long time ago, we are long overdue with fixing all comments to reflect this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ef8f66cd1d6f360340a73ee7ed0492ff0f5f42ea Author: Ivo van Doorn Date: Sun Feb 17 17:33:57 2008 +0100 rt2x00: Remove reset_tsf() Specifications indicate the TSF registers are read-only, so there is no point in writing 0 to those registers. As far as I know there isn't another way to reset the TSF registers. So removing these callbacks will notify mac80211 about the lack of support. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30b3a23c2594e122e7086f97b5252a87eaf8a817 Author: Ivo van Doorn Date: Sun Feb 17 17:33:24 2008 +0100 rt2x00: Fix Descriptor DMA initialization As Adam Baker reported the DMA address for the descriptor base was incorrectly initialized in the PCI drivers. Instead of the DMA base for the descriptor, the DMA base for the data was passed resulting in a broken TX/RX state for PCI drivers. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e542239f639fa4e7b13a949d39d44ff1eccf7e3a Author: Ivo van Doorn Date: Sun Feb 17 17:33:13 2008 +0100 rt2x00: Filter ACK_CTS based on FIF_CONTROL The ACK_CTS frame is a control frame, this means dropping the frame depends on the FIF_CONTROL flag for filtering. This also fixes an obvious typo in register definition. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit baf26a7eae3b05d25dd967b92eb2e09406ed9cf4 Author: Ivo van Doorn Date: Sun Feb 17 17:32:08 2008 +0100 rt2x00: Don't report driver generated frames to tx_status() This adds a new flag for the skb_frame_desc structure which is used to tag rts/cts frames that are generated by the driver. Through the tag we can recognize frames we have generated ourselves, so we don't report their tx status to mac80211. This patch is based on the original patch by Mattias Nissler . Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac1aa7e4f3c73ecb09fddf59c1924530155d9359 Author: Ivo van Doorn Date: Sun Feb 17 17:31:48 2008 +0100 rt2x00: Send frames out with configured TX power mac80211 sends the txpower to use during config(), we already store it in the rt2x00_dev structure. When writing the descriptor correctly initialize the txpower field with this value to make sure all frames are send out with the correct tx power. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d3f5feaa5196049906f34c299fba8e3eda9c8646 Author: Ivo van Doorn Date: Sun Feb 10 22:52:56 2008 +0100 rt2x00: Release rt2x00 2.1.1 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 330e3f95b30d9616edd6df7646473179c159c00d Author: Ivo van Doorn Date: Sun Feb 10 22:52:36 2008 +0100 rt2x00: Kill guardian urb during disable_radio When the radio is being disabled we should also kill the guardian urb which could still be pending in the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c1aa3dc7acc6b97a6251f9d000494569d57fddca Author: Ivo van Doorn Date: Sun Feb 10 22:52:10 2008 +0100 rt2x00: Cleanup Makefile Simplify the way rt2x00 assigns new objects to the rt2x00lib module. This saves a few if statements and overall does this looks much nicer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f539276ee97bd174f644fb6c18bb9965b596032 Author: Ivo van Doorn Date: Sun Feb 10 22:51:41 2008 +0100 rt2x00: Fix queue->qid initialization As Adam Baker reported the queue->qid was not initialized correctly. The QID_AC_BE was assigned to the RX ring. This will move the queue initialization into a seperate function and makes sure that all queues are initialized directly with the correct qids. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 647d0ca905f7d975e0bf41f571de6f443c814913 Author: Ivo van Doorn Date: Sun Feb 10 22:51:21 2008 +0100 rt2x00: Fix skbdesc->data_len initialization skbdesc->data_len was not initialized correctly in rt2x00pci, rt2x00usb, rt2500usb and rt73usb. The value was set to queue->data_size which means that the incorrect frame size was pased to the upper layers. Correctly base the value on either the skb->len, or the rx frame size passed to the driver by the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 417f412f2dfae016e29bb128bece60bf75d94d48 Author: Ivo van Doorn Date: Sun Feb 10 22:50:58 2008 +0100 rt2x00: Fix typo in debug statement The second eeprom recovery message is about the RSSI offset for ieee802.11 A. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 68598d294b6bc1ecc418359994234cb43f4635ad Author: Ivo van Doorn Date: Sun Feb 10 22:50:28 2008 +0100 rt2x00: Add queue statistics to debugfs Rename "frame" folder to "queue" folder, add extra file to this folder which contains statistics about all hardware queues. This will help debugging and spotting problems in the queue indexing system. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e44df9296a8ab9d9160e230d68a1b01015c94e93 Author: Ivo van Doorn Date: Sun Feb 10 22:50:04 2008 +0100 rt2x00: Fix scheduling while atomic errors in usb drivers Call rt2x00_config_intf() outside of the spinlock context since the call will sleep for USB drivers. By using the ieee80211_if_conf values as arguments we make keep access tp rt2x00_intf thread safe even without the lock. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 21795094e2b71b4b11bfb468321046c1336cef69 Author: Ivo van Doorn Date: Sun Feb 10 22:49:13 2008 +0100 rt2x00: make csr_cache and csr_addr an union The csr_cache and csr_addr pointers are both the same size and they are never used both by the same driver. This makes them a nice candidate for an union. We could merge into 1 pointer, but that would either upset sparse, or require a lot of __force casts. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f590f48e87d1e61c03f01fa15be00e852c05426d Author: Ivo van Doorn Date: Sun Feb 10 22:48:47 2008 +0100 rt2x00: Select CONFIG_NEW_LEDS Select CONFIG_NEW_LEDS before selecting the other LED config options. This fixes a link error when NEW_LEDS was disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 231be4e92cc0398781e6acda0e3f8ea54a7fa10f Author: Adam Baker Date: Sun Feb 10 22:48:19 2008 +0100 rt2x00: correct address calc for queue private data When calculating the offset to add to the queue entry base to get the individual entry's private data area the base address must be treated as a char * not a struct queue_entry so we can do byte oriented pointer arithmetic with it. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 16938a24ae19562f078fd43a28500526ff78cd87 Author: Ivo van Doorn Date: Sun Feb 10 22:47:46 2008 +0100 rt2x00: Remove MGMT ring initialization Remove the last remnants of the MGMT ring initialization from rt61pci.ko Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 25fd893db26e90a1e9cf8ba151395766c70a69b3 Author: Ivo van Doorn Date: Sun Feb 10 22:47:17 2008 +0100 rt2x00: Make rt2x00 less verbose Remove the debug messages regarding initialization from EEPROM. The values are vendor specific, and are not really needed for debug purposes. If they ever become usefull we still have access to them through debugfs which also prints the exact same values... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9c9dd2c9a42e8eb38b67f6c743c3d214664b8e2b Author: Ivo van Doorn Date: Sun Feb 10 22:46:52 2008 +0100 rt2x00: Fix invalid DMA free Be more strict when using the queue_entry_priv_pci_rx and queue_entry_priv_pci_tx structures. Only use a particular type that matches the queue type. When freeing the DMA the priv_tx->data and priv_tx->dma was used. This is incorrect since the start of the DMA was in fact the priv_tx->desc pointer. Instead of recalculating the dma_addr_t for the DMA start this patch will swap the data and descriptor part of the allocated memory. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0d84d78db5bad848e385cbb1e4ae2ea1f5f27641 Author: Randy Dunlap Date: Sun Feb 10 10:52:52 2008 -0800 wireless: rt2x00: fix driver menu indenting Michael Büker reports that the RT2x00 drivers are not indented as they should be, so use proper dependencies to make them be indented as expected. Signed-off-by: Randy Dunlap Ack-by: Ivo van Doorn Signed-off-by: John W. Linville commit f948db5de53ec49ede377df30eed0642cc213055 Author: Matthias Kaehlcke Date: Fri Feb 15 20:57:07 2008 +0100 prism54: Convert wpa_sem in a mutex The semaphore wpa_sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f8139218b32e9a68fc6779fa0ce45c5078c23c8a Author: Matthias Kaehlcke Date: Fri Feb 15 20:56:59 2008 +0100 prism54: Convert stats_sem in a mutex The semaphore stats_sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6f865c0ab9318cd4c357654e460cb4c9aaf23a92 Author: Matthias Kaehlcke Date: Fri Feb 15 20:56:48 2008 +0100 prism54: Convert acl->sem in a mutex The semaphore acl->sem is used as mutex, convert it to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5c05863d0346c025a712b57622efe7828b29758e Author: Marcin Slusarz Date: Wed Feb 13 00:06:12 2008 +0100 ipw2200: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Cc: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19ae3a6a96859c0e64d9dd5d35515a6f23a9cad8 Author: Daniel Drake Date: Tue Feb 12 13:49:42 2008 +0000 ipw2100/ipw2200: note firmware loading caveat in Kconfig help text Most wireless drivers load their firmware at interface open time, which generally occurs after the filesystem is available. However, the ipw drivers load their firmware at probe time because firmware is required to read the device MAC address. When built-in, probe happens before the filesystem is available, hence device init will only complete successfully if the user has made special arrangements (including firmware plus a loader in the initramfs). Note all this in the kconfig help text for both drivers. Signed-off-by: Daniel Drake Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5200e8cdf26e32d15f7a125fd75310150f9b2812 Author: Christian Lamparter Date: Tue Feb 12 14:02:06 2008 +0100 p54: use IEEE 802.11e defaults for initialization This trival one-liner changes the QoS initialization values to match IEEE 802.11e defaults. Signed-off-by: Christian Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2c1a1b124f793aaf9f6bcb8f6b5d05c29c2db690 Author: Michael Buesch Date: Sun Feb 10 16:03:55 2008 +0100 zd1211rw: Fix beacon filter flags thinko We must not clear the FIF_BCN_PRBRESP_PROMISC bit in the new_flags. The zd-driver does support sending beacons and probe responses to the host. What the flag does is say "Send me all beacons and probe responses". And we actually do that. We always do that, so we ignore the case when the bit is disabled. But that is fine. But we must not clear the flag, as that tells mac80211 that we do not support passing beacons and probe responses to the stack. And that's not true. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e51c683717e3ac21713444e9a517aa8e0ad0ee48 Author: Javier Cardona Date: Fri Feb 8 18:41:17 2008 -0800 zd1211rw: Fixed incorrect constant name. Trial and error reveals that CR_ZD1211B_TX_PWR_CTL* do not affect the transmission power. Instead these registers seem to control the contention windows limits for different QoS access categories. Signed-off-by: Javier Cardona Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9f6adf23d87ad394ed03c038409550ca37029154 Author: Tomas Winkler Date: Tue Feb 19 14:05:33 2008 -0800 iwlwifi: remove twice defined CSR register This patch removes twice defined CSR register. It was confusing Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4a9a66e9a87a8346129d557c7ec2303173318012 Author: Johannes Berg Date: Tue Feb 19 11:31:14 2008 +0100 mac80211: convert sta_info.pspoll to a flag This doesn't really need to be a full int variable since it's just a flag to indicate a PS-poll is in progress. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d007b7f42e2a3a2b95ef43e8cc1a3dfe66b19736 Author: Johannes Berg Date: Mon Feb 18 18:53:55 2008 +0100 b43(legacy): include full timestamp in beacon frames Having the full RX timestamp in beacons is necessary for IBSS merge to work properly so extend the 16-bit timestamp to the full 64 bits for beacon frames (as well as when monitor mode is active.) Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit aa68cbfb20b417d68dc45c9ef5f3e51546b438b0 Author: Johannes Berg Date: Mon Feb 18 14:20:30 2008 +0100 rtl818x: fix RTS/CTS-less transmit This fixes packet transmission of packets without RTS/CTS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9d9bf77d16ba527f6f63846ca18cf20ae6e8d697 Author: Bruno Randolf Date: Mon Feb 18 11:21:36 2008 +0900 mac80211: enable IBSS merging enable IBSS cell merging. if an IBSS beacon with the same channel, same ESSID and a TSF higher than the local TSF (mactime) is received, we have to join its BSSID. while this might not be immediately apparent from reading the 802.11 standard it is compliant and necessary to make IBSS mode functional in many cases. most drivers have a similar behaviour. * move the relevant code section (previously only containing debug code) down to the end of the function, so we can reuse the bss structure. * we have to compare the mactime (TSF at the time of packet receive) rather than the current TSF. since mactime is defined as the time the first data symbol arrived we add the time until byte 24 where the timestamp resides, since this is how the beacon timestamp is defined. as some some drivers are not able to give a reliable mactime we fall back to use the current TSF, which will be enough to catch most (but not all) cases where an IBSS merge is necessary. * in IBSS mode we want to allow beacons to override probe response info so we can correctly do merges. * we don't only configure beacons based on scan results, so change that message. * to enable this we have to let all beacons thru in IBSS mode, even if they have a different BSSID. Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit a607268a0d5532d6ae3777ddd0339ff7d8b037a0 Author: Bruno Randolf Date: Mon Feb 18 11:21:15 2008 +0900 mac80211: move function ieee80211_sta_join_ibss() this moves ieee80211_sta_join_ibss() up for the next patch (ibss merge). Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c132bec33c2eb5e46d8e4b80cfa5a9656d8e57e7 Author: Bruno Randolf Date: Mon Feb 18 11:20:51 2008 +0900 mac80211: better definition of mactime define mactime as the time when the first data symbol arrived at the HW. the old definition was questionable because 802.11 defines timestamp only for beacon and probe response frames, and there it means the timestamp field. a stricter definition of mactime is necessary for correct merging of IBSS. note that it is up to the driver to convert whatever its hardware returns to this definition. unfortunately we don't know for example when atheros hardware takes its rx timestamp exactly :( Signed-off-by: Bruno Randolf Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3230455d13860b26f638b9d58a8c5f20bf32fda2 Author: Reinette Chatre Date: Fri Feb 15 14:34:37 2008 -0800 iwlwifi: fix name of function in comment (_rx_card_state_notif) iwl_rx_card_state_notif is named iwl3945_rx_card_state_notif and iwl4965_rx_card_state_notif in the two iwlwifi drivers. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 6cd74e3b99ec5aeed5346b1b3777903fa5e47db7 Author: Jiri Slaby Date: Fri Feb 15 21:58:53 2008 +0100 WDEV: ath5k, typecheck on nonDEBUG At least type check the ATH5K_TRACE paramter on !ATH5K_DEBUG configs. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6e33e30d7ae11d527ad1d65ec09a65467d6db1b2 Author: S.Çağlar Onur Date: Thu Feb 14 17:36:49 2008 +0200 drivers/net/wireless/atmel.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Cc: linux-wireless@vger.kernel.org Signed-off-by: S.Çağlar Onur Signed-off-by: John W. Linville commit ab46623ec1f4ea022b861333ce959f0b8f9eb70e Author: S.Çağlar Onur Date: Thu Feb 14 17:36:47 2008 +0200 net/mac80211/: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Cc: linux-wireless@vger.kernel.org Signed-off-by: S.Çağlar Onur Signed-off-by: John W. Linville commit ac2bf3242e1a329543be50b5c9df4f0119ee188c Author: Johannes Berg Date: Thu Feb 14 00:30:35 2008 +0100 mac80211: fix ecw2cw brain-damage This brain-damaged code just bothers me, fix it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e82a822c7c8ea5477062ec8885d7b90696fe73f Author: Tomas Winkler Date: Wed Feb 13 11:32:31 2008 -0800 iwlwifi: Add tx_ant_num hw setting variable Added tx_ant_num variable into hw_setting This will be used for scanning TX antenna toggling On the way removed ac_queue_num unused Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 5c1b09581ba91d156ec907f5cbad07d33bf9e2ed Author: Tomas Winkler Date: Wed Feb 13 11:32:30 2008 -0800 iwlwifi: change iwl->priv iwl_priv * type in iwl-YYY-io.h This patch makes all variables of type struct iwl_priv to be named priv This is needed for smooth change of debug printing mechanism Signed-off-by: Tomas Winkler Signed-off-by: Ester Kummer Signed-off-by: John W. Linville commit eaaf7894959d413d1e01443a622c507e1b4f61db Author: Emmanuel Grumbach Date: Wed Feb 13 11:32:29 2008 -0800 iwlwifi-2.6: Adds and fixes defines about security This patch adds some missing defines defines for HW security. It also fixes the add_station host cmd layout. Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 35f0d354bf0b0c125ac814419202f8c551081fda Author: Michael Buesch Date: Wed Feb 13 14:31:08 2008 +0100 b43: Add HostFlags HI support This adds support for the high 16 bits of the hostflags. No functional change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d0f5afbe6de6b8c06f94a8a0b370252e3863afe7 Author: Michael Buesch Date: Tue Feb 12 20:12:45 2008 +0100 mac80211: Extend filter flag documentation about unsupported flags This extends the filter flags documentation to make it clear what clearing a flag really means. Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3330d7be7008fa8e213648750fc13613eecc54bb Author: Johannes Berg Date: Sun Feb 10 16:49:38 2008 +0100 mac80211: give burst time in txop rather than 0.1msec units This changes mac80211 to pass the burst time to conf_tx in txop units rather than 0.1msec units. 0.1msec units are only required by atheros hardware (according to current driver support), all other drivers do other calculations or require the txop value. Therefore, it results in fewer calculations and more precision if we just pass the txop value through to the driver. Signed-off-by: Johannes Berg Acked-by: Michael Buesch Signed-off-by: John W. Linville commit bb1eeff12d4cd6c706ef9fae340a9c93bb41ad05 Author: Michael Buesch Date: Sat Feb 9 12:08:58 2008 +0100 b43: Fix bandswitch This fixes bandswitching for the new mac80211 band API. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b9e0b449aef50aabc295e4487a7a030a0d358367 Author: Reinette Chatre Date: Fri Feb 8 16:39:11 2008 -0800 iwlwifi: Update iwlwifi version stamp to 1.2.26 We update the version stamp at this time to distinguish the in-kernel driver from the out of tree driver. The out of tree driver currently has version number 1.2.25, but the latest driver code can only be found in this in-kernel driver. Having a later version number will reduce confusion between the two versions as we transition from out of tree to in-kernel. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 96d510566e4908f77f03ff1436c78ae7162a17d0 Author: Johannes Berg Date: Fri Feb 8 09:48:13 2008 +0100 mac80211: defer master netdev allocation to ieee80211_register_hw When we want to go multiqueue, we will need to know the number of queues the hardware has for registering the master netdev. This number is only available in ieee80211_register_hw() rather than ieee80211_alloc_hw(), so defer allocation of the master device to ieee80211_register_hw(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4688be308f35f1e0099140a179d95c5e63b2319d Author: Stefano Brivio Date: Fri Feb 8 06:31:39 2008 +0100 b43legacy: fix B43legacy_WARN_ON macro Fix the B43legacy_WARN_ON macro so that it will evaluate expressions. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit a297170dae2595f31b02e4553a3b217e115a15cf Author: Stefano Brivio Date: Fri Feb 8 06:31:25 2008 +0100 b43legacy: fix upload of beacon packets to the hardware This fixes uploading of the beacon data and writing of the TIM and DTIM offsets. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit eed0fd2102206bf6108460274c40ee6b8e863369 Author: Stefano Brivio Date: Fri Feb 8 06:31:10 2008 +0100 b43legacy: add definitions for MAC control register This adds some definitions for the MAC control register and uses them. This is basically no functional change. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 292ae1745b8fe25b8182655d4bd5628e7947ea6b Author: Ron Rindjunsky Date: Wed Feb 6 11:20:39 2008 -0800 iwlwifi: remove IWL{4965,3945}_QOS This patch removes the IWL4965_QOS and IWL3945_QOS defines from Kconfig file along with all uses of it. These defines were relevant for the period QoS code was tested to be stable in driver's flows. Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a9af2013ca791b40e38a33f94724b87826f17460 Author: Ron Rindjunsky Date: Wed Jan 30 12:58:45 2008 +0200 mac80211: adjustable number of bits for qdisc pool This fix allows to control the number of bits that qdiscs book keeping can be done for with respect to the qdisc pool Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3d30d949cf3f9763393f3457721bca3ac2426e42 Author: Michael Wu Date: Thu Jan 31 19:48:27 2008 +0100 mac80211: Add cooked monitor mode support This adds "cooked" monitor mode to mac80211. A monitor interface in "cooked" mode will see all frames that mac80211 has not used internally. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8944b79fe9b1fe249c599e7e51f1bfad539aab6d Author: Johannes Berg Date: Thu Jan 31 19:48:26 2008 +0100 mac80211: move some code into ieee80211_invoke_rx_handlers There is some duplicated code that sits in front of each function call to ieee80211_invoke_rx_handlers() that can very well be part of that function if it gets slightly different arguments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 589052904a60f00dd2cbc1d3488ee3f520a7de21 Author: Johannes Berg Date: Thu Jan 31 19:48:25 2008 +0100 mac80211: remove "dynamic" RX/TX handlers It doesn't really make sense to have extra pointers to the RX/TX handler arrays instead of just using the arrays directly, that also allows us to make them static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2c9745e5684ad75d02020bcaa31ab6d4b498e1e1 Author: Johannes Berg Date: Thu Jan 31 19:48:24 2008 +0100 mac80211: clean up some things in the RX path Uninline ieee80211_invoke_rx_handlers to save .text space, make the code more readable in some places and remove the "optimisation" that is hit only very few times and unclear to start with. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8cc9a73914b07b5908d8a59320f4557fc9639f2e Author: Michael Wu Date: Thu Jan 31 19:48:23 2008 +0100 mac80211: Use monitor configuration flags Take advantage of the monitor configuration flags now provided by cfg80211. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 66f7ac50ed7cc5c19a62bc97e8f6e7891004a03a Author: Michael Wu Date: Thu Jan 31 19:48:22 2008 +0100 nl80211: Add monitor interface configuration flags This allows precise control over what a monitor interface shows. Signed-off-by: Michael Wu Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e4c26add8893e40e6e809b8c1ebc81e37762af2b Author: Johannes Berg Date: Thu Jan 31 19:48:21 2008 +0100 mac80211: split RX_DROP Some instances of RX_DROP mean that the frame was useless, others mean that the frame should be visible in userspace on "cooked" monitor interfaces. This patch splits up RX_DROP and changes each instance appropriately. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9ae54c8463691b64ca6e6d8680787a6527810984 Author: Johannes Berg Date: Thu Jan 31 19:48:20 2008 +0100 mac80211: split ieee80211_txrx_result The _DROP result will need to be split in the RX path but not in the TX path, so for preparation split up the type into two types, one for RX and one for TX. Also make sure (via sparse) that they cannot be confused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78330fddec4e326af5e6aede0fc97824c690ba1d Author: Tomas Winkler Date: Wed Feb 6 02:37:18 2008 +0200 iwlwifi: Fix HT compilation breakage caused by cfg80211 API for channels/bitrates patch This patch fixes compilation breakage caused by 'cfg80211 API for channels/bitrates' patch. however it doesn't fix the driver's functional problems caused by that patch. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit b86af631b8482b908979b61d06ae7d14e5966885 Author: Ivo van Doorn Date: Sun Feb 3 15:56:02 2008 +0100 rt2x00: Release rt2x00 2.1.0 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8f5fa7f04484e933b3ac8dfe77995d3f1cedde5f Author: Ivo van Doorn Date: Sun Feb 3 15:54:34 2008 +0100 rt2x00: Fix rate initialization Fix typo in rate initialization. This fixes the WARN_ON() in net/wireless/util.cpp:83 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b640f21af4b6b36b546fecbd3fe5109981360da Author: Ivo van Doorn Date: Sun Feb 3 15:54:11 2008 +0100 rt2x00: Enable LED class support for rt2500usb/rt73usb Add kerneldoc for vendor request functions in rt2x00usb. Add asynchroneous vendor request function in rt2x00usb. With the availability of the asynchroneuous vendor request we can now enable LED class support for rt2500usb and rt73usb. Since LED handling is not important, it doesn't really matter if a register call fails (This solution is better then no LED class support at all). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a9450b70a755abf093600035ef5361c53343fe9a Author: Ivo van Doorn Date: Sun Feb 3 15:53:40 2008 +0100 rt2x00: Make use of MAC80211_LED_TRIGGERS Make use of the led triggers provided by mac80211 to control the led status. This can be enabled through a per-driver configuration option which will automatically enable the generic handler in rt2x00lib. This has been enabled for rt2500usb and rt73usb for the moment since the led class will call set_brightness in irq context which will not work correctly with the usb drivers who need to sleep. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f2a3c7f5c8e3c1356dbbce1e9ac2e7f4d5365ba9 Author: Ivo van Doorn Date: Sun Feb 3 15:52:45 2008 +0100 rt2x00: Use ieee80211_channel_to_frequency() No need to perform the calculation ourselves when wireless provides a helper function for it. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f5507ce90be4e00a84b5bb4c7b4324455aa6ee21 Author: Ivo van Doorn Date: Sun Feb 3 15:51:13 2008 +0100 rt2x00: Remove HWMODE_{A,B,G} rt2500usb initialized the SIFS and EIFS without using the values coming from rt2x000lib. After this is fixed HWMODE_{A,B,G} is now unused and can be removed in favour of the ieee80211_band enumeration which could still be usefull later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 70e2fed4ec14df84ed72554d573794714b15a078 Author: Ivo van Doorn Date: Sun Feb 3 15:50:40 2008 +0100 rt2x00: Rate structure overhaul Recent changes to the rate structure registration broke rt2x00, the hw_value was reduced from 32bits to 16bits while rt2x00 used the full 32bits. However the way rt2x00 used the value was inflexible and needed to be changed anyway. This patch creates a array containing information for each rate, the hw_value passed to mac80211 is the index value for that array including a field to indicate if short preamble should be enabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e71c9fac316221a4594f3bd58c2d30ada0cabaf6 Author: Luis R. Rodriguez Date: Sun Feb 3 21:53:51 2008 -0500 ath5k/phy.c: fix negative array index Author: Adrian Bunk This patch fixes a negative array index spotted by the Coverity checker. Changes-licensed-under: ISC Acked-by: Nick Kossifidis Signed-off-by: Adrian Bunk Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6844e63a9458d15b4437aa467c99128d994b0f6c Author: Luis R. Rodriguez Date: Sun Feb 3 21:53:20 2008 -0500 ath5k: Use software encryption for now Hardware encryption doesn't work yet so lets use software encryption for now. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b446197cc14ef060baeed5acbcddf148c04d03f8 Author: Luis R. Rodriguez Date: Mon Feb 4 10:03:54 2008 -0500 ath5k: Port debug.c over to the new band API and enable as build option This patch finishes the port and enables debug as an build option. This was tested on: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) RF5112A multiband radio found (0x36) Note: For 2 GHz band on the above card I noticed we get negative channel numbers. Will look into this unless someone beats me to it. Example out put when loading using: sudo modprobe ath5k debug=0x00000400 Band 2 GHz: channels 26, rates 12 channels: 1 2412 00c0 0000 2 2417 00c0 0000 3 2422 00c0 0000 4 2427 00c0 0000 5 2432 00c0 0000 6 2437 00c0 0000 7 2442 00c0 0000 8 2447 00c0 0000 9 2452 00c0 0000 10 2457 00c0 0000 11 2462 00c0 0000 12 2467 00c0 0000 13 2472 00c0 0000 14 2484 00c0 0000 -498 2512 00c0 0000 -494 2532 00c0 0000 -490 2552 00c0 0000 -486 2572 00c0 0000 -482 2592 00c0 0000 -478 2612 00c0 0000 -474 2632 00c0 0000 -470 2652 00c0 0000 -466 2672 00c0 0000 -462 2692 00c0 0000 -458 2712 00c0 0000 -454 2732 00c0 0000 Band 5 GHz: channels 194, rates 8 channels: 27 5135 0140 0000 28 5140 0140 0000 [... etc ] 219 6095 0140 0000 220 6100 0140 0000 rates: 60 000b 0000 0000 90 000f 0000 0000 120 000a 0000 0000 180 000e 0000 0000 240 0009 0000 0000 360 000d 0000 0000 480 0008 0000 0000 540 000c 0000 0000 Changes to base.c, base.h Changes-licensed-under: 3-Clause-BSD Changes to debug.c, debug.h Changes-licensed-under: GPL Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e9ddc0f25ce524d257e6cf779e495f567ed7678f Author: Luis R. Rodriguez Date: Mon Feb 4 09:56:32 2008 -0500 ath5k: Use our own Kconfig file, we'll be expanding this shortly Apologoes, this is a re-post of patch-04, forgot to git-add our Kconfig... New series (only 2 patches needed fixing, which I am reposting) can be found here: http://kernel.org/pub/linux/kernel/people/mcgrof/patches/ath5k/2008-02-04.v2/ Use our own Kconfig file, we'll be expanding this shortly. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a3f4b914a03a11f3ccc98243b20a647bb8f31691 Author: Luis R. Rodriguez Date: Sun Feb 3 21:52:10 2008 -0500 ath5k: ath5k_copy_channels() was not setting the channel band ath5k_copy_channels() wasn't setting the channel's band so all driver channels had a 2GHz band set. Lets set this. Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 400ec45a02b2a9ef75c26c490ba80801d19b7e7b Author: Luis R. Rodriguez Date: Sun Feb 3 21:51:49 2008 -0500 ath5k: Cleanup after API changes Cleanup after API changes patch (checkpatch.pl stuff) and on ath5k_hw_channel() make use of the existing ath5k_channel_ok() instead of re-implementing the checks again. This was necessary to make the code cleaner and fit the 80-chars wide limit so sending it within the same patch. Finally make a note that we *may* eventually move cap_range stuff to struct wiphy (band frequency range capabilities). This information can later be exported to userspace, for example, and giving it access to mac80211 and drivers in general can come in handy. Changes to initvals.c, phy.c Changes-licensed-under: ISC Changes to ath5k.h, base.c Changes-licensed-under: 3-Clause-BSD Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d8ee398d183df36083e41e9162b0cf014f38f482 Author: Luis R. Rodriguez Date: Sun Feb 3 21:51:04 2008 -0500 ath5k: Port to new bitrate/channel API Author: Nick Kossifidis Tested on 5211, 5213+5112, 5213A+2112A and it wors fine. Also i figured out a way to process rate vallue found on status descriptors, it's still buggy but we are getting closer (i think it improved stability a little). Changes to hw.c, initvals.c, phy.c Changes-licensed-under: ISC Changes to ath5k.h, base.c, base.h Changes-licensed-under: 3-Clause-BSD Acked-by: Jiri Slaby Signed-off-by: Nick Kossifidis Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 406f2388cc1f6e6c176305bd325cef230ce1afdd Author: Ivo van Doorn Date: Sat Feb 2 23:53:10 2008 +0100 wireless: Fix WARN_ON() with ieee802.11b When the driver registers a IEEE80211_BAND_2GHZ band, it can either be 802.11b or 802.11g. But when 802.11b rates are registered "want" will be 3 (since 4 rates are being registered, and each of those 4 rates will decrease "want"). Since this is a correct situation, there is no need to trigger a WARN_ON() for this. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2c28b36275b53cfe380566c1810b3f500f7f4b5b Author: Mohamed Abbas Date: Thu Jan 31 21:46:41 2008 -0800 iwlwifi: set rate_idx correctly from plcp rate_idx is derived from plcp information Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7b72304d864ed281547341a49495a6eb3770681b Author: Mohamed Abbas Date: Thu Jan 31 21:46:40 2008 -0800 iwlwifi: initialize ieee80211_channel->hw_value hw_value is being used uninitialized. fix it. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aac09fbf827b467995b00a1ea0213843a9e605b8 Author: Johannes Berg Date: Wed Jan 30 17:36:10 2008 +0100 wireless: fix ERP rate flags In the rate API patch I accidentally reverted the test for ERP rates, this fixes it. All rates except 1, 2, 5.5 and 11 MBit are ERP rates, not those. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7c50de92e1b54fa4a9a2ee436b16ead3ee31767 Author: Stefano Brivio Date: Tue Jan 29 20:29:16 2008 +0100 rc80211-pid: fix rate adjustment Merge rate_control_pid_shift_adjust() to rate_control_pid_adjust_rate() in order to make the learning algorithm aware of constraints on rates. Also add some comments and rename variables. This fixes a bug which prevented 802.11b/g non-AP STAs from working with 802.11b only AP STAs. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 238814fd9a9624e3076c47ef0c003101927c7818 Author: Johannes Berg Date: Mon Jan 28 17:19:37 2008 +0100 mac80211: remove port control enable switch, clean up sta flags This patch removes the 802.1X port acess control enable flag since it is not required. Instead, set the authorized flag for each station that we normally communicate with (WDS peers, IBSS peers and APs we're associated to) and require hostapd to set the authorized flag for all stations when port control is not enabled. Also, since I was working in that area, this documents station flags and removes the unused "permanent" one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 69d464d5938ca0f4fb3447b3e32872e0ca79efc1 Author: Johannes Berg Date: Mon Jan 28 17:08:56 2008 +0100 mac80211: fix scan band off-by-one error When checking for the next band to advance to, there was an off-by-one error that could lead to an access to an invalid array index. Additionally, the later check for scan_band >= IEEE80211_NUM_BANDS is not required since that will never be true. This also improves the comments related to that code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ee688b000d35f413f33561ec9c7d3355be561e2f Author: Johannes Berg Date: Thu Jan 24 19:38:39 2008 +0100 nl80211: export hardware bitrate/channel capabilities This makes nl80211 export the hardware bitrate/channel capabilities as registered in a wiphy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8318d78a44d49ac1edf2bdec7299de3617c4232e Author: Johannes Berg Date: Thu Jan 24 19:38:38 2008 +0100 cfg80211 API for channels/bitrates, mac80211 and driver conversion This patch creates new cfg80211 wiphy API for channel and bitrate registration and converts mac80211 and drivers to the new API. The old mac80211 API is completely ripped out. All drivers (except ath5k) are updated to the new API, in many cases I expect that optimisations can be done. Along with the regulatory code I've also ripped out the IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED flag, I believe it to be unnecessary if the hardware simply gives us whatever channels it wants to support and we then enable/disable them as required, which is pretty much required for travelling. Additionally, the patch adds proper "basic" rate handling for STA mode interface, AP mode interface will have to have new API added to allow userspace to set the basic rate set, currently it'll be empty... However, the basic rate handling will need to be moved to the BSS conf stuff. I do expect there to be bugs in this, especially wrt. transmit power handling where I'm basically clueless about how it should work. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10b6b80145cc93887dd8aab99bfffa375e9add31 Author: Ivo van Doorn Date: Sun Feb 3 15:55:21 2008 +0100 rt2x00: Fix queue index handling When Q_INDEX is increased, the queue->length should be increased, only when Q_INDEX_DONE is increased should queue_length be descreased. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5957da4c6e67a5447e75c2ad65252fdd5e22f9d0 Author: Ivo van Doorn Date: Sun Feb 3 15:54:57 2008 +0100 rt2x00: Move beacon and atim queue defines into rt2x00 As Johannes Berg indicated the BEACON and AFTER_BEACON queue indeces in mac80211 should be removed because they are too hardware specific. This patch adds the queue index defines into rt2x00queue.h and removes the dependency of the defines inside mac80211.h. Also move rt2x00pci_beacon_update() into rt2400pci and rt2500pci individually since it is no longer a generic function since rt61 and rt2800 no longer use that. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 091ed315ef77a4949a6ce22e43af15a504ada348 Author: Ivo van Doorn Date: Sun Feb 3 15:52:21 2008 +0100 rt2x00: Initialize QID from queue->qid The QID_MGMT is assigned to the beacon and atim queue during initialization. This means we don't need a seperate check in write_tx_desc().. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 871ff6ed64e17a785cb4d48f56beedff038cc42a Author: Ivo van Doorn Date: Sun Feb 3 15:51:47 2008 +0100 rt2x00: Remove TX_MGMT queue usage rt73usb doesn't have a 5th queue, correctly initialize hw->queues rt61pci had a 5th queue but was removed recently, correctly initialize hw->queues and remove the last remnants. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6bb40dd13b458beb55f5c60dba1cb28e814bd640 Author: Ivo van Doorn Date: Sun Feb 3 15:49:59 2008 +0100 rt2x00: Add per-interface structure Rework the interface handling. Delete the interface structure and replace it with a per-interface structure. This changes the way rt2x00 handles the active interface drastically. Copy ieee80211_bss_conf to the this rt2x00_intf structure during the bss_info_changed() callback function. This will allow us to reference it later, and removes the requirement for the device flag SHORT_PREAMBLE flag which is interface specific. Drivers receive the option to give the maximum number of virtual interfaces the device can handle. Virtual interface support: rt2400pci: 1 sta or 1 ap, * monitor interfaces rt2500pci: 1 sta or 1 ap, * monitor interfaces rt2500usb: 1 sta or 1 ap, * monitor interfaces rt61pci: 1 sta or 4 ap, * monitor interfaces rt73usb: 1 sta or 4 ap, * monitor interfaces At the moment none of the drivers support AP and STA interfaces simultaneously, this is a hardware limitation so future support will be very unlikely. Each interface structure receives its dedicated beacon entry, with this we can easily work with beaconing while multiple master mode interfaces are currently active. The configuration handlers for the MAC, BSSID and type are often called together since they all belong to the interface configuration. Merge the 3 configuration calls and cleanup the API between rt2x00lib and the drivers. While we are cleaning up the interface configuration anyway, we might as well clean up the configuration handler as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9404ef34e4747228717d6e22ce3827ed366ccf41 Author: Ivo van Doorn Date: Sun Feb 3 15:48:38 2008 +0100 rt2x00: Driver requiring firmware should select crc algo The driver should select what CRC algorithm is required when performing a checksum on the firmware. rt61pci & rt73usb require crc-itu-t rt2800pci & rt2800usb require crc-ccitt Legacy 2800pci/usb driver uses crc-itu-t + bit order reversion, but that is just inefficient especially since the end result is the same as a different algorithm which is also available as library. ;) Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit adfdbb79c06154cd3cc7b5983106ace324aa3b02 Author: Ivo van Doorn Date: Sun Feb 3 15:48:03 2008 +0100 rt2x00: Enable master and adhoc mode again This will enable the creation of master mode and adhoc interfaces again. This does not mean the issues surrounding beaconing have been resolved, but this will make testing easier and perhaps we can discover which cards are actually working and which ones not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3b3618ad5117331b6fa7cafc41fc18935709e569 Author: Ivo van Doorn Date: Sun Feb 3 15:47:30 2008 +0100 rt2x00: Fix tx parameter initialization Check if the aifs, cw_min and cw_max are above 0 when determining if the default should be used. Tor aifs a negative number is used to determine if the default should be used or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d7bafff3f94efd850f8744d683e63812ff8d55c5 Author: Adam Baker Date: Sun Feb 3 15:46:24 2008 +0100 rt2x00: don't write past the end when writing short descriptors on rt61 The space allocated in the skb for a descriptor is only 24 bytes when setting up beacons in rt61 so make sure we don't write to the descriptor words beyond that and corrupt the beacon packet. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 181d6902b6bad978d157e69479c95cc0ff213a76 Author: Ivo van Doorn Date: Tue Feb 5 16:42:23 2008 -0500 rt2x00: Queue handling overhaul This introduces a big queue handling overhaul, this also renames "ring" to "queues". Move queue handling into rt2x00queue.c and the matching header, use Kerneldoc to improve rt2x00 library documentation. Access to the queues is now protected under a spinlock, this to prevent race conditions which could corrupt the indexing system of the queue. Each queue entry allocates x bytes for driver/device specific data, this cleans up the queue structure significantly and improves code readability. rt2500usb no longer needs 2 entries in the beacon queue to correctly send out the guardian byte. This is now handled in the entry specific structure. rt61 and rt73 now use the correct descriptor size for beacon frames, since this data is written into the registers not the entire TXD descriptor was used but instead of a subset of it named TXINFO. Finally this also fixes numerous other bugs related to incorrect beacon handling or beacon related code. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 811aa9cad1bd927999888ab56ed9592519d2fef6 Author: Ivo van Doorn Date: Sun Feb 3 15:42:53 2008 +0100 rt2x00: Update copyright notice Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 194c7ca664065e7671c094c4a7cf32c171426ff4 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 2 20:48:48 2008 +0100 wireless/iwlwifi/iwl-4965.c: add parentheses '!' has a higher priority than '&': bitanding has no effect. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 38f3714d66b5679aee2a4fe23b1235c3829fcce4 Author: Johannes Berg Date: Tue Jan 29 17:07:43 2008 +0100 mac80211: dissolve pre-rx handlers These handlers do not really return a status and the compiler can do a much better job when they're simply static functions that it can inline if appropriate. Also makes the code shorter. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 145de9b693943f052c2c15efbc31b2851fedb6e0 Author: Tomas Winkler Date: Sun Jan 27 15:06:23 2008 +0200 iwlwifi: enable 802.11n in Kconfig This patch removes 'IWL4965_HT: depends on n' from iwlwifi's Kconfig 1. 11n is functional so no need to make it invisible in the configuration 2. Latest Johannes patch 'cfg80211 API for channels/bitrates, mac80211 and driver conversion' broke compilation because this config option was invisible - patch fixing it will be provided later Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0c11b4de5d81771ba0fdc8a5d13d59ed01d41252 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:26 2008 +0200 iwlwifi: A-MPDU Tx activation by load measures This patch gives a heuristic for activation of the A-MPDU Tx. As the rate scaling is rate aware, it now also measures estimated load, and sends A-MPDU activation after a threshold has been met. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 995564382f9d177214b6ec64db6b9109d4cd41dd Author: Ron Rindjunsky Date: Mon Jan 28 14:07:25 2008 +0200 iwlwifi: A-MPDU Tx conform block Ack rate scaling to mac80211 This patch uses the changes in ieee80211_tx_status to pass Block Ack data to rate scaling module, and uses this data in rate scaling calculations Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fe01b477bbd23e69c3bdc6bce5be510ddad8297d Author: Ron Rindjunsky Date: Mon Jan 28 14:07:24 2008 +0200 iwlwifi: A-MPDU Tx conform flows to mac80211 This patch alters the current iwlwifi behavior to fit the flows introduced by the mac80211, mainly queues handling and start/stop call backs flows Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8114fcf185c58b23dc9fcaf4944b59b4c1407b39 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:23 2008 +0200 iwlwifi: A-MPDU Tx conform API to mac80211 This patch alters the current API in order to fit the new API mac80211 gives for A-MPDU Tx Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit d92684e66091c0f0101819619b315b4bb8b5bcc5 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:22 2008 +0200 mac80211: A-MPDU Tx add delBA from recipient support This patch adds the ability to handle delBA from recipient to initiator during an A-MPDU session Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 483fdcecc564ae6b011148a758517cf561f65678 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:21 2008 +0200 mac80211: A-MPDU Tx change tx_status to support Block Ack data This patch adds fields to ieee80211_tx_status in order to allow block ack information exchange between low-level driver,mac80211 and rate scaling module. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit eb2ba62ee547b5ae7ca0339c75cd697f96060ca2 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:20 2008 +0200 mac80211: A-MPDU add debugfs support This patch adds A-MPDU status report per STA to the debugfs. The option to de/activate A-MPDU through debugfs is also present. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fe3bf0f59e97193f8619707f5d9458ce71a4f8d8 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:19 2008 +0200 mac80211: A-MPDU Tx MLME data initialization This patch initialize A-MPDU MLME data for Tx sessions. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9e7234923789897858e1a475c579b5e2e6ad5b74 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:18 2008 +0200 mac80211: A-MPDU Tx adding qdisc support This patch allows qdisc support in A-MPDU Tx. a method to handle QoS <-> TID switches is present in this patch. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit eadc8d9e9047266a8914eb2ed4d36e797ce540d1 Author: Ron Rindjunsky Date: Mon Jan 28 14:07:17 2008 +0200 mac80211: A-MPDU Tx adding basic functionality This patch adds the following abilities to mac80211: - start A-MPDU Tx session - stop A-MPDU Tx session - call backs to start/stop A-MPDU Tx session - sending addBA request - processing addBA response Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 80656c20315558a9bc5c5b7f7c6949fa72277afd Author: Ron Rindjunsky Date: Mon Jan 28 14:07:16 2008 +0200 mac80211: A-MPDU Tx add MLME structures This patch adds the needed structures to describe the Tx aggregation MLME per STA new: - struct tid_ampdu_tx: TID aggregation information (Tx) changed: - struct sta_ampdu_mlme: Tx aggregation information per TID and dialog token creator were added - struct sta_info: tid_to_tx_q added for tid<->tx queue mapping Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 0df3ef45a3d7b59cc53ce4e3611033c6e3b51a1b Author: Ron Rindjunsky Date: Mon Jan 28 14:07:15 2008 +0200 mac80211: A-MPDU Tx add session's and low level driver's API This patch adds the API for 3 stages in A-MPDU Tx session flow: - request mac80211 to start/stop A-MPDU Tx session for specific TID. such a request should be issued by a load aware element, either mac80211 itself or external element. - requests by mac80211 to low-level driver to start/stop Tx aggregation. notice that low level driver responds now with Starting Sequence Number. - async feedback by low-level to mac80211 to inform that HW is ready for next A-MPDU Tx state. Changes in API to Rx A-MPDU were also made, reflected in iwlwifi changes as well. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8816edcea9009b66570bef10acde5a552a9b3b3c Author: Holger Schurig Date: Mon Jan 28 17:28:05 2008 +0100 libertas: rename/document scan_channel Rename last_scanned_channel to scan_channel, just so that a grep for struct bss_descriptor's last_scanned element doesn't show up so many positives. Also documented the variable and moved it to other scan related entries in lbs_private. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 23ff50361f23355334bffe33de84f0b52aa34b9d Author: Holger Schurig Date: Mon Jan 28 17:27:03 2008 +0100 libertas: make lbs_unset_basic_rate_flags() static ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e226868ec3f3f98544ed2e6e7af7b6b8a629f492 Author: Holger Schurig Date: Mon Jan 28 17:26:28 2008 +0100 libertas: make lbs_sync_channel() static ... by moving it into the file where it's sole user resides Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 52507c20870dbd58921b42b801f0a92fc057221b Author: Holger Schurig Date: Mon Jan 28 17:25:53 2008 +0100 libertas: make association debug output nicer This also fixes a bug where should_deauth_infrastructure() always returned 0. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1afc09ab7c62d0e59596ce76e8e256b0cf695654 Author: Holger Schurig Date: Tue Jan 29 09:14:40 2008 +0100 libertas: trim overly long debug statement Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 7d185b8bb17eac9e9d673eb483ded0fbf0b28b97 Author: Johannes Berg Date: Mon Jan 28 17:11:43 2008 +0100 mac80211: allow sending multicast frames through virtual ports When reworking the port access control code, I forgot multicast frames and those are now always rejected because the destination station is not known. This changes the code to allow through multicast frames and also avoid the sta hash lookup (which is bound to fail) for them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b22052569657925d6de33b19b2c7b7562900defb Author: Tomas Winkler Date: Sun Jan 27 16:18:22 2008 +0200 mac80211: set assoc flag to bss_conf Only BSS_CHANGED_ASSOC was set in the 'changed' bitmask. Assignment to bss_conf.assoc was absent. This patch assign value to bss_conf.assoc according the association state. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 03a64c93b68e1eff299b9bbbb0d13105171cddc4 Author: Ilpo Järvinen Date: Fri Feb 29 11:46:17 2008 -0800 [LLC]: Kill static inline llc_addrany After the patch: $ git-grep llc_addrany | wc -l 0 Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a90bcbd651b453d8259243115696c11b864b30fe Author: Ilpo Järvinen Date: Fri Feb 29 11:45:34 2008 -0800 [SCTP]: Kill unused static inline sctp_sysctl_jiffies_ms After the patch: $ git-grep sctp_sysctl_jiffies_ms | wc -l 0 Signed-off-by: Ilpo Järvinen Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 95a363582b69bec53bc73ff2100dfc344bd23098 Author: Pavel Emelyanov Date: Fri Feb 29 11:44:14 2008 -0800 [NET]: Use existing device list walker for /proc/dev_mcast. The seq_file_operations' dev_mc_seq_xxx callbacks do the same thing as the dev_seq_xxx ones do, but skip the SEQ_START_TOKEN. So use the existing exported dev_seq_xxx calls and handle the SEQ_START_TOKEN in the dev_mc_seq_show(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fd80eb942ad9761f241c9b287b3b9a342b20690d Author: Denis V. Lunev Date: Fri Feb 29 11:43:03 2008 -0800 [INET]: Remove struct dst_entry *dst from request_sock_ops.rtx_syn_ack. It looks like dst parameter is used in this API due to historical reasons. Actually, it is really used in the direct call to tcp_v4_send_synack only. So, create a wrapper for tcp_v4_send_synack and remove dst from rtx_syn_ack. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 58fbbed4fbc0094fc808a568fe99a915f85402ee Author: Neil Horman Date: Fri Feb 29 11:40:56 2008 -0800 [SCTP]: extend exported data in /proc/net/sctp/assoc RFC 3873 specifies several MIB objects that can't be obtained by the current data set exported by /proc/sys/net/sctp/assoc. This patch adds the missing pieces of data that allow us to compute all the objects in the sctpAssocTable object. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 665bba10872fe995773b10c491519f148110576d Author: Pavel Emelyanov Date: Fri Feb 29 11:39:17 2008 -0800 [NETFILTER/RXRPC]: Don't use seq_release_private where inappropriate. Some netfilter code and rxrpc one use seq_open() to open a proc file, but seq_release_private to release one. This is harmless, but ambiguous. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c20932d2c9ba24838a102ac501bf7371b0fe0794 Author: Pavel Emelyanov Date: Fri Feb 29 11:38:24 2008 -0800 [ATALK/DECNET]: Use seq_open_private in appletalk and decnet. These two also perform manual seq_open_private, so patch them both at once. But unlike ATM code, these already use the seq_release_private, so I splitted this patch from the previous one. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9a8c09e73bf6c8b1720b1172cdcabb14fc823cf8 Author: Pavel Emelyanov Date: Fri Feb 29 11:37:02 2008 -0800 [ATM]: Use seq_open/release_privade instead of manual manipulations. lec_seq_open/lec_seq_release and __vcc_seq_open/vcc_seq_release do seq_open/release_private's job. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 45af1754bc09926b5e062bda24f789d7b320939f Author: David S. Miller Date: Fri Feb 29 11:33:19 2008 -0800 [NET]: sk_release_kernel needs to be exported to modules Fixes: ERROR: "sk_release_kernel" [net/ipv6/ipv6.ko] undefined! Signed-off-by: David S. Miller commit 98c6d1b261e74750e6c56ede26dc295201c4a8b2 Author: Denis V. Lunev Date: Fri Feb 29 11:21:22 2008 -0800 [NETNS]: Make icmpv6_sk per namespace. All preparations are done. Now just add a hook to perform an initialization on namespace startup and replace icmpv6_sk macro with proper inline call. Actual namespace the packet belongs too will be passed later along with the one for the routing. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 4a6ad7a141cbee2cf074e6cf8dc527b231b69ece Author: Denis V. Lunev Date: Fri Feb 29 11:19:58 2008 -0800 [NETNS]: Make icmp_sk per namespace. All preparations are done. Now just add a hook to perform an initialization on namespace startup and replace icmp_sk macro with proper inline call. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 5c8cafd65e1448b1d55cad3fb1e42ad42607e5be Author: Denis V. Lunev Date: Fri Feb 29 11:19:22 2008 -0800 [NETNS]: icmp(v6)_sk should not pin a namespace. So, change icmp(v6)_sk creation/disposal to the scheme used in the netlink for rtnl, i.e. create a socket in the context of the init_net and assign the namespace without getting a referrence later. Also use sk_release_kernel instead of sock_release to properly destroy such sockets. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit edf0208702007ec1f6a36756fdd005f771a4cf17 Author: Denis V. Lunev Date: Fri Feb 29 11:18:32 2008 -0800 [NET]: Make netlink_kernel_release publically available as sk_release_kernel. This staff will be needed for non-netlink kernel sockets, which should also not pin a namespace like tcp_socket and icmp_socket. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9dfbec1fb2bedff6b118504055cd9f0485edba45 Author: Denis V. Lunev Date: Fri Feb 29 11:17:56 2008 -0800 [NETLINK]: No need for a separate __netlink_release call. Merge it to netlink_kernel_release. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 79c911595390c8fdc8d8a487ac1951d854b1cd09 Author: Denis V. Lunev Date: Fri Feb 29 11:17:11 2008 -0800 [ICMP]: Allocate data for __icmp(v6)_sk dynamically. Own __icmp(v6)_sk should be present in each namespace. So, it should be allocated dynamically. Though, alloc_percpu does not fit the case as it implies additional dereferrence for no bonus. Allocate data for pointers just like __percpu_alloc_mask does and place pointers to struct sock into this array. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 405666db84b984b68fc75794069f424c02e5796c Author: Denis V. Lunev Date: Fri Feb 29 11:16:46 2008 -0800 [ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock. We have to get socket lock inside icmp(v6)_xmit_lock/unlock. The socket is get from global variable now. When this code became namespaces, one should pass a namespace and get socket from it. Though, above is useless. Socket is available in the caller, just pass it inside. This saves a bit of code now and saves more later. add/remove: 0/0 grow/shrink: 1/3 up/down: 1/-169 (-168) function old new delta icmp_rcv 718 719 +1 icmpv6_rcv 2343 2303 -40 icmp_send 1566 1518 -48 icmp_reply 549 468 -81 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit b7e729c4b4778aac4dbbec9dc070acde93071f4d Author: Denis V. Lunev Date: Fri Feb 29 11:16:08 2008 -0800 [ICMP]: Store sock rather than socket for ICMP flow control. Basically, there is no difference, what to store: socket or sock. Though, sock looks better as there will be 1 less dereferrence on the fast path. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 1e3cf6834e7db1eac94314338c9e30c2103ac409 Author: Denis V. Lunev Date: Fri Feb 29 11:15:42 2008 -0800 [ICMP]: Optimize icmp_socket usage. Use this macro only once in a function to save a bit of space. add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-98 (-98) function old new delta icmp_reply 562 561 -1 icmp_push_reply 305 258 -47 icmp_init 273 223 -50 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit a5710d6582868a96cf0fe02eac11d34cfbc783c9 Author: Denis V. Lunev Date: Fri Feb 29 11:14:50 2008 -0800 [ICMP]: Add return code to icmp_init. icmp_init could fail and this is normal for namespace other than initial. So, the panic should be triggered only on init_net initialization path. Additionally create rollback path for icmp_init as a separate function. It will also be used later during namespace destruction. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9b0f976f27f00a81cf47643d90854659626795b4 Author: Denis V. Lunev Date: Fri Feb 29 11:13:15 2008 -0800 [INET]: Remove struct net_proto_family* from _init calls. struct net_proto_family* is not used in icmp[v6]_init, ndisc_init, igmp_init and tcp_v4_init. Remove it. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit cdd0972945dbcb8ea24db365d9b0e100af2a27bb Merge: 5e4424a... cbc2005... Author: Trond Myklebust Date: Thu Feb 28 23:48:05 2008 -0800 Merge branch 'cleanups' into next commit 5e4424af9a1f062c6451681dff24a26e27741cc6 Author: Trond Myklebust Date: Mon Feb 25 21:53:49 2008 -0800 SUNRPC: Remove now-redundant RCU-safe rpc_task free path Now that we've tightened up the locking rules for RPC queue wakeups, we can remove the RCU-safe kfree calls... Signed-off-by: Trond Myklebust commit ff2d7db848f8db7cade39e55f78f86d77e0de01a Author: Trond Myklebust Date: Mon Feb 25 21:40:51 2008 -0800 SUNRPC: Ensure that we read all available tcp data Don't stop until we run out of data, or we hit an error. Signed-off-by: Trond Myklebust commit f5fb7b06e4e4ab18326f067f4317b2016ce18af2 Author: Trond Myklebust Date: Mon Feb 25 21:40:50 2008 -0800 SUNRPC: Eliminate the now-redundant rpc_start_wakeup() Signed-off-by: Trond Myklebust commit eb276c0e10187702928aeaa133e1d3dbaf3eafc7 Author: Trond Myklebust Date: Fri Feb 22 17:27:59 2008 -0500 SUNRPC: Switch tasks to using the rpc_waitqueue's timer function Signed-off-by: Trond Myklebust commit 36df9aae3158ce8fc4ede241169dc94ac910d884 Author: Trond Myklebust Date: Wed Jul 18 16:18:52 2007 -0400 SUNRPC: Add a timer function to wait queues. This is designed to replace the timeout timer in the individual rpc_tasks. By putting the timer function in the wait queue, we will eventually be able to reduce the total number of timers in use by the RPC subsystem. Signed-off-by: Trond Myklebust commit f6a1cc89309f0ae847a9b6fe418d1c4215e5bc55 Author: Trond Myklebust Date: Fri Feb 22 17:06:55 2008 -0500 SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues Signed-off-by: Trond Myklebust commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3 Author: Timo Teras Date: Thu Feb 28 21:31:08 2008 -0800 [XFRM]: Speed up xfrm_policy and xfrm_state walking Change xfrm_policy and xfrm_state walking algorithm from O(n^2) to O(n). This is achieved adding the entries to one more list which is used solely for walking the entries. This also fixes some races where the dump can have duplicate or missing entries when the SPD/SADB is modified during an ongoing dump. Dumping SADB with 20000 entries using "time ip xfrm state" the sys time dropped from 1.012s to 0.080s. Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit 1e04d530705280770e003ac8db516722cca54758 Author: Adrian Bunk Date: Thu Feb 28 21:27:35 2008 -0800 [IPV6]: Unexport ip6_find_1stfragopt This patch removes the no longer used EXPORT_SYMBOL_GPL(ip6_find_1stfragopt). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5fbd7e24da874a1c7b06ae6b10bbf2d71c1b6a11 Author: Matheos Worku Date: Thu Feb 28 21:25:43 2008 -0800 [NIU]: Add Support for Sun ATCA Blade Server. Ports 0 and 1 of the NIU device are connected to extended fabric through SERDES. Ports 2 and 3 are connected using RGMII Fiber mode. [ Coding style cleanups... -DaveM ] Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 99cd07a537bf4c7c954f31611e30064407104410 Author: Juha-Matti Tapio Date: Thu Feb 28 20:55:46 2008 -0800 [IPV6]: Fix source address selection for ORCHID addresses Skip the prefix length matching in source address selection for orchid -> non-orchid addresses. Overlay Routable Cryptographic Hash IDentifiers (RFC 4843, 2001:10::/28) are currenty not globally reachable. Without this check a host with an ORCHID address can end up preferring those over regular addresses when talking to other regular hosts in the 2001::/16 range thus breaking non-orchid connections. Signed-off-by: Juha-Matti Tapio Signed-off-by: David S. Miller commit 5fe47b8a65f8b4104e41dc46092dfcf942ce0758 Author: Juha-Matti Tapio Date: Thu Feb 28 20:55:02 2008 -0800 [IPV6]: Add ORCHID prefix to address label table Add a new label for Overlay Routable Cryptographic Hash Identifiers (RFC 4843) prefix 2001:10::/28 to help proper source address selection. ORCHID addresses are used by for example Host Identity Protocol. They are global and routable, but they currently need support from both endpoints and therefore mixing regular and ORCHID addresses for source and destination is a bad idea in general case. Signed-off-by: Juha-Matti Tapio Signed-off-by: David S. Miller commit c4544c724322984923b3331a4319ae60a62b7803 Author: Denis V. Lunev Date: Thu Feb 28 20:52:54 2008 -0800 [NETNS]: Process inet_select_addr inside a namespace. The context is available from a network device passed in. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3776c8891a2d3c5892fa50ab9e2a3b68f5674be6 Author: Denis V. Lunev Date: Thu Feb 28 20:52:25 2008 -0800 [NETNS]: Enable IPv4 address manipulations inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1937504dd156573a1883f10a5a167f3f78c6cb4a Author: Denis V. Lunev Date: Thu Feb 28 20:52:04 2008 -0800 [NETNS]: Enable all routing manipulation via netlink inside namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e5b13cb10de209f924fdf9478214bcf7e4008d6d Author: Denis V. Lunev Date: Thu Feb 28 20:51:43 2008 -0800 [NETNS]: Process devinet ioctl in the correct namespace. Add namespace parameter to devinet_ioctl and locate device inside it for state changes. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 73b3871165e45ea6d57775c6bfb1a1760ad6e36b Author: Denis V. Lunev Date: Thu Feb 28 20:51:18 2008 -0800 [NETNS]: Register /proc/net/rt_cache for each namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a75e936f2f1ba8428f70b204f3ddd3a7ff17d281 Author: Denis V. Lunev Date: Thu Feb 28 20:50:55 2008 -0800 [NETNS]: Process /proc/net/rt_cache inside a namespace. Show routing cache for a particular namespace only. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 642d6318119af60ac019524bd4edcfbd19d9d211 Author: Denis V. Lunev Date: Thu Feb 28 20:50:33 2008 -0800 [IPV4]: rt_cache_get_next should take rt_genid into account. In the other case /proc/net/rt_cache will look inconsistent in respect to genid. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 317805b8f875ca1bd43d594c0a210e24fab7d177 Author: Denis V. Lunev Date: Thu Feb 28 20:50:06 2008 -0800 [NETNS]: Process ip_rt_redirect in the correct namespace. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9de8f76d200342f1e9495861c2c9ce87a6bc26d0 Author: Denis V. Lunev Date: Thu Feb 28 20:49:44 2008 -0800 [NETNS]: DST cleanup routines should be called inside namespace. Device inside the namespace can be started and downed. So, active routing cache should be cleaned up on device stop. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit be162d6288053305c32588c0596eb5e8dd90c564 Author: Denis V. Lunev Date: Thu Feb 28 20:49:13 2008 -0800 [NETNS]: Enable inetdev_event notifier. After all these preparations it is time to enable main IPv4 device initialization routine inside namespace. It is safe do this now. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2430aa85de8343662e8496dac9f9e4dade680023 Author: Denis V. Lunev Date: Thu Feb 28 20:48:49 2008 -0800 [NETNS]: Disable multicaststing configuration inside non-initial namespace. Do not calls hooks from device notifiers and disallow configuration from ioctl/netlink layer. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0c65babd6ce758dd06330b3d9d677b7624f9e3fa Author: Denis V. Lunev Date: Thu Feb 28 20:48:25 2008 -0800 [NETNS]: Default arp parameters lookup. Default ARP parameters should be findable regardless of the context. Required to make inetdev_event working. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4ab438fcd7373da9e559576e418e890b7cfd94f4 Author: Denis V. Lunev Date: Thu Feb 28 20:48:01 2008 -0800 [NETNS]: Register neighbour table parameters in the correct namespace. neigh_sysctl_register should register sysctl entries inside correct namespace to avoid naming conflict. Typical example is a loopback. Entries for it present in all namespaces. Required to make inetdev_event working. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6133fb1aa137b35a8fa91ec17977ebf6a41456ec Author: Denis V. Lunev Date: Thu Feb 28 20:46:17 2008 -0800 [NETNS]: Disable inetaddr notifiers in namespaces other than initial. ip_fib_init is kept enabled. It is already namespace-aware. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6fc68624e524014fcd95faf726f855eb348f2e87 Author: Denis V. Lunev Date: Thu Feb 28 20:45:41 2008 -0800 [NETFILTER]: Consolidate masq_inet_event and masq_device_event. They do exactly the same job. Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 5811769c788edbf379c8b3fc65f62394d52df748 Author: Denis V. Lunev Date: Thu Feb 28 20:45:00 2008 -0800 [IPV4]: Remove check for ifa->ifa_dev != NULL. This is a callback registered to inet address notifier chain. The check is useless as: - ifa->ifa_dev is always != NULL - similar checks are abscent in all other notifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a337499f660ff70a12cea6607b9a64d7420e32dc Author: Denis V. Lunev Date: Thu Feb 28 20:44:27 2008 -0800 [IPV4]: Remove ifa != NULL check. This is a callback registered to inet address notifier chain. The check is useless as: - ifa is always != NULL - similar checks are abscent in all other notifiers. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7d01b475ab17018756c8df27c2ee3c220fab05f8 Author: Graf Yang Date: Fri Feb 29 11:31:08 2008 +0800 Blackfin Serial Driver: Enable IR function when user application (irattach /dev/ttyBFx -s) call TIOCSETD ioctl with line discipline N_IRDA Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 0c11700dbfaf0aa5336bd667373ee09db245f3ea Author: Mike Frysinger Date: Fri Apr 25 08:29:11 2008 +0800 [Blackfin] arch: add include/boot .gitignore files Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit e6c91b64dd6e4c3adf39483c85a936eef9465e19 Author: Michael Hennerich Date: Fri Apr 25 04:58:29 2008 +0800 [Blackfin] arch: Functional power management support: Add support for cpu frequency scaling Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fe44193c55e26b9b835722b5ee2519972f59c540 Author: Michael Hennerich Date: Fri Apr 25 04:52:11 2008 +0800 [Blackfin] arch: Functional power management support: Remove broken cpu frequency scaling drivers Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8e39df215c4b1d3e6f9e62f92d35ab1aa11104eb Author: Michael Hennerich Date: Fri Apr 25 04:41:49 2008 +0800 [Blackfin] arch: Equalize include files: Add PLL_DIV Masks Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2fb6cb41ecb315b1d84849663bb2793cdc41a96d Author: Sonic Zhang Date: Fri Apr 25 04:39:28 2008 +0800 [Blackfin] arch: Add a warning about the value of CLKIN. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1e78042c77dcc255abd456398981549269c63238 Author: Michael Hennerich Date: Fri Apr 25 04:31:23 2008 +0800 [Blackfin] arch: take DDR DEVWD into consideration as well for BF548 Pointed-out-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d750b9e4f6ca7d366b4954517ff8be9ee07e1bf Author: Bernd Schmidt Date: Fri Apr 25 05:02:33 2008 +0800 [Blackfin] arch: Remove the circular buffering mechanism for exceptions Remove the circular buffering mechanism for exceptions. Instead, point RETX at a safe location from which to fetch three NOPs. This safe location is now in the fixed code area, and also used for certain anomaly workarounds, to ensure that user space can find a valid ICPLB when things are built with CONFIG_MPU. Also, save I/DCPLB_FAULT_ADDRESS when lowering to level 5, since the hardware reg is valid only at exception level. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 00d205a1ce1a24a1a9d9ebfbddbae56021cba826 Author: Bernd Schmidt Date: Fri Apr 25 03:26:48 2008 +0800 [Blackfin] arch: lose unnecessary dependency on CONFIG_BFIN_ICACHE for MPU Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 565c0d3ff438d18aa8c3201979fb1f5d1872ab11 Author: Graf Yang Date: Fri Apr 25 03:10:04 2008 +0800 [Blackfin] arch: fix bug - before assign new channel to the map register, need clear the bits first. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2445 Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 5be36d22b28f01e5074f78b29aa6128da0a53641 Author: Graf Yang Date: Fri Apr 25 03:09:15 2008 +0800 [Blackfin] arch: add Blackfin on-chip SIR IrDA driver support - add platform device resources in board files - add new bfin_sir.h to each machines Signed-off-by: Graf Yang Signed-off-by: Bryan Wu commit 37b6972ad8fb08d438fd600888aff212b1b193b0 Author: Mike Frysinger Date: Fri Apr 25 02:19:17 2008 +0800 [Blackfin] arch: BF54x memsizes are in mbits, not mbytes Pointed-out-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7f1c906808a36630990d83d872935c079b76595b Author: Robin Getz Date: Fri Apr 25 03:36:31 2008 +0800 [Blackfin] arch: try to remove condition that causes double fault, by checking current before it gets dereferenced Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4d555630704d3f6c0257dde3e622f9295f221c8b Author: Sonic Zhang Date: Fri Apr 25 03:28:10 2008 +0800 [Blackfin] arch: Update anomaly list. Signed-off-by: Sonic Zhang Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 18628e4375264edb53e6d9aaaf91f1a480019304 Author: Robert P. J. Day Date: Thu Apr 24 09:02:00 2008 +0800 [Blackfin] arch: Clean up the definition and correct the commentary for current_thread_info(). Signed-off-by: Robert P. J. Day Acked-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2d191233882a031304f41cfc6abfb70536780645 Author: Mike Frysinger Date: Thu Apr 24 08:58:44 2008 +0800 [Blackfin] arch: define our own BUG() so we can dump the blackfin hardware trace buffer Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8e9d5c7daff8b74bf3be62cfe0ba48b5af1fa12f Author: Michael Hennerich Date: Thu Apr 24 08:46:19 2008 +0800 [Blackfin] arch: Add platform support for MTD DATAFLASH Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5f004c2009ef95212349f7c7d87e8ff829d15c31 Author: Mike Frysinger Date: Fri Apr 25 02:11:24 2008 +0800 [Blackfin] arch: reorganize some of the board-customization options so that similar things are together and only available as needed Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit affee2b2613ada262eecea354b6c60696ca5d482 Author: Michael Hennerich Date: Thu Apr 24 08:10:10 2008 +0800 [Blackfin] arch: Allow concurrent use of GPIO and GPIO IRQ The irq setup code no longer calls gpio request and free. This patch also changes the default gpio_free behavior on Blackfin. A freed GPIO keeps it's last state, and is not defaulted back to an input. This is also what all other architectures do. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a086ee2268abcfcbf80a114f4602e5b26aa80bf0 Author: Mike Frysinger Date: Fri Apr 25 02:04:05 2008 +0800 [Blackfin] arch: detect the memory available in the system on the fly by default detect the memory available in the system on the fly by default rather than forcing people to set this manually in the kconfig Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a81501af19830ff43688781edad7e9c0cbd668af Author: Michael Hennerich Date: Thu Apr 24 07:32:41 2008 +0800 [Blackfin] arch: Prevent potential Core Hang situation If the new value written to the PLL_CTL or VR_CTL register is the same as the previous value, the PLL wake-up will occur immediately (PLL is already locked), but the core and system clock will be bypassed for the PLL_LOCKCNT duration. For this interval, code will execute at the CLKIN rate instead of at the expected CCLK rate. Software should guard against this condition by comparing the current value to the new value before writing the new value. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4bea8b20fded93871c872bb4a0d7c23345318184 Author: Mike Frysinger Date: Thu Apr 24 07:23:36 2008 +0800 [Blackfin] arch: add implicit icplb for the bootrom so we can use the utility functions in the kernel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit ac76d889b5e1f829f71a1527a00dc8048c2c2660 Author: Grace Pan Date: Thu Apr 24 06:33:56 2008 +0800 [Blackfin] arch: Adjust the u-boot and kernel image partition size in mtd device. Signed-off-by: Grace Pan Signed-off-by: Bryan Wu commit bc6e0fa1596ff0c2cc0de0d000270050b6ba43bf Author: Mike Frysinger Date: Thu Apr 24 06:21:25 2008 +0800 [Blackfin] arch: use the same style for missing L1 sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9f8e895d6cc2f871bca6df2ad6791671de2adeae Author: Mike Frysinger Date: Thu Apr 24 06:20:11 2008 +0800 [Blackfin] arch: now that we can panic() early, dont need the delayed L1 overflow check Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b85b82d980526d683dc3b39f2ac1f447fa84a105 Author: Sonic Zhang Date: Thu Apr 24 06:13:37 2008 +0800 [Blackfin] arch: fix bug - Section data_l1_cacheline_aligned should be defined in link script of kernel http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3978 Section data_l1_cacheline_aligned should be defined in link script of kernel, when L1 data sram bank A is not available. In bf536 with all data cache is enabled, there is no L1 data sram. Current link script won't define section data_l1.cacheline_aligned in this case. But, if user select put cacheline_aligned data into l1 sram in kernel menuconfig, these data will be dropped and access to these data will trigger data CPLB exception. Do panic in l1 relocation code as well. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 253bcf4f9b6dde1cfa169bc29655cf177d6a903b Author: Robin Getz Date: Thu Apr 24 05:57:13 2008 +0800 [Blackfin] arch: Add a little bit more runtime info for MPU Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 16428a4fa99d273fe27aaee7a847a9cfd5466fda Author: Mike Frysinger Date: Thu Apr 24 05:56:07 2008 +0800 [Blackfin] arch: make the mask explicit rather than writing a negative number in hex Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4e354b54991fd7d589c8e5753eea58a1afcae30a Author: Mike Frysinger Date: Thu Apr 24 05:44:32 2008 +0800 [Blackfin] arch: cplb-mpu code clean up - allow bootrom to be readable from supervisor mode - delete unused local variable "addr" - punt unused local defines of cplbinfo.c Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7795566495ff90c541a4654d3c903ab277abadfd Author: Bernd Schmidt Date: Thu Apr 24 05:31:18 2008 +0800 [Blackfin] arch: Give the DMA base registers a more descriptive name The DMA base registers are available in a global named "base_addr" for every Blackfin variant. Give this a more descriptive name, and remove duplicate tables from some drivers. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ac86a9785384843e8359c45a042cc4f87953d4c8 Author: Bernd Schmidt Date: Thu Apr 24 05:23:31 2008 +0800 [Blackfin] arch: Consistently export base_addr for all Blackfin variants. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 37fa24212e68e11aee54d4c0d0becb8fc63555c6 Author: Bernd Schmidt Date: Thu Apr 24 05:19:02 2008 +0800 [Blackfin] arch: Allow AD1836A board to be connected, either to SPORT2 or SPORT3. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 764cb81cdc0620711d2cef5d06e9ef03c9d84184 Author: Mike Frysinger Date: Thu Apr 24 05:07:29 2008 +0800 [Blackfin] arch: actually implement get_cycles function Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cab0288c6376b9c00155b0802cbe84118d1ba89 Author: Mike Frysinger Date: Thu Apr 24 05:13:10 2008 +0800 [Blackfin] arch: add boot messages to quickly distinguish between MPU/NOMPU settings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3132b58679261ee0edfda3a846539bb1b0750705 Author: Mike Frysinger Date: Thu Apr 24 05:12:09 2008 +0800 [Blackfin] arch: theres no need to declare ram{end,start,base} in the head.S files theres no need to declare ram{end,start,base} in the head.S files when declaring them with the other memory related variables in setup.c is so much simpler/nicer Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8b6eb473c5f8f9906d8c514a8f352dac275b0f3e Author: Mike Frysinger Date: Thu Apr 24 05:09:06 2008 +0800 [Blackfin] arch: remove duplicated prototypes for internal cplb structures from the global blackfin header remove duplicated prototypes for internal cplb structures from the global blackfin header as nothing else should be accessing these Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 681793711abca2b45f210a553962e2c4884b5587 Author: Mike Frysinger Date: Thu Apr 24 05:04:24 2008 +0800 [Blackfin] arch: declare list of peripherals as const since we dont modify the incoming array Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5d1617b247aa63698618215a9f39ecf905d55779 Author: Mike Frysinger Date: Thu Apr 24 05:03:26 2008 +0800 [Blackfin] arch: merge ip0x-specific board changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f950f605b9cd0e4bb53b902d2b2edbbb3e6079fc Author: Peter Korsgaard Date: Thu Apr 24 03:34:13 2008 +0800 [Blackfin] arch: USB header files are now located under linux/usb/. Signed-off-by: Peter Korsgaard Signed-off-by: Bryan Wu commit 6ed839423073251b513664fdadb180634aed704b Author: Graf Yang Date: Thu Apr 24 04:43:14 2008 +0800 [Blackfin] arch: Resolve the clash issue of UART defines between blackfin headers and include/linux/serial_reg. Signed-off-by: Graf Yang Cc: Robin Getz Signed-off-by: Bryan Wu commit db68254f0639a357309f02cf8707490265fa7a31 Author: Michael Hennerich Date: Thu Apr 24 03:18:59 2008 +0800 [Blackfin] arch: Apply Bluetechnix vendor patch Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d5adb029efad3c51db376d620319abe65d1efc21 Author: Bernd Schmidt Date: Thu Apr 24 03:06:15 2008 +0800 [Blackfin] arch: This allows XIP to work with FD-PIC. Previously, init failed to do anything meaningful; it turns out that the reason is that FD-PIC has a readonly data section which can be located in the XIP filesystem, and various address checks in the kernel reject such addresses for syscall arguments. Hence, init's execve ("/bin/sh", ...) failed with error code EFAULT. There's room for improvement here: in case people want to have filesystems on flash rather than in main memory, _access_ok should be modified to allow this. This bug fix is also dedicated to Michael Hennerich. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 1ebc723cf04b55e7aeeec2e758293575d29a9c2b Author: Bernd Schmidt Date: Thu Apr 24 02:58:26 2008 +0800 [Blackfin] arch: support the reserved memory region in the MPU code Pointed-out-by: Mike Frysinger Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit d56daae9bec92ae4b0c115db787a0fcc4c17b381 Author: Bernd Schmidt Date: Thu Apr 24 02:56:36 2008 +0800 [Blackfin] arch: fix bug - a crash on bootup with CONFIG_MPU on the BF548 The function flush_switched_dcplbs was clearing the CPLB entries covering the process permission bitmasks. This means that the sequence flush_switched_dcplbs (); set_mask_dcplbs(mm->context.page_rwx_mask); has a problem: if kernel code (such as an interrupt) causes a CPLB miss before set_mask_dcplbs completes, the CPLB handler function causes a double fault, with an instantaneous reboot. This bug fix is dedicated to Michael Hennerich, the only person in the world capable of providing working JTAG hardware. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 697a9d65aa799940da1c9145944c6b9bd0f442c5 Author: Bernd Schmidt Date: Thu Apr 24 02:51:36 2008 +0800 [Blackfin] arch: a rather old performance improvement for the signal handling code This is a rather old performance improvement for the signal handling code, which was originally only committed on the 2007R1 branch as a workaround for what we suspected to be a hardware bug. There's no point in constructing a sigreturn stub on the stack and flushing caches; we can just make signal handlers return to a known location in the fixed code area. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 5af29f595813cce3c125d01d2500be483732ef4f Author: Mike Frysinger Date: Thu Apr 24 02:37:27 2008 +0800 [Blackfin] arch: finish removing remnants of old BF537_PORT_H option of Blackfin EMAC driver Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jeff Garzik commit 7b8aa36e568178ea801fcb42a5c55de0361a6892 Author: Mike Frysinger Date: Wed Apr 23 10:19:59 2008 +0800 [Blackfin] arch: LARGE_ALLOCS was dropped along the way ... bring Blackfin in line Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2973951c96723433d80f43a450ba932e8b267d89 Author: Mike Frysinger Date: Wed Apr 23 10:14:14 2008 +0800 [Blackfin] arch: we no longer use BFIN_{SINGLE,DUAL}_CORE in our source Signed-off-by: Bryan Wu commit 1bee1a660ab42b33cbd39275de3dfdec3c62cee6 Author: Bryan Wu Date: Thu Apr 24 05:02:04 2008 +0800 [Blackfin] arch: boards and machines defconfig updates Signed-off-by: Bryan Wu commit b85d858b40a28107ee50ca9e89f57c0e35c251c6 Author: Harvey Harrison Date: Wed Apr 23 09:39:01 2008 +0800 [Blackfin] arch: __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Cc: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit 6b13483ba2c9c90fc34c79b44be418b56b6a756c Author: Meihui Fan Date: Wed Apr 23 09:07:25 2008 +0800 [Blackfin] arch: remove unused/incorrect definition Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c5b50df8f071f0f28cbac3909929149acab6c170 Author: Meihui Fan Date: Wed Apr 23 08:55:26 2008 +0800 [Blackfin] arch: fix bug - make sure we check the right L1 length Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6eceb0d4da10df9301e27bcec7a9b927e5047251 Author: Meihui Fan Date: Wed Apr 23 08:53:15 2008 +0800 [Blackfin] arch: add support for the rest of the gptimers on the BF54x Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a8a46a269e05190d18e4e36f51477d59bd0b29f6 Author: Meihui Fan Date: Wed Apr 23 08:50:53 2008 +0800 [Blackfin] arch: fix obvious bfin_write typos Signed-off-by: Meihui Fan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 37167e6411f15fc8d8da8acabfd7cdd17668ffad Author: Sonic Zhang Date: Fri Apr 25 03:06:10 2008 +0800 [Blackfin] arch: Fix bug - Properly calculate DDR clock. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 25bb23bfd061075955ca68b6a336c542d56263b3 Author: Mike Frysinger Date: Wed Apr 23 08:27:06 2008 +0800 [Blackfin] arch: fix some obvious typos -- some of which prevent SDH building for the BF542 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0e184c6b4feba9640c85811a7929d18f4491ddb0 Author: Mike Frysinger Date: Wed Apr 23 08:23:51 2008 +0800 [Blackfin] arch: relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file where it actually gets used. relocate MAX_SWITCH_{D,I}_CPLBS from the header to the file where it actually gets used. this way when we change CONFIG_MEM_SIZE in our kconfig, we only rebuild one or two files rather than a whole bunch that implicitly include cplb.h. this will also remove the ability to clear the swapcount on the fly, but i really dont think that functionality is important. ultimate goal is for CONFIG_MEM_SIZE to go away and calculate this value on the fly based on what u-boot programmed for us. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 53eabf046b2837647f186f0cba085ce7a43bd7ce Author: Mike Frysinger Date: Wed Apr 23 08:09:45 2008 +0800 [Blackfin] arch: replace implied numbers with real values replace implied numbers with real values so that strace is able to calculate things automatically ... the numbers are frozen in our ABI, so having them based off other __NR_xxx values really doesnt matter -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 618835a0e33a822d18b391a5e9dd821c8fb34b06 Author: Mike Frysinger Date: Wed Apr 23 08:07:05 2008 +0800 [Blackfin] arch: MEM_ADD_WIDTH only gets used when reprogramming clocks, so dont bother exposing it in the menu normally Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6a42a91019cb8744435e903f0693bd0e424061f8 Author: Mike Frysinger Date: Wed Apr 23 08:01:31 2008 +0800 [Blackfin] arch: update reboot code to match latest info (really just copy from u-boot) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9fcdc78c5ebaba0970d006dd72376a815aee1efa Author: Bryan Wu Date: Wed Apr 23 07:41:52 2008 +0800 [Blackfin] arch: Add dma_map_page and dma_unmap_page stub for MMC SPI compiling Signed-off-by: Bryan Wu commit b4bb68f7d049e923a812903133e7e3747dfe0fce Author: Bernd Schmidt Date: Wed Apr 23 07:26:23 2008 +0800 [Blackfin] arch: fix bug - Make the MPU code aware of the async banks and the uncached DMA area. Bug: CONFIG_MPU doesn't seem to handle access to ASYNC/IO Memory well http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3912 Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 2a0c4fdb6602ea066380aaf71ff7bb2f61ffeee8 Author: Bernd Schmidt Date: Wed Apr 23 07:17:34 2008 +0800 [Blackfin] arch: fix bug - when using trace buffer with CONFIG_MPU enabled. There were a couple of problems with the way the trace buffer state is saved/restored in assembly. The DEBUG_HWTRACE_SAVE/RESTORE macros save a value to the stack, which is not immediately obvious; the CPLB exception code needed changes to load the correct value of the stack pointer. The other problem is that the SAVE/RESTORE macros weren't pushing and popping the value downwards on the stack, but rather moving it _upwards_, which is of course completely broken. We also need to make sure there's a matching DEBUG_HWTRACE_RESTORE in the error case of the CPLB handler. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit dbfe44f02b6855efb5a596e942ec2fd96d592f60 Author: Bernd Schmidt Date: Wed Apr 23 07:11:55 2008 +0800 [Blackfin] arch: fix up - CONFIG_BLKFIN_WT was renamed CONFIG_BFIN_WT while the MPU code was out-of-tree. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b594272c5e2837b6856b93520303c5981c852327 Author: Bryan Wu Date: Thu Mar 27 07:25:21 2008 +0800 [Blackfin] arch: remove TWI I2C register accessing helper macros, because we moved to use i2c new-style interface Signed-off-by: Bryan Wu commit 904656cda10ce985e6bc8b16488b58236eaec8e2 Author: Robin Getz Date: Wed Mar 26 09:17:43 2008 +0800 [Blackfin] arch: fix bug - grab locks when not atomic grab locks when not atomic - this fixes the issues sometimes seen when using magic sysrq. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 9a62ca40fd793742f92565104c6b44319af8c282 Author: Robin Getz Date: Wed Mar 26 09:15:58 2008 +0800 [Blackfin] arch: fix bug - when we crash, current is not valid Sometimes when we crash, current is not valid, (has been written over), so the existing code causes a invalid read during exception context - which is a unrecoverable double fault. This fixes this. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 81d9c7f27dd679df6d03df53eba4fd12caafdb47 Author: Bryan Wu Date: Wed Mar 26 10:02:13 2008 +0800 [Blackfin] arch: add i2c board info struct and move to new-style i2c interface Signed-off-by: Bryan Wu commit d171c23327e2d596ac27d3df4322fc6430b45aa2 Author: Mike Frysinger Date: Wed Mar 26 08:35:46 2008 +0800 [Blackfin] arch: fix up gpio code style -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f85c4abdbc24ede9978073375bee12980cf852b2 Author: Mike Frysinger Date: Wed Mar 26 08:34:23 2008 +0800 [Blackfin] arch: dump the stack before printing out an error otherwise the stack dump is useless as it shows us tracing through printk Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 793dc27b51b2ffff95b72408e2ef44e0995c185b Author: Mike Frysinger Date: Wed Mar 26 08:09:12 2008 +0800 [Blackfin] arch: conditionally enable flash resources since it requests the async memory bank Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2e8d7965e69a4879f9331d35b13ce234a3df4a04 Author: Yi Li Date: Wed Mar 26 07:08:12 2008 +0800 [Blackfin] arch: add code to initialize globals declared in linux/bootmem.h: max_pfn, max_low_pfn, min_low_pfn. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit 9df7a8f62268a05e3bc8be2b2f8f95c522fd9ccc Author: Bernd Schmidt Date: Wed Mar 26 06:39:15 2008 +0800 [Blackfin] arch: remove NOTES from linker script Since r3658 | vapier | 2007-09-12 16:26:11 +0200 (Wed, 12 Sep 2007) | 1 line add more common defines for output sections we've had a new line, NOTES, in our linker script, which causes upstream binutils to complain about "missing phdr". Currently the only other arch that uses NOTES is i386, and the patch which added it also added PHDRS { text PT_LOAD FLAGS(5); /* R_E */ data PT_LOAD FLAGS(7); /* RWE */ note PT_NOTE FLAGS(0); /* ___ */ } and a few other modifications to use ":text" and ":data" to the linker script. It seems that we don't need NOTES at all, so just remove it. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 56ce835b608343b22e1e46e5bb913b87c162486e Author: Mike Frysinger Date: Wed Mar 26 06:00:18 2008 +0800 [Blackfin] arch: add twi resources to CM_BF537 board as reported by Servaes Joordens Signed-off-by: Bryan Wu commit f692940101bbcef3717f40df9fd3c52f497c8589 Author: Mike Frysinger Date: Fri Mar 7 02:43:48 2008 +0800 [Blackfin] arch: declare CHECKFLAGS to make sparse output more readable Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0ddeeca25ce33686262459e2387f57bd09574e47 Author: Mike Frysinger Date: Fri Mar 7 02:37:41 2008 +0800 [Blackfin] arch: add missing __user marking to ss_sp member of signalstack and a few userspace system functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1307a65130963b061fbaca308b228a0f693a4495 Author: Mike Frysinger Date: Fri Feb 29 12:26:41 2008 +0800 [Blackfin] arch: turn generic time on by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b4e2d18f73e16846acb91993da1769e9fd23462f Author: Mike Frysinger Date: Fri Feb 29 12:14:25 2008 +0800 [Blackfin] arch: add board bluetechnix kernel defconfigs to kernel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8b5f79f9d7ee4f4edb0212886771c977476eb811 Author: Vitja Makarov Date: Fri Feb 29 12:24:23 2008 +0800 [Blackfin] arch: initial generic time and clock sources This patch enables Hight-Res Timers and tickless kernel Signed-off-by: Vitja Makarov Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6a2d322e4b81edc2ab35573f1c52f93d1d16eebb Author: Benjamin Herrenschmidt Date: Fri Feb 22 14:26:43 2008 +1100 [POWERPC] Fix thinko in cpu_thread_mask_to_cores() The function cpu_thread_mask_to_cores() which returns a cpumask of one and only one thread enabled for a given core has a bug as it's shifting things in the wrong direction. Note: The implementation is still sub-optimal in the sense that for a given core, the thread set in the result may not be any of the threads set in the input, which can lead to more IPIs then strictly necessary, but it isn't incorrect per-se. I'll improve that later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 50530378161fa8d7837243119ed9140ee65e55d4 Author: Anton Vorontsov Date: Fri Feb 22 06:45:08 2008 +1100 [POWERPC] 8xx: Timebase frequency should not depend on bus-frequency m8xx_setup.c says: /* Force all 8xx processors to use divide by 16 processor clock. */ And at the same time it is using bus-frequency for calculating timebase. It is okay for most setups because bus-frequency is equal to clock-frequency. The problem emerges when cpu frequency is > 66MHz, quoting u-boot/cpu/mpc8xx/speed.c: if (gd->cpu_clk <= 66000000) { sccr_reg |= SCCR_EBDF00; /* bus division factor = 1 */ gd->bus_clk = gd->cpu_clk; } else { sccr_reg |= SCCR_EBDF01; /* bus division factor = 2 */ gd->bus_clk = gd->cpu_clk / 2; } So in case of cpu clock > 66MHz, bus_clk = cpu_clk / 2. An then, from Linux, we calculate timebase frequency as tb_freq = bus_clk / 16, that is cpu_clk / 2 / 16, which is wrong. This fixes the system time drifting problem on the EP885C board running at 133MHz. Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit d9d1063d47cbfe45f8b369475a35c3cdd64fb69c Author: Johannes Berg Date: Thu Feb 21 20:39:01 2008 +1100 [POWERPC] mpic: Make sparse happy I was running sparse on something else and noticed sparse warnings and especially the bogus code that is fixed by the first hunk of this patch, so I fixed them all while at it. Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Cc: Milton Miller Signed-off-by: Paul Mackerras commit 4217c7b529af3abea090d875f0ef133ed2d44285 Author: Julia Lawall Date: Mon Feb 11 07:07:59 2008 +1100 [POWERPC] Use FIELD_SIZEOF in arch/ppc Robert P.J. Day proposed to use the macro FIELD_SIZEOF in replace of code that matches its definition. The modification was made using the following semantic patch (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ type t; identifier f; @@ - (sizeof(((t*)0)->f)) + FIELD_SIZEOF(t, f) @depends on haskernel@ type t; identifier f; @@ - sizeof(((t*)0)->f) + FIELD_SIZEOF(t, f) // Signed-off-by: Julia Lawall Signed-off-by: Paul Mackerras commit 445857e0fc16ba3f74e778dd5a8707459c84f933 Author: Dale Farnsworth Date: Fri Feb 1 08:11:41 2008 +1100 [POWERPC] Remove dead code at KernelAltiVec This code isn't referenced anywhere, so remove it. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit f8c8803bda4db47cbbdadb9b27b024e903e1d645 Author: Badari Pulavarty Date: Tue Jan 29 09:19:24 2008 +1100 [POWERPC] Add code for removing HPTEs for parts of the linear mapping For memory remove, we need to clean up htab mappings for the section of the memory we are removing. This implements support for removing htab bolted mappings for pSeries logical partitions. Other sub-archs may need to implement similar functionality for hotplug memory remove to work on them. Signed-off-by: Badari Pulavarty Signed-off-by: Paul Mackerras commit f8303dd3db57bd7ab2062985ad7a9e898a8ac423 Merge: bfa274e... 74b20da... Author: Paul Mackerras Date: Tue Feb 26 21:08:45 2008 +1100 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/lmb-2.6 commit 5d00837b90340af9106dcd93af75fd664c8eb87f Author: Trond Myklebust Date: Fri Feb 22 16:34:17 2008 -0500 SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs An audit of the current RPC timeout functions shows that they don't really ever need to run in the softirq context. As long as the softirq is able to signal that the wakeup is due to a timeout (which it can do by setting task->tk_status to -ETIMEDOUT) then the callback functions can just run as standard task->tk_callback functions (in the rpciod/process context). The only possible border-line case would be xprt_timer() for the case of UDP, when the callback is used to reduce the size of the transport congestion window. In testing, however, the effect of moving that update to a callback would appear to be minor. Signed-off-by: Trond Myklebust commit fda1393938035559b417dd5b26b9cc293a7aee00 Author: Trond Myklebust Date: Fri Feb 22 16:34:12 2008 -0500 SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task Signed-off-by: Trond Myklebust commit 96ef13b283934fbf60b732e6c4ce23e8babd0042 Author: Trond Myklebust Date: Fri Feb 22 15:46:41 2008 -0500 SUNRPC: Add a new helper rpc_wake_up_queued_task() In all cases where we currently use rpc_wake_up_task(), we almost always know on which waitqueue the rpc_task is actually sleeping. This will allows us to simplify the queue locking in a future patch. Signed-off-by: Trond Myklebust commit fde95c7554aa77f9a242f32b0b5f8f15395abf52 Author: Trond Myklebust Date: Fri Feb 22 15:09:26 2008 -0500 SUNRPC: Clean up rpc_run_timer() All RPC timeout callback functions are expected to wake the task up. We can enforce this by moving the wakeup back into rpc_run_timer. Signed-off-by: Trond Myklebust commit 101070ca2fe67186f5f5517b66cb4757b17f4e29 Author: Trond Myklebust Date: Tue Feb 19 20:04:23 2008 -0500 NFS: Ensure that the asynchronous RPC calls complete on nfsiod. We want to ensure that rpc_call_ops that involve mntput() are run on nfsiod rather than on rpciod, so that they don't deadlock when the resulting umount calls rpc_shutdown_client(). Hence we specify that read, write and commit calls must complete on nfsiod. Ditto for NFSv4 open, lock, locku and close asynchronous calls. Signed-off-by: Trond Myklebust commit 5746006f1d17d9d5a3015051ea54de4341cb31f9 Author: Trond Myklebust Date: Tue Feb 19 20:04:22 2008 -0500 NFS: Add an nfsiod workqueue NFS post-rpciod cleanups often involve tasks that cannot be safely performed within the rpciod context (due to deadlock concerns). We therefore add a dedicated NFS workqueue that can perform tasks like cleaning up state after an interrupted NFSv4 open() call, or calling put_nfs_open_context() after an asynchronous read or write call. Signed-off-by: Trond Myklebust commit 32bfb5c0f495dd88ef6bac4b76885d0820563739 Author: Trond Myklebust Date: Tue Feb 19 20:04:21 2008 -0500 SUNRPC: Allow the rpc_release() callback to be run on another workqueue A lot of the work done by the rpc_release() callback is inappropriate for rpciod as it will often involve things like starting a new rpc call in order to clean up state after an interrupted NFSv4 open() call, or calls to mntput(), etc. This patch allows the caller of rpc_run_task() to specify that the rpc_release callback should run on a different workqueue than the default rpciod_workqueue. Signed-off-by: Trond Myklebust commit 383ba71938519959be8e0b598ec658f0c211ff45 Author: Trond Myklebust Date: Tue Feb 19 20:04:20 2008 -0500 NFS: Fix a deadlock with lazy umount We can't allow rpc callback functions like task->tk_ops->rpc_call_prepare() and task->tk_ops->rpc_call_done() to call mntput() in any way, since that will cause a deadlock when the call to rpc_shutdown_client() attempts to wait on 'task' to complete. We can avoid the above deadlock by moving calls to mntput to task->tk_ops->rpc_release() callback, since at that time the task will be marked as completed, and so rpc_shutdown_client won't attempt to wait on it. Signed-off-by: Trond Myklebust commit 4b5621f6b127bce9218998c187bd25bf7f9fc371 Author: Trond Myklebust Date: Mon Feb 25 15:56:29 2008 -0800 NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c O_SYNC is stored in filp->f_flags. Thanks to Al Viro for pointing out the bug. Signed-off-by: Trond Myklebust commit dd919660aacdf4adfcd279556aa03e595f7f0fc2 Author: David Woodhouse Date: Mon Feb 25 15:25:25 2008 +0000 [JFFS2] Use ALLOC_DELETION priority for truncation to zero length This is going to obsolete all previous nodes, so treat it as deletion. Signed-off-by: David Woodhouse commit b28ba9fa0154f78f3d36f5ae9a42f7bb01663cca Author: David Woodhouse Date: Mon Feb 25 15:20:50 2008 +0000 [JFFS2] Set i_blocks when truncating files Addresses OLPC trac #6480 Signed-off-by: David Woodhouse commit 1071695f17daf050638e0bc550db647f8237c3bb Author: David Brownell Date: Fri Feb 22 21:54:24 2008 -0800 ACPI: crosslink ACPI and "real" device nodes Add cross-links between ACPI device and "real" devices in sysfs, exposing otherwise-hidden interrelationships between the various device nodes for ACPI stuff. As a representative example, one hardware device is exposed as two logical devices (PNP and ACPI): .../pnp0/00:06/ .../LNXSYSTM:00/device:00/PNP0A03:00/device:15/PNP0B00:00/ The PNP device gets a "firmware_node" link pointing to the ACPI device, and is what a Linux device driver binds to. The ACPI device has instead a "physical_node" link pointing back to the PNP device. Other firmware frameworks, like OpenFirmware, could do the same thing to couple their firmware tables to the rest of the system. (Based on a patch from Zhang Rui. This version is modified to not depend on the patch makig ACPI initialize driver model wakeup flags.) Signed-off-by: David Brownell Cc: Zhang Rui Signed-off-by: Len Brown commit b64f34cdfe5bef9dfed1304c513220b0f2862eca Author: Hidetoshi Seto Date: Tue Jan 29 14:27:30 2008 +0900 [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting) This patch implements VIRT_CPU_ACCOUNTING for ia64, which enable us to use more accurate cpu time accounting. The VIRT_CPU_ACCOUNTING is an item of kernel config, which s390 and powerpc arch have. By turning this config on, these archs change the mechanism of cpu time accounting from tick-sampling based one to state-transition based one. The state-transition based accounting is done by checking time (cycle counter in processor) at every state-transition point, such as entrance/exit of kernel, interrupt, softirq etc. The difference between point to point is the actual time consumed during in the state. There is no doubt about that this value is more accurate than that of tick-sampling based accounting. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 74b20dad1c4cc0fd13ceca62fbab808919e1a7ea Author: Kumar Gala Date: Tue Feb 19 21:28:18 2008 -0800 [LMB]: Fix lmb_add_region if region should be added at the head We introduced a bug in fixing lmb_add_region to handle an initial region being non-zero. Before that fix it was impossible to insert a region at the head of the list since the first region always started at zero. Now that its possible for the first region to be non-zero we need to check to see if the new region should be added at the head and if so actually add it. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit 66a10506d632051e1153e2555f4b2c820d427f64 Author: Kyungmin Park Date: Wed Feb 13 15:55:38 2008 +0900 [MTD] [OneNAND] Fix unlock all in Double Density Package (DDP) Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit cbc20059259edee4ea24c923e6627c394830c972 Author: Trond Myklebust Date: Thu Feb 14 11:11:30 2008 -0500 SUNRPC: Declare as const the rpc_message arguments to rpc_call_sync/async Signed-off-by: Trond Myklebust commit 2785259631697ebb0749a3782cca206e2e542939 Author: Nick Piggin Date: Mon Feb 4 23:48:37 2008 -0800 nfs: use GFP_NOFS preloads for radix-tree insertion NFS should use GFP_NOFS mode radix tree preloads rather than GFP_ATOMIC allocations at radix-tree insertion-time. This is important to reduce the atomic memory requirement. Signed-off-by: Nick Piggin Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust commit e5f270954364a4add74e8445b1db925ac534fcfb Author: Becky Bruce Date: Wed Feb 13 16:58:39 2008 -0800 [LMB]: Make lmb support large physical addressing Convert the lmb code to use u64 instead of unsigned long for physical addresses and sizes. This is needed to support large amounts of RAM on 32-bit systems that support 36-bit physical addressing. Signed-off-by: Becky Bruce Signed-off-by: David S. Miller commit 27e6672bb9912d3e3a41cf88e6142d3ae5e534b3 Author: Kumar Gala Date: Wed Feb 13 16:58:11 2008 -0800 [LMB]: Fix initial lmb add region with a non-zero base If we add to an empty lmb region with a non-zero base we will not coalesce the number of regions down to one. This causes problems on ppc32 for the memory region as its assumed to only have one region. We can fix this be easily specially casing the initial add to just replace the dummy region. Signed-off-by: Kumar Gala Signed-off-by: David S. Miller commit eea89e13a9c61d3928223d2f9bf2295e22e0efb6 Author: David S. Miller Date: Wed Feb 13 16:57:09 2008 -0800 [LMB]: Fix bug in __lmb_alloc_base(). We need to check lmb_add_region() for errors, it can run out of regions etc. Also, the size needs to be padded to the given alignment or else the lmb.reserved regions don't get expanded and instead we get tons of holes and eventually run out of regions prematurely. Signed-off-by: David S. Miller commit d9b2b2a277219d4812311d995054ce4f95067725 Author: David S. Miller Date: Wed Feb 13 16:56:49 2008 -0800 [LIB]: Make PowerPC LMB code generic so sparc64 can use it too. Signed-off-by: David S. Miller commit 891456227881da9c565c455010380a40d385a478 Author: Marcin Slusarz Date: Wed Feb 13 15:34:20 2008 -0600 jfs: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net