commit 4733fd328f14280900435d9dbae1487d110a4d56 Author: Benjamin Herrenschmidt Date: Tue Jul 28 10:16:48 2009 +1000 mm: Remove duplicate definitions in MIPS and SH Those definitions are already provided by asm-generic Signed-off-by: Benjamin Herrenschmidt Acked-by: Paul Mundt Signed-off-by: Linus Torvalds commit c56d300086140c93dc3390e5300fd17df802ec0e Author: Alan Cox Date: Tue Jul 28 00:34:58 2009 +0100 usb_serial: Fix remaining ref count/lock bugs This fixes - locking bug that was hidden by ecc2e05e739c30870c8e4f252b63a0c4041f2724 - Regression #13821 - Spurious warning when closing and blocking for data write out With these changes my PL2303 always ends up as ttyUSB0 when it should and the module refcounts stay correct. I'll do a more wholesale split & tidy of _open in the next release or two as we get a standard tty_port_open and port->ops->init port->ops->shutdown call backs. Copy sent to Alan Stern and Carlos Mafra just to confirm it fixes all the reports but it passes local testing with the same hardware as Alan Stern. Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fc013a58859b7cf85e53a05804a74952fe0a4117 Merge: 3a54297 f44aebc Author: Linus Torvalds Date: Mon Jul 27 15:54:10 2009 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: use GFP_NOFS under potential memory pressure fsnotify: fix inotify tail drop check with path entries inotify: check filename before dropping repeat events fsnotify: use def_bool in kconfig instead of letting the user choose inotify: fix error paths in inotify_update_watch inotify: do not leak inode marks in inotify_add_watch inotify: drop user watch count when a watch is removed commit 3a54297478e6578f96fd54bf4daa1751130aca86 Author: Alan Cox Date: Mon Jul 27 22:17:51 2009 +0100 pty: quickfix for the pty ENXIO timing problems This also makes close stall in the normal case which is apparently needed to fix emacs Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit f1462147f15a954a1a0553390846c6fa3ca742b1 Merge: e00b95d 6d7760a Author: Linus Torvalds Date: Mon Jul 27 13:42:47 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: (45 commits) cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. net: irda: init spinlock after memcpy ixgbe: fix for 82599 errata marking UDP checksum errors r8169: WakeOnLan fix for the 8168 netxen: reset ring consumer during cleanup net/bridge: use kobject_put to release kobject in br_add_if error path smc91x.h: add config for Nomadik evaluation kit NET: ROSE: Don't use static buffer. eepro: Read buffer overflow tokenring: Read buffer overflow at1700: Read buffer overflow fealnx: Write outside array bounds ixgbe: remove unnecessary call to device_init_wakeup ixgbe: Don't priority tag control frames in DCB mode ixgbe: Enable FCoE offload when DCB is enabled for 82599 net: Rework mdio-ofgpio driver to use of_mdio infrastructure register at91_ether using platform_driver_probe skge: Enable WoL by default if supported net: KS8851 needs to depend on MII be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. ... commit e00b95debb9a0f023b61abcd4b1e74f687276b47 Merge: b68f2fb 4afcd2d Author: Linus Torvalds Date: Mon Jul 27 12:23:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: read the right F2 maskoffset reg commit b68f2fb9e73f46037fbeca5fbd4ae8a7ddd8ef6b Author: Alan Cox Date: Mon Jul 27 10:58:08 2009 +0100 tty: Fix a USB serial crash/scribble The port lock is used to protect the port state. However the port structure is freed on a hangup, then the lock taken on a close. The right fix is to drop the port on tty->shutdown() but we can't yet do that due to sleep v non-sleeping rules. Instead do the next best thing and fix it up when we are not in -rc season. Reported-by: Daniel Mack Signed-off-by: Alan Cox Tested-by: Daniel Mack Signed-off-by: Linus Torvalds commit 6a31d4aeab85a02f9a57ca37b935054393daa794 Merge: ca597a0 950b260 Author: Linus Torvalds Date: Mon Jul 27 12:18:27 2009 -0700 Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Makefile cleanup microblaze: Typo fix for cpu param inconsistency microblaze: Add support for R_MICROBLAZE_64_NONE microblaze: Get module loading working microblaze: remove sys_ipc microblaze: Support unaligned address for put/get_user macros microblaze: Detect new Microblaze 7.20 versions microblaze: Fix do_page_fault for no context microblaze: Add _PAGE_FILE macros to pgtable.h microblaze: Fix put_user macro for 64bits arguments microblaze: Clear print messages for DTB passing via r7 microblaze: Not to clear r7 after copying DTB to kernel microblaze: Add messages about FDT blob microblaze: Final support for statically linked DTB microblaze: remove duplicated #include microblaze: Define tlb_flush macro commit ca597a02cd9902338aad91b0ce792fd9ffcaaa04 Merge: b54c383 d6c585a Author: Linus Torvalds Date: Mon Jul 27 12:18:09 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure x86, amd: Don't probe for extended APIC ID if APICs are disabled x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" x86-64: Fix bad_srat() to clear all state x86, mce: Fix set_trigger() accessor x86: Fix movq immediate operand constraints in uaccess.h x86: Fix movq immediate operand constraints in uaccess_64.h x86: Add reboot fixup for SBC-fitPC2 x86: Include all of .data.* sections in _edata on 64-bit x86: Add quirk for Intel DG45ID board to avoid low memory corruption commit b54c3835469c9548d470e7788cb22a2fd7e21133 Merge: 04fc0a4 57e4a5c Author: Linus Torvalds Date: Mon Jul 27 12:17:29 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: hda - Fix mute control with some ALC262 models ALSA: snd_usb_caiaq: add support for Audio2DJ ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ASoC: tlv320aic3x: Enable PLL when not bypassed ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: ctxfi - Fix uninitialized error checks ALSA: hda - Use snprintf() to be safer ALSA: usb-audio - Volume control quirk for QuickCam E 3500 ALSA: pcm - Fix regressions with VMware commit 04fc0a4097014db7c22da33a56494e3e8a1895d5 Merge: 760dcc6 ca4e771 Author: Linus Torvalds Date: Mon Jul 27 12:16:57 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: (34 commits) V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro V4L/DVB (12302): cx23885-417: fix broken IOCTL handling V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner V4L/DVB (12291): b2c2: fix frontends compiled into kernel V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) V4L/DVB (12245): em28xx: add support for mt9m001 webcams V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency ... commit 760dcc6e1839e7ca82507698fb077d5d78b24964 Merge: 4897f10 8d406c6 Author: Linus Torvalds Date: Mon Jul 27 12:16:38 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] zcrypt: fix scheduling of hrtimer ap_poll_timer [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on [S390] vdso: fix per cpu area allocation [S390] hibernation: fix register corruption on machine checks [S390] hibernation: fix lowcore handling commit 4897f1011aff7534b8e319404f7cd4028de7a453 Merge: a9355cf 5dea271 Author: Linus Torvalds Date: Mon Jul 27 12:16:21 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 table: pass correct dev area size to device_area_is_valid dm: remove queue next_ordered workaround for barriers dm raid1: wake kmirrord when requeueing delayed bios after remote recovery commit a9355cf8e68baac964f815079b820d2680756300 Merge: 9ae2602 4a19fb1 Author: Linus Torvalds Date: Mon Jul 27 12:15:56 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: Fix early release of acl in jfs_get_acl commit 9ae260270c90643156cda73427aa1f04c923e627 Author: Oleg Nesterov Date: Fri Jun 19 02:51:13 2009 +0200 update the comment in kthread_stop() Commit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 ("kthreads: rework kthread_stop()") removed the limitation that the thread function mysr not call do_exit() itself, but forgot to update the comment. Since that commit it is OK to use kthread_stop() even if kthread can exit itself. Signed-off-by: Oleg Nesterov Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90 Author: Mike Frysinger Date: Thu Jul 23 23:42:08 2009 +0930 module: use MODULE_SYMBOL_PREFIX with module_layout The check_modstruct_version() needs to look up the symbol "module_layout" in the kernel, but it does so literally and not by a C identifier. The trouble is that it does not include a symbol prefix for those ports that need it (like the Blackfin and H8300 port). So make sure we tack on the MODULE_SYMBOL_PREFIX define to the front of it. Signed-off-by: Mike Frysinger Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 2bc20d09b03bca6e068e07440812d75b70b1c0b2 Merge: c7425eb f1015c4 Author: Linus Torvalds Date: Mon Jul 27 12:12:10 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: jbd: fix race between write_metadata_buffer and get_write_access ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() jbd: Fix a race between checkpointing code and journal_get_write_access() ext3: Fix truncation of symlinks after failed write jbd: Fail to load a journal if it is too short commit c7425eb4814bce40f3d117ff7a7870cc12e350e3 Merge: 9e1b32c f1230c9 Author: Linus Torvalds Date: Mon Jul 27 12:11:43 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] fix sparse warning cifs: fix sb->s_maxbytes so that it casts properly to a signed value cifs: disable serverino if server doesn't support it commit 9e1b32caa525cb236e80e9c671e179bcecccc657 Author: Benjamin Herrenschmidt Date: Wed Jul 22 15:44:28 2009 +1000 mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() Upcoming paches to support the new 64-bit "BookE" powerpc architecture will need to have the virtual address corresponding to PTE page when freeing it, due to the way the HW table walker works. Basically, the TLB can be loaded with "large" pages that cover the whole virtual space (well, sort-of, half of it actually) represented by a PTE page, and which contain an "indirect" bit indicating that this TLB entry RPN points to an array of PTEs from which the TLB can then create direct entries. Thus, in order to invalidate those when PTE pages are deleted, we need the virtual address to pass to tlbilx or tlbivax instructions. The old trick of sticking it somewhere in the PTE page struct page sucks too much, the address is almost readily available in all call sites and almost everybody implemets these as macros, so we may as well add the argument everywhere. I added it to the pmd and pud variants for consistency. Signed-off-by: Benjamin Herrenschmidt Acked-by: David Howells [MN10300 & FRV] Acked-by: Nick Piggin Acked-by: Martin Schwidefsky [s390] Signed-off-by: Linus Torvalds commit 6d7760a88c25057c2c2243e5dfe2d731064bd31d Author: Michael Chan Date: Mon Jul 27 11:25:58 2009 -0700 cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. When a net device goes down or when the bnx2i driver is unloaded, the code was not generating the ISCSI_KEVENT_IF_DOWN message properly and this could cause the userspace driver to crash. This is fixed by sending the message properly in the shutdown path. cnic_uio_stop() is also added to send the message when bnx2i is unregistering. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0cbb0a781a42f131e9c6836554f402cb85f8f38b Author: Deepak Saxena Date: Mon Jul 27 10:49:44 2009 -0700 net: irda: init spinlock after memcpy irttp_dup() copies a tsap_cb struct, but does not initialize the spinlock in the new structure, which confuses lockdep. Signed-off-by: Deepak Saxena Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 4afcd2dcc6d89da696fc9d469a909adafa9d3636 Author: Wan Wei Date: Mon Jul 27 14:34:15 2009 +0200 amd64_edac: read the right F2 maskoffset reg Signed-off-by: Wan Wei Signed-off-by: Borislav Petkov commit 950b260ed21fdb6fa5f18485dabb0b03488431fa Author: Sam Ravnborg Date: Fri Jul 24 09:04:49 2009 +0200 microblaze: Makefile cleanup Reviewed the Makefile on request by Michal and this is the resulting changes. o Use ':=' for assignmnet so we do not re-evaluate for each use o Use $(shell echo xxx) to remove "" o Replaced CFLAGS_KERNEL with KBUILD_CFLAGS The settings are equally relevant for modules and the linked kernel o Dropped LDFLAGS_BLOB - it is no longer used o Refactored assignmnets to libs-y and core-y o Use MMU for the MMU specific extension. "MMUEXT" was hurting my eyes and I did not wanted it spread to m68k Signed-off-by: Sam Ravnborg Signed-off-by: Michal Simek commit 65d3db0601509946fe0c9d2c7b12a5a62ca42e5e Author: Michal Simek Date: Fri Jul 24 08:11:23 2009 +0200 microblaze: Typo fix for cpu param inconsistency Signed-off-by: Michal Simek commit 679711b82f010b854c5d4d88472c7a20fdc2b5fe Author: Michal Simek Date: Thu Jul 23 08:24:47 2009 +0200 microblaze: Add support for R_MICROBLAZE_64_NONE For example reiserfs use this relocation type. Signed-off-by: Michal Simek commit fadf2e60a6dc7267658fa0c9e3bef13c699c7e1f Author: John Williams Date: Thu Jul 23 14:56:49 2009 +1000 microblaze: Get module loading working New reloc type R_MICROBLAZE_32_PCREL_LO requires a null handler (no work to do). Remove legacy hack for broken linker pre gcc-4.1.1, that required us to extract an offset from the code, add it to the addend, then rewrite the instruction. Fixup the invalid reloc type error output. Boot tested with the xilinx_emaclite ethernet driver. Signed-off-by: John Williams Signed-off-by: Michal Simek commit bfc0ca0d33e24fca5b89acb378a8a9712ffe22b6 Author: Arnd Bergmann Date: Thu Jun 18 19:55:35 2009 +0200 microblaze: remove sys_ipc The ipc system call is now unused in microblaze, as the system call table points directly to the indidual system calls for IPC. Signed-off-by: Arnd Bergmann Signed-off-by: Michal Simek commit 3863dbceac7e69642b95f43de1c12c6236fdbe5b Author: Michal Simek Date: Tue Jul 21 12:48:01 2009 +0200 microblaze: Support unaligned address for put/get_user macros This patch add support for cases where load/store instruction in put/get_user macro gets unaligned pointer to data and this address is not valid. I prevent all cases which can failed. I had to disable first stage of unaligned handler which is used only for noMMU kernel and the whole work is done when interrupt is enabled. You have enable HW support for detect unaligned access in Microblaze. This patch fixed three LTP tests: getpeername01, getsockname01, socketpair01 Signed-off-by: Michal Simek commit 94ad8eb854cbc1cf875a318f9b97314ddc6b1560 Author: Michal Simek Date: Tue Jul 21 12:47:04 2009 +0200 microblaze: Detect new Microblaze 7.20 versions Signed-off-by: Michal Simek commit f10eca6e107fd223c24393c09c40b916d2b3c427 Author: Michal Simek Date: Thu Jul 16 16:00:49 2009 +0200 microblaze: Fix do_page_fault for no context Calling fixup when we are in kernel mode. This prevent fault for copy_to/from_user. This fault was find thanks to writev01/03/04 LTP tests. Signed-off-by: Michal Simek commit f14d6f7c31c73a902a6b567dc719128e74603902 Author: Michal Simek Date: Wed Jul 15 13:39:35 2009 +0200 microblaze: Add _PAGE_FILE macros to pgtable.h We need to define _PAGE_FILE macro and change pte functions. Microblaze use the same MMU as PowerPC that's why we define _PAGE_FILE in the same style. This change fixed remap_file_pages01 LTP test. Signed-off-by: Michal Simek commit 7bcb63b21327427b130edeb6e6ad44ee260b3043 Author: Michal Simek Date: Mon Jul 13 16:46:54 2009 +0200 microblaze: Fix put_user macro for 64bits arguments For 64bits arguments gcc caused that put_user macro works with wrong value because of optimalization. Adding volatile caused that gcc not optimized it. It is possible to use (as Blackfin do) two put_user macros with 32bits arguments but there is one more instruction which is due to duplication zero return value which is called put_user_asm macro. Signed-off-by: Michal Simek commit ea3fd1466f81a851452bf7f34ccb9b5058e4793c Author: Michal Simek Date: Mon Jun 22 12:31:55 2009 +0200 microblaze: Clear print messages for DTB passing via r7 It is necessary to zeroed r7 when r7 points to bad dtb - this caused that we have correct messages about compiled-in dtb or passing via r7 Signed-off-by: Michal Simek commit a69cb8c4662dd0a7b01b32a9165b1a1697068f19 Author: Michal Simek Date: Mon Jun 22 10:55:40 2009 +0200 microblaze: Not to clear r7 after copying DTB to kernel I can't clear r7 because if I do it I lose information where DTB come from. Signed-off-by: Michal Simek commit 74510f2a2751ed56b5ab099b2e3b7697b91aa77e Author: Michal Simek Date: Mon Jun 22 10:28:40 2009 +0200 microblaze: Add messages about FDT blob Print accurate message about place where FDT blob is. Signed-off-by: Michal Simek commit 909964ec89ba466d75d53250d5738d1891cc1a3d Author: John Williams Date: Mon Jun 22 14:02:09 2009 +1000 microblaze: Final support for statically linked DTB If r7 is zero at kernel boot, or does not point to a valid DTB, then we fall back to a DTB (assumed to be) linked statically in the kernel, instead of blindly copying bogus cruft into the kernel DTB memory region Signed-off-by: John Williams Signed-off-by: Michal Simek commit 1170902b343053f50d4caf8ec2aa745fd0ce5c84 Author: Huang Weiyi Date: Sat Jul 11 09:32:08 2009 +0800 microblaze: remove duplicated #include Remove duplicated #include('s) in arch/microblaze/include/asm/io.h Signed-off-by: Huang Weiyi Signed-off-by: Michal Simek commit efffde36d20613d91a5ea9529b03f477077f41ea Author: Michal Simek Date: Thu Jul 9 11:33:39 2009 +0200 microblaze: Define tlb_flush macro This fix remove bug which we had till now in all Microblaze MMU code. Primary tested on mmap01 LTP test. We forget to flush invalid tlb which were changed - we used them and there were wrong old data which wasn't correct. Signed-off-by: Michal Simek commit 8bae1b2b13beb4cf4c0f119f97640503c2b74b0f Author: Don Skidmore Date: Thu Jul 23 18:00:39 2009 +0000 ixgbe: fix for 82599 errata marking UDP checksum errors There is an 82599 errata that UDP frames with a zero checksum are incorrectly marked as checksum invalid by the hardware. This was leading to misleading hw_csum_rx_error counts. This patch adds a test around this counter increase for this condition. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ca52efd5490f97f396d3c5863ba714624f272033 Author: françois romieu Date: Fri Jul 24 12:34:19 2009 +0000 r8169: WakeOnLan fix for the 8168 More stuff for http://bugzilla.kernel.org/show_bug.cgi?id=9512 Some 8168 are unable to WoL when receiving is not enabled (plain old 8169 do not seem to care). It is not exactly pretty to leave the receiver enabled but we should now enable DMA late enough for it to be safe. Some late stage boot failure due to pxe and friends may benefit from the delayed enabling of bus-mastering as well. Signed-off-by: Francois Romieu Tested-by: Jaromír Cápík Cc: Edward Hsu commit c8a5a658b826508c7c61b57e9a590f7b8760fb51 Author: Dhananjay Phadke Date: Sun Jul 26 20:17:21 2009 -0700 netxen: reset ring consumer during cleanup Reset consumer of status rings to 0 when cleaning up sw resources. Status rings are not deleted during suspend since they have napi objects. This ensures correct rx processing across suspen-resume. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c587aea951a56d29741a3cef4ea3e142c93b3207 Author: Xiaotian Feng Date: Thu Jul 23 23:06:32 2009 +0000 net/bridge: use kobject_put to release kobject in br_add_if error path kobject_init_and_add will alloc memory for kobj->name, so in br_add_if error path, simply use kobject_del will not free memory for kobj->name. Fix by using kobject_put instead, kobject_put will internally calls kobject_del and frees memory for kobj->name. Signed-off-by: Xiaotian Feng Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4a29f396429132dc59f1856ea6cfc860a1955fa1 Author: Alessandro Rubini Date: Wed Jul 22 12:49:08 2009 +0000 smc91x.h: add config for Nomadik evaluation kit Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: David S. Miller commit dcf777f6ed9799c5ac90ac17a5c369e6b73ca92e Author: Ralf Baechle Date: Sun Jul 26 19:11:14 2009 -0700 NET: ROSE: Don't use static buffer. The use of a static buffer in rose2asc() to return its result is not threadproof and can result in corruption if multiple threads are trying to use one of the procfs files based on rose2asc(). Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit d513d018e2236930b6163241bbdce64d2c0de49e Author: Roel Kluin Date: Sun Jul 26 18:53:17 2009 -0700 eepro: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit c65d3198addb1a2862d4b88bc2a74ac9cbed66f9 Author: roel kluin Date: Sat Jul 25 12:38:33 2009 +0000 tokenring: Read buffer overflow io[i] is read before the bounds check on i, order should be reversed Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 3b73e79b0dcc86f8bec68a34b7fb812eec953f34 Author: roel kluin Date: Sat Jul 25 12:01:50 2009 +0000 at1700: Read buffer overflow loop bound looks to be wrong, for an array of length 8 Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit f83284fe209b1d143244bf462abf1b414eb7b62a Author: roel kluin Date: Sat Jul 25 07:41:12 2009 +0000 fealnx: Write outside array bounds phy_idx is checked to be < 4, but np->phys[] is 2 elements long Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 57e4a5c4f8cfb4b198830c5400f9fc9eb7b75091 Merge: b881588 2cf313e Author: Takashi Iwai Date: Sun Jul 26 11:07:08 2009 +0200 Merge branch 'fix/usb-audio' into for-linus * fix/usb-audio: ALSA: usb-audio - Volume control quirk for QuickCam E 3500 commit b88158846f36374553a5915b7cb5a86540cf9762 Merge: de5d674 947ca21 Author: Takashi Iwai Date: Sun Jul 26 11:07:07 2009 +0200 Merge branch 'fix/pcm-hwptr' into for-linus * fix/pcm-hwptr: ALSA: pcm - Fix hwptr buffer-size overlap bug ALSA: pcm - Fix warnings in debug loggings ALSA: pcm - Add logging of hwptr updates and interrupt updates ALSA: pcm - Fix regressions with VMware commit de5d674c0220e3adc84fb05d0e8e2793ffc094d8 Merge: f35e296 8de56b7 Author: Takashi Iwai Date: Sun Jul 26 11:07:06 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix mute control with some ALC262 models ALSA: hda - Restore GPIO1 properly at resume with AD1984A ALSA: hda - Use snprintf() to be safer commit f35e2965b238bbfd6d3be8969361b5769ed247ed Merge: 29769d5 6811066 Author: Takashi Iwai Date: Sun Jul 26 11:07:05 2009 +0200 Merge branch 'fix/ctxfi' into for-linus * fix/ctxfi: ALSA: ctxfi - Fix uninitialized error checks commit 29769d533bc7c1429601272b6dd88d4212125e8e Merge: 7679d5c b30c494 Author: Takashi Iwai Date: Sun Jul 26 11:07:04 2009 +0200 Merge branch 'fix/caiaq' into for-linus * fix/caiaq: ALSA: snd_usb_caiaq: add support for Audio2DJ commit 7679d5c65ba8e4d27daa9181c2f4c7e618058f29 Merge: 4be3bd7 06c7128 Author: Takashi Iwai Date: Sun Jul 26 11:07:03 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: tlv320aic3x: Enable PLL when not bypassed commit ca4e771f7b878b7bab02dedb539f7742f9b4f50e Author: Michael Krufky Date: Sun Jul 19 17:55:35 2009 -0300 V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro When enabling debug with v4l_debug set to 2 or greater, the driver OOPS's on startup. Checks dev pointer before dereferencing, in order to prevent this OOPS. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 12a34cc8a9a49219ab643c8ec329078eec272b47 Author: Michael Krufky Date: Sun Jul 19 18:19:18 2009 -0300 V4L/DVB (12302): cx23885-417: fix broken IOCTL handling IOCTLS will never get handled if we dont connect video_ioctl2 to mpeg_fops.ioctl Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2c90577841a76f1935ff3437ffb552b41f5c28fa Author: Hans Verkuil Date: Mon Jul 20 08:14:17 2009 -0300 V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner Both tvaudio and the tuner share i2c address 0x42. The tvaudio module can check whether it really is a tda9840, but the tuner can't. So the tvaudio module must be loaded before the tuner module. This was also the case for 2.6.29, but the order was swapped in 2.6.30. Thanks to Krzysztof Grygiencz for reporting and testing this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 68b7f7616add4b1de0fe75015ba3884d2d9ff796 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12291): b2c2: fix frontends compiled into kernel A recent patch didn't take into account that frontends can be compiled into the kernel. Or that frontends compiled as modules can't be used by the b2c2 driver if it is not a module itself. Some frontends require multiple drivers, e.g. a demod driver and a tuner driver. The code for the frontend support was getting added if the demod driver was available. Change this to also require any needed tuner or SEC drivers as well. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit c15b95edb98f184e73f756511a60a7994cd9d840 Author: Mauro Carvalho Chehab Date: Sun Jul 19 18:03:23 2009 -0300 V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers This is not just pure cosmetic, since the order affects the out-of-tree module build at the -hg development tree. Signed-off-by: Mauro Carvalho Chehab commit 3eb0237d445c23e9f46b11a07bce986eca450640 Author: Julia Lawall Date: Sun Jul 19 07:09:32 2009 -0300 V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header). Signed-off-by: Julia Lawall Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 26e744b6b61066203fd57de0d3962353621e06f8 Author: Brian Johnson Date: Sun Jul 19 05:52:58 2009 -0300 V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges. Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit af1d9afa75082663ea9e2b67b9381d1af403f52b Author: Brian Johnson Date: Sun Jul 19 05:29:20 2009 -0300 V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register. Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a2f5a8117cb185fc347f35e369a6320e6aa9d82d Author: Antti Palosaari Date: Fri Jul 10 20:03:43 2009 -0300 V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app Request demodulator auto-detect transmission parameters in case of garbage parameters provided by application for compatibility. That's needed at least for MPlayer compatibility currently. Thanks to Jelle de Jong for reporting issue and providing SSH access to Devin for debugging. Thanks to Devin Heitmueller for hard debug work he did to find that bug. Cc: Devin Heitmueller Cc: Jelle de Jong Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 27954930f047df73a16253db2750345034e56c40 Author: Jean-Francois Moine Date: Wed Jul 8 05:21:50 2009 -0300 V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors. The bug was introduced when adding the light frequency control Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a84f79aed688a94197387830df3a2f2068f49dc0 Author: Devin Heitmueller Date: Sun Jul 12 17:05:02 2009 -0300 V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1) When the change was introduced in the zl10353 for the i2c gate behavior, this broke the HVR-900 which was not behind a gate. Use a version of the zl10353 config profile that indicates the tuner is not behind such a gate. Without this patch the first tune succeeds, but subsequent tuning attempts will fail. The change also renames the terratec zl10353 profile I wrote to be more generic, since it is shared by the non-terratec device. Thanks to Michael Krufky for providing a HVR-900 and DVB-T environment to test with. Cc: Michael Krufky Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e16e5a3739cfd208de00d49def10fcfa6ceff46f Author: Devin Heitmueller Date: Wed Jul 15 00:37:22 2009 -0300 V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e The Pinnacle Hybrid Pro 320e was missing a demod config for the xc3028, which is required for digital tuning to work properly. Add the missing profile. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 5343e446014b93f740d5502f9f3bfa3f66dcbc7c Author: Devin Heitmueller Date: Wed Jul 15 00:35:47 2009 -0300 V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used In cases where the device has a generic Empia USB ID, the call in the precard setup phase did not set the tuner GPIO. As a result, the tuner may not be taken out of reset before attempting initialization in the analog driver. This problem was not seen before with the EVGA inDtube, since that particular board has the analog GPIO setup to include taking the tuner out of reset. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment for the Pinnacle 320e. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 44010440ca2693a07b1252ee836a23804412575e Author: Devin Heitmueller Date: Wed Jul 8 22:18:15 2009 -0300 V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support Set the GPIO properly for the analog side of the Pinnacle Hybrid Pro, or else the emp202 doesn't get detected properly. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d5b3ba9cb375620a109d79f2e3a7bc21e9b75d8f Author: Devin Heitmueller Date: Wed Jul 8 21:51:35 2009 -0300 V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881) Setup the GPIOs properly and enable support for the DVB side of the Pinnacle Hybrid Pro USB stick. Thanks to Andreas Lunderhage for testing patches and providing a remote debug environment. Cc: Andreas Lunderhage Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit ff69786b4ccd0d5b99a60ba0be98237f9b7d8f52 Author: Devin Heitmueller Date: Sun Jul 12 18:44:19 2009 -0300 V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB Andy walls pointed out that we were passing 0x5d to the TUNER_GO register, instead of 0x01. Set the register properly (note the code did still work with the incorrect value, so this does not address a regression). Thanks to Andy Walls for noticing the issue. Cc: Andy Walls Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4fb202a8d9d936f7080ab631140b447a0625e36c Author: Devin Heitmueller Date: Sun Jul 12 17:51:12 2009 -0300 V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant) The Terratec Cinergy T XS USB can have either a zl10353 or an mt352. Add support for the MT352 variant. Thanks to Jelle de Jong for providing a unit to test/debug with. Cc: Jelle de Jong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit b80fd2d811b48a92051f86d257b00f373e69a6d7 Author: Mauro Carvalho Chehab Date: Tue Jul 14 21:08:22 2009 -0300 V4L/DVB (12245): em28xx: add support for mt9m001 webcams Thanks to Wally for bringing the issue and helping with the tests. Signed-off-by: Mauro Carvalho Chehab commit 579d315218e8a3f696e375c5f6917da6488bec8a Author: Mauro Carvalho Chehab Date: Tue Jul 14 12:33:25 2009 -0300 V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format Depending on the video input format, vinmode/vinctl needs adjustments. For TV, this is not relevant, since the supported decoders output data at the same format. However, webcam sensors may have different formats, so, this needs to be adjusted based on the device. Signed-off-by: Mauro Carvalho Chehab commit d36bb4e77257ed0df86deca3f69794f037f68c7d Author: Mauro Carvalho Chehab Date: Tue Jul 14 03:18:39 2009 -0300 V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency In order to properly estimate fps, mt9v011 sensor driver needs to know what is the used frequency on the sensor cristal. Adds the proper fields and initialization code for specifying the cristal frequency. Also, based on experimentation, it was noticed that the Silvercrest is outputing data at 7 fps. This means that it should be using a 6.3 MHz cristal. This information needs to be double checked later, by opening the device. Anyway, by using this value for xtal, at least now we have the correct fps report. Signed-off-by: Mauro Carvalho Chehab commit 2ea472ff704a8a94b3b9abec438db23e512be337 Author: Mauro Carvalho Chehab Date: Tue Jul 14 03:14:21 2009 -0300 V4L/DVB (12242): mt9v011: implement core->s_config to allow adjusting xtal frequency Since frames per second is a function of cristal frequency, and this is device-specific, add a function that allows adjusting it, via subdev->core->s_config callback. Signed-off-by: Mauro Carvalho Chehab commit c180604a87c5abb0a117998009d01a4499d58653 Author: Mauro Carvalho Chehab Date: Tue Jul 14 02:39:19 2009 -0300 V4L/DVB (12241): mt9v011: Fix vstart vstart calculus were wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab commit e11206e67f738b04d0c508795adc9bff504bc875 Author: Mauro Carvalho Chehab Date: Tue Jul 14 02:38:18 2009 -0300 V4L/DVB (12240): mt9v011: add a function to calculate frames per second rate It is possible to adjust the fps rate by changing some register values. This is function of the connected Xtal at the camera sensor, being a 27 MHz cristal needed, in order to support 640x480 at 30 fps. For now, it will only calculate the values for fps. Later patches may introduce V4L2 ioctls, to allow frequency rate adjustments. Signed-off-by: Mauro Carvalho Chehab commit 5569996421fa1cfc1fc0d9e683ac1def46ea985d Author: Mauro Carvalho Chehab Date: Mon Jul 13 20:15:02 2009 -0300 V4L/DVB (12239): em28xx: fix webcam scaling While trying to fix an mt9v001 webcam, I noticed that HSCALE/VSCALE do work with em28xx + webcam. The issue is that the scaling setup depends on the number of visible rows/cols of the input image. With mt9v011 (Silvercrest), the resolution is 640x480. So, the scaling is different from a normal TV image (720x480 on NTSC). This were causing a wrong scaling and a previous patch disabled scaling. As each sensor have their different resolution setting, the xres/yres should be adjusted accordingly with the input sensor. Signed-off-by: Mauro Carvalho Chehab commit b04fb6615285d18df34ffd6cdd51db7a8a78dda0 Author: Mauro Carvalho Chehab Date: Mon Jul 13 01:28:21 2009 -0300 V4L/DVB (12238): em28xx: call sensor detection code for all webcam entries With the previous approach, autodetection were working only for the two generic entries (em275x and em2820 unknown ones). So, if someone would try to force probing an specific device, the code would not properly run the autodetection code. With the new approach, the sensor autodetection will be run not only for the two generic entries, but also do webcam specific ones. Signed-off-by: Mauro Carvalho Chehab commit 9873740b2f41b37ec074afd4b8910b87dbebc0db Author: Mauro Carvalho Chehab Date: Mon Jul 13 01:03:37 2009 -0300 V4L/DVB (12237): mt9v011: implement VIDIOC_QUERYCTRL Signed-off-by: Mauro Carvalho Chehab commit 527f09a981e398331c2f8d8f7af83cd46e6a06cc Author: Mauro Carvalho Chehab Date: Sun Jul 12 11:04:15 2009 -0300 V4L/DVB (12236): em28xx: stop abusing of board->decoder for sensor information Instead of using em28xx board decoder field for storing sensor information, let's use instead a separate field for it. Also, as sensors are currently autodetected, there's no need of having it at the boards description. So, move it to the main em28xx struct. Signed-off-by: Mauro Carvalho Chehab commit 8b220793d6fd309176438721088515be893630cd Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:56:21 2009 -0300 V4L/DVB (12235): em28xx: detects sensors also with the generic em2750/2750 entry Webcams in general don't have eeprom. So, the sensor hint code should be called to properly detect what sensor is inside. Signed-off-by: Mauro Carvalho Chehab commit 8a2e6990f44d4cebaafcc0af1a786912ae733bb2 Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:26:36 2009 -0300 V4L/DVB (12234): em28xx-cards: use is_webcam flag for devices that are known to be webcams By having the webcam devices marked as such, it will help the em28xx driver to do the right thing on those devices. Signed-off-by: Mauro Carvalho Chehab commit c43221df762c33e832e8855cae77989b6bf69fa6 Author: Mauro Carvalho Chehab Date: Sun Jul 12 10:23:23 2009 -0300 V4L/DVB (12233): em28xx: rename is_27xx to is_webcam Just renames the flag, to use a clearer name. Later patches will use this flag to properly set some drivers behaviors for webcams. Signed-off-by: Mauro Carvalho Chehab commit 641f75caa874fffd679b64f850adee37103b0c0f Author: Erik Andrén Date: Wed Jul 8 14:47:16 2009 -0300 V4L/DVB (12224): gspca - m5602-s5k4aa: Remove erroneous register writes A couple of erroneous register writes snuck in that made the image go haywire. Remove these. Many thanks to Grégory Lardière for finding this out Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit c0ea8f5b7264c813ee885f02b663ee3106f98afe Author: Erik Andrén Date: Wed Jul 1 02:56:44 2009 -0300 V4L/DVB (12223): gspca - stv06xx-hdcs: Correct the pixelformat Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit ac51295ccc0ff922fea62cfc6f72cddf9c6c7306 Author: Erik Andrén Date: Wed Jun 24 04:30:56 2009 -0300 V4L/DVB (12222): gspca - stv06xx-hdcs: Fix sensor sequence bug All hdcs registers use bit 0 as a read/write flag and needs to be shifted one bit to the left. This wasn't accounted for when doing a sequence of writes. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 36a516d953e02523e78ce27fbff91a968a9e5751 Author: Erik Andrén Date: Tue Jun 23 12:22:48 2009 -0300 V4L/DVB (12221): gspca - stv06xx-hdcs: Actually update the sensor state Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 8de56b7deb2534a586839eda52843c1dae680dc5 Author: Takashi Iwai Date: Fri Jul 24 16:51:47 2009 +0200 ALSA: hda - Fix mute control with some ALC262 models The master mute switch is wrongly implemented as checking the pointer instead of its value, thus it can be never muted. This patch fixes the issue. Reference: Novell bnc#404873 https://bugzilla.novell.com/show_bug.cgi?id=404873 Signed-off-by: Takashi Iwai Cc: commit 8d406c6de2e67b5bae3c43b62b492c4ff63afb92 Author: Felix Beck Date: Fri Jul 24 12:39:53 2009 +0200 [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer Every time a request is enqueued or there is some work outstanding from the ap_tasklet, the ap_poll_timer is scheduled again. Unfortunately it was permanently called. It looked as if it was started in the past and thus imediately expired. This has been changed. First it is checked if the hrtimer is already expired. Then the expiring time is forwarded and the timer restarted. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 1277580fe5dfb5aef84854bdb7983657df00b920 Author: Martin Schwidefsky Date: Fri Jul 24 12:39:52 2009 +0200 [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on The combination of noexec=on and a clock_gettime call with clock id CLOCK_THREAD_CPUTIME_ID is broken. The vdso code switches to the access register mode to get access to the per-cpu data structure to execute the magic ectg instruction. After the ectg instruction the code always switches back to the primary mode but for noexec=on the correct mode is the secondary mode. The effect of the bug is that the user space program looses the access to all mappings without PROT_EXEC, e.g. the stack. The problem is fixed by restoring the mode that has been active before the switch to the access register mode. Signed-off-by: Martin Schwidefsky commit 3a6ba4600d6fb913ddb0dd08843ad75405795883 Author: Heiko Carstens Date: Fri Jul 24 12:39:51 2009 +0200 [S390] vdso: fix per cpu area allocation vdso per cpu area allocation in smp_prepare_cpus() happens with GFP_KERNEL but irqs disabled. Triggers this one: Badness at kernel/lockdep.c:2280 Modules linked in: CPU: 0 Not tainted 2.6.30 #2 Process swapper (pid: 1, task: 000000003fe88000, ksp: 000000003fe87eb8) Krnl PSW : 0400c00180000000 0000000000083360 (lockdep_trace_alloc+0xec/0xf8) [...] Call Trace: ([<00000000000832b6>] lockdep_trace_alloc+0x42/0xf8) [<00000000000b1880>] __alloc_pages_internal+0x3e8/0x5c4 [<00000000000b1b4a>] __get_free_pages+0x3a/0xb0 [<0000000000026546>] vdso_alloc_per_cpu+0x6a/0x18c [<00000000005eff82>] smp_prepare_cpus+0x322/0x594 [<00000000005e8232>] kernel_init+0x76/0x398 [<000000000001bb1e>] kernel_thread_starter+0x6/0xc [<000000000001bb18>] kernel_thread_starter+0x0/0xc Fix this by moving the allocation out of the irqs disabled section. Reported-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c63b196afcf22405527abe4c2c57926a5bbd6fc9 Author: Heiko Carstens Date: Fri Jul 24 12:39:50 2009 +0200 [S390] hibernation: fix register corruption on machine checks swsusp_arch_suspend() actually saves all cpu register contents on hibernation. Machine checks must be disabled since swsusp_arch_suspend() stores register contents to their lowcore save areas. That's the same place where register contents on machine checks would be saved. To avoid register corruption disable machine checks. We must also disable machine checks in the new psw mask for program checks, since swsusp_arch_suspend() may generate program checks. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5f954c3426190f7ae432a09abd62164d5d14c709 Author: Heiko Carstens Date: Fri Jul 24 12:39:49 2009 +0200 [S390] hibernation: fix lowcore handling Our swsusp_arch_suspend() backend implementation disables prefixing by setting the contents of the prefix register to 0. However afterwards common code functions are called which might access percpu data structures. Since the lowcore contains e.g. the percpu base pointer this isn't a good idea. So fix this by copying the hibernating cpu's lowcore to absolute address zero. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d6c585a4342a2ff627a29f9aea77c5ed4cd76023 Author: Thomas Gleixner Date: Fri Jul 24 08:34:59 2009 +0200 x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure Timer interrupts are excluded from being disabled during suspend. The clock events code manages the disabling of clock events on its own because the timer interrupt needs to be functional before the resume code reenables the device interrupts. The mfgpt timer request its interrupt without setting the IRQF_TIMER flag so suspend_device_irqs() disables it as well which results in a fatal resume failure. Adding IRQF_TIMER to the interupt flags when requesting the mrgpt timer interrupt solves the problem. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Andres Salomon Cc: stable@kernel.org commit 5dea271b6d87bd1d79a59c1d5baac2596a841c37 Author: Mike Snitzer Date: Thu Jul 23 20:30:42 2009 +0100 dm table: pass correct dev area size to device_area_is_valid Incorrect device area lengths are being passed to device_area_is_valid(). The regression appeared in 2.6.31-rc1 through commit 754c5fc7ebb417b23601a6222a6005cc2e7f2913. With the dm-stripe target, the size of the target (ti->len) was used instead of the stripe_width (ti->len/#stripes). An example of a consequent incorrect error message is: device-mapper: table: 254:0: sdb too small for target Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon commit a732c207d19e899845ae47139708af898daaf9fd Author: Mike Snitzer Date: Thu Jul 23 20:30:40 2009 +0100 dm: remove queue next_ordered workaround for barriers This patch removes DM's bio-based vs request-based conditional setting of next_ordered. For bio-based DM the next_ordered check is no longer a concern (as that check is now in the __make_request path). For request-based DM the default of QUEUE_ORDERED_NONE is now appropriate. bio-based DM was changed to work-around the previously misplaced next_ordered check with this commit: 99360b4c18f7675b50d283301d46d755affe75fd request-based DM does not yet support barriers but reacted to the above bio-based DM change with this commit: 5d67aa2366ccb8257d103d0b43df855605c3c086 The above changes are no longer needed given Neil Brown's recent fix to put the next_ordered check in the __make_request path: db64f680ba4b5c56c4be59f0698000df89ff0281 Signed-off-by: Mike Snitzer Cc: Jun'ichi Nomura Cc: NeilBrown Acked-by: Kiyoshi Ueda Acked-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 69885683d22d8c05910fd808c01fdce1322739b4 Author: Mikulas Patocka Date: Thu Jul 23 20:30:37 2009 +0100 dm raid1: wake kmirrord when requeueing delayed bios after remote recovery The recent commit 7513c2a761d69d2a93f17146b3563527d3618ba0 (dm raid1: add is_remote_recovering hook for clusters) changed do_writes() to update the ms->writes list but forgot to wake up kmirrord to process it. The rule is that when anything is being added on ms->reads, ms->writes or ms->failures and the list was empty before we must call wakeup_mirrord (for immediate processing) or delayed_wake (for delayed processing). Otherwise the bios could sit on the list indefinitely. Signed-off-by: Mikulas Patocka CC: stable@kernel.org Signed-off-by: Alasdair G Kergon commit ffafa60d496f80c250f2ae0340ae94434c0b0b4d Author: Andy Gospodarek Date: Wed Jul 22 09:34:00 2009 +0000 ixgbe: remove unnecessary call to device_init_wakeup Calls to device_init_wakeup should not be necessary in drivers that use device_set_wakeup_enable since pci_pm_init will set the can_wakeup flag for the device when initialized. Signed-off-by: Andy Gospodarek Acked-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 601278659d5717b4f7a14fbc9f2b9d559bba6aef Author: Lucy Liu Date: Wed Jul 22 14:07:33 2009 +0000 ixgbe: Don't priority tag control frames in DCB mode Certain types of control packets (LLDP, LACP, etc.) are not supposed to have a priority tag or vlan tag inserted. Ixgbe driver is currently priority tagging everything (if packet is not on a VLAN interface). This patch modifies DCB mode, so that packets marked with skb priority TC_PRIO_CONTROL are not priority tagged. It also transmits these packets on the highest priority traffic class. Programs (like dcbd) can set the skb priority using a socket option. Or, a tc filter can be configured to set the priority value. Using the value TC_PRIO_CONTROL (7) has the benefit that it is already defined in the kernel, and the bonding LACP code already sets the skb->priority field to this value. Signed-off-by: Lucy Liu Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0d5515894fd5b9e9402ef76e9a7e704fd26e0e5f Author: Yi Zou Date: Wed Jul 22 14:07:12 2009 +0000 ixgbe: Enable FCoE offload when DCB is enabled for 82599 Currently, FCoE offload feature is turned on when the kernel config has CONFIG_FCOE or CONFIG_FCOE_MODULE set. However, we really want to turn FCoE offload on when there is FCoE traffic passing and turn it off when it's just LAN traffic. Since FCoE depends on a lossless network provided by DCB, this allows us to have FCoE turned on/off when user turns on DCB using dcbtool. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dacac4da5290ee3f3f413bd6980af2befb813e28 Author: Mark Ware Date: Thu Jul 23 10:56:48 2009 -0700 net: Rework mdio-ofgpio driver to use of_mdio infrastructure Changes to the fs_enet driver aa73832c5a80d6c52c69b18af858d88fa595dd3c ("net: Rework fs_enet driver to use of_mdio infrastructure") cause kernel crashes when using the mdio-ofgpio driver. This patch replicates similar changes made to the fs_enet mii-bitbang drivers. It has been tested on a custom mpc8280 based board using an NFS mounted root. Signed-off-by: Mark Ware Acked-by: Grant Likely Signed-off-by: David S. Miller commit 4a19fb11a90fdbbcb3bc02effa036230d035ca28 Author: Stefan Bader Date: Thu Jul 23 11:26:05 2009 +0200 jfs: Fix early release of acl in jfs_get_acl BugLink: http://bugs.launchpad.net/ubuntu/+bug/396780 Commit 073aaa1b142461d91f83da66db1184d7c1b1edea "helpers for acl caching + switch to those" introduced new helper functions for acl handling but seems to have introduced a regression for jfs as the acl is released before returning it to the caller, instead of leaving this for the caller to do. This causes the acl object to be used after freeing it, leading to kernel panics in completely different places. Thanks to Christophe Dumez for reporting and bisecting into this. Reported-by: Christophe Dumez Tested-by: Christophe Dumez Signed-off-by: Stefan Bader Acked-by: Andy Whitcroft Signed-off-by: Dave Kleikamp commit b30c4947735f9d76da3d194923efd38ed18ad651 Author: Daniel Mack Date: Wed Jul 22 14:13:35 2009 +0200 ALSA: snd_usb_caiaq: add support for Audio2DJ This adds support for Native Instrument's freshly announced Audio2DJ sound device hardware. Version number bumped to 1.3.19. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 947ca210f1df7656e19890832cb71fc3bdd88707 Author: Takashi Iwai Date: Thu Jul 23 16:21:08 2009 +0200 ALSA: pcm - Fix hwptr buffer-size overlap bug The fix 79452f0a28aa5a40522c487b42a5fc423647ad98 introduced another bug due to the missing offset for the overlapped hwptr. When the hwptr goes back to zero, the delta value has to be corrected with the buffer size. Otherwise this causes looping sounds. Signed-off-by: Takashi Iwai commit 89350640439e0160056de26995d52deb18202b3e Author: Takashi Iwai Date: Thu Jul 23 14:28:37 2009 +0200 ALSA: pcm - Fix warnings in debug loggings Add proper cast. Signed-off-by: Takashi Iwai commit cedb8118e8cef21a2b73fd9cb70660ac19124c16 Author: Takashi Iwai Date: Thu Jul 23 11:04:13 2009 +0200 ALSA: pcm - Add logging of hwptr updates and interrupt updates Added the logging functionality to xrun_debug to record the hwptr updates via snd_pcm_update_hw_ptr() and snd_pcm_update_hwptr_interrupt(), corresponding to 16 and 8, respectively. For example, # echo 9 > /proc/asound/card0/pcm0p/xrun_debug will record the position and other parameters at each period interrupt together with the normal XRUN debugging. Signed-off-by: Takashi Iwai commit 06c71282a90470184a78f7f0ab0f7ce0fc1f69c8 Author: Chaithrika U S Date: Wed Jul 22 07:45:04 2009 -0400 ASoC: tlv320aic3x: Enable PLL when not bypassed PLL was not being enabled when it was not bypassed. This patch enables the PLL when it is used. Additionally, it disables the PLL when it is bypassed. Without this patch, the audio on TI DM646x EVM and DM355 EVM does not work properly. The bit clocks and the frame sync signals from the codec are not correct and hence the playback/record are faster than usual for most sample rates. The reason for this was that the PLL was not enabled when it was not bypassed. Tested on DM6467 EVM, playback tested on DM355 EVM. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit f1230c97978f52268d8c66e6f88e54c3d2092a75 Author: Steve French Date: Wed Jul 22 23:13:01 2009 +0000 [CIFS] fix sparse warning Signed-off-by: Steve French commit 03aa3a49ad3592a9e4e1ab19c6da3e852288caf1 Author: Jeff Layton Date: Tue Jul 21 19:42:03 2009 -0400 cifs: fix sb->s_maxbytes so that it casts properly to a signed value This off-by-one bug causes sendfile() to not work properly. When a task calls sendfile() on a file on a CIFS filesystem, the syscall returns -1 and sets errno to EOVERFLOW. do_sendfile uses s_maxbytes to verify the returned offset of the file. The problem there is that this value is cast to a signed value (loff_t). When this is done on the s_maxbytes value that cifs uses, it becomes negative and the comparisons against it fail. Even though s_maxbytes is an unsigned value, it seems that it's not OK to set it in such a way that it'll end up negative when it's cast to a signed value. These casts happen in other codepaths besides sendfile too, but the VFS is a little hard to follow in this area and I can't be sure if there are other bugs that this will fix. It's not clear to me why s_maxbytes isn't just declared as loff_t in the first place, but either way we still need to fix these values to make sendfile work properly. This is also an opportunity to replace the magic bit-shift values here with the standard #defines for this. This fixes the reproducer program I have that does a sendfile and will probably also fix the situation where apache is serving from a CIFS share. Acked-by: Johannes Weiner Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ce6e7fcd43aab1f77e56aa36936dd7d2d05a1ffa Author: Jeff Layton Date: Wed Jul 22 15:08:58 2009 -0400 cifs: disable serverino if server doesn't support it A recent regression when dealing with older servers. This bug was introduced when we made serverino the default... When the server can't provide inode numbers, disable it for the mount. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 78a9c9c97455d0f8d2d2098b2252eb4bf65be799 Author: Uwe Kleine-König Date: Tue Jul 21 10:11:39 2009 +0000 register at91_ether using platform_driver_probe at91ether_probe lives in .init.text, so using platform_driver_register to register it is wrong because binding a device after the init memory is discarded (e.g. via sysfs) results in an oops. As requested by David Brownell platform_driver_probe is used instead of moving the probe function to .devinit.text as proposed initially. This saves some memory, but devices registered after the driver is probed are not bound (probably there are none) and binding via sysfs isn't possible. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Acked-by: Andrew Victor Signed-off-by: David S. Miller commit 7b55a4a3f761db7daba1ac526ef60f64f5c53689 Author: Rafael J. Wysocki Date: Wed Jul 22 02:58:55 2009 +0000 skge: Enable WoL by default if supported If skge hardware is capable of waking up the system from sleep, enable magic packet WoL during driver initialisation. This makes WoL work without calling 'ethtool -s ethX wol g' for each adapter. Signed-off-by: Rafael J. Wysocki Tested-by: Michael Guntsche Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit d14a7679ae9b7d4eb4b92e81f5039b719fd98c4d Merge: de72e5d 1548399 Author: David S. Miller Date: Wed Jul 22 11:18:40 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2cb078603abb612e3bcd428fb8122c3d39e08832 Author: Jeremy Fitzhardinge Date: Wed Jul 22 09:59:35 2009 -0700 x86, amd: Don't probe for extended APIC ID if APICs are disabled If we've logically disabled apics, don't probe the PCI space for the AMD extended APIC ID. [ Impact: prevent boot crash under Xen. ] Signed-off-by: Jeremy Fitzhardinge Reported-by: Bastian Blank Signed-off-by: H. Peter Anvin commit de72e5de062e48a992d6cafe2291a82fe498d641 Author: Alexander Beregalov Date: Wed Jul 22 01:16:51 2009 +0000 net: KS8851 needs to depend on MII fix this build error when CONFIG_MII is not set drivers/net/ks8851.c:999: undefined reference to `generic_mii_ioctl' drivers/net/ks8851.c:1050: undefined reference to `mii_link_ok' drivers/net/ks8851.c:1056: undefined reference to `mii_nway_restart' drivers/net/ks8851.c:1044: undefined reference to `mii_ethtool_sset' drivers/net/ks8851.c:1038: undefined reference to `mii_ethtool_gset' Signed-off-by: Alexander Beregalov Acked-by: Ben Dooks commit fa77406aee9d33f35c7202dcd83436feb12d9fc3 Author: Ajit Khaparde Date: Wed Jul 22 09:28:55 2009 -0700 be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly. This patch fixes a bug in the non-lro path. Wrong size of received packet was being passed for updating receive statistics. This patch is against the net-2.6 git. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 3104a6ff67e484e4dc84822b4ed0396e85bb9fb9 Author: Anton Vorontsov Date: Thu Jul 16 21:31:47 2009 +0000 ucc_geth: Revive fixed link support Since commit 0b9da337dca972e7a4144e298ec3adb8f244d4a4 ("Rework ucc_geth driver to use of_mdio infrastructure") the fixed-link support is broken. This patch fixes the support by removing !ug_info->phy_node check, and adds a call to of_phy_connect_fixed_link() if a phy is not attached to the MAC. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 1db780f8c7d361fe1b7d29b9dc849b97955ae944 Author: Anton Vorontsov Date: Thu Jul 16 21:31:42 2009 +0000 gianfar: Revive fixed link support Since commit fe192a49118f5b1272317d60c7930ece4e13ae49 ("Rework gianfar driver to use of_mdio infrastructure") the fixed-link support is broken, the driver oopses at init_phy(): Unable to handle kernel paging request for data at address 0x000000e4 Faulting instruction address: 0xc01cf298 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c01cf298] init_phy+0x80/0xdc LR [c01cf250] init_phy+0x38/0xdc Call Trace: [cf81fe80] [c01d1cf8] gfar_enet_open+0x6c/0x19c [cf81fea0] [c024494c] dev_open+0xfc/0x134 [cf81fec0] [c0242edc] dev_change_flags+0x84/0x1ac [cf81fee0] [c0399ee0] ic_open_devs+0x168/0x2d8 [cf81ff20] [c039b2e8] ip_auto_config+0x90/0x2a4 [cf81ff60] [c0003884] do_one_initcall+0x34/0x1a8 This patch fixes the oops, and removes phy_node checks, and adds a call to of_phy_connect_fixed_link() if a phy isn't attached.. Also, remove an old fixed-link code that we don't use any longer. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit eedbc705f9a094560b8d08c58b6787a5420a76a1 Author: Anton Vorontsov Date: Thu Jul 16 21:31:36 2009 +0000 fs_enet: Revive fixed link support Since commit aa73832c5a80d6c52c69b18af858d88fa595dd3c ("Rework fs_enet driver to use of_mdio infrastructure") the fixed-link support is broken in the fs_enet driver. This patch fixes the support by removing a check for phy_node, and adding a call to of_phy_connect_fixed_link(). Also set netdev parent device via SET_NETDEV_DEV() call, this is needed so that OF MDIO core could find a node pointer for a device. Plus, fix "if (IS_ERR(phydev))" check, in case of errors, of_phy_connect() returns NULL, not ERR_PTR as phy_connect(). Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 24c30dbbcdda9aeccb23b4eecb6bb8e538742ea4 Author: Anton Vorontsov Date: Thu Jul 16 21:31:31 2009 +0000 of/mdio: Add support function for Ethernet fixed-link property Fixed-link support is broken for the ucc_eth, gianfar, and fs_enet device drivers. The "OF MDIO rework" patches removed most of the support. Instead of re-adding fixed-link stuff to the drivers, this patch adds a support function for parsing the fixed-link property and obtaining a dummy phy to match. Note: the dummy phy handling in arch/powerpc is a bit of a hack and needs to be reworked. This function is being added now to solve the regression in the Ethernet drivers, but it should be considered a temporary measure until the fixed link handling can be reworked. Signed-off-by: Anton Vorontsov Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 4012ade9338c05428162e85cc9b149dcadf1ce85 Author: Takashi Iwai Date: Wed Jul 22 18:15:10 2009 +0200 ALSA: hda - Restore GPIO1 properly at resume with AD1984A The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a regression at suspend/resume where the GPIO1 bit isn't properly restored, thus the speaker output gets muted initially after resume. The fix is simple, use the cached write for storing GPIO data. Reference: Novell bnc#522764 https://bugzilla.novell.com/show_bug.cgi?id=522764 Signed-off-by: Takashi Iwai commit 68110661e86868cd107955ec7c077e1f34519f78 Author: Takashi Iwai Date: Wed Jul 22 17:05:15 2009 +0200 ALSA: ctxfi - Fix uninitialized error checks Fix a few uninitialized error checks that were introduced recently mistakenlly during the clean-up: sound/pci/ctxfi/ctamixer.c: In function ‘get_amixer_rsc’: sound/pci/ctxfi/ctamixer.c:261: warning: ‘err’ may be used uninitialized in this function sound/pci/ctxfi/ctamixer.c: In function ‘get_sum_rsc’: sound/pci/ctxfi/ctamixer.c:415: warning: ‘err’ may be used uninitialized in this function sound/pci/ctxfi/ctsrc.c: In function ‘get_srcimp_rsc’: sound/pci/ctxfi/ctsrc.c:742: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Takashi Iwai commit 86de7416600e93835eeacee379aea939b6a0917a Author: Takashi Iwai Date: Wed Jul 22 16:02:46 2009 +0200 ALSA: hda - Use snprintf() to be safer Use snprint() for creating the jack name string instead of sprintf() in patch_sigmatel.c. Signed-off-by: Takashi Iwai commit 2cf313ee75ddf6220b5d623b749b1bb79458307f Author: Alexey Fisher Date: Wed Jul 22 14:57:54 2009 +0200 ALSA: usb-audio - Volume control quirk for QuickCam E 3500 - E3500 report cval->max more than it actually can handel, so if you set 95% capture level it will be silently muted. - Betwen cval->min and cval-max(real) is 2940 control units, but real are only 7 with cval->res = 384. - Alsa can't handel less than 10 controls, so make it more and set cval->res = 192. Signed-off-by: Alexey Fisher Signed-off-by: Takashi Iwai commit 79452f0a28aa5a40522c487b42a5fc423647ad98 Author: Takashi Iwai Date: Wed Jul 22 12:51:51 2009 +0200 ALSA: pcm - Fix regressions with VMware VMware tends to report PCM positions and period updates at utterly wrong timing. This screws up the recent PCM core code that tries to correct the position based on the irq timing. Now, when a backward irq position is detected, skip the update instead of rebasing. (This is almost the old behavior before 2.6.30.) Signed-off-by: Takashi Iwai commit 6effa8f6fc786f00e3a23eae605e0f2e8e748faa Author: Hidehiro Kawai Date: Wed Jul 22 11:56:20 2009 +0900 x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD" CONFIG_X86_THRESHOLD used in arch/x86/kernel/irqinit.c is always undefined. Rename it to the correct name "CONFIG_X86_MCE_THRESHOLD". Signed-off-by: Hidehiro Kawai Reviewed-by: Hidetoshi Seto Cc: Andi Kleen LKML-Reference: <4A667FD4.3010509@hitachi.com> Signed-off-by: H. Peter Anvin commit 429b2b319af3987e808c18f6b81313104caf782c Author: Andi Kleen Date: Sat Jul 18 08:56:57 2009 +0200 x86-64: Fix bad_srat() to clear all state Need to clear both nodes and nodes_add state for start/end. Signed-off-by: Andi Kleen LKML-Reference: <20090718065657.GA2898@basil.fritz.box> Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 154839962a582b8eb661cde94ef3af0e03b374d7 Author: Marek Vasut Date: Thu Jul 16 19:19:53 2009 +0200 libertas: Fix problem with broken V4 firmware on CF8381 Firmware V4 on CF8381 reports region code shifted by 1 byte to left. The following patch checks for this and handles it properly. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit 5d2214ac5e7f72c9ae70b2444649e8d1d3e1086d Author: Luis R. Rodriguez Date: Mon Jul 20 08:32:47 2009 -0700 ath: add support for special 0x8000 regulatory domain Two users of ar9170 devices have now reported their cards have been programmed with a regulatory domain of 0x8000. This is not a valid regulatory domain as such these users were unable to use these devices. Since this doesn't seem to be a device EEPROM corruption we must treat it specially. It may have been possible the manufacturer intended to use 0x0 as the regulatory domain and that would ultimately yield to US but since we cannot get confirmationf or this we default this special case to one of our world regulatory domains, specifically 0x64. Reported-by: DavidFreeman on #linux-wireless Reported-by: Joerg Albert Cc: Christian Lamparter , Cc: Stephen Chen Cc: David Quan Cc: Tony Yang Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit bfa99bfdda1ce8a60f1f0fba7a04162a66d4ecfa Author: Dan Carpenter Date: Sun Jul 19 21:26:13 2009 +0200 p54spi: fix potential null deref in p54spi.c Fix a potential NULL dereference bug during error handling in p54spi_probe. This bug was discovered by smatch: (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit ed5c8ef3bb2de277b7885072e0e981c41a022be5 Author: Alan Jenkins Date: Sun Jul 19 09:48:28 2009 +0100 acer-wmi: fix rfkill conversion Fix another polarity error introduced by the rfkill rewrite, this time in acer_rfkill_set(). Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit f44aebcc566d1d6275f7191867b9633dc11de2ee Author: Eric Paris Date: Wed Jul 15 15:49:52 2009 -0400 inotify: use GFP_NOFS under potential memory pressure inotify can have a watchs removed under filesystem reclaim. ================================= [ INFO: inconsistent lock state ] 2.6.31-rc2 #16 --------------------------------- inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage. khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes: (iprune_mutex){+.+.?.}, at: [] invalidate_inodes+0x20/0xe3 {IN-RECLAIM_FS-W} state was registered at: [] __lock_acquire+0x2c9/0xac4 [] lock_acquire+0x9f/0xc2 [] __mutex_lock_common+0x2d/0x323 [] mutex_lock_nested+0x2e/0x36 [] shrink_icache_memory+0x38/0x1b2 [] shrink_slab+0xe2/0x13c [] kswapd+0x3d1/0x55d [] kthread+0x66/0x6b [] kernel_thread_helper+0x7/0x10 [] 0xffffffff Two things are needed to fix this. First we need a method to tell fsnotify_create_event() to use GFP_NOFS and second we need to stop using one global IN_IGNORED event and allocate them one at a time. This solves current issues with multiple IN_IGNORED on a queue having tail drop problems and simplifies the allocations since we don't have to worry about two tasks opperating on the IGNORED event concurrently. Signed-off-by: Eric Paris commit c05594b62125c528d93af3a78229793aae36df7f Author: Eric Paris Date: Mon Jul 13 15:56:55 2009 -0400 fsnotify: fix inotify tail drop check with path entries fsnotify drops new events when they are the same as the tail event on the queue to be sent to userspace. The problem is that if the event comes with a path we forget to break out of the switch statement and fall into the code path which matches on events that do not have any type of file backed information (things like IN_UNMOUNT and IN_Q_OVERFLOW). The problem is that this code thinks all such events should be dropped. Fix is to add a break. Signed-off-by: Eric Paris commit 4a148ba988988b9c400ad0f2cbccc155289b954b Author: Eric Paris Date: Mon Jul 13 15:56:55 2009 -0400 inotify: check filename before dropping repeat events inotify drops events if the last event on the queue is the same as the current event. But it does 2 things wrong. First it is comparing old->inode with new->inode. But after an event if put on the queue the ->inode is no longer allowed to be used. It's possible between the last event and this new event the inode could be reused and we would falsely match the inode's memory address between two differing events. The second problem is that when a file is removed fsnotify is passed the negative dentry for the removed object rather than the postive dentry from immediately before the removal. This mean the (broken) inotify tail drop code was matching the NULL ->inode of differing events. The fix is to check the file name which is stored with events when doing the tail drop instead of wrongly checking the address of the stored ->inode. Reported-by: Scott James Remnant Signed-off-by: Eric Paris commit 520dc2a526fd681337883b6ff1ddcf7c23b1b063 Author: Eric Paris Date: Mon Jul 13 15:56:54 2009 -0400 fsnotify: use def_bool in kconfig instead of letting the user choose fsnotify doens't give the user anything. If someone chooses inotify or dnotify it should build fsnotify, if they don't select one it shouldn't be built. This patch changes fsnotify to be a def_bool=n and makes everything else select it. Also fixes the issue people complained about on lwn where gdm hung because they didn't have inotify and they didn't get the inotify build option..... Signed-off-by: Eric Paris commit 7e790dd5fc937bc8d2400c30a05e32a9e9eef276 Author: Eric Paris Date: Tue Jul 7 10:28:24 2009 -0400 inotify: fix error paths in inotify_update_watch inotify_update_watch could leave things in a horrid state on a number of error paths. We could try to remove idr entries that didn't exist, we could send an IN_IGNORED to userspace for watches that don't exist, and a bit of other stupidity. Clean these up by doing the idr addition before we put the mark on the inode since we can clean that up on error and getting off the inode's mark list is hard. Signed-off-by: Eric Paris commit 75fe2b26394c59c8e16bd7b76f4be5d048103ad1 Author: Eric Paris Date: Tue Jul 7 10:28:23 2009 -0400 inotify: do not leak inode marks in inotify_add_watch inotify_add_watch had a couple of problems. The biggest being that if inotify_add_watch was called on the same inode twice (to update or change the event mask) a refence was taken on the original inode mark by fsnotify_find_mark_entry but was not being dropped at the end of the inotify_add_watch call. Thus if inotify_rm_watch was called although the mark was removed from the inode, the refcnt wouldn't hit zero and we would leak memory. Reported-by: Catalin Marinas Signed-off-by: Eric Paris commit 5549f7cdf84c02939fd368d0842aa2f472bb6e98 Author: Eric Paris Date: Tue Jul 7 10:28:23 2009 -0400 inotify: drop user watch count when a watch is removed The inotify rewrite forgot to drop the inotify watch use cound when a watch was removed. This means that a single inotify fd can only ever register a maximum of /proc/sys/fs/max_user_watches even if some of those had been freed. Signed-off-by: Eric Paris commit e9084ec98bb9aa3abc6cf73181177780ce7546f8 Author: Jan Beulich Date: Thu Jul 16 09:45:11 2009 +0100 x86, mce: Fix set_trigger() accessor Fix the condition checking the result of strchr() (which previously could result in an oops), and make the function return the number of bytes actively used. [ Impact: fix oops ] Signed-off-by: Jan Beulich Cc: Andi Kleen LKML-Reference: <4A5F04B7020000780000AB59@vpn.id2.novell.com> Signed-off-by: H. Peter Anvin commit 9e81eccf199d910e5ea8db377a43478e4eccd033 Author: Christian Lamparter Date: Sun Jul 19 05:05:37 2009 +0200 cfg80211: double free in __cfg80211_scan_done This patch fixes a double free corruption in __cfg80211_scan_done: ================================================ BUG kmalloc-512: Object already free ------------------------------------------------ INFO: Allocated in load_elf_binary+0x18b/0x19af age=6 INFO: Freed in load_elf_binary+0x104e/0x19af age=5 INFO: Slab 0xffffea0001bae4c0 objects=14 used=7 INFO: Object 0xffff88007e8a9918 @offset=6424 fp=0xffff88007e8a9488 Bytes b4 0xffff88007e8a9908: 00 00 00 00 00 00 00 00 5a 5a [...] Pid: 28705, comm: rmmod Tainted: P C 2.6.31-rc2-wl #1 Call Trace: [] print_trailer+0x14e/0x16e [] object_err+0x42/0x61 [] __slab_free+0x2af/0x396 [] ? wiphy_unregister+0x92/0x142 [cfg80211] [] kfree+0x13c/0x17a [] ? wiphy_unregister+0x92/0x142 [cfg80211] [] wiphy_unregister+0x92/0x142 [cfg80211] [] ieee80211_unregister_hw+0xc8/0xff [mac80211] [] p54_unregister_common+0x31/0x66 [p54common] [...] FIX kmalloc-512: Object at 0xffff88007e8a9918 not freed The code path which leads to the *funny* double free: request = rdev->scan_req; dev = dev_get_by_index(&init_net, request->ifidx); /* * the driver was unloaded recently and * therefore dev_get_by_index will return NULL! */ if (!dev) goto out; [...] rdev->scan_req = NULL; /* not executed... */ [...] out: kfree(request); Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e56f0975360369347725c49654ecfe3792710429 Author: Alan Jenkins Date: Sat Jul 18 19:20:20 2009 +0100 rfkill: remove too-strict __must_check Some drivers don't need the return value of rfkill_set_hw_state(), so it should not be marked as __must_check. Signed-off-by: Alan Jenkins Acked-by: Johannes Berg Signed-off-by: John W. Linville commit c66284f2a421f6aebbafd56cb8b90b8e6a9cb2de Author: Luis R. Rodriguez Date: Thu Jul 16 10:17:35 2009 -0700 ath9k: Tune ANI function processing on AP mode during ANI reset For AP mode we must tune ANI specially for 2 GHz and for 5 GHz. We mask in only the flags we want to toggle on ath9k_hw_ani_control() through the ah->ani_function bitmask, this will take care of ignoring changes during ANI reset which we were disabling before. Testedy-by: Steven Luo Cc: Bennyam Malavazi Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7adfd5c71693b81e995283805b17aa4a2ee0ecd9 Author: Andy Whitcroft Date: Thu Jul 16 16:28:11 2009 +0100 rt2x00: Fix chipset detection for rt2500usb The commit below changed the semantics of rt2x00_check_rev so that it no longer checked the bottom 4 bits of the rev were non-zero. During that conversion this part of the check was not propogated to the rt2500usb initialisation. commit 358623c22c9fd837b3b1b444377037f72553dc9f Author: Ivo van Doorn Date: Tue May 5 19:46:08 2009 +0200 rt2x00: Simplify rt2x00_check_rev Without this check rt73 devices are miss recognised as rt2500 devices and two drivers are loaded. Preventing the device being used. Reinstate this check. Signed-off-by: Andy Whitcroft Signed-off-by: John W. Linville commit 6c95e2a2f0f0bf4c8880d5b74b2f7f359d352d03 Author: Niko Jokinen Date: Wed Jul 15 11:00:53 2009 +0300 nl80211: Memory leak fixed Potential memory leak via msg pointer in nl80211_get_key() function. Signed-off-by: Niko Jokinen Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 3da7429ce92abd79b14e2275a28be144ce2c3013 Author: Larry Finger Date: Tue Jul 14 15:55:16 2009 -0500 rtl8187: Fix for kernel oops when unloading with LEDs enabled When rtl8187 is unloaded and CONFIG_RTL8187_LEDS is set, the kernel may oops when the module is unloaded as the workqueue for led_on was not being cancelled. This patch fixes the problem reported in http://marc.info/?l=linux-wireless&m=124742957615781&w=2. Reported-by: Gábor Stefanik Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 65b5a69860ed3bc4224368b804d381cd9cafa90a Author: Bob Copeland Date: Mon Jul 13 21:57:39 2009 -0400 ath5k: temporarily disable crypto for AP mode Pavel Roskin reported some issues with using AP mode without nohwcrypt=1. Most likely this is similar to the problem fixed some time ago in ath9k by 3f53dd64f192450cb331c0fecfc26ca952fb242f, "ath9k: Fix hw crypto configuration for TKIP in AP mode." That only affects TKIP but it's easiest to just disable that and WEP too until we get a proper fix in. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 35946a571099a50d2595c8866f07617d29558f53 Author: Javier Cardona Date: Mon Jul 13 17:00:10 2009 -0700 mac80211: use correct address for mesh Path Error For forwarded frames, we save the precursor address in addr1 in case it needs to be used to send a Path Error. mesh_path_discard_frame, however, was using addr2 instead of addr1 to send Path Error frames, so correct that and also make the comment regarding this more clear. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit e603d9d824ff0eda98a65708a7e82112becf2dca Author: Johannes Berg Date: Mon Jul 13 13:25:58 2009 +0200 mac80211_hwsim: fix use after free Once the "data" pointer is freed, we can't be iterating to the next item in the list any more so we need to use list_for_each_entry_safe with a temporary variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5d41635195c06fc3116ef3921fe85a9a3ea5ab20 Author: Johannes Berg Date: Mon Jul 13 13:04:30 2009 +0200 mac80211_hwsim: fix unregistration If you rmmod the module while associated, frames might be transmitted during unregistration -- which will crash if the hwsim%d interface is unregistered first, so only do that after all the virtual wiphys are gone. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 48ab3578a65c5168ecaaa3b21292b643b7bcc2d5 Author: Alan Jenkins Date: Sun Jul 12 17:03:13 2009 +0100 rfkill: fix rfkill_set_states() to set the hw state The point of this function is to set the software and hardware state at the same time. When I tried to use it, I found it was only setting the software state. Signed-off-by: Alan Jenkins Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 8ef86c7bfac5b44529b73b84bc50d3cf574bfb4b Author: Pavel Roskin Date: Fri Jul 10 16:42:29 2009 -0400 mac80211: fix injection in monitor mode The location of the 802.11 header is calculated incorrectly due to a wrong placement of parentheses. Found by kmemcheck. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f54c142725ad2ba33c3ee627873cb6966bf05447 Author: Johannes Berg Date: Fri Jul 10 21:41:39 2009 +0200 rfkill: allow toggling soft state in sysfs again Apparently there actually _are_ tools that try to set this in sysfs even though it wasn't supposed to be used this way without claiming first. Guess what: now that I've cleaned it all up it doesn't matter and we can simply allow setting the soft-block state in sysfs. Signed-off-by: Johannes Berg Tested-By: Darren Salt Signed-off-by: John W. Linville commit e2e414d92397c366396d13f627a98a20be92e509 Author: Johannes Berg Date: Fri Jul 10 11:38:14 2009 +0200 mac80211: disable mesh My kvm instance was complaining a lot about sleeping in atomic contexts in the mesh code, and it turns out that both mesh_path_add() and mpp_path_add() need to be able to sleep (they even use synchronize_rcu()!). I put in a might_sleep() to annotate that, but I see no way, at least right now, of actually making sure those functions are only called from process context since they are both called during TX and RX and the mesh code itself even calls them with rcu_read_lock() "held". Therefore, let's disable it completely for now. It's possible that I'm only seeing this because the hwsim's beaconing is broken and thus the peers aren't discovered right away, but it is possible that this happens even if beaconing is working, for a peer that doesn't exist or so. It should be possible to solve this by deferring the freeing of the tables to call_rcu() instead of using synchronize_rcu(), and also using atomic allocations, but maybe it makes more sense to rework the code to not call these from atomic contexts and defer more of the work to the workqueue. Right now, I can't work on either of those solutions though. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7b80ece41aea0b73283c6df5a8f25d40aa13135d Author: Reinette Chatre Date: Thu Jul 9 10:33:39 2009 -0700 iwlwifi: only update byte count table during aggregation The byte count table is only used for aggregation. Updating it in other cases caused fragmented frames to be dropped. This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=2004 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 872ed1902f511a8947021c562f5728a5bf0640b5 Author: Reinette Chatre Date: Thu Jul 9 10:33:37 2009 -0700 iwlwifi: only show active power level via sysfs This changes the power_level file to adhere to the "one value per file" sysfs rule. The user will know which power level was requested as it will be the number just written to this file. It is thus not necessary to create a new sysfs file for this value. In addition it fixes a problem where powertop's parsing expects this value to be the first value in this file without any descriptions. Signed-off-by: Reinette Chatre cc: stable@kernel.org Signed-off-by: John W. Linville commit 513a2396d8e8327aff1ce50bea3fb4f16ff3455b Author: Zhu Yi Date: Thu Jul 9 17:24:15 2009 +0800 iwmc3200wifi: fix NULL pointer dereference in iwm_if_free The driver private data is now based on wiphy. So we should not touch the private data after wiphy_free() is called. The patch fixes the potential NULL pointer dereference by making the iwm_wdev_free() the last one on the interface removal path. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f1015c447781729060c415f5133164c638561f25 Author: dingdinghua Date: Wed Jul 15 21:42:05 2009 +0200 jbd: fix race between write_metadata_buffer and get_write_access The function journal_write_metadata_buffer() calls jbd_unlock_bh_state(bh_in) too early; this could potentially allow another thread to call get_write_access on the buffer head, modify the data, and dirty it, and allowing the wrong data to be written into the journal. Fortunately, if we lose this race, the only time this will actually cause filesystem corruption is if there is a system crash or other unclean shutdown of the system before the next commit can take place. Signed-off-by: dingdinghua Acked-by: "Theodore Ts'o" Signed-off-by: Jan Kara commit ebe119cd0929df4878f758ebf880cb435e4dcaaf Author: H. Peter Anvin Date: Mon Jul 20 23:27:39 2009 -0700 x86: Fix movq immediate operand constraints in uaccess.h The movq instruction, generated by __put_user_asm() when used for 64-bit data, takes a sign-extended immediate ("e") not a zero-extended immediate ("Z"). Signed-off-by: H. Peter Anvin Cc: Uros Bizjak Cc: stable@kernel.org commit 155b73529583c38f30fd394d692b15a893960782 Author: Uros Bizjak Date: Sun Jul 19 18:06:35 2009 +0200 x86: Fix movq immediate operand constraints in uaccess_64.h arch/x86/include/asm/uaccess_64.h uses wrong asm operand constraint ("ir") for movq insn. Since movq sign-extends its immediate operand, "er" constraint should be used instead. Attached patch changes all uses of __put_user_asm in uaccess_64.h to use "er" when "q" insn suffix is involved. Patch was compile tested on x86_64 with defconfig. Signed-off-by: Uros Bizjak Signed-off-by: H. Peter Anvin Cc: stable@kernel.org commit 77f32dfdd97857280ae1ebac64382ff082cd7ea0 Author: Denis Turischev Date: Mon Jul 20 18:48:17 2009 +0300 x86: Add reboot fixup for SBC-fitPC2 The CompuLab SBC-fitPC2 board needs to reboot via BIOS. Signed-off-by: Denis Turischev Signed-off-by: Mike Rapoport Signed-off-by: H. Peter Anvin commit 8bcdbe427924a1e4b4e4cf68020e92e9f93fe011 Author: Catalin Marinas Date: Tue Jul 14 10:52:55 2009 +0100 x86: Include all of .data.* sections in _edata on 64-bit The .data.read_mostly and .data.cacheline_aligned sections aren't covered by the _sdata .. _edata range on x86-64. This affects kmemleak reporting leading to possible false positives by not scanning the whole data section. Signed-off-by: Catalin Marinas Tested-by: Alexey Fisher Acked-by: Sam Ravnborg Cc: Pekka Enberg LKML-Reference: <1247565175.28240.37.camel@pc1117.cambridge.arm.com> Signed-off-by: Ingo Molnar Cc: Sam Ravnborg commit 6aa542a694dc9ea4344a8a590d2628c33d1b9431 Author: Alexey Fisher Date: Wed Jul 15 14:16:09 2009 +0200 x86: Add quirk for Intel DG45ID board to avoid low memory corruption AMI BIOS with low memory corruption was found on Intel DG45ID board (Bug 13710). Add this board to the blacklist - in the (somewhat optimistic) hope of future boards/BIOSes from Intel not having this bug. Also see: http://bugzilla.kernel.org/show_bug.cgi?id=13736 Signed-off-by: Alexey Fisher Cc: ykzhao Cc: alan@lxorguk.ukuu.org.uk Cc: LKML-Reference: <1247660169-4503-1-git-send-email-bug-track@fisher-privat.net> Signed-off-by: Ingo Molnar commit 43237b5490e8f2f4679decd660064ff35ce490cc Author: Jan Kara Date: Wed May 20 18:41:58 2009 +0200 ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle() Get rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to be a relict from some old days and setting disksize in this function does not make much sence. Currently it was set only by ext3_getblk(). Since the parameter has some effect only if create == 1, it is easy to check that the three callers which end up calling ext3_getblk() with create == 1 (ext3_append, ext3_quota_write, ext3_mkdir) do the right thing and set disksize themselves. Signed-off-by: Jan Kara commit 1e9fd53b783ea646de3ee09a4574afeb6778d504 Author: Jan Kara Date: Wed Jun 24 17:31:40 2009 +0200 jbd: Fix a race between checkpointing code and journal_get_write_access() The following race can happen: CPU1 CPU2 checkpointing code checks the buffer, adds it to an array for writeback do_get_write_access() ... lock_buffer() unlock_buffer() flush_batch() submits the buffer for IO __jbd_journal_file_buffer() So a buffer under writeout is returned from do_get_write_access(). Since the filesystem code relies on the fact that journaled buffers cannot be written out, it does not take the buffer lock and so it can modify buffer while it is under writeout. That can lead to a filesystem corruption if we crash at the right moment. The similar problem can happen with the journal_get_create_access() path. We fix the problem by clearing the buffer dirty bit under buffer_lock even if the buffer is on BJ_None list. Actually, we clear the dirty bit regardless the list the buffer is in and warn about the fact if the buffer is already journalled. Thanks for spotting the problem goes to dingdinghua . Reported-by: dingdinghua Signed-off-by: Jan Kara commit 9eaaa2d5759837402ec5eee13b2a97921808c3eb Author: Jan Kara Date: Mon Jul 13 20:26:52 2009 +0200 ext3: Fix truncation of symlinks after failed write Contents of long symlinks is written via standard write methods. So when the write fails, we add inode to orphan list. But symlinks don't have .truncate method defined so nobody properly removes them from the orphan list (both on disk and in memory). Fix this by calling ext3_truncate() directly instead of calling vmtruncate() (which is saner anyway since we don't need anything vmtruncate() does except from calling .truncate in these paths). We also add inode to orphan list only if ext3_can_truncate() is true (currently, it can be false for symlinks when there are no blocks allocated) - otherwise orphan list processing will complain and ext3_truncate() will not remove inode from on-disk orphan list. Signed-off-by: Jan Kara commit 7447a668a3860b66b3c9db86fdea91e355ba59ac Author: Jan Kara Date: Wed Jul 15 20:36:08 2009 +0200 jbd: Fail to load a journal if it is too short Due to on disk corruption, it can happen that journal is too short. Fail to load it in such case so that we don't oops somewhere later. Reported-by: Nageswara R Sastry Signed-off-by: Jan Kara