commit 59fcbddaff6f862cc1584b488866d9c4a5579085 Merge: 39678e5... b0fe551... Author: Linus Torvalds Date: Sun Mar 22 11:41:02 2009 -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: improve seed in randconfig kconfig: fix randconfig for choice blocks commit 39678e5e38055753ae08007ec8bcae31b122a0d0 Merge: f762dd6... 7a2cf4a... Author: Linus Torvalds Date: Sun Mar 22 11:38:57 2009 -0700 Merge branch 'fix-includes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'fix-includes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k: merge the non-MMU and MMU versions of siginfo.h m68k: use the MMU version of unistd.h for all m68k platforms m68k: merge the non-MMU and MMU versions of signal.h m68k: merge the non-MMU and MMU versions of ptrace.h m68k: use MMU version of setup.h for both MMU and non-MMU m68k: merge the non-MMU and MMU versions of sigcontext.h m68k: merge the non-MMU and MMU versions of swab.h m68k: merge the non-MMU and MMU versions of param.h commit f762dd68218665bb87d4e4a0eeac86fde7530293 Author: Gertjan van Wingerde Date: Sat Mar 21 23:18:57 2009 +0100 Update my email address Update all previous incarnations of my email address to the correct one. Signed-off-by: Gertjan van Wingerde Signed-off-by: Linus Torvalds commit 2aac0cf88681bfa092f731553bc7fbd23516be73 Author: Tyler Hicks Date: Fri Mar 20 02:23:57 2009 -0500 eCryptfs: NULL crypt_stat dereference during lookup If ecryptfs_encrypted_view or ecryptfs_xattr_metadata were being specified as mount options, a NULL pointer dereference of crypt_stat was possible during lookup. This patch moves the crypt_stat assignment into ecryptfs_lookup_and_interpose_lower(), ensuring that crypt_stat will not be NULL before we attempt to dereference it. Thanks to Dan Carpenter and his static analysis tool, smatch, for finding this bug. Signed-off-by: Tyler Hicks Acked-by: Dustin Kirkland Cc: Dan Carpenter Cc: Serge Hallyn Signed-off-by: Linus Torvalds commit 8faece5f906725c10e7a1f6caf84452abadbdc7b Author: Tyler Hicks Date: Fri Mar 20 01:25:09 2009 -0500 eCryptfs: Allocate a variable number of pages for file headers When allocating the memory used to store the eCryptfs header contents, a single, zeroed page was being allocated with get_zeroed_page(). However, the size of an eCryptfs header is either PAGE_CACHE_SIZE or ECRYPTFS_MINIMUM_HEADER_EXTENT_SIZE (8192), whichever is larger, and is stored in the file's private_data->crypt_stat->num_header_bytes_at_front field. ecryptfs_write_metadata_to_contents() was using num_header_bytes_at_front to decide how many bytes should be written to the lower filesystem for the file header. Unfortunately, at least 8K was being written from the page, despite the chance of the single, zeroed page being smaller than 8K. This resulted in random areas of kernel memory being written between the 0x1000 and 0x1FFF bytes offsets in the eCryptfs file headers if PAGE_SIZE was 4K. This patch allocates a variable number of pages, calculated with num_header_bytes_at_front, and passes the number of allocated pages along to ecryptfs_write_metadata_to_contents(). Thanks to Florian Streibelt for reporting the data leak and working with me to find the problem. 2.6.28 is the only kernel release with this vulnerability. Corresponds to CVE-2009-0787 Signed-off-by: Tyler Hicks Acked-by: Dustin Kirkland Reviewed-by: Eric Sandeen Reviewed-by: Eugene Teo Cc: Greg KH Cc: dann frazier Cc: Serge E. Hallyn Cc: Florian Streibelt Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 18a0d89e54ca0f6f33582f99ae39867b2c975559 Author: Benjamin Herrenschmidt Date: Fri Mar 20 09:22:30 2009 +1100 radeonfb: Whack the PCI PM register until it sticks This fixes a regression introduced when we switched to using the core pci_set_power_state(). The chip seems to need the state to be written over and over again until it sticks, so we do that. Note that the code is a bit blunt, without timeout, etc... but that's pretty much because I put back in there the code exactly as it used to be before the regression. I still add a call to pci_set_power_state() at the end so that ACPI gets called appropriately on x86. Signed-off-by: Benjamin Herrenschmidt Tested-by: Raymond Wooninck Acked-by: Rafael J. Wysocki Cc: Jesse Barnes Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 65c24491b4fef017c64e39ec64384fde5e05e0a0 Author: Jeff Moyer Date: Wed Mar 18 17:04:21 2009 -0700 aio: lookup_ioctx can return the wrong value when looking up a bogus context The libaio test harness turned up a problem whereby lookup_ioctx on a bogus io context was returning the 1 valid io context from the list (harness/cases/3.p). Because of that, an extra put_iocontext was done, and when the process exited, it hit a BUG_ON in the put_iocontext macro called from exit_aio (since we expect a users count of 1 and instead get 0). The problem was introduced by "aio: make the lookup_ioctx() lockless" (commit abf137dd7712132ee56d5b3143c2ff61a72a5faa). Thanks to Zach for pointing out that hlist_for_each_entry_rcu will not return with a NULL tpos at the end of the loop, even if the entry was not found. Signed-off-by: Jeff Moyer Acked-by: Zach Brown Acked-by: Jens Axboe Cc: Benjamin LaHaise Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87c3a86e1c220121d0ced59d1a71e78ed9abc6dd Author: Davide Libenzi Date: Wed Mar 18 17:04:19 2009 -0700 eventfd: remove fput() call from possible IRQ context Remove a source of fput() call from inside IRQ context. Myself, like Eric, wasn't able to reproduce an fput() call from IRQ context, but Jeff said he was able to, with the attached test program. Independently from this, the bug is conceptually there, so we might be better off fixing it. This patch adds an optimization similar to the one we already do on ->ki_filp, on ->ki_eventfd. Playing with ->f_count directly is not pretty in general, but the alternative here would be to add a brand new delayed fput() infrastructure, that I'm not sure is worth it. Signed-off-by: Davide Libenzi Cc: Benjamin LaHaise Cc: Trond Myklebust Cc: Eric Dumazet Signed-off-by: Jeff Moyer Cc: Zach Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0115552cdb0b4d4146975889fee2e9355515c4b Author: Linus Torvalds Date: Thu Mar 19 15:53:19 2009 -0700 Move cc-option to below arch-specific setup Sam Ravnborg says: "We have several architectures that plays strange games with $(CC) and $(CROSS_COMPILE). So we need to postpone any use of $(call cc-option..) until we have included the arch specific Makefile so we try with the correct $(CC) version." Requested-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit caa81d671f485dc54960e37a888d3b55349850a9 Merge: 2d8620c... 0fb1d9b... Author: Linus Torvalds Date: Thu Mar 19 14:56:35 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] make page table upgrade work again [S390] make page table walking more robust [S390] Dont check for pfn_valid() in uaccess_pt.c [S390] ftrace/mcount: fix kernel stack backchain [S390] topology: define SD_MC_INIT to fix performance regression [S390] __div64_31 broken for CONFIG_MARCH_G5 commit 2d8620cb880c796c9a9b59fe8d4ff37d726acfea Merge: fe2fd6c... 96fe2ab... Author: Linus Torvalds Date: Thu Mar 19 14:50:15 2009 -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: fix waitqueue usage in hiddev HID: fix incorrect free in hiddev commit fe2fd6cc346cc7199a52250e8fb594852b2a321b Merge: a8e7d49... 913d952... Author: Linus Torvalds Date: Thu Mar 19 14:49:55 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: Clear space_info full when adding new devices Btrfs: Fix locking around adding new space_info commit a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5 Author: Linus Torvalds Date: Thu Mar 19 11:32:05 2009 -0700 Fix race in create_empty_buffers() vs __set_page_dirty_buffers() Nick Piggin noticed this (very unlikely) race between setting a page dirty and creating the buffers for it - we need to hold the mapping private_lock until we've set the page dirty bit in order to make sure that create_empty_buffers() might not build up a set of buffers without the dirty bits set when the page is dirty. I doubt anybody has ever hit this race (and it didn't solve the issue Nick was looking at), but as Nick says: "Still, it does appear to solve a real race, which we should close." Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit 68df3755e383e6fecf2354a67b08f92f18536594 Author: Linus Torvalds Date: Thu Mar 19 11:10:17 2009 -0700 Add '-fwrapv' to gcc CFLAGS This makes sure that gcc doesn't try to optimize away wrapping arithmetic, which the kernel occasionally uses for overflow testing, ie things like if (ptr + offset < ptr) which technically is undefined for non-unsigned types. See http://bugzilla.kernel.org/show_bug.cgi?id=12597 for details. Not all versions of gcc support it, so we need to make it conditional (it looks like it was introduced in gcc-3.4). Reminded-by: Alan Cox Signed-off-by: Linus Torvalds commit a1e4ee22863d41a6fbb24310d7951836cb6dafe7 Merge: 85bff88... d0573fa... Author: Linus Torvalds Date: Wed Mar 18 09:34:17 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: benet: remove driver now that it is merged in drivers/net/ commit 85bff8857c62ab2bc3ed204de3fcde74781bbdb2 Merge: d941d0e... 76a67ec... Author: Linus Torvalds Date: Wed Mar 18 09:27:20 2009 -0700 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: nfsd: nfsd should drop CAP_MKNOD for non-root NFSD: provide encode routine for OP_OPENATTR commit d0573facf21d1e5cfbc1ddac272b7592722e6c01 Author: Greg Kroah-Hartman Date: Wed Mar 18 09:22:17 2009 -0700 Staging: benet: remove driver now that it is merged in drivers/net/ The benet driver is now in the proper place in drivers/net/benet, so we can remove the staging version. Acked-by: Sathya Perla Cc: David S. Miller Signed-off-by: Greg Kroah-Hartman commit d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8 Merge: 8144737... 9aac397... Author: Linus Torvalds Date: Wed Mar 18 09:05:40 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ps3: ps3_defconfig updates powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx ps3/block: Replace mtd/ps3vram by block/ps3vram commit 8144737def6abc49457124424887436531bd6a50 Merge: 99dbe10... 6e2b757... Author: Linus Torvalds Date: Wed Mar 18 09:04:25 2009 -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: fix refptr allocation and release order commit 99dbe10968b495c14badbd50aee59a7f0459c8e6 Merge: bd27e6d... 8a0845c... Author: Linus Torvalds Date: Wed Mar 18 09:03:18 2009 -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: storage: Unusual USB device Prolific 2507 variation added USB: Add device id for Option GTM380 to option driver USB: Add Vendor/Product ID for new CDMA U727 to option driver USB: Updated unusual-devs entry for USB mass storage on Nokia 6233 USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530 USB: EHCI: expedite unlinks when the root hub is suspended USB: EHCI: Fix isochronous URB leak USB: option.c: add ZTE 622 modem device USB: wusbcore/wa-xfer, fix lock imbalance USB: misc/vstusb, fix lock imbalance USB: misc/adutux, fix lock imbalance USB: image/mdc800, fix lock imbalance USB: atm/cxacru, fix lock imbalance USB: unusual_devs: Add support for GI 0431 SD-Card interface USB: serial: new cp2101 device id USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0 USB: serial: add FTDI USB/Serial converter devices USB: usbfs: keep async URBs until the device file is closed USB: usbtmc: add protocol 1 support USB: usbtmc: fix stupid bug in open() commit bd27e6d3d27ce1485a64a4851c4dcf58e663b132 Merge: 58cefd2... f1aa298... Author: Linus Torvalds Date: Wed Mar 18 07:39:11 2009 -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: Fix vunmap and free order in snd_free_sgbuf_pages() ALSA: mixart, fix lock imbalance ALSA: pcm_oss, fix locking typo ALSA: oss-mixer - Fixes recording gain control ALSA: hda - Workaround for buggy DMA position on ATI controllers ALSA: hda - Fix DMA mask for ATI controllers ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2 commit 0fb1d9bcbcf701a45835aa150c57ca54ea685bfa Author: Martin Schwidefsky Date: Wed Mar 18 13:27:37 2009 +0100 [S390] make page table upgrade work again After TASK_SIZE now gives the current size of the address space the upgrade of a 64 bit process from 3 to 4 levels of page table needs to use the arch_mmap_check hook to catch large mmap lengths. The get_unmapped_area* functions need to check for -ENOMEM from the arch_get_unmapped_area*, upgrade the page table and retry. Signed-off-by: Martin Schwidefsky commit f481bfafd36e621d6cbc62d4b25f74811410aef7 Author: Martin Schwidefsky Date: Wed Mar 18 13:27:36 2009 +0100 [S390] make page table walking more robust Make page table walking on s390 more robust. The current code requires that the pgd/pud/pmd/pte loop is only done for address ranges that are below the end address of the last vma of the address space. But this is not always true, e.g. the generic page table walker does not guarantee this. Change TASK_SIZE/TASK_SIZE_OF to reflect the current size of the address space. This makes the generic page table walker happy but it breaks the upgrade of a 3 level page table to a 4 level page table. To make the upgrade work again another fix is required. Signed-off-by: Martin Schwidefsky commit 2887fc5aa60803b9d6d38c79248805f08d8b0e28 Author: Gerald Schaefer Date: Wed Mar 18 13:27:35 2009 +0100 [S390] Dont check for pfn_valid() in uaccess_pt.c pfn_valid() actually checks for a valid struct page and not for a valid pfn. Using xip mappings w/o struct pages, this will result in -EFAULT returned by the (page table walk) user copy functions, even though there is valid memory. Those user copy functions don't need a struct page, so this patch just removes the pfn_valid() check. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit cf087343805ebfea2b1234b06fd5f12273e865b1 Author: Heiko Carstens Date: Wed Mar 18 13:27:34 2009 +0100 [S390] ftrace/mcount: fix kernel stack backchain With packed stack the backchain is at a different location. Just use __SF_BACKCHAIN as an offset to store the backchain. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f55d63854e426e95d7858c2662c2353262a5af70 Author: Heiko Carstens Date: Wed Mar 18 13:27:33 2009 +0100 [S390] topology: define SD_MC_INIT to fix performance regression The default values for SD_MC_INIT cause an additional cpu usage of up to 40% on some network benchmarks compared to the plain SD_CPU_INIT values. So just define SD_MC_INIT to SD_CPU_INIT. More tuning needs to be done. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4fa81ed27781a12f6303b9263056635ae74e3e21 Author: Martin Schwidefsky Date: Wed Mar 18 13:27:32 2009 +0100 [S390] __div64_31 broken for CONFIG_MARCH_G5 The implementation of __div64_31 for G5 machines is broken. The comments in __div64_31 are correct, only the code does not do what the comments say. The part "If the remainder has overflown subtract base and increase the quotient" is only partially realized, the base is subtracted correctly but the quotient is only increased if the dividend had the last bit set. Using the correct instruction fixes the problem. Cc: stable@kernel.org Reported-by: Frans Pop Tested-by: Frans Pop Signed-off-by: Martin Schwidefsky commit f1aa2986795387ff785d1c13ad9cb9159b202e87 Merge: a232ee6... dde332b... Author: Takashi Iwai Date: Wed Mar 18 08:04:36 2009 +0100 Merge branch 'fix/opl3sa2-suspend' into for-linus commit a232ee66e015da806936dc410684f5639035f066 Merge: 6af845e... c673ba1... Author: Takashi Iwai Date: Wed Mar 18 08:04:16 2009 +0100 Merge branch 'fix/hda' into for-linus commit 6af845e4eb36fb91b322aaf77ec1cab2220a48ad Author: Takashi Iwai Date: Tue Mar 17 14:00:06 2009 +0100 ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() In snd_free_sgbuf_pags(), vunmap() is called after releasing the SG pages, and it causes errors on Xen as Xen manages the pages differently. Although no significant errors have been reported on the actual hardware, this order should be fixed other way round, first vunmap() then free pages. Cc: Jan Beulich Cc: Signed-off-by: Takashi Iwai commit 82f5d57163abed2e5ff271d03217b6f90c616eb8 Author: Jiri Slaby Date: Wed Mar 11 20:11:41 2009 +0100 ALSA: mixart, fix lock imbalance There is an omitted unlock in one snd_mixart_hw_params fail path. Fix it. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Takashi Iwai commit 91054598f794fb5d8a0b1e747ff8e2e8fc2115b3 Author: Jiri Slaby Date: Wed Mar 11 20:11:40 2009 +0100 ALSA: pcm_oss, fix locking typo s/mutex_lock/mutex_unlock/ on 2 fail paths in snd_pcm_oss_proc_write. Probably a typo, lock should be unlocked when leaving the function. Signed-off-by: Jiri Slaby Cc: Signed-off-by: Takashi Iwai commit 36c7b833e5d2501142a371e4e75281d3a29fbd6b Author: Viral Mehta Date: Tue Mar 10 15:43:18 2009 +0100 ALSA: oss-mixer - Fixes recording gain control At the time of initialization, SNDRV_MIXER_OSS_PRESENT_PVOLUME bit is not set for MIC (slot 7). So, the same should not be checked when an application tries to do gain control for audio recording devices. Just check slot->present for SNDRV_MIXER_OSS_PRESENT_CVOLUME independently. Verified with a simple application which opens /dev/dsp for recording and /dev/mixer for volume control. Have tested two usb audio mic devices. Signed-off-by: Viral Mehta Signed-off-by: Takashi Iwai commit c673ba1c23941173c16ff24c7cb34199e826c8b5 Author: Takashi Iwai Date: Tue Mar 17 07:49:14 2009 +0100 ALSA: hda - Workaround for buggy DMA position on ATI controllers The position-buffer on ATI controllers are unreliable as well as on VIA chips, thus the same workaround for DMA position reading as VIA is useful for ATI. Cc: Signed-off-by: Takashi Iwai commit 09240cf429505891d6123ce14a29f58f2a60121e Author: Takashi Iwai Date: Tue Mar 17 07:47:18 2009 +0100 ALSA: hda - Fix DMA mask for ATI controllers ATI controllers (at least some SB0600 models) appear buggy to handle 64bit DMA. As a workaround, reset GCAP bit0 and let the driver to use only 32bit DMA on these controllers. Cc: Signed-off-by: Takashi Iwai commit 58cefd2b1e062147502302179503dc51907426d1 Merge: ee568b2... d33a197... Author: Linus Torvalds Date: Tue Mar 17 20:55:40 2009 -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 bb_prealloc_list corruption due to wrong group locking ext4: fix bogus BUG_ONs in in mballoc code ext4: Print the find_group_flex() warning only once ext4: fix header check in ext4_ext_search_right() for deep extent trees. commit 9aac397525dc7945b1582a80cef5860516bca452 Author: Geoff Levand Date: Fri Mar 13 06:52:22 2009 +0000 powerpc/ps3: ps3_defconfig updates Update ps3_defconfig. Sets these options: CONFIG_PS3_VRAM=m CONFIG_BLK_DEV_DM=m CONFIG_USB_HIDDEV=y CONFIG_EXT4_FS=y Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c71327ad9f925a4ddbf24db80ce66165104c4ed0 Merge: f507cd2... a4bd6a9... Author: Benjamin Herrenschmidt Date: Wed Mar 18 13:16:30 2009 +1100 Merge commit 'gcl/merge' into merge commit 6e2b75740bed35df98b8113300579e13ed2ce848 Author: Masami Hiramatsu Date: Mon Mar 16 18:13:36 2009 -0400 module: fix refptr allocation and release order Impact: fix ref-after-free crash on failed module load Fix refptr bug: Change refptr allocation and release order not to access a module data structure pointed by 'mod' after freeing mod->module_core. This bug will cause kernel panic(e.g. failed to find undefined symbols). This bug was reported on systemtap bugzilla. http://sources.redhat.com/bugzilla/show_bug.cgi?id=9927 Signed-off-by: Masami Hiramatsu Cc: Eric Dumazet Signed-off-by: Rusty Russell commit 8a0845c51b2e300f5204a323b874f7f58ea0eff7 Author: Thomas Bartosik Date: Mon Mar 16 16:04:38 2009 +0100 USB: storage: Unusual USB device Prolific 2507 variation added The "c-enter" USB to Toshiba 1.8" IDE enclosure needs special treatment to work flawlessly. This patch is absolutely trivial, as the integrated USB-IDE bridge is already identified to be an "unusual" device, only the bcdDevice is different (lower) to the bcdDeviceMin already included in the kernel. It is a Prolific 2507 bridge. T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=2507 Rev= 0.01 S: Manufacturer=Prolific Technology Inc. S: Product=ATAPI-6 Bridge Controller S: SerialNumber=00000272 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Thomas Bartosik Cc: stable Signed-off-by: Greg Kroah-Hartman commit e7f2f0d77a7b483a26054f29ba8393831b25a8a4 Author: Achilleas Kotsis Date: Mon Mar 16 16:35:02 2009 +0200 USB: Add device id for Option GTM380 to option driver Option GTM380 in Modem mode uses Product ID 0x7201. This has been tested and works on production systems for over 6 months. Signed-off-by: Achilleas Kotsis Cc: stable Signed-off-by: Greg Kroah-Hartman commit 56a21827439a4d715b510bfaf488534e6f4ad2f8 Author: Dirk Hohndel Date: Sat Mar 14 20:47:39 2009 -0700 USB: Add Vendor/Product ID for new CDMA U727 to option driver * newer versions of the Novatel Wireless U727 CDMA 3G USB stick have a different Product ID (0x5010); adding this ID makes them work just fine with the option driver Signed-off-by: Dirk Hohndel Cc: stable Signed-off-by: Greg Kroah-Hartman commit 716a9c8561d9c50ec454f4fbd39a265892feda2c Author: Moritz Muehlenhoff Date: Sat Mar 14 00:43:21 2009 +0100 USB: Updated unusual-devs entry for USB mass storage on Nokia 6233 Current firmware revision 5.60 still behaves the same, so update the quirk up a (non-existing) 99.99 revision. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493415 Signed-off-by: Moritz Muehlenhoff Tested-by: Jan Heitkoetter Cc: stable Signed-off-by: Phil Dibowitz commit 0cc6bfe901b946df125d8e37186d8e45f876457d Author: Dan Williams Date: Thu Mar 12 06:53:00 2009 -0400 USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530 The generic cdc-acm driver is now the best one to handle Sony Ericsson F3507g-based devices (which the Dell 5530 is a rebrand of), now that all the pieces are in place (ie, cac477e8f1038c41b6f29d3161ce351462ef3df7). Removing the IDs from option allows cdc-acm to handle the device. Signed-off-by: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit 391016f6e2fe3b9979b4c6880a76e5e434d6947c Author: Alan Stern Date: Mon Mar 16 14:21:56 2009 -0400 USB: EHCI: expedite unlinks when the root hub is suspended This patch (as1225) fixes a bug in ehci-hcd. The condition for whether unlinked QHs can become IDLE should not be that the controller is halted, but rather that the controller isn't running. In other words when the root hub is suspended, the hardware doesn't own any QHs. This fixes a problem that can show up during hibernation: If a QH is only partially unlinked when the root hub is frozen, then when the root hub is thawed the QH won't be in the IDLE state. As a result it can't be used properly for new URB submissions. Signed-off-by: Alan Stern Reported-by: Brandon Philips Tested-by: Brandon Philips Acked-by: David Brownell Cc: Stable Signed-off-by: Greg Kroah-Hartman commit 508db8c954d55ed30f870d2c24d741ba6269d13c Author: Karsten Wiese Date: Thu Feb 26 01:47:48 2009 +0100 USB: EHCI: Fix isochronous URB leak ehci-hcd uses usb_get_urb() and usb_put_urb() in an unbalanced way causing isochronous URB's kref.counts incrementing once per usb_submit_urb() call. The culprit is *usb being set to NULL when usb_put_urb() is called after URB is given back. Due to other fixes there is no need for ehci-hcd to deal with usb_get_urb() nor usb_put_urb() anymore, so patch removes their usages in ehci-hcd. Patch also makes ehci_to_hcd(ehci)->self.bandwidth_allocated adjust, if a stream finishes. Signed-off-by: Karsten Wiese Cc: David Brownell Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9ea19b82f3126da4e47d6b94563a3c2cd586f6e2 Author: Albert Pauw Date: Sun Mar 1 09:37:52 2009 +0100 USB: option.c: add ZTE 622 modem device Please consider this small patch for the usb option-card driver. This patch adds the ZTE 622 usb modem device. Signed-off-by: Albert Pauw Cc: stable Signed-off-by: Greg Kroah-Hartman commit 49fa09215c03116449184057f062c6aea2f1d0b4 Author: Jiri Slaby Date: Wed Mar 11 21:47:40 2009 +0100 USB: wusbcore/wa-xfer, fix lock imbalance Fix locking on one wa_urb_enqueue_b's fail path. There was omitted unlock. Signed-off-by: Jiri Slaby Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit a08b43aee46ed4272ad7bee2c785edcf313339b3 Author: Jiri Slaby Date: Wed Mar 11 21:47:39 2009 +0100 USB: misc/vstusb, fix lock imbalance Make sure we don't leak locked vstdev->lock in vstusb_write. Unlock properly on one fail path. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 46c9844c4014be53c67622dcd3ba4302f36e9cac Author: Jiri Slaby Date: Wed Mar 11 21:47:38 2009 +0100 USB: misc/adutux, fix lock imbalance Don't unlock adutux_mutex when not held. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 909b6c3fc20ea772dc63a03986d74148fcbb1a1d Author: Jiri Slaby Date: Wed Mar 11 21:47:37 2009 +0100 USB: image/mdc800, fix lock imbalance There is an omitted unlock in mdc800_usb_probe's fail path. Add it. Signed-off-by: Jiri Slaby Cc: Henning Zabel Signed-off-by: Greg Kroah-Hartman commit eeafa64b7a4134da24d48ed944e48541f8171152 Author: Jiri Slaby Date: Wed Mar 11 21:47:36 2009 +0100 USB: atm/cxacru, fix lock imbalance We do not hold mutex in one place in cxacru_cm, but unlock it on fail path. Fix this. Signed-off-by: Jiri Slaby Cc: Simon Arlott Signed-off-by: Greg Kroah-Hartman commit c497e715f93d148d751c055401568684eea0bf6b Author: Jan Dumon Date: Tue Mar 10 17:29:47 2009 +0100 USB: unusual_devs: Add support for GI 0431 SD-Card interface Enable the SD-Card interface on the GI 0431 HSUPA stick 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. T: Bus=07 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 15 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 P: Vendor=0af0 ProdID=7501 Rev= 0.00 S: Manufacturer=Option N.V. S: Product=Globetrotter HSUPA Modem C:* #Ifs=11 Cfg#= 1 Atr=a0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso 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= 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= 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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso 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= 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= 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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso 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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso 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= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=89(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= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso E: Ad=8a(I) Atr=03(Int.) MxPS= 64 Ivl=2ms E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms I:* If#=10 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms Signed-off-by: Jan Dumon Signed-off-by: Phil Dibowitz Cc: stable Signed-off-by: Greg Kroah-Hartman commit c6535668798b0644e1af5934c2aec0e912280449 Author: Robert M. Kenney Date: Thu Feb 26 14:58:39 2009 -0500 USB: serial: new cp2101 device id From: Robert M. Kenney Cc: stable Signed-off-by: Greg Kroah-Hartman commit b0d659002168146ec6b03d1ef062d8dcf05ff510 Author: Michael Hennerich Date: Fri Mar 6 14:07:43 2009 -0800 USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7f82b6dd7015aabca2fd55fb690248f742cd67f3 Author: Axel Wachtler Date: Thu Mar 5 14:09:22 2009 -0800 USB: serial: add FTDI USB/Serial converter devices Add the following devices to the USB FTDI SIO device table: Bus 001 Device 009: ID 03eb:2109 Atmel Corp. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4187 Bus 001 Device 008: ID 1cf1:0001 http://www.dresden-elektronik.de/shop/prod75.html Bus 001 Device 007: ID 1c1f:0004 http://www.dresden-elektronik.de/shop/prod64.html Signed-off-by: Axel Wachtler Signed-off-by: Robert Richter Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 6ff10464096540e14d7575a72c50d0316d003714 Author: Alan Stern Date: Mon Mar 9 13:44:02 2009 -0400 USB: usbfs: keep async URBs until the device file is closed The usbfs driver manages a list of completed asynchronous URBs. But it is too eager to free the entries on this list: destroy_async() gets called whenever an interface is unbound or a device is removed, and it deallocates the outstanding struct async entries for all URBs on that interface or device. This is wrong; the user program should be able to reap an URB any time after it has completed, regardless of whether or not the interface is still bound or the device is still present. This patch (as1222) moves the code for deallocating the completed list entries from destroy_async() to usbdev_release(). The outstanding entries won't be freed until the user program has closed the device file, thereby eliminating any possibility that the remaining URBs might still be reaped. This fixes a bug in which a program can hang in the USBDEVFS_REAPURB ioctl when the device is unplugged. Reported-and-tested-by: Martin Poupe Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 228dd05dbfdd0fced8ab1a28ed73b500ba6bb0a6 Author: Greg Kroah-Hartman Date: Wed Mar 11 13:51:42 2009 -0700 USB: usbtmc: add protocol 1 support The driver already supports the 1 protocol support, so just add it to the MODULE_DEVICE_TABLE entry so it properly picks up these devices. Thanks to Jouni Rynö for pointing this out. Reported-by: Jouni Ryno Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5b10916ea0a62920204517e1c4ce14560b4f96ab Author: Greg Kroah-Hartman Date: Tue Mar 10 20:42:55 2009 -0700 USB: usbtmc: fix stupid bug in open() open() will never succeed, as we always return -ENODEV. Fix this obvious bug. Thanks to Jouni Ryno for reporting it. Reported-by: Jouni Ryno Cc: stable Signed-off-by: Greg Kroah-Hartman commit 76a67ec6fb79ff3570dcb5342142c16098299911 Author: J. Bruce Fields Date: Mon Mar 16 18:34:20 2009 -0400 nfsd: nfsd should drop CAP_MKNOD for non-root Since creating a device node is normally an operation requiring special privilege, Igor Zhbanov points out that it is surprising (to say the least) that a client can, for example, create a device node on a filesystem exported with root_squash. So, make sure CAP_MKNOD is among the capabilities dropped when an nfsd thread handles a request from a non-root user. Reported-by: Igor Zhbanov Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 84f09f46b4ee9e4e9b6381f8af31817516d2091b Author: Benny Halevy Date: Wed Mar 4 23:05:35 2009 +0200 NFSD: provide encode routine for OP_OPENATTR Although this operation is unsupported by our implementation we still need to provide an encode routine for it to merely encode its (error) status back in the compound reply. Thanks for Bill Baker at sun.com for testing with the Sun OpenSolaris' client, finding, and reporting this bug at Connectathon 2009. This bug was introduced in 2.6.27 Signed-off-by: Benny Halevy Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit ee568b25ee9e160b32d1aef73d8b2ee9c05d34db Author: Linus Torvalds Date: Tue Mar 17 10:02:35 2009 -0700 Avoid 64-bit "switch()" statements on 32-bit architectures Commit ee6f779b9e0851e2f7da292a9f58e0095edf615a ("filp->f_pos not correctly updated in proc_task_readdir") changed the proc code to use filp->f_pos directly, rather than through a temporary variable. In the process, that caused the operations to be done on the full 64 bits, even though the offset is never that big. That's all fine and dandy per se, but for some unfathomable reason gcc generates absolutely horrid code when using 64-bit values in switch() statements. To the point of actually calling out to gcc helper functions like __cmpdi2 rather than just doing the trivial comparisons directly the way gcc does for normal compares. At which point we get link failures, because we really don't want to support that kind of crazy code. Fix this by just casting the f_pos value to "unsigned long", which is plenty big enough for /proc, and avoids the gcc code generation issue. Reported-by: Alexey Dobriyan Cc: Zhang Le Signed-off-by: Linus Torvalds commit 30390880debce4a68fd23e87a787f27609e4bf4a Author: Masami Hiramatsu Date: Mon Mar 16 18:57:22 2009 -0400 prevent boosting kprobes on exception address Don't boost at the addresses which are listed on exception tables, because major page fault will occur on those addresses. In that case, kprobes can not ensure that when instruction buffer can be freed since some processes will sleep on the buffer. kprobes-ia64 already has same check. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Signed-off-by: Linus Torvalds commit 18439c39e826191c0ef08c3a3271ce7ece46a860 Merge: 9e8912e... b35f8ca... Author: Linus Torvalds Date: Tue Mar 17 08:59:33 2009 -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: wait for endio to complete before destruction dm crypt: fix kcryptd_async_done parameter dm io: respect BIO_MAX_PAGES limit dm table: rework reference counting fix dm ioctl: validate name length when renaming commit a4bd6a93c3f14691c8a29e53eb04dc734b27f0db Author: Kumar Gala Date: Tue Mar 17 09:17:50 2009 -0600 powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW Since we now set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it out before we setup the SW TLB. Today all the SW TLB machines (603/e300) that we support are non-SMP, however there are some errata on some devices that cause us to set _PAGE_COHERENT via CPU_FTR_NEED_COHERENT. Signed-off-by: Kumar Gala Signed-off-by: Grant Likely commit c9310920e6e7ae0a5c0accbd57d34c194cb31780 Author: Piotr Ziecik Date: Tue Mar 17 09:17:50 2009 -0600 powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx BestComm, a DMA engine in MPC52xx SoC, requires snooping when CPU caches are enabled to work properly. Adding CPU_FTR_NEED_COHERENT fixes NFS problems on MPC52xx machines introduced by 'powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code' (sha1: 4c456a67f501b8b15542c7c21c28812bf88f484b). Signed-off-by: Piotr Ziecik Signed-off-by: Grant Likely commit 9e8912e04e612b43897b4b722205408b92f423e5 Author: Linus Torvalds Date: Tue Mar 17 08:13:17 2009 -0700 Fast TSC calibration: calculate proper frequency error bounds In order for ntpd to correctly synchronize the clocks, the frequency of the system clock must not be off by more than 500 ppm (or, put another way, 1:2000), or ntpd will end up giving up on trying to synchronize properly, and ends up reseting the clock in jumps instead. The fast TSC PIT calibration sometimes failed this test - it was assuming that the PIT reads always took about one microsecond each (2us for the two reads to get a 16-bit timer), and that calibrating TSC to the PIT over 15ms should thus be sufficient to get much closer than 500ppm (max 2us error on both sides giving 4us over 15ms: a 270 ppm error value). However, that assumption does not always hold: apparently some hardware is either very much slower at reading the PIT registers, or there was other noise causing at least one machine to get 700+ ppm errors. So instead of using a fixed 15ms timing loop, this changes the fast PIT calibration to read the TSC delta over the individual PIT timer reads, and use the result to calculate the error bars on the PIT read timing properly. We then successfully calibrate the TSC only if the maximum error bars fall below 500ppm. In the process, we also relax the timing to allow up to 25ms for the calibration, although it can happen much faster depending on hardware. Reported-and-tested-by: Jesper Krogh Cc: john stultz Cc: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a6a80e1d8cf82b46a69f88e659da02749231eb36 Author: Linus Torvalds Date: Tue Mar 17 07:58:26 2009 -0700 Fix potential fast PIT TSC calibration startup glitch During bootup, when we reprogram the PIT (programmable interval timer) to start counting down from 0xffff in order to use it for the fast TSC calibration, we should also make sure to delay a bit afterwards to allow the PIT hardware to actually start counting with the new value. That will happens at the next CLK pulse (1.193182 MHz), so the easiest way to do that is to just wait at least one microsecond after programming the new PIT counter value. We do that by just reading the counter value back once - which will take about 2us on PC hardware. Reported-and-tested-by: john stultz Signed-off-by: Linus Torvalds commit dde332b660cf0bc2baaba678b52768a0fb6e6da2 Author: Krzysztof Helt Date: Mon Mar 16 21:32:25 2009 +0100 ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2 Fix the OOPS during a opl3sa2 card suspend and resume if the driver is loaded but the card is not found. Signed-off-by: Krzysztof Helt Cc: Signed-off-by: Takashi Iwai commit d33a1976fbee1ee321d6f014333d8f03a39d526c Author: Eric Sandeen Date: Mon Mar 16 23:25:40 2009 -0400 ext4: fix bb_prealloc_list corruption due to wrong group locking This is for Red Hat bug 490026: EXT4 panic, list corruption in ext4_mb_new_inode_pa ext4_lock_group(sb, group) is supposed to protect this list for each group, and a common code flow to remove an album is like this: ext4_get_group_no_and_offset(sb, pa->pa_pstart, &grp, NULL); ext4_lock_group(sb, grp); list_del(&pa->pa_group_list); ext4_unlock_group(sb, grp); so it's critical that we get the right group number back for this prealloc context, to lock the right group (the one associated with this pa) and prevent concurrent list manipulation. however, ext4_mb_put_pa() passes in (pa->pa_pstart - 1) with a comment, "-1 is to protect from crossing allocation group". This makes sense for the group_pa, where pa_pstart is advanced by the length which has been used (in ext4_mb_release_context()), and when the entire length has been used, pa_pstart has been advanced to the first block of the next group. However, for inode_pa, pa_pstart is never advanced; it's just set once to the first block in the group and not moved after that. So in this case, if we subtract one in ext4_mb_put_pa(), we are actually locking the *previous* group, and opening the race with the other threads which do not subtract off the extra block. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 7a2cf4af1554d891b440cc3a649d01ed222206c3 Author: Greg Ungerer Date: Tue Mar 17 08:47:11 2009 +1000 m68k: merge the non-MMU and MMU versions of siginfo.h It is trivial to merge the non-MMU and MMU versions of siginfo.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of siginfo.h are not installed). Signed-off-by: Greg Ungerer commit 9df3d51b59bd6aa48aee76e0cde4b89d854f3694 Author: Greg Ungerer Date: Mon Mar 16 22:12:28 2009 +1000 m68k: use the MMU version of unistd.h for all m68k platforms The MMU version of unistd.h can be use on non-MMU platrorms as well. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of unistd.h are not installed). Signed-off-by: Greg Ungerer commit 8dba99e077ae999c85b41c4567c852313528c7a7 Author: Greg Ungerer Date: Mon Mar 16 22:10:08 2009 +1000 m68k: merge the non-MMU and MMU versions of signal.h It is trivial to merge the non-MMU and MMU versions of signal.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of signal.h are not installed). Signed-off-by: Greg Ungerer commit 230d1866a9f9b08c2ab4cb1b60f33fe230ee0a87 Author: Greg Ungerer Date: Mon Mar 16 22:07:39 2009 +1000 m68k: merge the non-MMU and MMU versions of ptrace.h It is trivial to merge the non-MMU and MMU versions of ptrace.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of ptrace.h are not installed). Signed-off-by: Greg Ungerer commit c5f5d3e6ed4405999d5becaffe18415182fa8eb5 Author: Greg Ungerer Date: Mon Mar 16 22:03:25 2009 +1000 m68k: use MMU version of setup.h for both MMU and non-MMU The MMU version of setup.h can be used for all m68k platforms. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of setup.h are not installed). Signed-off-by: Greg Ungerer commit 19695ec03d492f1eeb760727d3bd10c7d2f31c1d Merge: 8e91f17... 1b958a3... Author: Linus Torvalds Date: Mon Mar 16 12:49:12 2009 -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-wmi: unsigned cannot be less than 0 thinkpad-acpi: fix module autoloading for older models acer-wmi: Unmark as 'experimental' acpi-wmi: Unmark as 'experimental' acer-wmi: double free in acer_rfkill_exit() platform/x86: depends instead of select for laptop platform drivers asus-laptop: use select instead of depends on eeepc-laptop: restore acpi_generate_proc_event() asus-laptop: restore acpi_generate_proc_event() acpi: check for pxm_to_node_map overflow ACPI: remove doubled status checking ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume Revert "ACPI: make some IO ports off-limits to AML" suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering commit b35f8caa0890169000fec22902290d9a15274cbd Author: Milan Broz Date: Mon Mar 16 17:44:36 2009 +0000 dm crypt: wait for endio to complete before destruction The following oops has been reported when dm-crypt runs over a loop device. ... [ 70.381058] Process loop0 (pid: 4268, ti=cf3b2000 task=cf1cc1f0 task.ti=cf3b2000) ... [ 70.381058] Call Trace: [ 70.381058] [] ? crypt_dec_pending+0x5e/0x62 [dm_crypt] [ 70.381058] [] ? crypt_endio+0xa2/0xaa [dm_crypt] [ 70.381058] [] ? crypt_endio+0x0/0xaa [dm_crypt] [ 70.381058] [] ? bio_endio+0x2b/0x2e [ 70.381058] [] ? dec_pending+0x224/0x23b [dm_mod] [ 70.381058] [] ? clone_endio+0x79/0xa4 [dm_mod] [ 70.381058] [] ? clone_endio+0x0/0xa4 [dm_mod] [ 70.381058] [] ? bio_endio+0x2b/0x2e [ 70.381058] [] ? loop_thread+0x380/0x3b7 [ 70.381058] [] ? do_lo_send_aops+0x0/0x165 [ 70.381058] [] ? autoremove_wake_function+0x0/0x33 [ 70.381058] [] ? loop_thread+0x0/0x3b7 When a table is being replaced, it waits for I/O to complete before destroying the mempool, but the endio function doesn't call mempool_free() until after completing the bio. Fix it by swapping the order of those two operations. The same problem occurs in dm.c with md referenced after dec_pending. Again, we swap the order. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit b2174eebd1fadb76454dad09a1dacbc17081e6b0 Author: Huang Ying Date: Mon Mar 16 17:44:33 2009 +0000 dm crypt: fix kcryptd_async_done parameter In the async encryption-complete function (kcryptd_async_done), the crypto_async_request passed in may be different from the one passed to crypto_ablkcipher_encrypt/decrypt. Only crypto_async_request->data is guaranteed to be same as the one passed in. The current kcryptd_async_done uses the passed-in crypto_async_request directly which may cause the AES-NI-based AES algorithm implementation to panic. This patch fixes this bug by only using crypto_async_request->data, which points to dm_crypt_request, the crypto_async_request passed in. The original data (convert_context) is gotten from dm_crypt_request. [mbroz@redhat.com: reworked] Cc: stable@kernel.org Signed-off-by: Huang Ying Cc: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit d659e6cc98766a1a61d6bdd283f95d149abd7719 Author: Mikulas Patocka Date: Mon Mar 16 17:44:30 2009 +0000 dm io: respect BIO_MAX_PAGES limit dm-io calls bio_get_nr_vecs to get the maximum number of pages to use for a given device. It allocates one additional bio_vec to use internally but failed to respect BIO_MAX_PAGES, so fix this. This was the likely cause of: https://bugzilla.redhat.com/show_bug.cgi?id=173153 Cc: stable@kernel.org Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f80a557008462a0a4adef25407f1872e793d8dd5 Author: Mikulas Patocka Date: Mon Mar 16 17:44:26 2009 +0000 dm table: rework reference counting fix Fix an error introduced in dm-table-rework-reference-counting.patch. When there is failure after table initialization, we need to use dm_table_destroy, not dm_table_put, to free the table. dm_table_put may be used only after dm_table_get. Cc: Kiyoshi Ueda Signed-off-by: Mikulas Patocka Reviewed-by: Jonathan Brassow Reviewed-by: Alasdair G Kergon Signed-off-by: Alasdair G Kergon commit bc0fd67feba2e0770aad85393500ba77c6489f1c Author: Milan Broz Date: Mon Mar 16 16:56:01 2009 +0000 dm ioctl: validate name length when renaming When renaming a mapped device validate the length of the new name. The rename ioctl accepted any correctly-terminated string enclosed within the data passed from userspace. The other ioctls enforce a size limit of DM_NAME_LEN. If the name is changed and becomes longer than that, the device can no longer be addressed by name. Fix it by properly checking for device name length (including terminating zero). Cc: stable@kernel.org Signed-off-by: Milan Broz Reviewed-by: Jonathan Brassow Reviewed-by: Alasdair G Kergon Signed-off-by: Alasdair G Kergon commit 8e91f178a2bb4a3e52e76f6263c251ffb816eb17 Merge: 8032b52... ea8dbdd... Author: Linus Torvalds Date: Mon Mar 16 07:56:58 2009 -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: (21 commits) r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)" r8169: use hardware auto-padding. igb: remove ASPM L0s workaround netxen: remove old flash check. mv643xx_eth: fix unicast address filter corruption on mtu change xfrm: Fix xfrm_state_find() wrt. wildcard source address. emac: Fix clock control for 405EX and 405EXr chips ixgbe: fix multiple unicast address support via-velocity: Fix DMA mapping length errors on transmit. qlge: bugfix: Pad outbound frames smaller than 60 bytes. qlge: bugfix: Move netif_napi_del() to common call point. qlge: bugfix: Tell hw to strip vlan header. qlge: bugfix: Increase filter on inbound csum. dnet: replace obsolete *netif_rx_* functions with *napi_* net: Add be2net driver. dnet: Fix warnings on 64-bit. dnet: Dave DNET ethernet controller driver (updated) ipv6: Fix BUG when disabled ipv6 module is unloaded bnx2x: Using DMAE to initialize the chip bnx2x: Casting page alignment ... commit 8032b526d1a3bd91ad633dd3a3b5fdbc47ad54f1 Author: Rusty Russell Date: Mon Mar 16 09:05:07 2009 +1030 linux.conf.au 2009: Tuz Impact: help prevent extinction of species The Tasmanian Devil is a shy iconic Australian creature named for its spine-chilling screech. It is threatened with extinction due to a scientifically interesting but horrific transmissible facial cancer. This one is standing in for Tux for one release using the far less-known Devil Facial Tux Disguise. Save The Tasmanian Devil http://tassiedevil.com.au Signed-off-by: Linux.conf.au Hobart Team Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit ee6f779b9e0851e2f7da292a9f58e0095edf615a Author: Zhang Le Date: Mon Mar 16 14:44:31 2009 +0800 filp->f_pos not correctly updated in proc_task_readdir filp->f_pos only get updated at the end of the function. Thus d_off of those dirents who are in the middle will be 0, and this will cause a problem in glibc's readdir implementation, specifically endless loop. Because when overflow occurs, f_pos will be set to next dirent to read, however it will be 0, unless the next one is the last one. So it will start over again and again. There is a sample program in man 2 gendents. This is the output of the program running on a multithread program's task dir before this patch is applied: $ ./a.out /proc/3807/task --------------- nread=128 --------------- i-node# file type d_reclen d_off d_name 506442 directory 16 1 . 506441 directory 16 0 .. 506443 directory 16 0 3807 506444 directory 16 0 3809 506445 directory 16 0 3812 506446 directory 16 0 3861 506447 directory 16 0 3862 506448 directory 16 8 3863 This is the output after this patch is applied $ ./a.out /proc/3807/task --------------- nread=128 --------------- i-node# file type d_reclen d_off d_name 506442 directory 16 1 . 506441 directory 16 2 .. 506443 directory 16 3 3807 506444 directory 16 4 3809 506445 directory 16 5 3812 506446 directory 16 6 3861 506447 directory 16 7 3862 506448 directory 16 8 3863 Signed-off-by: Zhang Le Acked-by: Al Viro Signed-off-by: Linus Torvalds commit a05ef46731a1953590062e09a92c2c83ed32a086 Author: Greg Ungerer Date: Mon Mar 16 18:00:25 2009 +1000 m68k: merge the non-MMU and MMU versions of sigcontext.h It is trivial to merge the non-MMU and MMU versions of sigcontext.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of sigconext.h are not installed). Signed-off-by: Greg Ungerer commit 9863a0babc2f0d920dfb4ddecf4e5b5342cb986b Author: Greg Ungerer Date: Mon Mar 16 17:54:49 2009 +1000 m68k: merge the non-MMU and MMU versions of swab.h It is trivial to merge the non-MMU and MMU versions of swab.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of swab.h are not installed). Signed-off-by: Greg Ungerer commit f9847004bf94ba5457738cb5e0f868821864ff50 Author: Greg Ungerer Date: Mon Mar 16 17:52:16 2009 +1000 m68k: merge the non-MMU and MMU versions of param.h It is trivial to merge the non-MMU and MMU versions of param.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of param.h are not installed). Signed-off-by: Greg Ungerer commit 1b958a3e5353c2995f3550a20010bdb403f33831 Merge: 27ce341... da51199... Author: Len Brown Date: Mon Mar 16 00:38:52 2009 -0400 Merge branches 'misc-up-now' and 'platform-drivers' into release commit da511997d2bbc09f5e39385e0ed209578db07c91 Author: Roel Kluin Date: Wed Mar 4 11:55:30 2009 -0800 acpi-wmi: unsigned cannot be less than 0 include/linux/pci-acpi.h:74: typedef u32 acpi_status; result is unsigned, so an error returned by acpi_bus_register_driver() will not be noticed. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b36a50f92d1c4300a88f606b4d2bbdc4f442a2d7 Author: Mathieu Chouquet-Stringer Date: Sat Mar 14 16:35:26 2009 +0100 thinkpad-acpi: fix module autoloading for older models Looking at the source, there seems to be a missing * to match my DMI string. I mean for newer IBM and Lenovo's laptops you match either one of the following: MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*"); While for older Thinkpads, you do this (for instance): IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); with IBM_BIOS_MODULE_ALIAS being MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") Note there's no * terminating the string. As result, udev doesn't load anything because modprobe cannot find anything matching this (my machine actually): udevtest: run: '/sbin/modprobe dmi:bvnIBM:bvr1IET71WW(2.10):bd06/16/2006:svnIBM:pn236621U:pvrNotAv Signed-off-by: Mathieu Chouquet-Stringer Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 54b1ec893e869c815d390afa42aacf1499858112 Author: Carlos Corbacho Date: Sat Feb 14 09:53:59 2009 +0000 acer-wmi: Unmark as 'experimental' This driver has been around and used long enough that we can drop the 'experimental'. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 5fcdd177d063f1d8d569d746ab1bf206b0dfb2e8 Author: Carlos Corbacho Date: Sat Feb 14 09:53:53 2009 +0000 acpi-wmi: Unmark as 'experimental' ACPI-WMI isn't experimental anymore, and there are other drivers that now depend on it that aren't either. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 013d67fd4f0da8f6af60a376f1a254266ab658ef Author: Dan Carpenter Date: Sat Feb 14 09:53:48 2009 +0000 acer-wmi: double free in acer_rfkill_exit() This is acer_rfkill_exit() from drivers/platform/x86/acer-wmi.c. The code frees wireless_rfkill->data again instead of bluetooth_rfkill->data. This was found using a code checker (http://repo.or.cz/w/smatch.git/). Signed-off-by: Dan Carpenter Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit d263da311ab403e3a84fa24920edc826147a550c Author: Corentin Chary Date: Wed Feb 25 09:37:09 2009 +0100 platform/x86: depends instead of select for laptop platform drivers "I hate `select' and will gleefully leap on any s/select/depends/ patch, whether it works or not :)" Andrew Morton select INPUT is not needed here, because if someone doesn't want INPUT, he won't want these drivers either. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit e73e2c62f7646d54e30ef8863ac0be0b8e4ef0eb Author: Corentin Chary Date: Sun Feb 15 19:30:21 2009 +0100 asus-laptop: use select instead of depends on Like thinkpad_acpi or eeepc-laptop, asus-laptop will now use "select" instead of "depends on" for LEDS_CLASS, NEW_LEDS and BACKLIGHT_CLASS_DEVICE Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 7950b71c3bd7b27b2874088a6c4efe3e13579f8b Author: Corentin Chary Date: Sun Feb 15 19:30:20 2009 +0100 eeepc-laptop: restore acpi_generate_proc_event() Restore acpi_generate_proc_event() for backward compatibility with old acpi scripts. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 6050c8dd70b21a9d927983aeb6357fecffa7fb23 Author: Corentin Chary Date: Sun Feb 15 19:30:19 2009 +0100 asus-laptop: restore acpi_generate_proc_event() Restore acpi_generate_proc_event() for backward compatibility with old acpi scripts. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 27ce34198345886854643b9572f9a06d2e7500d2 Author: Cyrill Gorcunov Date: Wed Mar 4 11:55:29 2009 -0800 acpi: check for pxm_to_node_map overflow It is hardly (if ever) possible but in case of broken _PXM entry we could reach out of pxm_to_node_map array bounds in acpi_map_pxm_to_node() call. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 176f9c1804df09f3e9b998c0642e212592ac6283 Author: Jiri Slaby Date: Wed Mar 4 11:55:27 2009 -0800 ACPI: remove doubled status checking There was a misplaced status test (two consequent tests without a statement in between) in acpi_bus_init for ages. Remove it, since the function which should be checked (acpi_os_initialize1) has BUG_ONs on failure paths. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 45e7798886af101c4a908a896bbba5a84ee5cc32 Author: Zhang Rui Date: Sun Mar 15 22:13:44 2009 -0400 ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume This is a supplement of commit 65df78473ffbf3bff5e2034df1638acc4f3ddd50. http://bugzilla.kernel.org/show_bug.cgi?id=12798 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 7b46ecd5fcebf381a7bde966db352d8fb1b8e944 Author: Len Brown Date: Wed Feb 25 18:00:18 2009 -0500 Revert "ACPI: make some IO ports off-limits to AML" This reverts commit 5ec5d38a1c8af255ffc481c81eef13e9155524b3. because it caused spurious dmesg warmings. We'll implement the check for off-limit ports in a more clever way in the future. http://bugzilla.kernel.org/show_bug.cgi?id=12758 Signed-off-by: Len Brown commit a140449584522c3eea1bb381f746d40939e6f62a Author: Andy Whitcroft Date: Wed Feb 11 18:11:22 2009 +0000 suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering Switch the Asus Pundit P1-AH2 (M2N8L motherboard) to the old ACPI 1.0 sleep ordering by default. Without this it will not suspend/resume correctly. Signed-off-by: Andy Whitcroft Tested-by: Dustin Kirkland Signed-off-by: Len Brown commit ea8dbdd17099a9a5864ebd4c87e01e657b19c7ab Author: françois romieu Date: Sun Mar 15 01:10:50 2009 +0000 r8169: revert "r8169: read MAC address from EEPROM on init (2nd attempt)" It fails on the following systems: - RTL8169sc/8110sc (XID 18000000) reported by Tim Durack (x86) - RTL8169sb/8110sb (XID 10000000) reported by Mikael Pettersson (ARM) The patch appeared to work on x86 for the following systems: RTL8169sb/8110sb 10000000 PCI (EXT) RTL8110s 04000000 PCI (EXT) RTL8102e 24a00000 PCI-E (LOM) RTL8168c/8111c 3c2000c0 PCI-E (LOM) RTL8168b/8111b 38000000 PCI-E (LOM) RTL8168b/8111b 38000000 PCI-E (EXT) The patch exposes two problems: 1) while not completely wrong, mac addresses are not read correctly from the EEPROM 2) the MAC address registers are not correctly set Signed-off-by: Francois Romieu Tested-by: Mikael Pettersson Signed-off-by: David S. Miller commit 97d477a914b146e7e6722ded21afa79886ae8ccd Author: françois romieu Date: Sun Mar 15 01:09:54 2009 +0000 r8169: use hardware auto-padding. It shortens the code and fixes the current pci_unmap leak with padded skb reported by Dave Jones. Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit b0fe551000179c868d46266278a890eab878baca Author: Ingo Molnar Date: Thu Mar 12 15:15:31 2009 +0100 kconfig: improve seed in randconfig 'make randconfig' uses glibc's rand function, and the seed of that PRNG is set via: srand(time(NULL)); But 'time()' only increases once every second - freezing the randconfig result within a single second. My Nehalem testbox does randconfig much faster than 1 second and i have a few scripts that do 'randconfig until condition X' loops. Those scripts currently waste a lot of CPU time due to randconfig changing its seed only once per second currently. Change the seed to be micrseconds based. (I checked the statistical spread of the seed - the now.tv_sec*now.tv_usec multiplication there further improves it.) Signed-off-by: Ingo Molnar Cc: Roman Zippel [sam: fix for systems where usec is zero - noticed by Geert Uytterhoeven] Signed-off-by: Sam Ravnborg commit 184832c981fd38b1052f2dfa0262e793fa6c67d3 Author: Sam Ravnborg Date: Sun Mar 15 11:05:12 2009 +0100 kconfig: fix randconfig for choice blocks Ingo Molnar reported that 'make randconfig' was not covering choice blocks properly, resulting in certain config options being left out of randconfig testing altogether. With the following patch we: - properly randomize choice value for normal choice blocks - properly randomize for multi choice blocks - added several comments to explain what is going on The root cause of the bug was that SYMBOL_VALID was set on the symbol representing the choice block so clearing this did the trick initially. But testign revealed a few more issues that is now fixed. Reported-by: Ingo Molnar Cc: Ingo Molnar Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 5bee17f18b595937e6beafeee5197868a3f74a06 Author: Kyle McMartin Date: Sat Mar 14 19:40:59 2009 -0400 parisc: sba_iommu: fix build bug when CONFIG_PARISC_AGP=y CC drivers/parisc/sba_iommu.o drivers/parisc/sba_iommu.c:1373: error: expected identifier or '(' before '}' token make[2]: *** [drivers/parisc/sba_iommu.o] Error 1 make[1]: *** [drivers/parisc] Error 2 make: *** [drivers] Error 2 Don't know how this has gone missed for so long... clearly I need to do builds on my C8000 more often. Signed-off-by: Kyle McMartin Signed-off-by: Linus Torvalds commit fbd8104c2eb2f00a031a3e472a0fc08e40d04c0b Merge: 18553c3... 1522ac3... Author: Linus Torvalds Date: Sun Mar 15 13:34:56 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) [ARM] Fix virtual to physical translation macro corner cases [ARM] update mach-types [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions MX1 fix include [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info [ARM] 5418/1: restore lr before leaving mcount ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz ARM: OMAP: Allow I2C bus driver to be compiled as a module ARM: OMAP: sched_clock() corrected ARM: OMAP: Fix compile error if pm.h is included [ARM] orion5x: pass dram mbus data to xor driver [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c [ARM] S3C64XX: Fix USB host clock mux list [ARM] S3C64XX: Fix name of USB host clock. [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH [ARM] S3C64XX: Do gpiolib configuration earlier [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint() [ARM] SMDK6410: Declare iodesc table static ... commit 682337fe062e939578d933c74157ae9a36baa4ce Author: Alexander Duyck Date: Sat Mar 14 22:26:40 2009 -0700 igb: remove ASPM L0s workaround The L0s workaround should be moved into a pci quirk and so it is not necessary in the driver. This update removes the L0s workaround from the igb driver. This was the second half of the PCI quirk patch that Matthew Wilcox did not pick up when he picked up the quirk patch. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 18553c38bcdef9b0cc69a784cd033a8a21bfa012 Merge: 326d851... bfbd442... Author: Linus Torvalds Date: Sat Mar 14 13:43:18 2009 -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: Fix Xilinx SystemACE driver to handle empty CF slot block: fix memory leak in bio_clone() block: Add gfp_mask parameter to bio_integrity_clone() commit bfbd442f69ec9c58590ffc6e93ac8d6809caa48b Author: Grant Likely Date: Mon Mar 9 13:42:24 2009 +0100 Fix Xilinx SystemACE driver to handle empty CF slot The SystemACE driver does not handle an empty CF slot gracefully. An empty CF slot ends up hanging the system. This patch adds a check for the CF state and stops trying to process requests if the slot is empty. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 059ea3318c8ede71851a52b4359fbf1ab0cec301 Author: Li Zefan Date: Mon Mar 9 10:42:45 2009 +0100 block: fix memory leak in bio_clone() If bio_integrity_clone() fails, bio_clone() returns NULL without freeing the newly allocated bio. Signed-off-by: Li Zefan Signed-off-by: Jens Axboe commit 87092698c665e0a358caf9825ae13114343027e8 Author: un'ichi Nomura Date: Mon Mar 9 10:40:52 2009 +0100 block: Add gfp_mask parameter to bio_integrity_clone() Stricter gfp_mask might be required for clone allocation. For example, request-based dm may clone bio in interrupt context so it has to use GFP_ATOMIC. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Acked-by: Martin K. Petersen Cc: Alasdair G Kergon Signed-off-by: Jens Axboe commit 326d8519fc97be186c55ac605c3a7c957c758ae1 Merge: 228b5b7... a83860c... Author: Linus Torvalds Date: Sat Mar 14 12:02:21 2009 -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: Mark Eins: Fix configuration. MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled commit 228b5b7e840f79c8751614ae2b83e97e361634ce Merge: 37e79a4... 5fa0ae1... Author: Linus Torvalds Date: Sat Mar 14 12:01:37 2009 -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: (31 commits) [SCSI] qla2xxx: Update version number to 8.03.00-k4. [SCSI] qla2xxx: Correct overwrite of pre-assigned init-control-block structure size. [SCSI] qla2xxx: Correct truncation in return-code status checking. [SCSI] qla2xxx: Correct vport delete bug. [SCSI] qla2xxx: Use correct value for max vport in LOOP topology. [SCSI] qla2xxx: Correct address range checking for option-rom updates. [SCSI] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20 [SCSI] fcoe: fix handling of pending queue, prevent out of order frames (v3) [SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status [SCSI] fcoe: fix kfree(skb) [SCSI] fcoe: ETH_P_8021Q is already in if_ether and fcoe is not using it anyway [SCSI] libfc: do not change the fh_rx_id of a recevied frame [SCSI] fcoe: Correct fcoe_transports initialization vs. registration [SCSI] fcoe: Use setup_timer() and mod_timer() [SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper [SCSI] libfc, fcoe: Cleanup function formatting and minor typos [SCSI] libfc, fcoe: Fix kerneldoc comments [SCSI] libfc: Cleanup libfc_function_template comments [SCSI] libfc: check for err when recv and state is incorrect [SCSI] libfc: rename rp to rdata in fc_disc_new_target() ... commit 37e79a43acf963676fc358e7c9154c0d42c4f569 Merge: f1823ac... e9c1670... Author: Linus Torvalds Date: Sat Mar 14 12:00:42 2009 -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: ata_piix: add workaround for Samsung DB-P70 libata: Keep shadow last_ctl up to date during resets sata_mv: fix MSI irq race condition commit f1823acfbcc7d29029d6db757644bc820664af37 Merge: ff9cb43... 9f4c899... Author: Linus Torvalds Date: Sat Mar 14 12:00:18 2009 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Fix the fix to Bugzilla #11061, when IPv6 isn't defined... SUNRPC: xprt_connect() don't abort the task if the transport isn't bound SUNRPC: Fix an Oops due to socket not set up yet... Bug 11061, NFS mounts dropped NFS: Handle -ESTALE error in access() NLM: Fix GRANT callback address comparison when IPv6 is enabled NLM: Shrink the IPv4-only version of nlm_cmp_addr() NFSv3: Fix posix ACL code NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2) SUNRPC: Tighten up the task locking rules in __rpc_execute() commit ff9cb43ce09a9069f0ec95375d2f403578ec4977 Merge: 2a4c13b... 712e53e... Author: Linus Torvalds Date: Sat Mar 14 11:59:22 2009 -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 xs->bucket to set xattr value outside ocfs2: Fix a bug found by sparse check. ocfs2: tweak to get the maximum inline data size with xattr ocfs2: reserve xattr block for new directory with inline data commit 2a4c13baebe30613cfa2c99d6a076f3a114dad9c Merge: bf9bc99... a00d0bb... Author: Linus Torvalds Date: Sat Mar 14 11:59:05 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (10978): Report tuning algorith correctly V4L/DVB (10977): STB6100 init fix, the call to stb6100_set_bandwidth needs an argument V4L/DVB (10976): Bug fix: For legacy applications stv0899 performs search only first time after insmod. V4L/DVB (10975): Bug: Use signed types, Offsets and range can be negative V4L/DVB (10974): Use Diseqc 3/3 mode to send data V4L/DVB (10972): zl10353: i2c_gate_ctrl bug fix V4L/DVB (10834): zoran: auto-select bt866 for AverMedia 6 Eyes V4L/DVB (10832): tvaudio: Avoid breakage with tda9874a V4L/DVB (10789): m5602-s5k4aa: Split up the initial sensor probe in chunks. commit bf9bc995a59d8c152a4d7e6465d6afa1e098b3e8 Merge: 6d71135... e8f208e... Author: Linus Torvalds Date: Sat Mar 14 11:58:38 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.29 * git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.29: parisc: update defconfigs parisc: define x->x mmio accessors parisc: dino: struct device - replace bus_id with dev_name(), dev_set_name() parisc: convert cpu_check_affinity to new cpumask api parisc: convert (read|write)bwlq to inlines parisc: fix use of new cpumask api in irq.c parisc: update parisc for new irq_desc parisc: update MAINTAINERS parisc: fix wrong assumption about bus->self parisc: fix 64bit build parisc: add braces around arguments in assembler macros parisc: fix dev_printk() compile warnings for accessing a device struct parisc: remove unused local out_putf label parisc: fix `struct pt_regs' declared inside parameter list warning parisc: fix section mismatch warnings parisc: remove klist iterators parisc: BUG_ON() cleanup commit 6d71135d635f84b584df55096627ed750c069e61 Merge: 1d88552... 5d82720... Author: Linus Torvalds Date: Sat Mar 14 11:58:10 2009 -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: save the returned value of dma_map_sg ide-floppy: do not map dataless cmds to an sg commit 1d885526f2f3fffacee2ecb541270bd00168adff Author: Daisuke Nishimura Date: Fri Mar 13 13:52:00 2009 -0700 vmscan: pgmoved should be cleared after updating recent_rotated pgmoved should be cleared after updating recent_rotated. Signed-off-by: Daisuke Nishimura Cc: Rik van Riel Cc: Lee Schermerhorn Acked-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84814d642a4f1f294bd675ab11aae1ca54c6cedb Author: Tyler Hicks Date: Fri Mar 13 13:51:59 2009 -0700 eCryptfs: don't encrypt file key with filename key eCryptfs has file encryption keys (FEK), file encryption key encryption keys (FEKEK), and filename encryption keys (FNEK). The per-file FEK is encrypted with one or more FEKEKs and stored in the header of the encrypted file. I noticed that the FEK is also being encrypted by the FNEK. This is a problem if a user wants to use a different FNEK than their FEKEK, as their file contents will still be accessible with the FNEK. This is a minimalistic patch which prevents the FNEKs signatures from being copied to the inode signatures list. Ultimately, it keeps the FEK from being encrypted with a FNEK. Signed-off-by: Tyler Hicks Cc: Serge Hallyn Acked-by: Dustin Kirkland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15e7b8767605dc0cb9bd4594caabfec392385210 Author: Johannes Weiner Date: Fri Mar 13 13:51:58 2009 -0700 nommu: ramfs: don't leak pages when adding to page cache fails When a ramfs nommu mapping is expanded, contiguous pages are allocated and added to the pagecache. The caller's reference is then passed on by moving whole pagevecs to the file lru list. If the page cache adding fails, make sure that the error path also moves the pagevec contents which might still contain up to PAGEVEC_SIZE successfully added pages, of which we would leak references otherwise. Signed-off-by: Johannes Weiner Cc: David Howells Cc: Enrik Berkhan Cc: Nick Piggin Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 020fe22ff14320927f394de222cbb11708bcc7a8 Author: Enrik Berkhan Date: Fri Mar 13 13:51:56 2009 -0700 nommu: ramfs: pages allocated to an inode's pagecache may get wrongly discarded The pages attached to a ramfs inode's pagecache by truncation from nothing - as done by SYSV SHM for example - may get discarded under memory pressure. The problem is that the pages are not marked dirty. Anything that creates data in an MMU-based ramfs will cause the pages holding that data will cause the set_page_dirty() aop to be called. For the NOMMU-based mmap, set_page_dirty() may be called by write(), but it won't be called by page-writing faults on writable mmaps, and it isn't called by ramfs_nommu_expand_for_mapping() when a file is being truncated from nothing to allocate a contiguous run. The solution is to mark the pages dirty at the point of allocation by the truncation code. Signed-off-by: Enrik Berkhan Signed-off-by: David Howells Cc: Peter Zijlstra Cc: Nick Piggin Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de9307c68624b03d2922a02a661ce31e20f078cc Author: Dhananjay Phadke Date: Fri Mar 6 14:52:12 2009 +0000 netxen: remove old flash check. Remove flash size check which made sense only for ancient boards with 1MB flash. The check is based on values read from specific locations and fails with firmware size changes. This prevents driver from getting right mac addresses. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 8d03c7a0c550e7ab24cadcef5e66656bfadec8b9 Author: Eric Sandeen Date: Sat Mar 14 11:51:46 2009 -0400 ext4: fix bogus BUG_ONs in in mballoc code Thiemo Nagel reported that: # dd if=/dev/zero of=image.ext4 bs=1M count=2 # mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \ -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4 # mount -o loop image.ext4 mnt/ # dd if=/dev/zero of=mnt/file oopsed, with a BUG_ON in ext4_mb_normalize_request because size == EXT4_BLOCKS_PER_GROUP It appears to me (esp. after talking to Andreas) that the BUG_ON is bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should be allowed, though larger sizes do indicate a problem. Fix that an another (apparently rare) codepath with a similar check. Reported-by: Thiemo Nagel Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 5a89392225c6147d10328a64b06b756561e97edf Author: Lennert Buytenhek Date: Fri Mar 13 15:48:02 2009 -0700 mv643xx_eth: fix unicast address filter corruption on mtu change When mv643xx_eth_open() is called to up an interface, port_start() will first re-program the unicast address filter, and then re-initialise the PORT_CONFIG register, but that will disable unicast promiscuous mode if it was enabled by the unicast address filter setup. This isn't a problem on ifconfig up, as ->set_rx_mode() will be called shortly afterwards which will program the filters again, but it does trigger when changing the MTU, which calls mv643xx_eth_stop() and then mv643xx_eth_open() by hand to repopulate the receive rings with skbuffs of the new size. Swap the initialisation of the PORT_START register and the call to the unicast filter setup function to fix this. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit a83860c2da9303c864a53c299d17f608f9643541 Author: Ralf Baechle Date: Fri Mar 13 21:17:57 2009 +0100 MIPS: Mark Eins: Fix configuration. Signed-off-by: Ralf Baechle commit 3b289d6e35a1a535c19a5b079f0500526754e650 Author: Zhang Le Date: Thu Mar 12 18:00:50 2009 +0800 MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled Signed-off-by: Zhang Le Signed-off-by: Ralf Baechle commit 08ec9af1c0622b0858099a8644a33af02dd3019f Author: David S. Miller Date: Fri Mar 13 14:22:40 2009 -0700 xfrm: Fix xfrm_state_find() wrt. wildcard source address. The change to make xfrm_state objects hash on source address broke the case where such source addresses are wildcarded. Fix this by doing a two phase lookup, first with fully specified source address, next using saddr wildcarded. Reported-by: Nicolas Dichtel Signed-off-by: David S. Miller commit 9616a75505be9b87f9625c4d87d8b07a45ddad4d Author: Benjamin Herrenschmidt Date: Fri Mar 13 13:48:46 2009 -0700 emac: Fix clock control for 405EX and 405EXr chips The EMAC variant in the 405EX and 405EXr chips needs the "440EP" type clock control workaround to avoid lockups of the Rx side during reset. Signed-off-by: Benjamin Herrenschmidt Tested-by: Felix Radensky Signed-off-by: David S. Miller commit e90d400c2b65c7bf038d3646780f4a81f602cd19 Author: Chris Leech Date: Tue Mar 10 16:00:24 2009 +0000 ixgbe: fix multiple unicast address support Multiple unicast address support appears to have been broken with the change to support net_device_ops. This a regression from 2.6.28 to 2.6.29. I'm not 100% on whether ndo_set_multicast_list can be NULL after this or not. If ndo_set_rx_mode is set everything _should_ be using it. Signed-off-by: Chris Leech Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 59f8e169e25c5fce91826412c38359ecaf940b82 Author: Dave Jones Date: Fri Mar 13 13:37:46 2009 -0700 via-velocity: Fix DMA mapping length errors on transmit. From: Dave Jones The dma-debug changes caught that this driver uses the wrong DMA mapping length when skb_padto() does something. With suggestions from Eric Dumazet. Signed-off-by: David S. Miller commit 5d82720a7f41f0c877e026c7d17e3bf20ccdbae0 Author: FUJITA Tomonori Date: Fri Mar 13 21:16:13 2009 +0100 ide: save the returned value of dma_map_sg dma_map_sg could return a value different to 'nents' argument of dma_map_sg so the ide stack needs to save it for the later usage (e.g. for_each_sg). The ide stack also needs to save the original sg_nents value for pci_unmap_sg. Signed-off-by: FUJITA Tomonori [bart: backport to Linus' tree] Signed-off-by: Bartlomiej Zolnierkiewicz commit 3eb76c1ccde496c3c0bfda23d1c803e40b762ce6 Author: Borislav Petkov Date: Fri Mar 13 21:16:12 2009 +0100 ide-floppy: do not map dataless cmds to an sg since it fails the virt_to_page() translation check with DEBUG_VIRTUAL enabled. Signed-off-by: Borislav Petkov [bart: backport to Linus' tree] Signed-off-by: Bartlomiej Zolnierkiewicz commit e9c1670c2a14ef9cc20d86b24b829f3947aad34e Author: Tejun Heo Date: Tue Mar 3 13:52:16 2009 +0900 ata_piix: add workaround for Samsung DB-P70 Samsung DB-P70 somehow botched the first ICH9 SATA port. The board doesn't expose the first port but somehow SStatus reports link online while failing SRST protocol leading to repeated probe failures and thus long boot delay. Because the BIOS doesn't carry any identifying DMI information, the port can't be blacklisted safely. Fortunately, the controller does have subsystem vendor and ID set. It's unclear whether the subsystem IDs are used only for the board but it can be safely worked around by disabling SIDPR access and just using SRST works around the problem. Even when the workaround is triggered on an unaffected board the only side effect will be missing SCR access. Signed-off-by: Tejun Heo Reported-by: Joseph Jang Reported-by: Jonghyon Sohn Signed-off-by: Jeff Garzik commit e3e4385f6181f434c0d786998ad1d0eef4e21c9b Author: Stuart MENEFY Date: Tue Mar 10 11:38:13 2009 +0000 libata: Keep shadow last_ctl up to date during resets libata keeps a shadow copy of the ATA CTL register (which is write only), and only writes to the hardware when the required value doesn't match the shadow. However this copy wasn't being maintained when performing reset functions. This could cause problems for the first operation after a reset when the correct value might not be written to the CTL register. This problem was observed when hotplugging a drive: the identify command was being issued with interrupts enabled, when they should have been disabled. Signed-off-by: Stuart Menefy Signed-off-by: Jeff Garzik commit 9d51af7bd2f1d730cb6eeeb9ff837e3441ad4e07 Author: Mark Lord Date: Tue Mar 10 16:28:51 2009 -0400 sata_mv: fix MSI irq race condition Fix a (rare) race condition in mv_interrupt() when using MSI. The value of hpriv->main_irq_mask_addr can change on on the fly, and without this patch we could end up writing back a stale copy to the hardware. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 855b0993f216a9b0f9cb33573bd05e314105d86c Author: Ron Mercer Date: Wed Mar 11 11:55:43 2009 +0000 qlge: bugfix: Pad outbound frames smaller than 60 bytes. With some asic configurations xmit of frames smaller than 60 bytes may fail. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 6612a6344aba8ba7b5af67cd006453bfedbb2967 Author: Ron Mercer Date: Wed Mar 11 11:55:42 2009 +0000 qlge: bugfix: Move netif_napi_del() to common call point. Moving netif_napi_del() up the call chain so it will get called from all exit points. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a7a655f22c75f48e0afe8b86be03ecd70bd68b07 Author: Ron Mercer Date: Wed Mar 11 11:55:41 2009 +0000 qlge: bugfix: Tell hw to strip vlan header. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit c3c6496dc3d94d87bb0da86cf0bf48764577bf77 Author: Ron Mercer Date: Wed Mar 11 11:55:40 2009 +0000 qlge: bugfix: Increase filter on inbound csum. Chip does not do UDP checksum when fragmentation occurs. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 9fae6c3f648e38f023b99b5f5a5280907b2e796e Author: Ilya Yanok Date: Fri Mar 13 09:51:46 2009 -0700 dnet: replace obsolete *netif_rx_* functions with *napi_* *netif_rx_* functions is obsolete and removed in newer kernels so we need to use corresponding *napi_* functions instead. Signed-off-by: Ilya Yanok Signed-off-by: David S. Miller commit a00d0bb86b20a86a72f4df9d6e31dda94c02b4fa Author: Matthias Schwarzzot Date: Tue Jan 27 16:29:44 2009 -0300 V4L/DVB (10978): Report tuning algorith correctly Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 26f26fa8e3a0822aa43ee0a80bd0196fa2554c42 Author: Hans Werner Date: Tue Jan 27 16:09:12 2009 -0300 V4L/DVB (10977): STB6100 init fix, the call to stb6100_set_bandwidth needs an argument in Hz not kHz, and a comment incorrectly says MHz instead of Hz. I don't know if this caused real problems anywhere Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 1d06059c13fc64b67027334507f734ec0f2f4b6c Author: Igor M. Liplianin Date: Sun Nov 9 11:35:13 2008 -0300 V4L/DVB (10976): Bug fix: For legacy applications stv0899 performs search only first time after insmod. For legacy applications stv0899 performs search only first time after insmod due to not set DVBFE_ALGO_SEARCH_AGAIN bit Signed-off-by: Igor M. Liplianin Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b5d067b8e331ce78f4a81eb220965ffa36069d3f Author: Manu Abraham Date: Tue Jan 27 11:03:16 2009 -0300 V4L/DVB (10975): Bug: Use signed types, Offsets and range can be negative Code simplification: use in kernel macros Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d284e4f71dd42826fb60df33846ba310310c6c51 Author: Sigmund Augdal Date: Mon Jan 26 19:08:48 2009 -0300 V4L/DVB (10974): Use Diseqc 3/3 mode to send data Signed-off-by: Sigmund Augdal Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit e8f208e8f727515bc605f241a5f854b41f77d0ed Author: Kyle McMartin Date: Fri Mar 13 01:33:34 2009 -0400 parisc: update defconfigs Signed-off-by: Kyle McMartin commit 0cb385e3ff54ee095d9873209f4da764dfb17fec Author: Kyle McMartin Date: Tue Feb 17 12:42:52 2009 -0500 parisc: define x->x mmio accessors Bloody inconsiderate driver writers... Signed-off-by: Kyle McMartin commit d4995244bd4c02eb7bea3c63aee81a2f2b64910e Author: Kay Sievers Date: Mon Jan 26 03:53:16 2009 +0000 parisc: dino: struct device - replace bus_id with dev_name(), dev_set_name() Acked-by: Greg Kroah-Hartman Signed-off-by: Kay Sievers Signed-off-by: Kyle McMartin commit 8b6649c575e0d8312f62fe643ae43558892da2e1 Author: Kyle McMartin Date: Mon Feb 16 03:20:54 2009 -0500 parisc: convert cpu_check_affinity to new cpumask api cpumask arg to the affinity function is now const, sort that out through the irq_desc implementations. Signed-off-by: Kyle McMartin commit 9dfe914da83ebc88f85d94b4d30d0e45882766d1 Author: Kyle McMartin Date: Mon Feb 16 03:05:02 2009 -0500 parisc: convert (read|write)bwlq to inlines Kills the 'value computed but not used' due to leX_to_cpu. Signed-off-by: Kyle McMartin commit 7c4be70e6d07582a111a1b66942c8a1d45528dfb Author: Kyle McMartin Date: Mon Feb 16 02:53:03 2009 -0500 parisc: fix use of new cpumask api in irq.c cpumask api needs to take a pointer to irq_desc[cpu].affinity Signed-off-by: Kyle McMartin commit 5a8247ca4c6441cafbb852cb1048d1056734a90c Author: Mike Travis Date: Tue Jan 13 03:05:25 2009 +0000 parisc: update parisc for new irq_desc Impact: cleanup, update to new cpumask API Irq_desc.affinity and irq_desc.pending_mask are now cpumask_var_t's so access to them should be using the new cpumask API. Signed-off-by: Mike Travis Signed-off-by: Kyle McMartin commit 763461194817bc39905c7c41d08e8d9548a3916d Author: Grant Grundler Date: Mon Dec 1 00:21:35 2008 -0700 parisc: update MAINTAINERS Signed-off-By: Grant Grundler Reviewed-by: Matthew Wilcox Acked-by: Helge Deller Signed-off-by: Kyle McMartin commit 9785d646c10b0707412516ffe56b71b9eb18861f Author: Grant Grundler Date: Wed Jan 28 22:30:55 2009 -0700 parisc: fix wrong assumption about bus->self Kenji Kaneshige posted a patch series to linux-pci to fix a wrong assumption about pci_bus->self==NULL for all PCI host bus controllers. While PARISC platforms to not behave this way, I prefer to have the code consistent across architectures. The following patch replaces pci_bus->self with pci_bus->parent when used as a test to check for "root bus controller". Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin commit c1da90fd099531e9449019dc53a5a02a5eaef2b4 Author: Helge Deller Date: Mon Jan 26 22:24:38 2009 +0100 parisc: fix 64bit build Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 2cfeb9a6755d4d7be1026422b6aced48e3bad492 Author: Helge Deller Date: Sun Jan 18 18:13:53 2009 +0100 parisc: add braces around arguments in assembler macros Add braces around the macro arguments, else for example "shl %r1, 5-3, %r2" would not expand to what you would assume. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 7f384ce780c6091968fc848b14f17b45cb849e14 Author: Helge Deller Date: Tue Jan 13 21:14:51 2009 +0100 parisc: fix dev_printk() compile warnings for accessing a device struct Fix compile warnings: drivers/scsi/zalon.c: In function `zalon_probe': drivers/scsi/zalon.c:140: warning: passing arg 1 of `dev_driver_string' from incompatible pointer type drivers/scsi/zalon.c:140: warning: passing arg 1 of `dev_name' from incompatible pointer type Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit ddd1f6c66dd964c106377f2be37b318794f112f4 Author: Helge Deller Date: Tue Jan 13 20:54:25 2009 +0100 parisc: remove unused local out_putf label Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit e448372c79c49ef80df23496339ce0915abef76e Author: Helge Deller Date: Tue Jan 13 20:52:46 2009 +0100 parisc: fix `struct pt_regs' declared inside parameter list warning Fix those compile warnings: uaccess.h:244: warning: `struct pt_regs' declared inside parameter list uaccess.h:244: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit 24dc029f71c1411c5974a79848d68bb3e34263b9 Author: Helge Deller Date: Tue Jan 13 20:51:29 2009 +0100 parisc: fix section mismatch warnings Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit bfe4f4f800ccbb499a1120735016a20d3feacd4f Author: James Bottomley Date: Fri Jan 9 18:57:06 2009 -0600 parisc: remove klist iterators commit 11c3b5c3e08f4d855cbef52883c266b9ab9df879 Author: Greg Kroah-Hartman Date: Tue Dec 16 12:24:56 2008 -0800 driver core: move klist_children into private structure Broke our parisc build pretty badly because we touch the klists directly in three cases (AGP, SBA and GSC). Although GregKH will revert this patch, there's no reason we should be using the iterators directly, we can just move to the standard device_for_each_child() API. Signed-off-by: James Bottomley Tested-by: Helge Deller Tested-by: Kyle McMartin Signed-off-by: Kyle McMartin commit 8980a7baf93e478205e32ec7d6ef3bfb6c0bdfa7 Author: Helge Deller Date: Tue Jan 6 12:57:01 2009 +0100 parisc: BUG_ON() cleanup - convert a few "if (xx) BUG();" to BUG_ON(xx) - remove a few printk()s, as we get a backtrace with BUG_ON() anyway Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin commit f507cd22035fdadd5dbb476dd05e9e7ee21c3b84 Author: Geert Uytterhoeven Date: Fri Mar 6 02:54:09 2009 +0000 ps3/block: Replace mtd/ps3vram by block/ps3vram Convert the PS3 Video RAM Storage Driver from an MTD driver to a plain block device driver. The ps3vram driver exposes unused video RAM on the PS3 as a block device suitable for storage or swap. Fast data transfer is achieved using a local cache in system RAM and DMA transfers via the GPU. The new driver is ca. 50% faster for reading, and ca. 10% for writing. Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 5f77af93266e107bd46c010c51d772c0fb003232 Author: Antti Palosaari Date: Tue Mar 10 13:06:40 2009 -0300 V4L/DVB (10972): zl10353: i2c_gate_ctrl bug fix zl10353 i2c-gate was always closed and due to that devices having tuner behind i2c-gate were broken. Add module configuration which allows disabling i2c-gate only when really needed. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 712e53e46a1da35fcd88c05aa0c675b10f7c0e9d Author: Tao Ma Date: Thu Mar 12 08:37:34 2009 +0800 ocfs2: Use xs->bucket to set xattr value outside A long time ago, xs->base is allocated a 4K size and all the contents in the bucket are copied to the it. Now we use ocfs2_xattr_bucket to abstract xattr bucket and xs->base is initialized to the start of the bu_bhs[0]. So xs->base + offset will overflow when the value root is stored outside the first block. Then why we can survive the xattr test by now? It is because we always read the bucket contiguously now and kernel mm allocate continguous memory for us. We are lucky, but we should fix it. So just get the right value root as other callers do. Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 74e77eb30d0ecbb12964d005b439c8b84a505b84 Author: Tao Ma Date: Thu Mar 12 06:24:23 2009 +0800 ocfs2: Fix a bug found by sparse check. We need to use le32_to_cpu to test rec->e_cpos in ocfs2_dinode_insert_check. Signed-off-by: Tao Ma Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit d9ae49d6e2b1ac9166e58ae3c9345135604beaa6 Author: Tiger Yang Date: Thu Mar 5 11:06:15 2009 +0800 ocfs2: tweak to get the maximum inline data size with xattr Replace max_inline_data with max_inline_data_with_xattr to ensure it correct when xattr inlined. Signed-off-by: Tiger Yang Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 6c9fd1dc0a597e575617a7de7086c8a3efa8f524 Author: Tiger Yang Date: Fri Mar 6 10:19:30 2009 +0800 ocfs2: reserve xattr block for new directory with inline data If this is a new directory with inline data, we choose to reserve the entire inline area for directory contents and force an external xattr block. Signed-off-by: Tiger Yang Acked-by: Joel Becker Signed-off-by: Mark Fasheh commit 1522ac3ec95ff0230e7aa516f86b674fdf72866c Author: Russell King Date: Thu Mar 12 17:03:48 2009 +0000 [ARM] Fix virtual to physical translation macro corner cases The current use of these macros works well when the conversion is entirely linear. In this case, we can be assured that the following holds true: __va(p + s) - s = __va(p) However, this is not always the case, especially when there is a non-linear conversion (eg, when there is a 3.5GB hole in memory.) In this case, if 's' is the size of the region (eg, PAGE_SIZE) and 'p' is the final page, the above is most definitely not true. So, we must ensure that __va() and __pa() are only used with valid kernel direct mapped RAM addresses. This patch tweaks the code to achieve this. Tested-by: Charles Moschel Signed-off-by: Russell King commit 305b07680f6c6a7e59f996c5bd85f009caff5bb1 Author: Russell King Date: Thu Mar 12 18:03:01 2009 +0000 [ARM] update mach-types Signed-off-by: Russell King commit 446c92b2901bedb3725d29b4e73def8aba623ffc Author: Uwe Kleine-König Date: Thu Mar 12 18:03:16 2009 +0100 [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions This is a fix for the following crash observed in 2.6.29-rc3: http://lkml.org/lkml/2009/1/29/150 On ARM it doesn't make sense to trace a naked function because then mcount is called without stack and frame pointer being set up and there is no chance to restore the lr register to the value before mcount was called. Reported-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke Cc: Abhishek Sagar Cc: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 9311c593f24f28de2a339da602644f0f7ae0fc60 Merge: c06b488... 20214fc... Author: Russell King Date: Thu Mar 12 21:32:52 2009 +0000 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit 9f4c899c0d90e1b51b6864834f3877b47c161a0e Author: Trond Myklebust Date: Thu Mar 12 14:51:32 2009 -0400 NFS: Fix the fix to Bugzilla #11061, when IPv6 isn't defined... Stephen Rothwell reports: Today's linux-next build (powerpc ppc64_defconfig) failed like this: fs/built-in.o: In function `.nfs_get_client': client.c:(.text+0x115010): undefined reference to `.__ipv6_addr_type' Fix by moving the IPV6 specific parts of commit d7371c41b0cda782256b1df759df4e8d4724584c ("Bug 11061, NFS mounts dropped") into the '#ifdef IPV6..." section. Also fix up a couple of formatting issues. Signed-off-by: Trond Myklebust commit 2842c3b5449f31470b61db716f1926b594fb6156 Author: Theodore Ts'o Date: Thu Mar 12 12:20:01 2009 -0400 ext4: Print the find_group_flex() warning only once This is a short-term warning, and even printk_ratelimit() can result in too much noise in system logs. So only print it once as a warning. Signed-off-by: "Theodore Ts'o" commit 6b7c5b947c671a96e39f9526a5fd70c178b8dfd1 Author: Sathya Perla Date: Wed Mar 11 23:32:03 2009 -0700 net: Add be2net driver. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 2c5849ea38fdad477d72dcf1c8c4842db4b33aae Author: David S. Miller Date: Wed Mar 11 23:28:57 2009 -0700 dnet: Fix warnings on 64-bit. Signed-off-by: David S. Miller commit 4796417417a62e2ae83d92cb92e1ecf9ec67b5f5 Author: Ilya Yanok Date: Wed Mar 11 23:26:02 2009 -0700 dnet: Dave DNET ethernet controller driver (updated) Driver for Dave DNET ethernet controller found on Dave/DENX QongEVB-LITE FPGA. Heavily based on Dave sources, I've just adopted it to current kernel version and done some code cleanup. Signed-off-by: Ilya Yanok Signed-off-by: David S. Miller commit 01d37c428ae080563c0a3bb8bdfa88c65a6891d3 Author: Trond Myklebust Date: Wed Mar 11 14:09:39 2009 -0400 SUNRPC: xprt_connect() don't abort the task if the transport isn't bound If the transport isn't bound, then we should just return ENOTCONN, letting call_connect_status() and/or call_status() deal with retrying. Currently, we appear to abort all pending tasks with an EIO error. Signed-off-by: Trond Myklebust commit fba91afbec2c004e2c8733ae9e0ca6998e962c64 Author: Trond Myklebust Date: Wed Mar 11 14:06:41 2009 -0400 SUNRPC: Fix an Oops due to socket not set up yet... We can Oops in both xs_udp_send_request() and xs_tcp_send_request() if the call to xs_sendpages() returns an error due to the socket not yet being set up. Deal with that situation by returning a new error: ENOTSOCK, so that we know to avoid dereferencing transport->sock. Signed-off-by: Trond Myklebust commit ff8cf9a93800e8118ea097c1aba7203d59a0f3f1 Author: John Dykstra Date: Wed Mar 11 09:22:51 2009 -0700 ipv6: Fix BUG when disabled ipv6 module is unloaded Do not try to "uninitialize" ipv6 if its initialization had been skipped because module parameter disable=1 had been specified. Reported-by: Thomas Backlund Signed-off-by: John Dykstra Acked-by: Brian Haley Signed-off-by: David S. Miller commit d7371c41b0cda782256b1df759df4e8d4724584c Author: Ian Dall Date: Tue Mar 10 20:33:22 2009 -0400 Bug 11061, NFS mounts dropped Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=11061 sockaddr structures can't be reliably compared using memcmp() because there are padding bytes in the structure which can't be guaranteed to be the same even when the sockaddr structures refer to the same socket. Instead compare all the relevant fields. In the case of IPv6 sin6_flowinfo is not compared because it only affects QoS and sin6_scope_id is only compared if the address is "link local" because "link local" addresses need only be unique to a specific link. Signed-off-by: Ian Dall Signed-off-by: Trond Myklebust commit a71ee337b31271e701f689d544b6153b75609bc5 Author: Suresh Jayaraman Date: Tue Mar 10 20:33:21 2009 -0400 NFS: Handle -ESTALE error in access() Hi Trond, I have been looking at a bugreport where trying to open applications on KDE on a NFS mounted home fails temporarily. There have been multiple reports on different kernel versions pointing to this common issue: http://bugzilla.kernel.org/show_bug.cgi?id=12557 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/269954 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508866.html This issue can be reproducible consistently by doing this on a NFS mounted home (KDE): 1. Open 2 xterm sessions 2. From one of the xterm session, do "ssh -X " 3. "stat ~/.Xauthority" on the remote SSH session 4. Close the two xterm sessions 5. On the server do a "stat ~/.Xauthority" 6. Now on the client, try to open xterm This will fail. Even if the filehandle had become stale, the NFS client should invalidate the cache/inode and should repeat LOOKUP. Looking at the packet capture when the failure occurs shows that there were two subsequent ACCESS() calls with the same filehandle and both fails with -ESTALE error. I have tested the fix below. Now the client issue a LOOKUP after the ACCESS() call fails with -ESTALE. If all this makes sense to you, can you consider this for inclusion? Thanks, If the server returns an -ESTALE error due to stale filehandle in response to an ACCESS() call, we need to invalidate the cache and inode so that LOOKUP() can be retried. Without this change, the nfs client retries ACCESS() with the same filehandle, fails again and could lead to temporary failure of applications running on nfs mounted home. Signed-off-by: Suresh Jayaraman Signed-off-by: Trond Myklebust commit 57df675c60c5cf0748ddba9c7f85afde1530d74d Author: Chuck Lever Date: Tue Mar 10 20:33:20 2009 -0400 NLM: Fix GRANT callback address comparison when IPv6 is enabled The NFS mount command may pass an AF_INET server address to lockd. If lockd happens to be using a PF_INET6 listener, the nlm_cmp_addr() in nlmclnt_grant() will fail to match requests from that host because they will all have a mapped IPv4 AF_INET6 address. Adopt the same solution used in nfs_sockaddr_match_ipaddr() for NFSv4 callbacks: if either address is AF_INET, map it to an AF_INET6 address before doing the comparison. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 78851e1aa4c3b796d5f0bb11b445016726302b44 Author: Chuck Lever Date: Tue Mar 10 20:33:19 2009 -0400 NLM: Shrink the IPv4-only version of nlm_cmp_addr() Clean up/micro-optimatization: Make the AF_INET-only version of nlm_cmp_addr() smaller. This matches the style of nlm_privileged_requester(), and makes the AF_INET-only version of nlm_cmp_addr() nearly the same size as it was before IPv6 support. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ae46141ff08f1965b17c531b571953c39ce8b9e2 Author: Trond Myklebust Date: Tue Mar 10 20:33:18 2009 -0400 NFSv3: Fix posix ACL code Fix a memory leak due to allocation in the XDR layer. In cases where the RPC call needs to be retransmitted, we end up allocating new pages without clearing the old ones. Fix this by moving the allocation into nfs3_proc_setacls(). Also fix an issue discovered by Kevin Rudd, whereby the amount of memory reserved for the acls in the xdr_buf->head was miscalculated, and causing corruption. Signed-off-by: Trond Myklebust commit ef95d31e6de6be9602ce950b85fb7ab8af46ae42 Author: Trond Myklebust Date: Tue Mar 10 20:33:17 2009 -0400 NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2) The changeset ea31a4437c59219bf3ea946d58984b01a45a289c (nfs: Fix misparsing of nfsv4 fs_locations attribute) causes the mountpath that is calculated at the beginning of try_location() to be clobbered when we later strncpy a non-nul terminated hostname using an incorrect buffer length. Signed-off-by: Trond Myklebust commit eb9b55ab4d73280597fd183b367d50452f4d7846 Author: Trond Myklebust Date: Tue Mar 10 20:33:16 2009 -0400 SUNRPC: Tighten up the task locking rules in __rpc_execute() We should probably not be testing any flags after we've cleared the RPC_TASK_RUNNING flag, since rpc_make_runnable() is then free to assign the rpc_task to another workqueue, which may then destroy it. We can fix any races with rpc_make_runnable() by ensuring that we only clear the RPC_TASK_RUNNING flag while holding the rpc_wait_queue->lock that the task is supposed to be sleeping on (and then checking whether or not the task really is sleeping). Signed-off-by: Trond Myklebust commit 395a87bfefbc400011417e9eaae33169f9f036c0 Author: Eric Sandeen Date: Tue Mar 10 18:18:47 2009 -0400 ext4: fix header check in ext4_ext_search_right() for deep extent trees. The ext4_ext_search_right() function is confusing; it uses a "depth" variable which is 0 at the root and maximum at the leaves, but the on-disk metadata uses a "depth" (actually eh_depth) which is opposite: maximum at the root, and 0 at the leaves. The ext4_ext_check_header() function is given a depth and checks the header agaisnt that depth; it expects the on-disk semantics, but we are giving it the opposite in the while loop in this function. We should be giving it the on-disk notion of "depth" which we can get from (p_depth - depth) - and if you look, the last (more commonly hit) call to ext4_ext_check_header() does just this. Sending in the wrong depth results in (incorrect) messages about corruption: EXT4-fs error (device sdb1): ext4_ext_search_right: bad header in inode #2621457: unexpected eh_depth - magic f30a, entries 340, max 340(0), depth 1(2) http://bugzilla.kernel.org/show_bug.cgi?id=12821 Reported-by: David Dindorp Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 96fe2ab830d7dffee1b3d8abf27ced4d7d5765e7 Author: Johannes Weiner Date: Tue Mar 10 22:44:01 2009 +0100 HID: fix waitqueue usage in hiddev DECLARE_WAITQUEUE doesn't initialize the wait descriptor's task_list to 'empty' but to zero. prepare_to_wait() will not enqueue the descriptor to the waitqueue and finish_wait() will do list_del_init() on a list head that contains NULL pointers, which oopses. This was introduced by 079034073 "HID: hiddev cleanup -- handle all error conditions properly". The prior code used an unconditional add_to_waitqueue() which didn't care about the wait descriptor's list head and enqueued the thing unconditionally. The new code uses prepare_to_wait() which DOES check the prior list state, so use DEFINE_WAIT instead. Signed-off-by: Johannes Weiner Cc: Oliver Neukum Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 48e7a3c95c9f98c2cb6f894820e3cc2d0448e92f Author: Johannes Weiner Date: Tue Mar 10 22:43:56 2009 +0100 HID: fix incorrect free in hiddev If hiddev_open() fails, it wrongly frees the shared hiddev structure kept in hiddev_table instead of the hiddev_list structure allocated for the opened file descriptor. Existing references to this structure will then accessed free memory. This was introduced by 079034073 "HID: hiddev cleanup -- handle all error conditions properly". Signed-off-by: Johannes Weiner Cc: Oliver Neukum Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 913d952eb573c3d1f7487e83b5590e13e7cae2bd Author: Chris Mason Date: Tue Mar 10 13:17:18 2009 -0400 Btrfs: Clear space_info full when adding new devices The full flag on the space info structs tells the allocator not to try and allocate more chunks because the devices in the FS are fully allocated. When more devices are added, we need to clear the full flag so the allocator knows it has more space available. Signed-off-by: Chris Mason commit 4184ea7f908d95f329febc3665cf66da8568b467 Author: Chris Mason Date: Tue Mar 10 12:39:20 2009 -0400 Btrfs: Fix locking around adding new space_info Storage allocated to different raid levels in btrfs is tracked by a btrfs_space_info structure, and all of the current space_infos are collected into a list_head. Most filesystems have 3 or 4 of these structs total, and the list is only changed when new raid levels are added or at unmount time. This commit adds rcu locking on the list head, and properly frees things at unmount time. It also clears the space_info->full flag whenever new space is added to the FS. The locking for the space info list goes like this: reads: protected by rcu_read_lock() writes: protected by the chunk_mutex At unmount time we don't need special locking because all the readers are gone. Signed-off-by: Chris Mason commit 5fa0ae19822d60307059ee64b80ba9e5effdce58 Author: Andrew Vasquez Date: Thu Mar 5 11:07:05 2009 -0800 [SCSI] qla2xxx: Update version number to 8.03.00-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ca42f2b5f58702e5751e1423bd2f7987b0760eab Author: Andrew Vasquez Date: Thu Mar 5 11:07:04 2009 -0800 [SCSI] qla2xxx: Correct overwrite of pre-assigned init-control-block structure size. The value is already pre-assigned prior to the qla2x00_mem_alloc(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c6b2fca8205dc33e3bb444835769e4ea4c6bc58d Author: Andrew Vasquez Date: Thu Mar 5 11:07:03 2009 -0800 [SCSI] qla2xxx: Correct truncation in return-code status checking. QLA_* return codes are 'int' in size. There were still several legacy check-points which assumed a return-code width of 8-bits. This could cause incorrect assumptions of 'good' status if a return of QLA_FUNCTION_TIMEOUT. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ee546b6e048586381462ce7bb51c7ddc03819619 Author: Anirban Chakraborty Date: Thu Mar 5 11:07:02 2009 -0800 [SCSI] qla2xxx: Correct vport delete bug. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley commit 605aa2bcd5e9dddc4666f12e0c19822809186d6d Author: Lalit Chandivade Date: Thu Mar 5 11:07:01 2009 -0800 [SCSI] qla2xxx: Use correct value for max vport in LOOP topology. Use minimum value for max vport during firmware initialization in LOOP topology. Using max vport value from get resource count in LOOP topology causes firmware initialization failure. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6431c5dc5eeaa79863b4af300c081a01e2ccd0bb Author: Andrew Vasquez Date: Thu Mar 5 11:07:00 2009 -0800 [SCSI] qla2xxx: Correct address range checking for option-rom updates. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4469c195da43bf8220f53da8b576c0e154c2b662 Author: Robert Love Date: Fri Feb 27 10:56:38 2009 -0800 [SCSI] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20 This change makes the fcoe Rx threads have the same nice value as lpfc and qla2xxx Rx threads. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 55c8bafba549e3e82f6999db8c5a62fc3c255c14 Author: Chris Leech Date: Fri Feb 27 10:56:32 2009 -0800 [SCSI] fcoe: fix handling of pending queue, prevent out of order frames (v3) In fcoe_check_wait_queue() the queue length could temporarily drop to 0, before the last frame was successfully sent. This resulted in out of order data frames within a single sequence, leading to IO timeout errors. This builds on the approach from Vasu Dev to only fix the queue management in fcoe_check_wait_queue, where my first patch added locking to the transmit path even when the pending queue was not in use. This patch continues to use fcoe_pending_queue.qlen instead of introducing a new length counter, but takes precautions to ensure it never drops to 0 before the final frame in the queue has successfully been passed to the netdev qdisc layer. It also includes some cleanup of fcoe_check_wait_queue and removes the fcoe_insert_wait_queue(_head) wrapper functions. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c826a3145736e3baabebccfd0aecfbb6dae059f2 Author: Vasu Dev Date: Fri Feb 27 10:56:27 2009 -0800 [SCSI] fcoe: Out of order tx frames was causing several check condition SCSI status frames followed by these errors in log. [sdp] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK [sdp] Sense Key : Aborted Command [current] [sdp] Add. Sense: Data phase error This was causing some test apps to exit due to write failure under heavy load. This was due to a race around adding and removing tx frame skb in fcoe_pending_queue, Chris Leech helped me to find that brief unlocking period when pulling skb from fcoe_pending_queue in various contexts (fcoe_watchdog and fcoe_xmit) and then adding skb back into fcoe_pending_queue up on a failed fcoe_start_io could change skb/tx frame order in fcoe_pending_queue. Thanks Chris. This patch allows only single context to pull skb from fcoe_pending_queue at any time to prevent above described ordering issue/race by use of fcoe_pending_queue_active flag. This patch simplified fcoe_watchdog with modified fcoe_check_wait_queue by use of FCOE_LOW_QUEUE_DEPTH instead previously used several conditionals to clear and set lp->qfull. I think FCOE_MAX_QUEUE_DEPTH with FCOE_LOW_QUEUE_DEPTH will work better in re/setting lp->qfull and these could be fine tuned for performance. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e904158159e9812d06646767b7c81846dc3b05e6 Author: Roel Kluin Date: Fri Feb 27 10:56:22 2009 -0800 [SCSI] fcoe: fix kfree(skb) Use kfree_skb instead of kfree for struct sk_buff pointers. Signed-off-by: Roel Kluin Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 74846bf85e42b4ba851d3f0dd67aa1df245895f9 Author: Yi Zou Date: Fri Feb 27 10:56:16 2009 -0800 [SCSI] fcoe: ETH_P_8021Q is already in if_ether and fcoe is not using it anyway Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 422819cfa3a2605a0b3bdc33aaef0bc2feaeaada Author: Yi Zou Date: Fri Feb 27 10:56:11 2009 -0800 [SCSI] libfc: do not change the fh_rx_id of a recevied frame We shouldn't be altering inbound frames. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 03ec862dff57ca3d1fcb439b99aadc45bc5c2f28 Author: Robert Love Date: Fri Feb 27 10:56:06 2009 -0800 [SCSI] fcoe: Correct fcoe_transports initialization vs. registration The registration function shouldn't initialize the mutex or list head. The fcoe SW transport should initialize itself before registering. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a468f328ad83f14556e5961ef1de80b32b428d32 Author: Robert Love Date: Fri Feb 27 10:56:00 2009 -0800 [SCSI] fcoe: Use setup_timer() and mod_timer() Use helper functions for watchdog timer setup. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit fc47ff6b1b27fb736f255ed8cd490356e0cd228f Author: Robert Love Date: Fri Feb 27 10:55:55 2009 -0800 [SCSI] libfc, fcoe: Remove unnecessary cast by removing inline wrapper Comment from "Andrew Morton " > +{ > + return (struct fcoe_softc *)lport_priv(lp); unneeded/undesirable cast of void*. There are probably zillions of instances of this - there always are. This whole inline function was unnecessary. The FCoE layer knows that it's data structure is stored in the lport private data, it can just access it from lport_priv(). Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b2ab99c9a300e572105d6db7f6efe0a4d1572167 Author: Robert Love Date: Fri Feb 27 10:55:50 2009 -0800 [SCSI] libfc, fcoe: Cleanup function formatting and minor typos 1) There were a few functions with a strange layout, i.e. all arguments on the second line, when not necessary. Where ever possible I moved the return value to the same line as the function name. However, when the line was too long to have a single argument on the same line I moved the return value to above line. For example: (, ) and (, ) 2) Removed one extra whitespace line 3) Fixed two typos Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 34f42a070fc98f5dc07e9fa2338b7b8d1dc347eb Author: Robert Love Date: Fri Feb 27 10:55:45 2009 -0800 [SCSI] libfc, fcoe: Fix kerneldoc comments 1) Added '()' for function names in kerneldoc comments 2) Changed comment bookends from '**/' to '*/'. The comment on the the mailing list was that '**/' "is consistently unconventional. Not wrong, just odd." The Documentation/kernel-doc-nano-HOWTO.txt states that kerneldoc comment blocks should end with '**/' but most (if not all) instance I found under drivers/scsi/ were only using the '*/' so I converted to that style. 3) Removed incorrect linebreaks in kerneldoc comments where found 4) Removed a few unnecessary blank comment lines in kerneldoc comment blocks Signed-off-by: Robert Love Signed-off-by: James Bottomley commit db434ac6bff0d991d0b60166dc9d6405b873d0f7 Author: Eilon Greenstein Date: Mon Mar 9 00:52:21 2009 +0000 bnx2x: Using DMAE to initialize the chip There was a bug, which occasionally caused failure in PRAM initialization after the cold boot. Also incremented version number to 1.45.27. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6dc7d8c843024c2636cf52d3f93047acbcd765f2 Author: Eilon Greenstein Date: Mon Mar 9 00:52:17 2009 +0000 bnx2x: Casting page alignment Adding a proper cast to the argument of PAGE_ALIGN macro so that the output won't depend on its original type. Without this cast aligned value will be truncated to the size of the argument type. Reported-by: Bjorn Helgaas Signed-off-by: Vladislav Zolotarov Tested-by: Bjorn Helgaas Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 916c775ff297dc60219a4f0e5527ba6ab4a88ed4 Author: Eilon Greenstein Date: Mon Mar 9 00:52:14 2009 +0000 bnx2x: Adding restriction on sge_buf_size sge_buff_size may not be more than 0xffff. Reported-by: Bjorn Helgaas Signed-off-by: Vladislav Zolotarov Tested-by: Bjorn Helgaas Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c06b4889c340da483d35a877ef9195c0401319b9 Merge: 74fac66... 8ca7fe2... Author: Russell King Date: Mon Mar 9 09:42:15 2009 +0000 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 74fac66e821475f5cb0f23bb5ecc7e18aa32fdc5 Merge: ef449e6... 1264fa6... Author: Russell King Date: Fri Mar 6 21:53:05 2009 +0000 Merge branch 's3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit 0ae4d4ae47d2ccbcad813b0d6d8fe12590c7d648 Author: Robert Love Date: Fri Feb 27 10:55:39 2009 -0800 [SCSI] libfc: Cleanup libfc_function_template comments Made the comments more like the comments for struct scsi_host_template. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit efaf5c085dd2d31757b0ff7886970dfddd8d1808 Author: Robert Love Date: Fri Feb 27 10:55:34 2009 -0800 [SCSI] libfc: check for err when recv and state is incorrect If we've just created an interface and the an rport is logging in we may have a request on the wire (say PRLI). If we destroy the interface, we'll go through each rport on the disc->rports list and set each rport's state to NONE. Then the lport will reset the EM. The EM reset will send a CLOSED event to the prli_resp() handler which will notice that the state != PRLI. In this case it frees the frame pointer, decrements the refcount and unlocks the rport. The problem is that there isn't a frame in this case. It's just a pointer with an embedded error code. The free causes an Oops. This patch moves the error checking to be before the state checking. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit d3b33327cab0c8e9cae2c12d908ca79433c0d1ac Author: Robert Love Date: Fri Feb 27 10:55:29 2009 -0800 [SCSI] libfc: rename rp to rdata in fc_disc_new_target() Just rename the variable as per our naming convention. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 23f11f9076fcd6ee20c56e413b11f1b5658e3f82 Author: Robert Love Date: Fri Feb 27 10:55:23 2009 -0800 [SCSI] libfc: correct RPORT_TO_PRIV usage We only need to use this macro when assigning a value to rport->dd_data. All other accesses should just use dd_data. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5101ff99f59aefb72e0c96e82aa32048ac9f8425 Author: Robert Love Date: Fri Feb 27 10:55:18 2009 -0800 [SCSI] libfc: Don't violate transport template for rogue port creation Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f7db2c150cf5082cf74555f30a1305938041de80 Author: Steve Ma Date: Fri Feb 27 10:55:13 2009 -0800 [SCSI] libfc: exch mgr is freed while lport still retrying sequences When a sequence cannot be delivered to the target, the local port will schedule retries, While this process is in progress, if we destroy the FCoE interface, the fcoe_sw_destroy routine is entered, and the fc_exch_mgr_free(lp->emp) is called. Thus if fc_exch_alloc() is called when retrying the sequence, the mempool_alloc() will fail to allocate the exchange because the mempool of the exchange manager has already been released. This patch is to cancel any pending retry work of the local port before we start to destroy the interface. Also, when resetting the local port, we should also stop the scheduled pending retries. Signed-off-by: Steve Ma Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 26d9cab558f901051d0b69b2c445c8588931ce8d Author: Vasu Dev Date: Fri Feb 27 10:55:07 2009 -0800 [SCSI] libfc: fixed a read IO data integrity issue when a IO data frame lost The fc_fcp_complete_locked detected data underrun in this case and set the FC_DATA_UNDRUN but that was ignored by fc_io_compl for all cases including read underrun. Added code to not to ignore FC_DATA_UNDRUN for read IO and instead suggested scsi-ml to retry cmd to recover from lost data frame. Not sure if it is okay to ignore FC_DATA_UNDRUN for other case, so let code as is for other cases but removed or-ing with zero valued fsp->cdb_status for those cases. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6755db1cd4587084be85f860b7aa7c0cc9d776dc Author: Chris Leech Date: Fri Feb 27 10:55:02 2009 -0800 [SCSI] libfc: rport retry on LS_RJT from certain ELS This allows any rport ELS to retry on LS_RJT. The rport error handling would only retry on resource allocation failures and exchange timeouts. I have a target that will occasionally reject PLOGI when we do a quick LOGO/PLOGI. When a critical ELS was rejected, libfc would fail silently leaving the rport in a dead state. The retry count and delay are managed by fc_rport_error_retry. If the retry count is exceeded fc_rport_error will be called. When retrying is not the correct course of action, fc_rport_error can be called directly. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit bc0e17f691085315ae9303eb5b0883fe16dfe6b1 Author: Vasu Dev Date: Fri Feb 27 10:54:57 2009 -0800 [SCSI] libfc, fcoe: fixed locking issues with lport->lp_mutex around lport->link_status The fcoe_xmit could call fc_pause in case the pending skb queue len is larger than FCOE_MAX_QUEUE_DEPTH, the fc_pause was trying to grab lport->lp_muex to change lport->link_status and that had these issues :- 1. The fcoe_xmit was getting called with bh disabled, thus causing "BUG: scheduling while atomic" when grabbing lport->lp_muex with bh disabled. 2. fc_linkup and fc_linkdown function calls lport_enter function with lport->lp_mutex held and these enter function in turn calls fcoe_xmit to send lport related FC frame, e.g. fc_linkup => fc_lport_enter_flogi to send flogi req. In this case grabbing the same lport->lp_mutex again in fc_puase from fcoe_xmit would cause deadlock. The lport->lp_mutex was used for setting FC_PAUSE in fcoe_xmit path but FC_PAUSE bit was not used anywhere beside just setting and clear this bit in lport->link_status, instead used a separate field qfull in fc_lport to eliminate need for lport->lp_mutex to track pending queue full condition and in turn avoid above described two locking issues. Also added check for lp->qfull in fc_fcp_lport_queue_ready to trigger SCSI_MLQUEUE_HOST_BUSY when lp->qfull is set to prevent more scsi-ml cmds while lp->qfull is set. This patch eliminated FC_LINK_UP and FC_PAUSE and instead used dedicated fields in fc_lport for this, this simplified all related conditional code. Also removed fc_pause and fc_unpause functions and instead used newly added lport->qfull directly in fcoe. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a7e84f2b83f17f8f11da34ccef3ba5a862dc0182 Author: Vasu Dev Date: Fri Feb 27 10:54:51 2009 -0800 [SCSI] libfc: fixed a soft lockup issue in fc_exch_recv_abts The fc_seq_start_next grabs ep->ex_lock but this lock was already held here, so instead called fc_seq_start_next_locked to avoid soft lockup. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 78342da3682ec843e3e6301af5c723c88a46c408 Author: Vasu Dev Date: Fri Feb 27 10:54:46 2009 -0800 [SCSI] libfc: handle RRQ exch timeout Cleanup exchange held due to RRQ when RRQ exch times out, in this case the ABTS is already done causing RRQ req therefore proceeding with cleanup in fc_exch_rrq_resp should be okay to restore exch resource. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 571f824c3cd7b7f5a40ba100f7e576b6b0fe826a Author: Abhijeet Joglekar Date: Fri Feb 27 10:54:41 2009 -0800 [SCSI] libfc: when rport goes away (re-plogi), clean up exchanges to/from rport When a rport goes away, libFC does a plogi which will reset exchanges at the rport. Clean exchanges at our end, both in transport and libFC. If transport hooks into exch_mgr_reset, it will call back into fc_exch_mgr_reset() to clean up libFC exchanges. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1f6ff364ceda516f88351a8ab640e656beed0b26 Author: Abhijeet Joglekar Date: Fri Feb 27 10:54:35 2009 -0800 [SCSI] libfc: Pass lport in exch_mgr_reset fc_exch_mgr structure is private to fc_exch.c. To export exch_mgr_reset to transport, transport needs access to the exch manager. Change exch_mgr_reset to use lport param which is the shared structure between libFC and transport. Alternatively, fc_exch_mgr definition can be moved to libfc.h so that lport can be accessed from mp*. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1264fa6f8c5bf561a86128b2d48ace53e3f1e66f Merge: efeff56... 559595a... Author: Ben Dooks Date: Fri Mar 6 17:13:52 2009 +0000 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes commit 20214fcd74bddc16d65d466212f5dd32aafe8868 Author: Darius Augulis Date: Mon Jan 12 16:22:57 2009 +0200 MX1 fix include Includes missed irqs.h in devices.c and mx1ads.c. Signed-off-by: Darius Augulis Signed-off-by: Sascha Hauer commit e08e7b5f01de7ec246b996c65e9c26c7cea0c62d Author: Mauro Carvalho Chehab Date: Thu Mar 5 16:19:14 2009 -0300 V4L/DVB (10834): zoran: auto-select bt866 for AverMedia 6 Eyes AFAIK, the bt866 is only seen on AverMedia 6 Eyes. However, no module selects it. Adds a proper select for this driver. Signed-off-by: Mauro Carvalho Chehab commit 4c6c390eb8ba0c569279266a98c604508c695ef8 Author: Vitaly Wool Date: Thu Mar 5 13:03:32 2009 -0300 V4L/DVB (10832): tvaudio: Avoid breakage with tda9874a The 'bytes' array is 64 bytes large but the easy standard programming (TDA9874A_ESP) has a number of 255, outside the shadow array size. This patch increases the size of the shadow array in order to accomodate this register. Signed-off-by: Vitaly Wool Signed-off-by: Mauro Carvalho Chehab commit d2c452306ab402d7a3572bc3bf8e575796529bf8 Author: Gregory Lardiere Date: Sun Feb 22 17:54:11 2009 -0300 V4L/DVB (10789): m5602-s5k4aa: Split up the initial sensor probe in chunks. The previous probe rotine tried to read 6 bytes in one chunk which currently isn't allowed. This is the rev. 10346 243399e67c41 readded with a high priority. Signed-off-by: Gregory Lardiere Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ef449e6d21b6e560c7ec36ed285ec3a34e0b12ed Author: Hartley Sweeten Date: Thu Mar 5 17:33:50 2009 +0100 [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info Fix build warnings due to struct i2c_board_info in Patch "5311/1: add core support for built in i2c bus" is causing 11 of 39 the build warnings with Kautobuild for ep93xx_defconfig on kernel 2.6.29-rc5-git4. This patch fixes it. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 33dd6f92a1a7ad85c54d47fd9d73371a32c0bde4 Author: Matthew Wilcox Date: Fri Feb 20 06:53:48 2009 -0700 [SCSI] sd: Don't try to spin up drives that are connected to an inactive port We currently try to spin up drives connected to standby and unavailable ports. This will never succeed and wastes a lot of time. Fail quickly if the sense data reports the port is in standby or unavailable state. Reported-by: Narayanan Rengarajan Tested-by: Narayanan Rengarajan Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d4cc510c61b050ef38e842a12feef71c56d7cf81 Author: Uwe Kleine-König Date: Wed Mar 4 11:48:46 2009 +0100 [ARM] 5418/1: restore lr before leaving mcount gcc seems to expect that lr isn't clobbered by mcount, because for a function starting with: static int func(void) { void *ra = __builtin_return_address(0); printk(KERN_EMERG "__builtin_return_address(0) = %pS\n", ra) ... the following assembler is generated by gcc 4.3.2: 0: e1a0c00d mov ip, sp 4: e92dd810 push {r4, fp, ip, lr, pc} 8: e24cb004 sub fp, ip, #4 ; 0x4 c: ebfffffe bl 0 10: e59f0034 ldr r0, [pc, #52] 14: e1a0100e mov r1, lr 18: ebfffffe bl 0 Without this patch obviously __builtin_return_address(0) yields func+0x10 instead of the return address of the caller. Note this patch fixes a similar issue for the routines used with dynamic ftrace even though this isn't currently selectable for ARM. Cc: Abhishek Sagar Cc: Steven Rostedt Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 843e22b056c07d39b8f97935173dab879abc613b Merge: 559595a... f45964e... Author: Russell King Date: Thu Mar 5 09:21:18 2009 +0000 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 8ca7fe267f58462825729443f3e3b44ef4901cf0 Author: Koen Kooi Date: Wed Mar 4 10:07:42 2009 -0800 ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz Changing it do 100kHz is needed to make more devices works properly. Controlling the TI DLP Pico projector[1] doesn't work properly at 400kHz, 100kHz and lower work fine. EDID readout is unaffected by this change. [1] http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&tabId=2234 Signed-off-by: Koen Kooi Acked-by: David Brownell Signed-off-by: Tony Lindgren commit e951651657610305c9af0045fd64c6a5b0bc4b80 Author: Aaro Koskinen Date: Wed Mar 4 10:07:41 2009 -0800 ARM: OMAP: Allow I2C bus driver to be compiled as a module Fixes a linker error when OMAP I2C bus driver is compiled as a module: ERROR: "i2c_register_board_info" [arch/arm/plat-omap/i2c.ko] undefined! The I2C utility functions used for board initialization should be always built-in. Signed-off-by: Aaro Koskinen Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 80ea3bac3a47bc73efa334d0dd57099d0ff14216 Author: Aaro Koskinen Date: Wed Mar 4 10:07:41 2009 -0800 ARM: OMAP: sched_clock() corrected After my OMAP3 board has been running for a while, I'm seeing weird latency traces like this: sh-1574 0d.h2 153us : do_timer (tick_do_update_jiffies64) sh-1574 0d.h2 153us : update_wall_time (do_timer) sh-1574 0d.h2 153us!: omap_32k_read (update_wall_time) sh-1574 0d.h2 1883us : update_xtime_cache (update_wall_time) sh-1574 0d.h2 1883us : clocksource_get_next (update_wall_time) sh-1574 0d.h2 1883us+: _spin_lock_irqsave (clocksource_get_next) and after a while: sh-17818 0d.h3 153us : do_timer (tick_do_update_jiffies64) sh-17818 0d.h3 153us : update_wall_time (do_timer) sh-17818 0d.h3 153us!: omap_32k_read (update_wall_time) sh-17818 0d.h3 1915us : update_xtime_cache (update_wall_time) sh-17818 0d.h3 1915us+: clocksource_get_next (update_wall_time) sh-17818 0d.h3 1945us : _spin_lock_irqsave (clocksource_get_next) Turns out that sched_clock() is using cyc2ns(), which returns NTP adjusted time. The sched_clock() frequency should not be adjusted. The patch deletes omap_32k_ticks_to_nsecs() and rewrites sched_clock() to do the conversion using the constant multiplier. Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit 87d99d6f7ee3ec73b2b0212427b173502ec9d6cb Author: David Brownell Date: Wed Mar 4 10:07:40 2009 -0800 ARM: OMAP: Fix compile error if pm.h is included Change the error to a warning. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit f45964ed6971db2e7ae6cb9b164def1d23b46612 Author: Saeed Bishara Date: Mon Mar 2 17:30:36 2009 +0200 [ARM] orion5x: pass dram mbus data to xor driver This data should be passed to the xor driver in order to initialize the address decoding windows of the xor unit. without this patch, the self tests of the xor will fail unless the address decoding windows were initialized by the boot loader. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit efeff568677aa325f84d3ce37c219019887a79eb Author: Werner Almesberger Date: Fri Feb 27 08:03:07 2009 -0300 [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc Some of the rate selection logic in s3c64xx_setrate_clksrc uses what appears to be parent clock selection logic. This patch corrects it. I also added a check for overly large dividers to prevent them from changing unrelated clocks. Signed-off-by: Werner Almesberger Signed-off-by: Ben Dooks commit fdca9bf2dae14218704ddd7dc60ad1b198c1d787 Author: Ben Dooks Date: Fri Feb 27 11:29:23 2009 +0000 [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c Fix the following sparse warnings in arch/arm/plat-s3c64xx/irq.c arch/arm/plat-s3c64xx/irq.c:210:23: warning: incorrect type in initializer (different address spaces) arch/arm/plat-s3c64xx/irq.c:210:23: expected void *reg_base arch/arm/plat-s3c64xx/irq.c:210:23: got void [noderef] *regs arch/arm/plat-s3c64xx/irq.c:215:2: warning: incorrect type in argument 1 (different address spaces) arch/arm/plat-s3c64xx/irq.c:215:2: expected void const volatile [noderef] * arch/arm/plat-s3c64xx/irq.c:215:2: got void * Signed-off-by: Ben Dooks commit 3782d3605522b836f53c6d11f76abf5404425c1b Author: Ben Dooks Date: Fri Feb 27 11:25:37 2009 +0000 [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c Fix the following sparse warnings in s3c6400-clock.c: 39:12: warning: symbol 'clk_ext_xtal_mux' was not declared. Should it be static? 66:12: warning: symbol 'clk_fout_apll' was not declared. Should it be static? 81:19: warning: symbol 'clk_mout_apll' was not declared. Should it be static? 91:12: warning: symbol 'clk_fout_epll' was not declared. Should it be static? 106:19: warning: symbol 'clk_mout_epll' was not declared. Should it be static? 126:19: warning: symbol 'clk_mout_mpll' was not declared. Should it be static? 148:12: warning: symbol 'clk_dout_mpll' was not declared. Should it be static? Signed-off-by: Ben Dooks commit 41ba41d7c7e1d2a3c9cdfe16c1ee9f7af4693ae2 Author: Ben Dooks Date: Thu Feb 26 23:00:34 2009 +0000 [ARM] S3C64XX: Fix USB host clock mux list The clock list for the USB host bus clock was in the wrong order, move clk_48m to position 0. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 19c5957081a6ffbf014e6c944e6aafee3c1632c3 Author: Ben Dooks Date: Thu Feb 26 23:00:33 2009 +0000 [ARM] S3C64XX: Fix name of USB host clock. The usb-host-bus clock should be named usb-bus-host. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 4271c3bd46a0f0448118cf618c7210237a98e6bf Author: Ben Dooks Date: Thu Feb 26 23:00:27 2009 +0000 [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH The USB OHCI host device expects the IRQ definition to be named IRQ_USBH, so rename the S3C64XX IRQ header to match. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 24d4076734b4ecf083a6be611040fe0743e59989 Author: Mark Brown Date: Fri Jan 23 17:06:23 2009 +0000 [ARM] S3C64XX: Do gpiolib configuration earlier arch_initcall() runs after the machine init function which means that any configuration of GPIO pins must currently be done later on, for example in callbacks from drivers. Move the initialisation earlier in order to allow machines to configure GPIOs directly in their init functions rather than having to have a callback invoked later on. Some other ARM platforms use this method. Other solutions for this include providing a special interface for setting up GPIOs en masse, adding callbacks to do the GPIO configuration from devices and doing the GPIO configuration implicitly. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 8bd8dbdf3725ce569467bd704840249869f626d6 Author: Mark Brown Date: Fri Jan 23 16:29:44 2009 +0000 [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint() It's an initcall and does not need to be exported. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 027191a8c6602d3fb6dde3820517339e1daf191d Author: Mark Brown Date: Fri Jan 23 16:29:43 2009 +0000 [ARM] SMDK6410: Declare iodesc table static Shuts up a warning. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 778974797793e7dcd42e3701e09c686b6419cb35 Author: Mark Brown Date: Fri Jan 23 16:29:41 2009 +0000 [ARM] SMDK6410: Correct I2C device name for WM8580 The WM8580 driver registers itself as "wm8580" rather than "WM8580". Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 789b4ad36c7037758309df98f1efa65d0c26527d Author: Mark Brown Date: Mon Jan 26 19:12:01 2009 +0000 [ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks() Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 28fd2d397bab5c7fb0eed0c20b6766c99ae34a8f Author: Ben Dooks Date: Fri Dec 12 00:24:33 2008 +0000 [ARM] S3C64XX: Set GPIO pin when select IRQ_EINT type Set the GPIO pin mode to external interrupt when configuring an IRQ_EINT's IRQ type. Signed-off-by: Ben Dooks