commit 1b622b5641b03a44d1c455b961b6b9f24d8cc634 Author: Greg Kroah-Hartman Date: Thu Feb 12 09:38:48 2009 -0800 Linux 2.6.27.16 commit 3b0ff5e98a8a987c657cb21ba206ffe8c359866b Author: Dean Nelson Date: Sat Oct 18 16:06:56 2008 -0700 genirq: NULL struct irq_desc's member 'name' in dynamic_irq_cleanup() commit b6f3b7803a9231eddc36d0a2a6d2d8105ef89344 upstream. If the member 'name' of the irq_desc structure happens to point to a character string that is resident within a kernel module, problems ensue if that module is rmmod'd (at which time dynamic_irq_cleanup() is called) and then later show_interrupts() is called by someone. It is also not a good thing if the character string resided in kmalloc'd space that has been kfree'd (after having called dynamic_irq_cleanup()). dynamic_irq_cleanup() fails to NULL the 'name' member and show_interrupts() references it on a few architectures (like h8300, sh and x86). Signed-off-by: Dean Nelson Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 55ffc07a92e9ecc7f67ed85b0fac5abfb0d075b0 Author: Vlad Yasevich Date: Thu Jan 22 14:53:23 2009 -0800 sctp: Fix another socket race during accept/peeloff commit ae53b5bd77719fed58086c5be60ce4f22bffe1c6 upstream. There is a race between sctp_rcv() and sctp_accept() where we have moved the association from the listening socket to the accepted socket, but sctp_rcv() processing cached the old socket and continues to use it. The easy solution is to check for the socket mismatch once we've grabed the socket lock. If we hit a mis-match, that means that were are currently holding the lock on the listening socket, but the association is refrencing a newly accepted socket. We need to drop the lock on the old socket and grab the lock on the new one. A more proper solution might be to create accepted sockets when the new association is established, similar to TCP. That would eliminate the race for 1-to-1 style sockets, but it would still existing for 1-to-many sockets where a user wished to peeloff an association. For now, we'll live with this easy solution as it addresses the problem. Reported-by: Michal Hocko Reported-by: Karsten Keil Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 317141905f524b3c6c65fb1760fd8014df461b81 Author: Alan Stern Date: Wed Feb 4 15:48:03 2009 -0500 USB: usb-storage: add Pentax to the bad-vendor list commit 506e9469833c66ed6bb9acd902e208f7301b6adb upstream. This patch (as1202) adds Pentax to usb-storage's list of bad vendors whose devices always need the CAPACITY_HEURISTICS flag. This is in addition to the existing entries: Nokia, Nikon, and Motorola. Signed-off-by: Alan Stern Tested-by: Virgo Pärna Signed-off-by: Greg Kroah-Hartman commit 4e83cbc90a4748c524d7b301d91987a9e334b502 Author: Oliver Neukum Date: Wed Feb 4 16:38:33 2009 +0100 USB: two more usb ids for ti_usb_3410_5052 commit 97dcf0416e390fc5c997d4ea60e6f975c7b7a1c3 upstream. This patch adds device IDs and balances the counts to make the hot ID additioning mechanism work. Signed-off-by: Oliver Neukum Cc: Chris Adams Signed-off-by: Greg Kroah-Hartman commit 7335baf84dc1fb254b1e4ca864337ff56ed82ce6 Author: Dirk De Schepper Date: Fri Feb 6 20:48:34 2009 +0000 USB: option: New mobile broadband modems to be supported commit c200b9c9e8ec93cdd262cfa1699ad92e883d4876 upstream. - New Novatel and Dell mobile broadband modem products added - Dell pid variables used in stead of numerical PIDs for known products Signed-off-by: Dirk De Schepper Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit c292f537b41f372500ef54d045986c61b4e1c849 Author: Oliver Neukum Date: Mon Jan 12 13:31:16 2009 +0100 USB: new id for ti_usb_3410_5052 driver commit 1a1fab513734b3a4fca1bee8229e5ff7e1cb873c upstream. This adds a new device id Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c4aa280f3fc15a768f1e39dd3f2c36022c84c277 Author: Greg Kroah-Hartman Date: Tue Feb 3 16:02:21 2009 -0800 Revert USB: option: add Pantech cards commit 6b40c0057a7935bcf63a38a924094c7e61d4731f upstream. Revert 8b6346ec899713a90890c9e832f7eff91ea73504 as these devices really work just fine with the cdc-acm driver, as they follow the spec properly. Thanks to Chuck Ebbert for pointing out the problem here. Cc: Chuck Ebbert Cc: Dan Williams Signed-off-by: Greg Kroah-Hartman commit 4a6ba08286ecf31795637bc1a9d8e182548aedd2 Author: Zhang Rui Date: Thu Dec 11 16:24:52 2008 -0500 ACPI: video: Fix reversed brightness behavior on ThinkPad SL series commit 935e5f290ec1eb0f1c15004421f5fd3154380fd5 upstream. Section B.6.2 of ACPI 3.0b specification that defines _BCL method doesn't require the brightness levels returned to be sorted. At least ThinkPad SL300 (and probably all IdeaPads) returns the array reversed (i.e. bightest levels have lowest indexes), which causes the brightness management behave in completely reversed manner on these machines (brightness increases when the laptop is idle, while the display dims when used). Sorting the array by brightness level values after reading the list fixes the issue. http://bugzilla.kernel.org/show_bug.cgi?id=12037 Signed-off-by: Zhang Rui Tested-by: Lubomir Rintel Signed-off-by: Len Brown Signed-off-by: Thomas Renninger Signed-off-by: Greg Kroah-Hartman commit 599eeaa552681c0808c1099ad595437c3fbdc4ad Author: Yinghai Lu Date: Wed Sep 24 19:04:31 2008 -0700 ACPI: don't load acpi_cpufreq if acpi=off commit ee297533279a802eac8b1cbea8e65b24b36a1aac upstream. Signed-off-by: Yinghai Lu Signed-off-by: Len Brown Signed-off-by: Thomas Renninger Signed-off-by: Greg Kroah-Hartman commit 034dee430be1c58d8d0d3d5edbfb045a1106bd1a Author: Lin Ming Date: Mon Aug 4 13:22:10 2008 +0800 ACPICA: Add function to dereference returned reference objects commit bbc241340681557a16982f4d1840f00963bc05b4 upstream. Examines the return object from a call to acpi_evaluate_object. Any Index or RefOf references are automatically dereferenced in an attempt to return something useful (these reference types cannot be converted into an external ACPI_OBJECT.) Lin Ming, Bob Moore. http://bugzilla.kernel.org/show_bug.cgi?id=11105 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Andi Kleen Signed-off-by: Len Brown Signed-off-by: Thomas Renninger Signed-off-by: Greg Kroah-Hartman commit 25a4ddbc4f220209081870042e0268dee83afbf9 Author: Dennis Noordsij Date: Fri Aug 15 09:37:58 2008 +0800 ACPICA: Copy dynamically loaded tables to local buffer commit f0e0da8a6cca44396c7a711e308d58084e881617 upstream. Previously, dynamically loaded tables were simply mapped, but on some machines this memory is corrupted after suspend. Now copy the table to a local buffer. For OpRegion case, added checksum verify. Use the table length from the table header, not the region length. For Buffer case, use the table length also. http://bugzilla.kernel.org/show_bug.cgi?id=10734 Signed-off-by: Dennis Noordsij Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Andi Kleen Signed-off-by: Len Brown Signed-off-by: Thomas Renninger Signed-off-by: Greg Kroah-Hartman commit ea291b00259ee488a6056d1f9ae1dcdd73d634fb Author: Chandra Seetharaman Date: Thu Nov 13 23:39:00 2008 +0000 dm mpath: avoid attempting to activate null path commit b81aa1c79201cb424114fd198607951900babe18 upstream. Path activation code is called even when the pgpath is NULL. This could lead to a panic in activate_path(). Such a panic is seen in -rt kernel. This problem has been there before the pg_init() was moved to a workqueue. Signed-off-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon Signed-off-by: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman commit 07d1f490932233348ff4a15d82f9d294df4c1b65 Author: Paulius Zaleckas Date: Tue Nov 4 13:32:31 2008 +0200 hso: rfkill type should be WWAN commit db053c6b447d083f3c63e5540b70a3e521b468ca upstream. Signed-off-by: Paulius Zaleckas Cc: Denis Joseph Barrow Signed-off-by: Jeff Garzik Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit 45c95e5ca2f21a35eeef27f5100d4244cbd936ae Author: Helmut Schaa Date: Wed Dec 10 13:17:26 2008 +0100 ipw2200: fix scanning while associated commit 14a4dfe2ff8c353f59ae8324059ded1cfe22c7d9 upstream. This patch fixes sporadic firmware restarts when scanning while associated. The firmware will quietly cancel a scan (while associated) if the dwell time for a channel to be scanned is larger than the time it may stay away from the operating channel (because of DTIM catching). Unfortunately the driver is not notified about the canceled scan and therefore the scan watchdog timeout will be hit and the driver causes a firmware restart which results in disassociation. This mainly happens on passive channels which use a dwell time of 120 whereas a typical beacon interval is around 100. The patch changes the dwell time for passive channels to be slightly smaller than the actual beacon interval to work around the firmware issue. Furthermore the number of allowed beacon misses is increased from one to three as otherwise most scans (while associated) won't complete successfully. However scanning while associated will still fail in corner cases such as a beacon intervals below 30. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 1d338dafbacdc12aab149c441e67150a5aed320d Author: NeilBrown Date: Mon Oct 13 11:55:11 2008 +1100 md: Allow metadata_version to be updated for externally managed metadata. commit ea43ddd8491feccf36267349748ea91b1194481e upstream. For externally managed metadata, the 'metadata_version' sysfs attribute is really just a channel for user-space programs to communicate about how the array is being managed. It can be useful for this to be changed while the array is active. Normally changes to metadata_version are not permitted while the array is active. Change that so that if the metadata is externally managed, the metadata_version can be changed to a different flavour of external management. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman commit 2dcee68b26a8c19dc08e594604db4ac129d495ed Author: NeilBrown Date: Mon Oct 13 11:55:12 2008 +1100 md: Don't try to set an array to 'read-auto' if it is already in that state. commit 80268ee9270ebe4847365a7426de91d179e870d0 upstream. 'read-auto' is a variant of 'readonly' which will switch to writable on the first write attempt. Calling do_md_stop to set the array readonly when it is already readonly returns an error. So make sure not to do that. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman commit 3a90273ed724622c82787316c772e5d75c69f5cb Author: Linus Torvalds Date: Tue Oct 14 12:12:02 2008 -0700 Revert "vt: fix background color on line feed" commit 93f78da405685a756beeaeae4b5e41fcec39eab3 upstream. This reverts commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b, and the subsequent commits that fixed it up: - afa9b649 "fbcon: prevent cursor disappearance after switching to 512 character font" - d850a2fa "vt/fbcon: fix background color on line feed" - 7fe3915a "vt/fbcon: update scrl_erase_char after 256/512-glyph font switch" by request of Alan Cox. Quoth Alan: "Unfortunately it's wrong and its been causing breakages because various apps like ncurses expect our previous (and correct) behaviour." Alexander sent out a similar patch. Requested-by: Alan Cox Tested-by: Jan Engelhardt Cc: Alexander V. Lukyanov Signed-off-by: Linus Torvalds Cc: Tony Jones Signed-off-by: Greg Kroah-Hartman commit f31f0e205efd969ebb8045e5244a934a6899f670 Author: KOSAKI Motohiro Date: Tue Dec 9 13:14:16 2008 -0800 mm: remove UP version of lru_add_drain_all() commit 6841c8e26357904ef462650273f5d5015f7bb370 upstream. Currently, lru_add_drain_all() has two version. (1) use schedule_on_each_cpu() (2) don't use schedule_on_each_cpu() Gerald Schaefer reported it doesn't work well on SMP (not NUMA) S390 machine. offline_pages() calls lru_add_drain_all() followed by drain_all_pages(). While drain_all_pages() works on each cpu, lru_add_drain_all() only runs on the current cpu for architectures w/o CONFIG_NUMA. This let us run into the BUG_ON(!PageBuddy(page)) in __offline_isolated_pages() during memory hotplug stress test on s390. The page in question was still on the pcp list, because of a race with lru_add_drain_all() and drain_all_pages() on different cpus. Actually, Almost machine has CONFIG_UNEVICTABLE_LRU=y. Then almost machine use (1) version lru_add_drain_all although the machine is UP. Then this ifdef is not valueable. simple removing is better. Signed-off-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Lee Schermerhorn Acked-by: Gerald Schaefer Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Cc: Nick Piggin Signed-off-by: Greg Kroah-Hartman commit 2a77565dbf90825655a46f2ead7e931716736033 Author: Tom Tucker Date: Sun Nov 23 09:58:08 2008 -0600 Add a reference to sunrpc in svc_addsock commit 2da2c21d7508d34bc6d600df665d84871b65d2b9 upstream. The svc_addsock function adds transport instances without taking a reference on the sunrpc.ko module, however, the generic transport destruction code drops a reference when a transport instance is destroyed. Add a try_module_get call to the svc_addsock function for transport instances added by this function. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields Tested-by: Jeff Moyer Cc: Neil Brown Signed-off-by: Greg Kroah-Hartman commit 30ecc5ae32b59477fd2b8d500a74458b36e8cfba Author: Lachlan McIlroy Date: Fri Dec 12 15:27:25 2008 +1100 XFS: set b_error from bio error in xfs_buf_bio_end_io commit cfbe52672fbc6f333892e8dde82c35e0a76aa5f5 upstream. Preserve any error returned by the bio layer. Reviewed-by: Eric Sandeen Reviewed-by: Tim Shimmin Signed-off-by: Lachlan McIlroy Cc: Neil Brown Signed-off-by: Greg Kroah-Hartman commit e87492436fe19cdc2ec41560429840ad8057a044 Author: Roland McGrath Date: Fri Feb 6 17:34:07 2009 -0800 elf core dump: fix get_user use commit 92dc07b1f988e8c237a38e23be660b9b8533e6fd upstream. The elf_core_dump() code does its work with set_fs(KERNEL_DS) in force, so vma_dump_size() needs to switch back with set_fs(USER_DS) to safely use get_user() for a normal user-space address. Checking for VM_READ optimizes out the case where get_user() would fail anyway. The vm_file check here was already superfluous given the control flow earlier in the function, so that is a cleanup/optimization unrelated to other changes but an obvious and trivial one. Reported-by: Gerald Schaefer Signed-off-by: Roland McGrath Signed-off-by: Greg Kroah-Hartman commit d5ff00ef6bb0bfe01f1481adaec52983e4718b70 Author: Niels de Vos Date: Fri Jan 2 13:46:58 2009 +0000 serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter commit 39aced68d664291db3324d0fcf0985ab5626aac2 upstream. The PCI-card identified as "Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter" is only usable with other devices (i.e. not the same card) after doing a "setserial /dev/ttyS baud_base 115200". This baud_base should be default for this card. Signed-off-by: Niels de Vos Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit de6470415bc59d9d5736799c0803c6103b7d86b9 Author: Alexey Dobriyan Date: Fri Feb 6 00:30:05 2009 +0300 seq_file: fix big-enough lseek() + read() commit f01d1d546abb2f4028b5299092f529eefb01253a upstream. lseek() further than length of the file will leave stale ->index (second-to-last during iteration). Next seq_read() will not notice that ->f_pos is big enough to return 0, but will print last item as if ->f_pos is pointing to it. Introduced in commit cb510b8172602a66467f3551b4be1911f5a7c8c2 aka "seq_file: more atomicity in traverse()". Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 8115a6b9b94b36992affec7645e53c49e66cb8b1 Author: Eric Biederman Date: Wed Feb 4 15:12:25 2009 -0800 seq_file: move traverse so it can be used from seq_read commit 33da8892a2f9e7d4b2d9a35fc80833ba2d2b1aa6 upstream. In 2.6.25 some /proc files were converted to use the seq_file infrastructure. But seq_files do not correctly support pread(), which broke some usersapce applications. To handle pread correctly we can't assume that f_pos is where we left it in seq_read. So move traverse() so that we can eventually use it in seq_read and do thus some day support pread(). Signed-off-by: Eric Biederman Cc: Paul Turner Cc: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit ae59010c012538c749abc8bf760855a71b014072 Author: Timothy S. Nelson Date: Fri Jan 30 06:12:47 2009 +1100 PCI: return error on failure to read PCI ROMs commit 97c44836cdec1ea713a15d84098a1a908157e68f upstream. This patch makes the ROM reading code return an error to user space if the size of the ROM read is equal to 0. The patch also emits a warnings if the contents of the ROM are invalid, and documents the effects of the "enable" file on ROM reading. Signed-off-by: Timothy S. Nelson Acked-by: Alex Villacis-Lasso Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit ca9e7b96abf17668950e16329b6e6c9233d72653 Author: Alex Chiang Date: Wed Jan 28 14:59:18 2009 -0700 PCI: properly clean up ASPM link state on device remove commit 3419c75e15f82c3ab09bd944fddbde72c9e4b3ea upstream. We only want to disable ASPM when the last function is removed from the parent's device list. We determine this by checking to see if the parent's device list is completely empty. Unfortunately, we never hit that code because the parent is considered an upstream port, and never had an ASPM link_state associated with it. The early check for !link_state causes us to return early, we never discover that our device list is empty, and thus we never remove the downstream ports' link_state nodes. Instead of checking to see if the parent's device list is empty, we can check to see if we are the last device on the list, and if so, then we know that we can clean up properly. Cc: Shaohua Li Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 3c77819ac0e056ea17fab8bfe7ee0ed34e3ad584 Author: Takashi Iwai Date: Wed Feb 4 23:30:19 2009 +0100 ALSA: hda - Add quirk for FSC Amilo Xi2550 commit f67d8176ba9a3dbc33454cd67057184b2ef5ee31 upstream. Added model=fujisu-pi2515 for FSC Amilo Xi2550 with ALC883 codec. Refernece: Novell bnc#450979 https://bugzilla.novell.com/show_bug.cgi?id=450979 Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit 7d0d945cb88c128fa2f70c838a93f9058443df65 Author: Takashi Iwai Date: Fri Feb 6 12:45:52 2009 +0100 ALSA: hda - Add missing initialization for ALC272 commit c6e8f2daadc6d61a32b7486a1058c8f1f9baa499 upstream. ALC272 needs EAPD for speaker outputs as well as other similar ALC codecs. Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit b41654f7da50219b23adc992bba60f83503ae836 Author: Takashi Iwai Date: Fri Feb 6 12:46:59 2009 +0100 ALSA: hda - Add missing COEF initialization for ALC887 commit 4a5a4c56b443a213fa9c2ad27984a8681a3d7087 upstream. Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit 55cf10d98cee900d474af388b375ac1a2031cb00 Author: Michael Bramer Date: Tue Jan 27 11:51:16 2009 +0000 Add support for '8-port RS-232 MIC-3620 from advantech' commit 78d70d48132ce4c678a95b771ffa1af4fb5a03ec upstream. This Patch add the device information for the MIC-3620 8-port RS-232 cPCI card from Advantech Co. Ltd. Signed-off-by: Michael Bramer Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit be1dd7ec6e3f6fd571f4a317134a9c41ed01e021 Author: Zhao Yakui Date: Mon Feb 2 11:33:41 2009 +0800 ACPI: Skip the first two elements in the _BCL package commit 0a3db1cec5d476804185114ff5d1845aed3936b3 upstream. According to the Spec the first two elements in the _BCL package won't be regarded as the available brightness level. The first is the brightness when full power is connected to the box(It means that the AC adapter is plugged). The second is the brightness level when the box is on battery. If the first two elements are still used while finding the next brightness level, it will fall back to the lowest level when keeping on pressing hotkey. (On some boxes the brightness will be changed twice when hotkey is pressed once. One is in the ACPI video driver. The other is changed by sys I/F. In the ACPI video driver the first two elements will be used while changing the brightness. But the first two elements is skipped while using sys I/F. In such case there exists the inconsistency). So he first two elements had better be skipped while showing the available brightness or finding the next brightness level. http://bugzilla.kernel.org/show_bug.cgi?id=12450 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit 265be30a8f3fbfbab0b16b44c6ac4715ff08e27b Author: Zhao Yakui Date: Mon Feb 2 22:55:01 2009 -0500 ACPI: proc_dir_entry 'video/VGA' already registered commit f3b39f1393d5cebe56f43a584ef47efbebd2702c upstream. eliminate the duplicate the name of "VGA" http://bugzilla.kernel.org/show_bug.cgi?id=12514 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit c538029f32770f5641143df3c09db79439988cf4 Author: Len Brown Date: Fri Feb 6 14:00:56 2009 -0500 ACPI: disable ACPI cleanly when bad RSDP found commit 9e3a9d1ed8cc8db93e5c53e9a5b09065bd95de8b upstream. When ACPI is disabled in the BIOS of this VIA C3 box, it invalidates the RSDP, which Linux notices: ACPI Error (tbxfroot-0218): A valid RSDP was not found [20080926] Bug Linux neglected to disable ACPI at that stage, and later scribbled on smp_found_config: ACPI: No APIC-table, disabling MPS But this box doesn't run well in legacy PIC mode, it needed IOAPIC mode to perform correctly: http://lkml.org/lkml/2009/2/5/39 So exit ACPI mode cleanly when we first detect that it is hopeless. Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit 9ef25990cd4eb160303a6a2059bd3add690e355a Author: Myron Stowe Date: Fri Jan 30 15:44:53 2009 -0700 ACPICA: Fix table entry truncation calculation commit 386e4a8358239f90275e1f93d5ad11cdc93c6453 upstream. During early boot, ACPI RSDT/XSDT table entries are gathered into the 'initial_tables[]' array. This array is currently statically defined (see ./drivers/acpi/tables.c). When there are more table entries than can be held in the 'initial_tables[]' array, the message "Truncating N table entries!" is output. As currently implemented, this message will always erroneously calculate N as 0. This patch fixes the calculation that determines how many table entries will be missing (truncated). This modification may be used under either the GPL or the BSD-style license used for Intel ACPI CA code. Signed-off-by: Myron Stowe Signed-off-by: Andrew Morton Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit 11673fed439117bc3d0f004dcaed8e45e7704ad4 Author: Jiri Slaby Date: Thu Jan 15 13:30:34 2009 +0000 8250_pci: add support for netmos 9835 IBM devices commit 25cf9bc1fcb085daaeb82b09bab0fb3c40570887 upstream. Most of netmos 9835 hardware is handled by parport-serial. IBM introduces a device which doesn't have any parallel ports and have screwed subdevice PCI id (not corresponding to port numbers). Handle this device (9710:9835 1014:0299) properly. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 37368aba98e2e35374e6d90cb12a9504efc9a86a Author: Stefan Richter Date: Sat Feb 7 13:10:36 2009 +0100 ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods Commit 1448d7c6a2ff96d3b52ecae49e2d0f046a097fe0 upstream. As per https://bugs.launchpad.net/bugs/294391. These got one sample of each iPod generation going. However there still occurred I/O stalls with the 3rd generation iPod which remain undiagnosed at the time of this writing. Acked-by: Jarod Wilson Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit dbb7f60d1d25cecb6b6fed3d7129d64cd5decdb1 Author: Stefan Richter Date: Sat Feb 7 13:10:00 2009 +0100 firewire: sbp2: add workarounds for 2nd and 3rd generation iPods Commit c8c4707cf7ca8ff7dcc1653447e48cb3de0bf114 upstream. According to https://bugs.launchpad.net/bugs/294391 - 3rd generation iPods need the "fix capacity" workaround after all (apparently they crash after the last sector was accessed), - 2nd generation iPods need the "128 kB maximum request size" workaround. Alas both iPod generations feature the same model ID in the config ROM, hence we can only define a shared quirks list entry for them. Luckily the fix capacity workaround did not show a negative effect in Jarod's tests with 2nd gen. iPod. A side note: Apple computers in target mode (or at least an x86 Mac mini) don't have firmware_version and model_id, hence none of the iPod quirks list entries is active for them. Tested-by: Jarod Wilson Acked-by: Jarod Wilson Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 3b944f23368ab7fa794aea4f7fd3eb8dacbf48c4 Author: Stefan Richter Date: Sat Feb 7 13:09:15 2009 +0100 firewire: sbp2: fix DMA mapping leak on the failure path Commit 5e2125677fd72d36396cc537466e07ffcbbd4b2b upstream. Reported-by: FUJITA Tomonori who also provided a first version of the fix. Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 9b43ba103a54853c55012757d0baa0200c1ec1e7 Author: Stefan Richter Date: Sat Feb 7 13:08:41 2009 +0100 firewire: ohci: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others Commit 8b7b6afaa84708d08139daa08538ca3e56c351f1 upstream. Camcorders have a tendency to fail read requests to their config ROM and write request to their FCP command register with ack_busy_X. This has become a problem with newer kernels and especially Panasonic camcorders, causing AV/C in dvgrab and kino to fail. Dvgrab for example frequently logs "send oops"; kino reports loss of AV/C control. I suspect that lower CPU scheduling latencies in newer kernels made this issue more prominent now. According to https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103 this can be fixed by configuring the FireWire controller for more hardware retries for request transmission; these retries are evidently more successful than libavc1394's own retry loop (typically 3 tries on top of hardware retries). Presumably the same issue has been reported at https://bugzilla.redhat.com/show_bug.cgi?id=449252 and https://bugzilla.redhat.com/show_bug.cgi?id=477279 . In a quick test with a JVC camcorder (which didn't malfunction like the reported camcorders), this change decreased the number of ack_busy_X from 16 in three runs of dvgrab to 4 in three runs of the same capture duration. Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 5d16506948ff1108e54e336d6c06f929879d6648 Author: Stefan Richter Date: Sat Feb 7 13:08:01 2009 +0100 ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others Commit 64c634ef83991b390ec0503e61f16efb0ba3c60b upstream. Camcorders have a tendency to fail read requests to their config ROM and write request to their FCP command register with ack_busy_X. This has become a problem with newer kernels and especially Panasonic camcorders, causing AV/C in dvgrab and kino to fail. Dvgrab for example frequently logs "send oops"; kino reports loss of AV/C control. I suspect that lower CPU scheduling latencies in newer kernels made this issue more prominent now. According to https://sourceforge.net/tracker/?func=detail&atid=114103&aid=2492640&group_id=14103 this can be fixed by configuring the FireWire controller for more hardware retries for request transmission; these retries are evidently more successful than libavc1394's own retry loop (typically 3 tries on top of hardware retries). Presumably the same issue has been reported at https://bugzilla.redhat.com/show_bug.cgi?id=449252 and https://bugzilla.redhat.com/show_bug.cgi?id=477279 . Tested-by: Mathias Beilstein Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit c29f6564c1910b0a5ac22c840fc5ba031cea82b1 Author: Borislav Petkov Date: Tue Feb 3 16:24:22 2009 +0100 x86: APIC: enable workaround on AMD Fam10h CPUs commit 858770619debfb9269add63e4ba8b7c6b5538dd1 upstream. Impact: fix to enable APIC for AMD Fam10h on chipsets with a missing/b0rked ACPI MP table (MADT) Booting a 32bit kernel on an AMD Fam10h CPU running on chipsets with missing/b0rked MP table leads to a hang pretty early in the boot process due to the APIC not being initialized. Fix that by falling back to the default APIC base address in 32bit code, as it is done in the 64bit codepath. Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit 2b46f3769896dc04e1e49144d282e4655677105a Author: Johannes Weiner Date: Wed Feb 4 15:12:14 2009 -0800 wait: prevent exclusive waiter starvation commit 777c6c5f1f6e757ae49ecca2ed72d6b1f523c007 upstream. With exclusive waiters, every process woken up through the wait queue must ensure that the next waiter down the line is woken when it has finished. Interruptible waiters don't do that when aborting due to a signal. And if an aborting waiter is concurrently woken up through the waitqueue, noone will ever wake up the next waiter. This has been observed with __wait_on_bit_lock() used by lock_page_killable(): the first contender on the queue was aborting when the actual lock holder woke it up concurrently. The aborted contender didn't acquire the lock and therefor never did an unlock followed by waking up the next waiter. Add abort_exclusive_wait() which removes the process' wait descriptor from the waitqueue, iff still queued, or wakes up the next waiter otherwise. It does so under the waitqueue lock. Racing with a wake up means the aborting process is either already woken (removed from the queue) and will wake up the next waiter, or it will remove itself from the queue and the concurrent wake up will apply to the next waiter after it. Use abort_exclusive_wait() in __wait_event_interruptible_exclusive() and __wait_on_bit_lock() when they were interrupted by other means than a wake up through the queue. [akpm@linux-foundation.org: coding-style fixes] Reported-by: Chris Mason Signed-off-by: Johannes Weiner Mentored-by: Oleg Nesterov Cc: Peter Zijlstra Cc: Matthew Wilcox Cc: Chuck Lever Cc: Nick Piggin Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 6106d9f94e0cf107af83b6514b1b193233314a33 Author: Clemens Ladisch Date: Fri Feb 6 08:13:07 2009 +0100 sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices commit 894dcd78782842924527598b0b764c9b4e679e21 upstream. For audio devices that do not have proper audio descriptors (e.g., Edirol UA-20), we use hardcoded parameters from our quirks list. However, we must still read the maximum packet size from the standard endpoint descriptor; otherwise, we might use packets that are too big and therefore rejected by the USB core. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit 2bba098bf6965d597db52ba6e377413b4cc24086 Author: Tony Battersby Date: Wed Feb 4 15:12:04 2009 -0800 shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM commit a68e61e8ff2d46327a37b69056998b47745db6fa upstream. shm_get_stat() assumes that the inode is a "struct shmem_inode_info", which is incorrect for !CONFIG_SHMEM (see fs/ramfs/inode.c: ramfs_get_inode() vs. mm/shmem.c: shmem_get_inode()). This bad assumption can cause shmctl(SHM_INFO) to lockup when shm_get_stat() tries to spin_lock(&info->lock). Users of !CONFIG_SHMEM may encounter this lockup simply by invoking the 'ipcs' command. Reported by Jiri Olsa back in February 2008: http://lkml.org/lkml/2008/2/29/74 Signed-off-by: Tony Battersby Cc: Jiri Kosina Reported-by: Jiri Olsa Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 70a7607eecf3cf7dd4cd03627ff244ae7b3729e5 Author: Dean Nelson Date: Wed Feb 4 15:12:24 2009 -0800 sgi-xp: fix writing past the end of kzalloc()'d space commit 361916a943cd9dbda1c0b00879d0225cc919d868 upstream. A missing type cast results in writing way beyond the end of a kzalloc()'d memory segment resulting in slab corruption. But it seems like the better solution is to define ->recv_msg_slots as a 'void *' rather than a 'struct xpc_notify_mq_msg_uv *' and add the type cast. Signed-off-by: Dean Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit bdb6a508be1efd20d813f4e09203d42da94c9f54 Author: Masami Hiramatsu Date: Thu Feb 5 17:12:39 2009 -0500 prevent kprobes from catching spurious page faults commit 9be260a646bf76fa418ee519afa10196b3164681 upstream. Prevent kprobes from catching spurious faults which will cause infinite recursive page-fault and memory corruption by stack overflow. Signed-off-by: Masami Hiramatsu Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit c8e7fd2807c76ec171fee6bce142cd06b5745497 Author: Rusty Russell Date: Sat Feb 7 18:15:56 2009 +1030 module: remove over-zealous check in __module_get() commit 7f9a50a5b89b87f8e754f59ae9968da28be618a5 upstream. Impact: fix spurious BUG_ON() triggered under load module_refcount() isn't reliable outside stop_machine(), as demonstrated by Karsten Keil , networking can trigger it under load (an inc on one cpu and dec on another while module_refcount() is tallying can give false results, for example). Almost noone should be using __module_get, but that's another issue. Cc: Karsten Keil Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit d7a95c07acbca8128e8a3a776bc1ab43ad744f9f Author: NeilBrown Date: Fri Feb 6 18:02:46 2009 +1100 md: Ensure an md array never has too many devices. commit de01dfadf25bf83cfe3d85c163005c4320532658 upstream. Each different metadata format supported by md supports a different maximum number of devices. We really should be enforcing this maximum in the kernel, but we aren't quite doing that properly. We currently only enforce it at the 'hot_add' point, which is an older interface which is not used by current userspace. We need to also enforce it at 'add_new_disk' time for active arrays and at 'do_md_run' time when starting a new array. So move the test from 'hot_add' into 'bind_rdev_to_array' which is called from both 'hot_add' and 'add_new_disk, and add a new test in 'analyse_sbs' which is called from 'do_md_run'. This bug (or missing feature) has been around "forever" and so the patch is suitable for any -stable that is currently maintained. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman commit 106d6a4bdb51dc18233e43a4baee041167db3973 Author: Darren Salt Date: Sat Feb 7 01:02:07 2009 -0500 eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init commit 7695fb04aca62e2d8a7ca6ede50f6211e1d71e53 upstream. I got the following oops while changing the backlight brightness during startup. When it happens, it prevents use of the hotkeys, Fn-Fx, and the lid button. It's a clear use-before-init, as I verified by testing with an appropriately-placed "else printk". BUG: unable to handle kernel NULL pointer dereference at 00000000 *pde = 00000000 Oops: 0002 [#1] PREEMPT SMP Pid: 160, comm: kacpi_notify Not tainted (2.6.28.1-eee901 #4) 901 EIP: 0060:[] [] eeepc_hotk_notify+26/da EFLAGS: 00010246 CPU: 1 Using defaults from ksymoops -t elf32-i386 -a i386 EAX: 00000009 EBX: 00000000 ECX: 00000009 EDX: f70dbf64 ESI: 00000029 EDI: f7335188 EBP: c02112c9 ESP: f70dbf80 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 f70731e0 f73acd50 c02164ac f7335180 f70aa040 c02112e6 f733518c c012b62f f70aa044 f70aa040 c012bdba f70aa04c 00000000 c012be6e 00000000 f70bdf80 c012e198 f70dbfc4 f70dbfc4 f70aa040 c012bdba 00000000 c012e0c9 c012e091 Call Trace: [] ? acpi_ev_notify_dispatch+4c/55 [] ? acpi_os_execute_deferred+1d/25 [] ? run_workqueue+71/f1 [] ? worker_thread+0/bf [] ? worker_thread+b4/bf [] ? autoremove_wake_function+0/2b [] ? worker_thread+0/bf [] ? kthread+38/5f [] ? kthread+0/5f [] ? kernel_thread_helper+7/10 Code: 00 00 00 00 c3 83 3d 60 5c 50 c0 00 56 89 d6 53 0f 84 c4 00 00 00 8d 42 e0 83 f8 0f 77 0f 8b 1d 68 5c 50 c0 89 d8 e8 a9 fa ff ff <89> 03 8b 1d 60 5c 50 c0 89 f2 83 e2 7f 0f b7 4c 53 10 8d 41 01 Signed-off-by: Darren Salt Signed-off-by: Andrew Morton Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit b8863dd91d9bdd57efaeb3b47c6466b3a7c1b031 Author: Karsten Keil Date: Tue Feb 3 15:18:01 2009 -0800 e1000: Fix PCI enable to honor the need_ioport flag commit 4d7155b932b8129c72e2f2714890e20b2a05e0b7 upstream. On machine were no IO ports are assigned the call to pci_enable_device() will fail, even if need_ioport is false, we need to use pci_enable_device_mem() here. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit c6ac5fe00250faed88fb258d7ec91ec99bbe1e95 Author: Jesse Brandeburg Date: Tue Jan 27 16:41:58 2009 -0800 e1000: fix bug with shared interrupt during reset commit 15b2bee22a0390d951301b53e83df88d0350c499 upstream. A nasty bug was found where an MTU change (or anything else that caused a reset) could race with the interrupt code. The interrupt code was entered by a shared interrupt during the MTU change. This change prevents the interrupt code from running while the driver is in the middle of its reset path. Signed-off-by: Jesse Brandeburg Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 297c65a6bff93f734511abc154c968aa85f889bf Author: Keith Packard Date: Tue Oct 14 17:18:45 2008 -0700 agp/intel: Reduce extraneous PCI posting reads during init commit 44d494417278e49f5b42bd3ded1801b6d2254db8 upstream. Instead of doing a posting read after each GTT entry update, do a single one at the end of the writes. This should reduce boot time a tiny amount by avoiding a lot of extra uncached reads. Signed-off-by: Keith Packard Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman commit daa7adb9f35df28a7da302731715190615e94498 Author: Eric Anholt Date: Mon Dec 22 18:56:27 2008 -0800 agp/intel: Fix broken ® symbol in device name. commit b854b2ab959e8175d75e01cf8ed452ed2624d0c8 upstream. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman commit 1957e1c8a77c9d49f96136fd2b91a84a08fa9e0a Author: Zhenyu Wang Date: Mon Nov 17 14:39:00 2008 +0800 agp/intel: add support for G41 chipset commit a50ccc6c6623ab0e64f2109881e07c176b2d876f upstream. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman commit a5fdfba3471e6ebe51403e3de4a5733ba5259fa2 Author: Pallipadi, Venkatesh Date: Mon Feb 2 11:57:18 2009 -0800 ACPI: Enable bit 11 in _PDC to advertise hw coord commit d96f94c604453f87fe24154b87e1e9a3a72511f8 upstream. Bit 11 in intel PDC definitions is meant for OS capability to handle hardware coordination of P-states. In Linux we have always supported hwardware coordination of P-states. Just let the BIOSes know that we support it, by setting this bit. Some BIOSes use this bit to choose between hardware or software coordination and without this change below, BIOSes switch to software coordination, which is not very optimal in terms of power consumption and extra wakeups from idle. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman commit 1d672ef324e78a467603ef55aa4558cac9f895ba Author: Holger Macht Date: Tue Jan 20 12:18:24 2009 +0100 ACPI: dock: Don't eval _STA on every show_docked sysfs read commit fc5a9f8841ee87d93376ada5d73117d4d6a373ea upstream. Some devices trigger a DEVICE_CHECK on every evalutation of _STA. This can also be seen in commit 8b59560a3baf2e7c24e0fb92ea5d09eca92805db (ACPI: dock: avoid check _STA method). If an undock is processed, the dock driver sends a uevent and userspace might read the show_docked property in sysfs. This causes an evaluation of _STA of the particular device which causes the dock driver to immediately dock again. In any case, evaluation of _STA (show_docked) does not necessarily mean that we are docked, so check with the internal device structure. http://bugzilla.kernel.org/show_bug.cgi?id=12360 Signed-off-by: Holger Macht Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman