commit 1bae4ce27c9c90344f23c65ea6966c50ffeae2f5 Author: Linus Torvalds Date: Fri Jan 21 19:01:34 2011 -0800 Linux 2.6.38-rc2 commit 13a3cec8443290b082af2a5254562aca247fe591 Merge: 973c9f4 88914bd Author: Linus Torvalds Date: Fri Jan 21 16:50:31 2011 -0800 Merge branch 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits) [media] staging/lirc: fix mem leaks and ptr err usage [media] hdpvr: reduce latency of i2c read/write w/recycled buffer [media] hdpvr: enable IR part [media] rc/mceusb: timeout should be in ns, not us [media] v4l2-device: fix 'use-after-freed' oops [media] v4l2-dev: don't memset video_device.dev [media] zoran: use video_device_alloc instead of kmalloc [media] w9966: zero device state after a detach [media] v4l: Fix a use-before-set in the control framework [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h [media] DocBook/v4l: update V4L2 revision and update copyright years [media] DocBook/v4l: fix validation error in dev-rds.xml [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs [media] v4l2-ctrls: fix missing 'read-only' check [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71 [media] lirc_zilog: Update TODO.lirc_zilog [media] lirc_zilog: Add Andy Walls to copyright notice and authors list [media] lirc_zilog: Remove useless struct i2c_driver.command function [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function ... commit 973c9f4f49ca96a53bcf6384c4c59ccd26c33906 Author: David Howells Date: Thu Jan 20 16:38:33 2011 +0000 KEYS: Fix up comments in key management code Fix up comments in the key management code. No functional changes. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a8b17ed019bd40d3bfa20439d9c36a99f9be9180 Author: David Howells Date: Thu Jan 20 16:38:27 2011 +0000 KEYS: Do some style cleanup in the key management code. Do a bit of a style clean up in the key management code. No functional changes. Done using: perl -p -i -e 's!^/[*]*/\n!!' security/keys/*.c perl -p -i -e 's!} /[*] end [a-z0-9_]*[(][)] [*]/\n!}\n!' security/keys/*.c sed -i -s -e ": next" -e N -e 's/^\n[}]$/}/' -e t -e P -e 's/^.*\n//' -e "b next" security/keys/*.c To remove /*****/ lines, remove comments on the closing brace of a function to name the function and remove blank lines before the closing brace of a function. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 9093ba53b7f26dbb5210de1157769e59e34bbe23 Merge: ebe0d80 99d86c8 Author: Linus Torvalds Date: Fri Jan 21 13:44:07 2011 -0800 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 up CIFSSMBEcho for unaligned access cifs: fix unaligned accesses in cifsConvertToUCS cifs: clean up unaligned accesses in cifs_unicode.c cifs: fix unaligned access in check2ndT2 and coalesce_t2 cifs: clean up unaligned accesses in validate_t2 cifs: use get/put_unaligned functions to access ByteCount cifs: move time field in cifsInodeInfo cifs: TCP_Server_Info diet CIFS: Implement cifs_strict_readv (try #4) CIFS: Implement cifs_file_strict_mmap (try #2) CIFS: Implement cifs_strict_fsync CIFS: Make cifsFileInfo_put work with strict cache mode commit ebe0d805071c318ebbc3b5857f8f4f94214c1a52 Merge: 5bf7a65 2485b64 Author: Linus Torvalds Date: Fri Jan 21 13:43:21 2011 -0800 Merge branch 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: x86,percpu: Move out of place 64 bit ops into X86_64 section commit 5bf7a6503ff416214b9a53569677dbf07657e6fd Merge: 0f5c2ac 42c025f Author: Linus Torvalds Date: Fri Jan 21 13:38:57 2011 -0800 Merge branch 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn't a noop workqueue: relax lockdep annotation on flush_work() commit 0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01 Merge: cfd7448 dfff95c Author: Linus Torvalds Date: Fri Jan 21 13:38:26 2011 -0800 Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits) um: Use generic irq Kconfig tile: Use generic irq Kconfig sparc: Use generic irq Kconfig score: Use generic irq Kconfig powerpc: Use generic irq Kconfig parisc: Use generic irq Kconfig mn10300: Use generic irq Kconfig microblaze: Use generic irq Kconfig m68knommu: Use generic irq Kconfig ia64: Use generic irq Kconfig frv: Use generic irq Kconfig blackfin: Use generic irq Kconfig alpha: Use generic irq Kconfig genirq: Remove __do_IRQ m32r: Convert to generic irq Kconfig m32r: Convert usrv platform irq handling m32r: Convert opsput_lcdpld irq chip m32r: Convert opsput lanpld irq chip m32r: Convert opsput pld irq chip m32r: Convert opsput irq chip ... commit cfd74486eace27a0899b30529d01bc1a09a5b973 Merge: a1d3f5b 8e1b4cf Author: Linus Torvalds Date: Fri Jan 21 13:35:10 2011 -0800 Merge branch 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: p2m: correctly initialize partial p2m leaf xen: fix non-ANSI function warning in irq.c commit a1d3f5b70d13b7035f925de1f2ba0003a04b9ac5 Merge: 7971b96 6044565 3247199 Author: Linus Torvalds Date: Fri Jan 21 13:34:39 2011 -0800 Merge branches 'fixes' and 'fwnet' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: core: fix unstable I/O with Canon camcorder * 'fwnet' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: net: is not experimental anymore firewire: net: invalidate ARP entries of removed nodes commit 7971b96d922ccaaa2b732462c8f927af4259db60 Merge: c745552 842a209 Author: Linus Torvalds Date: Fri Jan 21 13:24:33 2011 -0800 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 EAPD to low on CZC P10T tablet computer with ALC662 ALSA: HDA: Add SKU ignore for another Thinkpad Edge 14 ALSA: hda - Fix "unused variable" compile warning ALSA: hda - Add quirk for HP Z-series workstation Revert "ALSA: HDA: Create mixers on ALC887" ASoC: PXA: Fix codec address on Zipit Z2 ASoC: PXA: Fix jack detection on Zipit Z2 ASoC: Blackfin: fix DAI/SPORT config dependency issues ASoC: Blackfin TDM: use external frame syncs ASoC: Blackfin AC97: fix build error after multi-component update ASoC: Blackfin TDM: fix missed snd_soc_dai_get_drvdata update ASoC: documentation updates ALSA: ice1712 delta - initialize SPI clock commit c745552a82cbf3a82adea5210212ed31ec03388d Merge: d41ad6d 5d1034f Author: Linus Torvalds Date: Fri Jan 21 13:24:16 2011 -0800 Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6 * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6: powerpc/83xx: fix build failures on dt compatible list. commit d41ad6df44fbd01837211cee3273ce2f9445be6e Merge: 3dece37 8bfc5e3 Author: Linus Torvalds Date: Fri Jan 21 13:23:52 2011 -0800 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: (34 commits) powerpc/mpic: Fix mask/unmask timeout message powerpc/pseries: Add BNX2=m to defconfig powerpc: Enable 64kB pages and 1024 threads in pseries config powerpc: Disable mcount tracers in pseries defconfig powerpc/boot/dts: Install dts from the right directory powerpc: machine_check_generic is wrong on 64bit powerpc: Check RTAS extended log flag before checking length powerpc: Fix corruption when grabbing FWNMI data powerpc: Rework pseries machine check handler powerpc: Don't silently handle machine checks from userspace powerpc: Remove duplicate debugger hook in machine_check_exception powerpc: Never halt RTAS error logging after receiving an unrecoverable machine check powerpc: Don't force MSR_RI in machine_check_exception powerpc: Print 32 bits of DSISR in show_regs powerpc/kdump: Disable ftrace during kexec powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler powerpc/kexec: Remove empty ppc_md.machine_kexec_prepare powerpc/kexec: Don't initialise kexec hooks to default handlers powerpc/kdump: Remove ppc_md.machine_crash_shutdown powerpc/kexec: Remove ppc_md.machine_kexec ... commit 3dece370ecc7c6152b3fdd21c6de28179f6e643d Author: Michal Simek Date: Fri Jan 21 08:49:56 2011 +0100 mm: System without MMU do not need pte_mkwrite The patch "thp: export maybe_mkwrite" (commit 14fd403f2146) breaks systems without MMU. Error log: CC arch/microblaze/mm/init.o In file included from include/linux/mman.h:14, from arch/microblaze/mm/consistent.c:24: include/linux/mm.h: In function 'maybe_mkwrite': include/linux/mm.h:482: error: implicit declaration of function 'pte_mkwrite' include/linux/mm.h:482: error: incompatible types in assignment Signed-off-by: Michal Simek CC: Andrea Arcangeli Reviewed-by: Rik van Riel CC: Andrew Morton CC: Ingo Molnar Signed-off-by: Linus Torvalds commit db9fd8486bfe895b00b3603685c086a3c8210ffe Author: Roland Dreier Date: Thu Jan 20 16:23:08 2011 -0800 MAINTAINERS: Update Roland Dreier's email address The cisco.com address will stop working soon, and besides no one can remember the second "d" in "rolandd" or how to spell "rdreier." Signed-off-by: Roland Dreier Signed-off-by: Linus Torvalds commit 8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b Author: Stefan Bader Date: Thu Jan 20 15:38:23 2011 +0100 xen: p2m: correctly initialize partial p2m leaf After changing the p2m mapping to a tree by commit 58e05027b530ff081ecea68e38de8d59db8f87e0 xen: convert p2m to a 3 level tree and trying to boot a DomU with 615MB of memory, the following crash was observed in the dump: kernel direct mapping tables up to 26f00000 @ 1ec4000-1fff000 BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] xen_set_pte+0x27/0x60 *pdpt = 0000000000000000 *pde = 0000000000000000 Adding further debug statements showed that when trying to set up pfn=0x26700 the returned mapping was invalid. pfn=0x266ff calling set_pte(0xc1fe77f8, 0x6b3003) pfn=0x26700 calling set_pte(0xc1fe7800, 0x3) Although the last_pfn obtained from the startup info is 0x26700, which should in turn not be hit, the additional 8MB which are added as extra memory normally seem to be ok. This lead to looking into the initial p2m tree construction, which uses the smaller value and assuming that there is other code handling the extra memory. When the p2m tree is set up, the leaves are directly pointed to the array which the domain builder set up. But if the mapping is not on a boundary that fits into one p2m page, this will result in the last leaf being only partially valid. And as the invalid entries are not initialized in that case, things go badly wrong. I am trying to fix that by checking whether the current leaf is a complete map and if not, allocate a completely new page and copy only the valid pointers there. This may not be the most efficient or elegant solution, but at least it seems to allow me booting DomUs with memory assignments all over the range. BugLink: http://bugs.launchpad.net/bugs/686692 [v2: Redid a bit of commit wording and fixed a compile warning] Signed-off-by: Stefan Bader Signed-off-by: Konrad Rzeszutek Wilk commit 4843456c5c341eb57f80f9224362a22665d14107 Merge: 2b1caf6 f00c9e4 Author: Linus Torvalds Date: Fri Jan 21 07:33:37 2011 -0800 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: quota: Fix deadlock during path resolution commit dfff95c394b0dd977a6b65bd52b99703fae94d9b Author: Thomas Gleixner Date: Wed Jan 19 20:46:24 2011 +0100 um: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Cc: Andrew Morton Cc: Jeff Dike commit 8df274064e02aa8929eb5087dd8841b6601ab0ae Author: Thomas Gleixner Date: Wed Jan 19 20:44:43 2011 +0100 tile: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: Chris Metcalf commit 373b25c3bff14fd9ed30b6ddba49cbeeb7ccdf88 Author: Thomas Gleixner Date: Wed Jan 19 20:43:56 2011 +0100 sparc: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: "David S. Miller" commit 2fc361bfcfce4fd05eb3d2e3d400dd387a5724c4 Author: Thomas Gleixner Date: Wed Jan 19 20:41:19 2011 +0100 score: Use generic irq Kconfig No functional change Signed-off-by: Thomas Gleixner Acked-by: Chen Liqin commit 2604362b2671cef309f6023e6bea0cec52ee993b Author: Thomas Gleixner Date: Wed Jan 19 20:39:39 2011 +0100 powerpc: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt commit 72e73af1f6546ba08d9314ac0e99dcdb06b7d486 Author: Thomas Gleixner Date: Wed Jan 19 20:38:30 2011 +0100 parisc: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Cc: Kyle McMartin Acked-by: James Bottomley commit b169c908a51964822dc3aa828a3febb67933f1ac Author: Thomas Gleixner Date: Wed Jan 19 20:36:02 2011 +0100 mn10300: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: David Howells commit b6e31629e335e8664a11be05992d39b2ee030960 Author: Thomas Gleixner Date: Wed Jan 19 20:35:05 2011 +0100 microblaze: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: Michal Simek commit d8b19323478af44d243e500656bb6ef2860ced6e Author: Thomas Gleixner Date: Wed Jan 19 20:34:21 2011 +0100 m68knommu: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Cc: Greg Ungerer commit c5e66129c1b5b6ea73128ce21b3591c00c963c0e Author: Thomas Gleixner Date: Wed Jan 19 20:32:46 2011 +0100 ia64: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: Tony Luck commit f39b02d6f9af8c942961ef32c2bbce6cb6100c29 Author: Thomas Gleixner Date: Wed Jan 19 20:32:04 2011 +0100 frv: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Acked-by: David Howells commit 7b0288634921c748dfeb2ff3e7d04ae7cc94e795 Author: Thomas Gleixner Date: Wed Jan 19 20:29:58 2011 +0100 blackfin: Use generic irq Kconfig No functional change. Signed-off-by: Thomas Gleixner Cc: Mike Frysinger commit e27ec649a0dd49741c98173ac5cf4404912d2abf Author: Thomas Gleixner Date: Wed Jan 19 20:27:11 2011 +0100 alpha: Use generic irq Kconfig Signed-off-by: Thomas Gleixner Cc: Richard Henderson commit 1c77ff22f539ceaa64ea43d6a26d867e84602cb7 Author: Thomas Gleixner Date: Wed Jan 19 19:41:35 2011 +0100 genirq: Remove __do_IRQ All architectures are finally converted. Remove the cruft. Signed-off-by: Thomas Gleixner Cc: Richard Henderson Cc: Mike Frysinger Cc: David Howells Cc: Tony Luck Cc: Greg Ungerer Cc: Michal Simek Acked-by: David Howells Cc: Kyle McMartin Acked-by: Benjamin Herrenschmidt Cc: Chen Liqin Cc: "David S. Miller" Cc: Chris Metcalf Cc: Jeff Dike commit 0e155b2ce293382730b8473f6ceeb7ac9b939b7d Author: Thomas Gleixner Date: Wed Jan 19 19:17:10 2011 +0100 m32r: Convert to generic irq Kconfig Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as we have converted all irq_chip functions. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 7a0abc7e7767455c9972de25b6c74e87271d16be Author: Thomas Gleixner Date: Wed Jan 19 19:10:18 2011 +0100 m32r: Convert usrv platform irq handling Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 9b141fa649b160c6a0854a79fe2cd741c5c99e80 Author: Thomas Gleixner Date: Wed Jan 19 19:01:23 2011 +0100 m32r: Convert opsput_lcdpld irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 1899a493b991cf9ea7a57d15b64588632fe32cf0 Author: Thomas Gleixner Date: Wed Jan 19 18:58:45 2011 +0100 m32r: Convert opsput lanpld irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 22cbc9384a495f2e6eb0d0fda91692431a28468e Author: Thomas Gleixner Date: Wed Jan 19 18:55:09 2011 +0100 m32r: Convert opsput pld irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 883c0ccde1e12e7721966626983d61ccdbd0ae99 Author: Thomas Gleixner Date: Wed Jan 19 18:48:15 2011 +0100 m32r: Convert opsput irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit ce1104ce67ea186bf5c23de66a2eeaf65823e1ce Author: Thomas Gleixner Date: Wed Jan 19 18:44:10 2011 +0100 m32r: Convert oaks32r irq chips Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit b82727ec646578bdd3a6f31f6451f67784874675 Author: Thomas Gleixner Date: Wed Jan 19 18:39:27 2011 +0100 m32r: Convert mappi3 irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit efa63c6495fb6f83a1cc183f0df2617e383392e9 Author: Thomas Gleixner Date: Wed Jan 19 18:34:51 2011 +0100 m32r: Convert mappi2 irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 1f12681ab1419a68da0f066b95e3e6e9270eb730 Author: Thomas Gleixner Date: Wed Jan 19 18:27:59 2011 +0100 m32r: Convert mappi irq chips Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 37808e47eab064006eb17d46cf15a098655940c4 Author: Thomas Gleixner Date: Wed Jan 19 18:19:42 2011 +0100 m32r: Convert m32700ut lcdpld irq chip Convert the irq chip to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 72bd198f1d8e3341ea55dc250830a92e2816d16a Author: Thomas Gleixner Date: Wed Jan 19 18:14:21 2011 +0100 m32r: Convert m32700ut lanpld irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 63b549b6552c7869c25a1c60783aa86a3380e06c Author: Thomas Gleixner Date: Wed Jan 19 17:41:51 2011 +0100 m32r: Convert m32700ut pld irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 364a9ba07b0341c7e16809d810a19e06b6e64b05 Author: Thomas Gleixner Date: Tue Jan 11 10:43:49 2011 +0100 m32r: Convert m32104ut irq chip Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 8afb53b9ac0ac196d58b741d7bdfba8702ae7945 Author: Thomas Gleixner Date: Wed Jan 19 17:02:29 2011 +0100 m32r: Convert m32104ut irq handling Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 863018a7a24a29c0862c62e70c89244fdd5a08bf Author: Thomas Gleixner Date: Wed Sep 22 19:13:16 2010 +0200 m32r: Cleanup direct irq_desc access The irq descriptors are already initialized by the generic code. Remove the redundant init code and set the irq chip with the proper accessor function. Signed-off-by: Thomas Gleixner Cc: Hirokazu Takata Cc: Paul Mundt commit 30139785e615c97497864a89511db02839fa7bf5 Author: Thomas Gleixner Date: Wed Jan 19 14:20:13 2011 +0100 cris: Use generic irq Kconfig Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as we have converted all irq_chip functions. Fix the fallout in show_interrupts(). Signed-off-by: Thomas Gleixner Cc: Mikael Starvik commit 9af7503dbd9c4c5e11fcf253ac93fefc9793dff8 Author: Thomas Gleixner Date: Wed Jan 19 14:05:30 2011 +0100 cris: Convert V32 interrupt handling Convert the irq chip functions and install handle_simple_irq for each interrupt to get rid of __do_IRQ() Signed-off-by: Thomas Gleixner Cc: Mikael Starvik commit f7a004baa202f919d060c2da250535b085813a4b Author: Thomas Gleixner Date: Wed Jan 19 13:54:54 2011 +0100 cris: Convert V10 interrupt handling Convert the irq_chip functions and install handle_simple_irq for each interrupt. This converts V10 to the flow handling and lets us remove __do_IRQ(). Signed-off-by: Thomas Gleixner Cc: Mikael Starvik commit c84077ac29978cbfb42dccbba3fee8523605e839 Author: Thomas Gleixner Date: Wed Jan 19 13:59:01 2011 +0100 cris: Use irq handling wrapper Use the wrapper around __do_IRQ() so we can convert V10 and V32 seperately. Signed-off-by: Thomas Gleixner Cc: Mikael Starvik commit 51f3f15945aa2ccbc90baf17d912aed9981697b2 Author: Thomas Gleixner Date: Wed Jan 19 12:26:32 2011 +0100 h8300: Use generic irq Kconfig Switch to the generic irq Kconfig. h8300 has all irq chips converted to the new functions, so select the GENERIC_HARDIRQS_NO_DEPRECATED switch as well. Fixup the resulting fallout in show_interrupts(). Signed-off-by: Thomas Gleixner Cc: Yoshinori Sato Cc: Paul Mundt commit f9f91ef5e3a5bc1d4aa05b5d26c4d9e6dd930750 Author: Thomas Gleixner Date: Wed Jan 19 12:18:57 2011 +0100 h8300: Convert interrupt handling to flow handler __do_IRQ is deprecated so h8300 needs to be converted to proper flow handling. The irq chip is simple and does not required any mask/ack/eoi functions, so we can use handle_simple_irq. Signed-off-by: Thomas Gleixner Cc: Yoshinori Sato Cc: Paul Mundt commit 12174aac376f2c9390c51e66995d38c9e5e94eff Author: Thomas Gleixner Date: Wed Jan 19 12:15:29 2011 +0100 h8300: Convert to new irq_chip functions No functional change, just straight forward conversion. Signed-off-by: Thomas Gleixner Cc: Yoshinori Sato Cc: Paul Mundt commit 842a2097007b8a01a71a701300e970502a54bbb2 Merge: 2f36f5e c88c282 Author: Takashi Iwai Date: Fri Jan 21 08:10:14 2011 +0100 Merge branch 'fix/asoc' into for-linus commit 2f36f5e1ffcc18deee234b9085fabd2828f59ee0 Merge: d2ebd47 b8b1a4c Author: Takashi Iwai Date: Fri Jan 21 08:10:09 2011 +0100 Merge branch 'fix/misc' into for-linus commit 8bfc5e36619e8464bf529137f834f55bd75de381 Author: Scott Wood Date: Mon Jan 17 12:10:41 2011 +0000 powerpc/mpic: Fix mask/unmask timeout message Don't say that enable timed out when it was disable, and show which IRQ had the problem. Signed-off-by: Scott Wood Signed-off-by: Benjamin Herrenschmidt commit cb046de7581993e7d486b40a6878be2afa1b588f Author: Nishanth Aravamudan Date: Thu Jan 13 13:22:39 2011 +0000 powerpc/pseries: Add BNX2=m to defconfig Upcoming servers will include a Broadcom NIC, add to the defconfig to increase testing coverage and make sure mainline builds come up with networking. Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit ef4f7c2d075d09ed833dc086e07a0d1eee488168 Author: Anton Blanchard Date: Wed Jan 12 02:14:32 2011 +0000 powerpc: Enable 64kB pages and 1024 threads in pseries config - Enable 64kB pages so it gets some regular testing. - The largest POWER7 has 1024 threads so bump NR_CPUS it to match. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 7d2dcd046d259d309b4e0da387a53660a8f146ad Author: Anton Blanchard Date: Wed Jan 12 02:12:43 2011 +0000 powerpc: Disable mcount tracers in pseries defconfig IRQSOFF_TRACER and STACK_TRACER force the kernel to be built with -pg which is a substantial overhead. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 4d9ef89dee13e964ea8b064d82ff55cf36209237 Author: Ben Hutchings Date: Sat Jan 8 14:24:01 2011 +0000 powerpc/boot/dts: Install dts from the right directory The dts-installed variable is initialised using a wildcard path that will be expanded relative to the build directory. Use the existing variable dtstree to generate an absolute wildcard path that will work when building in a separate directory. Reported-by: Gerhard Pircher Signed-off-by: Ben Hutchings Tested-by: Gerhard Pircher [against 2.6.32] Signed-off-by: Benjamin Herrenschmidt commit fbe754ca3a7579131ecec47c4fa10c40994b3804 Author: Anton Blanchard Date: Tue Jan 11 19:52:31 2011 +0000 powerpc: machine_check_generic is wrong on 64bit Decoding machine checks is CPU specific and so machine_check_generic doesn't do the right thing on 64bit chips. Luckily we never call into this code because we call ppc_md.machine_check_exception instead if available. Since we check cur_cpu_spec->machine_check before calling it, we may as well remove machine_check_generic from 64bit archs. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 7f32c9c60089bfdb5eeeaae6e9f59046db998234 Author: Anton Blanchard Date: Tue Jan 11 19:51:31 2011 +0000 powerpc: Check RTAS extended log flag before checking length The spec suggests we should first check the extended log flag before checking the length field. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit d368514c3097a48a109b6ba64e12047106c7473d Author: Anton Blanchard Date: Tue Jan 11 19:50:51 2011 +0000 powerpc: Fix corruption when grabbing FWNMI data The FWNMI code uses a global buffer without any locks to read the RTAS error information. If two CPUs take a machine check at once then we will corrupt this buffer. Since most FWNMI rtas messages are not of the extended type, we can create a 64bit percpu buffer and use it where possible. If we do receive an extended RTAS log then we fall back to the old behaviour of using the global buffer. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit d47d1d8af52e37bcf9059dd86878474e5ccc9c2a Author: Anton Blanchard Date: Tue Jan 11 19:49:19 2011 +0000 powerpc: Rework pseries machine check handler Rework pseries machine check handler: - If MSR_RI isn't set, we cannot recover even if the machine check was fully recovered - Rename nonfatal to recovered - Handle RTAS_DISP_LIMITED_RECOVERY - Use BUS_MCEERR_AR instead of BUS_ADRERR - Don't check all the RTAS error log fields when receiving a synchronous machine check. Recent versions of the pseries firmware do not fill them in during a machine check and instead send a follow up error log with the detailed information. If we see a synchronous machine check, and we came from userspace then kill the task. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit e49b1fae0ba4d06b29bd753a961abb447566bf4a Author: Anton Blanchard Date: Tue Jan 11 19:48:14 2011 +0000 powerpc: Don't silently handle machine checks from userspace If a machine check comes from userspace we send a SIGBUS to the task and fail to printk anything. If we are taking machine checks due to bad hardware we want to know about it right away. Furthermore if we don't complain loudly then it will look a lot like a bug in the userspace application, potentially causing a lot of confusion. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit dfb5509f8f49ffd52922060c830978ed5a9b9731 Author: Anton Blanchard Date: Tue Jan 11 19:47:20 2011 +0000 powerpc: Remove duplicate debugger hook in machine_check_exception We are calling debugger_fault_handler twice in machine_check_exception. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 3f9793e6b66efcf196974ee4f0d62de6282eb41b Author: Anton Blanchard Date: Tue Jan 11 19:46:29 2011 +0000 powerpc: Never halt RTAS error logging after receiving an unrecoverable machine check Newer versions of the System p firwmare send a partial RTAS error log in the machine check handler with a more detailed response appearing sometime later via check event. This means at machine check time we do not have enough information to ascertain exactly what went on. Furthermore, I have found the RTAS error logs in the machine check handler contain no useful information, so halting on them makes little sense. If we want to halt it would make more sense to do it following the error log received sometime later via check event. In light of this, never halt the error log in the pseries machine check handler. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit a443506b8598bbd784cfe403ad1db2c7083ff465 Author: Anton Blanchard Date: Tue Jan 11 19:45:31 2011 +0000 powerpc: Don't force MSR_RI in machine_check_exception We should never force MSR_RI on. If we take a machine check with MSR_RI off then we have no chance of recovering safely. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 7071854bb248926b85141d791f9fa17901a6fa4b Author: Anton Blanchard Date: Tue Jan 11 19:44:30 2011 +0000 powerpc: Print 32 bits of DSISR in show_regs We were printing 64 bits of DSISR in show_regs even though it is 32 bit. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit ac4414e4d3024a3c9ac5f54a734ac77dd7edfdb3 Author: Anton Blanchard Date: Thu Jan 6 18:00:36 2011 +0000 powerpc/kdump: Disable ftrace during kexec We should disable ftrace during kexec, some of the tracers are very invasive and we do not want them going off while doing the low level work of swapping one kernel out for another. This mirrors what we do on x86. Even though we cannot return from a kexec on powerpc (since we do not implement CONFIG_KEXEC_JUMP), add the restore code in case we do one day. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 158d5b5e3654938cca963eec82cd10af49cda17f Author: Anton Blanchard Date: Fri Jan 21 13:43:59 2011 +1100 powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler Use the crash handler hooks to run the SPU stop code, just like we do for ehea and cell RAS code. While I'm here I noticed "CPUSs reliabally" so fix the spelling MISTAKESs reliabally. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit c6baabfb84b37e7df52363c6c95c90f3b34afb56 Author: Anton Blanchard Date: Thu Jan 6 17:58:36 2011 +0000 powerpc/kexec: Remove empty ppc_md.machine_kexec_prepare We check for a valid handler before calling ppc_md.machine_kexec_prepare so we can just remove these empty handlers. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 2bb44d628c5d7a3ac0882aad01c423268d5d3b23 Author: Anton Blanchard Date: Thu Jan 6 17:57:03 2011 +0000 powerpc/kexec: Don't initialise kexec hooks to default handlers There's no need to initialise ppc_md.machine_kexec and ppc_md.machine_kexec_prepare to the default handlers. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit c1f784e553490a2602567666fc79ff142cb4413b Author: Anton Blanchard Date: Thu Jan 6 17:56:09 2011 +0000 powerpc/kdump: Remove ppc_md.machine_crash_shutdown No one uses ppc_md.machine_crash_shutdown, so remove it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit c94868788cf26d5ad816646dd9af3cdf6fbd92fd Author: Anton Blanchard Date: Thu Jan 6 17:55:36 2011 +0000 powerpc/kexec: Remove ppc_md.machine_kexec No one uses ppc_md.machine_kexec, so remove it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 619b267724e8cc41072d650ae28114851dd8bf56 Author: Anton Blanchard Date: Thu Jan 6 17:54:58 2011 +0000 powerpc/kexec: Remove ppc_md.machine_kexec_cleanup No one uses ppc_md.machine_kexec_cleanup, so remove it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 50266a1f8a6618f2e477635cfcf457b5da8d5a68 Author: Anton Blanchard Date: Thu Jan 6 17:54:15 2011 +0000 powerpc/kexec: Move all ppc_md kexec function pointers together Move all the kexec handlers together. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit b18ae08deac23187e4a22a8c94a1a473be8e8c93 Author: Tejun Heo Date: Mon Jan 3 03:49:25 2011 +0000 powerpc/cell: Use system_wq in cpufreq_spudemand With cmwq, there's no reason to use a separate workqueue in cpufreq_spudemand. Use system_wq instead. The work items are already sync canceled on stop, so it's already guaranteed that no work is running when spu_gov_exit() is entered. Signed-off-by: Tejun Heo Cc: Arnd Bergmann Cc: linuxppc-dev@lists.ozlabs.org Cc: Dave Jones Cc: cpufreq@vger.kernel.org Signed-off-by: Benjamin Herrenschmidt commit f32be0c54057faac90e0b5e9e13fa9f8fab127ac Author: roel kluin Date: Fri Dec 31 04:57:46 2010 +0000 powerpc/macintosh: Fix wrong test in fan_{read,write}_reg() Fix error test in fan_{read,write}_reg() Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit 4c4a5cf64bfa0ddbe4145e6ca18a62eb70706edd Author: Akinobu Mita Date: Fri Dec 24 20:03:59 2010 +0000 powerpc/rtas_flash: Use simple_read_from_buffer Simplify read file operation for /proc/powerpc/rtas/* interface by using simple_read_from_buffer. Signed-off-by: Akinobu Mita Signed-off-by: Benjamin Herrenschmidt commit 63c3b9d71bb66f4b62059713201f066ad9415bb5 Author: Akinobu Mita Date: Fri Dec 24 20:03:56 2010 +0000 powerpc/spufs: Use simple_write_to_buffer Simplify several write fileoperations for spufs by using simple_write_to_buffer(). Signed-off-by: Akinobu Mita Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit 06ca2188eccbd7932636ac5bde2837297800480e Author: Steven Rostedt Date: Wed Dec 22 16:42:56 2010 +0000 powerpc/ppc32/tracing: Add stack frame to calls of trace_hardirqs_on/off 32-bit variant of the previous patch for 64-bit: << When an interrupt occurs in userspace, we can call trace_hardirqs_on/off() With one level stack. But if we have irqsoff tracing enabled, it checks both CALLER_ADDR0 and CALLER_ADDR1. The second call goes two stack frames up. If this is from user space, then there may not exist a second stack.... >> Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit 3cb5f1a3e58c0bd70d47d9907cc5c65192281dee Author: Steven Rostedt Date: Thu Dec 23 19:46:06 2010 +0000 powerpc/ppc64/tracing: Add stack frame to calls of trace_hardirqs_on/off When an interrupt occurs in userspace, we can call trace_hardirqs_on/off() With one level stack. But if we have irqsoff tracing enabled, it checks both CALLER_ADDR0 and CALLER_ADDR1. The second call goes two stack frames up. If this is from user space, then there may not exist a second stack. Add a second stack when calling trace_hardirqs_on/off() otherwise the following oops might occur: Oops: Kernel access of bad area, sig: 11 [#1] PREEMPT SMP NR_CPUS=2 PA Semi PWRficient last sysfs file: /sys/block/sda/size Modules linked in: ohci_hcd ehci_hcd usbcore NIP: c0000000000e1c00 LR: c0000000000034d4 CTR: 000000011012c440 REGS: c00000003e2f3af0 TRAP: 0300 Not tainted (2.6.37-rc6+) MSR: 9000000000001032 CR: 48044444 XER: 20000000 DAR: 00000001ffb9db50, DSISR: 0000000040000000 TASK = c00000003e1a00a0[2088] 'emacs' THREAD: c00000003e2f0000 CPU: 1 GPR00: 0000000000000001 c00000003e2f3d70 c00000000084e0d0 c0000000008816e8 GPR04: 000000001034c678 000000001032e8f9 0000000010336540 0000000040020000 GPR08: 0000000040020000 00000001ffb9db40 c00000003e2f3e30 0000000060000000 GPR12: 100000000000f032 c00000000fff0280 000000001032e8c9 0000000000000008 GPR16: 00000000105be9c0 00000000105be950 00000000105be9b0 00000000105be950 GPR20: 00000000ffb9dc50 00000000ffb9dbf0 00000000102f0000 00000000102f0000 GPR24: 00000000102e0000 00000000102f0000 0000000010336540 c0000000009ded38 GPR28: 00000000102e0000 c0000000000034d4 c0000000007ccb10 c00000003e2f3d70 NIP [c0000000000e1c00] .trace_hardirqs_off+0xb0/0x1d0 LR [c0000000000034d4] decrementer_common+0xd4/0x100 Call Trace: [c00000003e2f3d70] [c00000003e2f3e30] 0xc00000003e2f3e30 (unreliable) [c00000003e2f3e30] [c0000000000034d4] decrementer_common+0xd4/0x100 Instruction dump: 81690000 7f8b0000 419e0018 f84a0028 60000000 60000000 60000000 e95f0000 80030000 e92a0000 eb6301f8 2f800000 41fe00dc a06d000a eb1e8050 ---[ end trace 4ec7fd2be9240928 ]--- Reported-by: Joerg Sommer Signed-off-by: Steven Rostedt Signed-off-by: Benjamin Herrenschmidt commit c0337288ab165be17081d61d4ef13b79d3ac55d4 Author: Michael Ellerman Date: Sun Nov 7 18:22:29 2010 +0000 powerpc: Ensure the else case of feature sections will fit When we create an alternative feature section, the else case must be the same size or smaller than the body. This is because when we patch the else case in we just overwrite the body, so there must be room. Up to now we just did this by inspection, but it's quite easy to enforce it in the assembler, so we should. The only change is to add the ifgt block, but that effects the alignment of the tabs and so the whole macro is modified. Also add a test, but #if 0 it because we don't want to break the build. Anyone who's modifying the feature macros should enable the test. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 2b1caf6ed7b888c95a1909d343799672731651a5 Merge: d551d81 bd924e8 Author: Linus Torvalds Date: Thu Jan 20 18:30:37 2011 -0800 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c lockdep: Move early boot local IRQ enable/disable status to init/main.c commit d551d81d6a720542873f478def60baab6b5df403 Author: Rafael J. Wysocki Date: Wed Jan 19 22:27:55 2011 +0100 ACPI / PM: Call suspend_nvs_free() earlier during resume It turns out that some device drivers map pages from the ACPI NVS region during resume using ioremap(), which conflicts with ioremap_cache() used for mapping those pages by the NVS save/restore code in nvs.c. Make the NVS pages mapped by the code in nvs.c be unmapped before device drivers' resume routines run. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 2d6d9fd3a54a28c6f67f26eb6c74803307a1b11e Author: Rafael J. Wysocki Date: Wed Jan 19 22:27:14 2011 +0100 ACPI: Introduce acpi_os_ioremap() Commit ca9b600be38c ("ACPI / PM: Make suspend_nvs_save() use acpi_os_map_memory()") attempted to prevent the code in osl.c and nvs.c from using different ioremap() variants by making the latter use acpi_os_map_memory() for mapping the NVS pages. However, that also requires acpi_os_unmap_memory() to be used for unmapping them, which causes synchronize_rcu() to be executed many times in a row unnecessarily and introduces substantial delays during resume on some systems. Instead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c introduce acpi_os_ioremap() calling ioremap_cache() and make the code in both osl.c and nvs.c use it. Reported-by: Jeff Chua Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 99d86c8f1b7101d7c55dbf644b32bb1f0d7eb303 Author: Jeff Layton Date: Thu Jan 20 21:19:25 2011 -0500 cifs: fix up CIFSSMBEcho for unaligned access Make sure that CIFSSMBEcho can handle unaligned fields. Also fix a minor bug that causes this warning: fs/cifs/cifssmb.c: In function 'CIFSSMBEcho': fs/cifs/cifssmb.c:740: warning: large integer implicitly truncated to unsigned type ...WordCount is u8, not __le16, so no need to convert it. This patch should apply cleanly on top of the rest of the patchset to clean up unaligned access. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bf67b9be97baea84386abca38b2503bb286571dc Merge: 8d99641 84cdf74 Author: Steve French Date: Fri Jan 21 02:19:30 2011 +0000 Merge branch 'for-next' commit 8d99641f6c1af806cd5d9e6badce91910219a161 Merge: fc887b1 225c8e0 Author: Linus Torvalds Date: Thu Jan 20 17:02:14 2011 -0800 Merge branch 'akpm' * akpm: kernel/smp.c: consolidate writes in smp_call_function_interrupt() kernel/smp.c: fix smp_call_function_many() SMP race memcg: correctly order reading PCG_USED and pc->mem_cgroup backlight: fix 88pm860x_bl macro collision drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking MAINTAINERS: update Atmel AT91 entry mm: fix truncate_setsize() comment memcg: fix rmdir, force_empty with THP memcg: fix LRU accounting with THP memcg: fix USED bit handling at uncharge in THP memcg: modify accounting function for supporting THP better fs/direct-io.c: don't try to allocate more than BIO_MAX_PAGES in a bio mm: compaction: prevent division-by-zero during user-requested compaction mm/vmscan.c: remove duplicate include of compaction.h memblock: fix memblock_is_region_memory() thp: keep highpte mapped until it is no longer needed kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT commit 225c8e010f2d17a62aef131e24c6e7c111f36f9b Author: Milton Miller Date: Thu Jan 20 14:44:34 2011 -0800 kernel/smp.c: consolidate writes in smp_call_function_interrupt() We have to test the cpu mask in the interrupt handler before checking the refs, otherwise we can start to follow an entry before its deleted and find it partially initailzed for the next trip. Presently we also clear the cpumask bit before executing the called function, which implies getting write access to the line. After the function is called we then decrement refs, and if they go to zero we then unlock the structure. However, this implies getting write access to the call function data before and after another the function is called. If we can assert that no smp_call_function execution function is allowed to enable interrupts, then we can move both writes to after the function is called, hopfully allowing both writes with one cache line bounce. On a 256 thread system with a kernel compiled for 1024 threads, the time to execute testcase in the "smp_call_function_many race" changelog was reduced by about 30-40ms out of about 545 ms. I decided to keep this as WARN because its now a buggy function, even though the stack trace is of no value -- a simple printk would give us the information needed. Raw data: Without patch: ipi_test startup took 1219366ns complete 539819014ns total 541038380ns ipi_test startup took 1695754ns complete 543439872ns total 545135626ns ipi_test startup took 7513568ns complete 539606362ns total 547119930ns ipi_test startup took 13304064ns complete 533898562ns total 547202626ns ipi_test startup took 8668192ns complete 544264074ns total 552932266ns ipi_test startup took 4977626ns complete 548862684ns total 553840310ns ipi_test startup took 2144486ns complete 541292318ns total 543436804ns ipi_test startup took 21245824ns complete 530280180ns total 551526004ns With patch: ipi_test startup took 5961748ns complete 500859628ns total 506821376ns ipi_test startup took 8975996ns complete 495098924ns total 504074920ns ipi_test startup took 19797750ns complete 492204740ns total 512002490ns ipi_test startup took 14824796ns complete 487495878ns total 502320674ns ipi_test startup took 11514882ns complete 494439372ns total 505954254ns ipi_test startup took 8288084ns complete 502570774ns total 510858858ns ipi_test startup took 6789954ns complete 493388112ns total 500178066ns #include #include #include /* sched clock */ #define ITERATIONS 100 static void do_nothing_ipi(void *dummy) { } static void do_ipis(struct work_struct *dummy) { int i; for (i = 0; i < ITERATIONS; i++) smp_call_function(do_nothing_ipi, NULL, 1); printk(KERN_DEBUG "cpu %d finished\n", smp_processor_id()); } static struct work_struct work[NR_CPUS]; static int __init testcase_init(void) { int cpu; u64 start, started, done; start = local_clock(); for_each_online_cpu(cpu) { INIT_WORK(&work[cpu], do_ipis); schedule_work_on(cpu, &work[cpu]); } started = local_clock(); for_each_online_cpu(cpu) flush_work(&work[cpu]); done = local_clock(); pr_info("ipi_test startup took %lldns complete %lldns total %lldns\n", started-start, done-started, done-start); return 0; } static void __exit testcase_exit(void) { } module_init(testcase_init) module_exit(testcase_exit) MODULE_LICENSE("GPL"); MODULE_AUTHOR("Anton Blanchard"); Signed-off-by: Milton Miller Cc: Anton Blanchard Cc: Ingo Molnar Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6dc19899958e420a931274b94019e267e2396d3e Author: Anton Blanchard Date: Thu Jan 20 14:44:33 2011 -0800 kernel/smp.c: fix smp_call_function_many() SMP race I noticed a failure where we hit the following WARN_ON in generic_smp_call_function_interrupt: if (!cpumask_test_and_clear_cpu(cpu, data->cpumask)) continue; data->csd.func(data->csd.info); refs = atomic_dec_return(&data->refs); WARN_ON(refs < 0); <------------------------- We atomically tested and cleared our bit in the cpumask, and yet the number of cpus left (ie refs) was 0. How can this be? It turns out commit 54fdade1c3332391948ec43530c02c4794a38172 ("generic-ipi: make struct call_function_data lockless") is at fault. It removes locking from smp_call_function_many and in doing so creates a rather complicated race. The problem comes about because: - The smp_call_function_many interrupt handler walks call_function.queue without any locking. - We reuse a percpu data structure in smp_call_function_many. - We do not wait for any RCU grace period before starting the next smp_call_function_many. Imagine a scenario where CPU A does two smp_call_functions back to back, and CPU B does an smp_call_function in between. We concentrate on how CPU C handles the calls: CPU A CPU B CPU C CPU D smp_call_function smp_call_function_interrupt walks call_function.queue sees data from CPU A on list smp_call_function smp_call_function_interrupt walks call_function.queue sees (stale) CPU A on list smp_call_function int clears last ref on A list_del_rcu, unlock smp_call_function reuses percpu *data A data->cpumask sees and clears bit in cpumask might be using old or new fn! decrements refs below 0 set data->refs (too late!) The important thing to note is since the interrupt handler walks a potentially stale call_function.queue without any locking, then another cpu can view the percpu *data structure at any time, even when the owner is in the process of initialising it. The following test case hits the WARN_ON 100% of the time on my PowerPC box (having 128 threads does help :) #include #include #define ITERATIONS 100 static void do_nothing_ipi(void *dummy) { } static void do_ipis(struct work_struct *dummy) { int i; for (i = 0; i < ITERATIONS; i++) smp_call_function(do_nothing_ipi, NULL, 1); printk(KERN_DEBUG "cpu %d finished\n", smp_processor_id()); } static struct work_struct work[NR_CPUS]; static int __init testcase_init(void) { int cpu; for_each_online_cpu(cpu) { INIT_WORK(&work[cpu], do_ipis); schedule_work_on(cpu, &work[cpu]); } return 0; } static void __exit testcase_exit(void) { } module_init(testcase_init) module_exit(testcase_exit) MODULE_LICENSE("GPL"); MODULE_AUTHOR("Anton Blanchard"); I tried to fix it by ordering the read and the write of ->cpumask and ->refs. In doing so I missed a critical case but Paul McKenney was able to spot my bug thankfully :) To ensure we arent viewing previous iterations the interrupt handler needs to read ->refs then ->cpumask then ->refs _again_. Thanks to Milton Miller and Paul McKenney for helping to debug this issue. [miltonm@bga.com: add WARN_ON and BUG_ON, remove extra read of refs before initial read of mask that doesn't help (also noted by Peter Zijlstra), adjust comments, hopefully clarify scenario ] [miltonm@bga.com: remove excess tests] Signed-off-by: Anton Blanchard Signed-off-by: Milton Miller Cc: Ingo Molnar Cc: "Paul E. McKenney" Cc: [2.6.32+] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 713735b4233fad3ae35b5cad656baa41413887ca Author: Johannes Weiner Date: Thu Jan 20 14:44:31 2011 -0800 memcg: correctly order reading PCG_USED and pc->mem_cgroup The placement of the read-side barrier is confused: the writer first sets pc->mem_cgroup, then PCG_USED. The read-side barrier has to be between testing PCG_USED and reading pc->mem_cgroup. Signed-off-by: Johannes Weiner Acked-by: KAMEZAWA Hiroyuki Acked-by: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2550326ac7a062fdfc204f9a3b98bdb9179638fc Author: Randy Dunlap Date: Thu Jan 20 14:44:31 2011 -0800 backlight: fix 88pm860x_bl macro collision Fix collision with kernel-supplied #define: drivers/video/backlight/88pm860x_bl.c:24:1: warning: "CURRENT_MASK" redefined arch/x86/include/asm/page_64_types.h:6:1: warning: this is the location of the previous definition Signed-off-by: Randy Dunlap Cc: Haojian Zhuang Cc: Richard Purdie Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc587ece12791d001095488bf060fac52f657ea9 Author: Janusz Krzysztofik Date: Thu Jan 20 14:44:29 2011 -0800 drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking Replicate changes made to drivers/leds/ledtrig-backlight.c. Cc: Paul Mundt Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fc8675c9e3dede8e7cd91cebb2025e2e6db2dc Author: Nicolas Ferre Date: Thu Jan 20 14:44:27 2011 -0800 MAINTAINERS: update Atmel AT91 entry Add two co-maintainers and update the entry with new information. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Acked-by: Jean-Christophe PLAGNIOL-VILLARD Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 382e27daa542ce97c500dc357841c6416c735cc2 Author: Jan Kara Date: Thu Jan 20 14:44:26 2011 -0800 mm: fix truncate_setsize() comment Contrary to what the comment says, truncate_setsize() should be called *before* filesystem truncated blocks. Signed-off-by: Jan Kara Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 987eba66e0e6aa654d60881a14731a353ee0acb4 Author: KAMEZAWA Hiroyuki Date: Thu Jan 20 14:44:25 2011 -0800 memcg: fix rmdir, force_empty with THP Now, when THP is enabled, memcg's rmdir() function is broken because move_account() for THP page is not supported. This will cause account leak or -EBUSY issue at rmdir(). This patch fixes the issue by supporting move_account() THP pages. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ece35ca810326946ddc930c43356312ad5de44d4 Author: KAMEZAWA Hiroyuki Date: Thu Jan 20 14:44:24 2011 -0800 memcg: fix LRU accounting with THP memory cgroup's LRU stat should take care of size of pages because Transparent Hugepage inserts hugepage into LRU. If this value is the number wrong, memory reclaim will not work well. Note: only head page of THP's huge page is linked into LRU. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca3e021417eed30ec2b64ce88eb0acf64aa9bc29 Author: KAMEZAWA Hiroyuki Date: Thu Jan 20 14:44:24 2011 -0800 memcg: fix USED bit handling at uncharge in THP Now, under THP: at charge: - PageCgroupUsed bit is set to all page_cgroup on a hugepage. ....set to 512 pages. at uncharge - PageCgroupUsed bit is unset on the head page. So, some pages will remain with "Used" bit. This patch fixes that Used bit is set only to the head page. Used bits for tail pages will be set at splitting if necessary. This patch adds this lock order: compound_lock() -> page_cgroup_move_lock(). [akpm@linux-foundation.org: fix warning] Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e401f1761c0b01966e36e41e2c385d455a7b44ee Author: KAMEZAWA Hiroyuki Date: Thu Jan 20 14:44:23 2011 -0800 memcg: modify accounting function for supporting THP better mem_cgroup_charge_statisics() was designed for charging a page but now, we have transparent hugepage. To fix problems (in following patch) it's required to change the function to get the number of pages as its arguments. The new function gets following as argument. - type of page rather than 'pc' - size of page which is accounted. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20d9600cb407b0b55fef6ee814b60345c6f58264 Author: David Dillow Date: Thu Jan 20 14:44:22 2011 -0800 fs/direct-io.c: don't try to allocate more than BIO_MAX_PAGES in a bio When using devices that support max_segments > BIO_MAX_PAGES (256), direct IO tries to allocate a bio with more pages than allowed, which leads to an oops in dio_bio_alloc(). Clamp the request to the supported maximum, and change dio_bio_alloc() to reflect that bio_alloc() will always return a bio when called with __GFP_WAIT and a valid number of vectors. [akpm@linux-foundation.org: remove redundant BUG_ON()] Signed-off-by: David Dillow Reviewed-by: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82478fb7bca28e3ca2f3c55c14e690f749dd4dbb Author: Johannes Weiner Date: Thu Jan 20 14:44:21 2011 -0800 mm: compaction: prevent division-by-zero during user-requested compaction Up until 3e7d344 ("mm: vmscan: reclaim order-0 and use compaction instead of lumpy reclaim"), compaction skipped calculating the fragmentation index of a zone when compaction was explicitely requested through the procfs knob. However, when compaction_suitable was introduced, it did not come with an extra check for order == -1, set on explicit compaction requests, and passed this order on to the fragmentation index calculation, where it overshifts the number of requested pages, leading to a division by zero. This patch makes sure that order == -1 is recognized as the flag it is rather than passing it along as valid order parameter. [akpm@linux-foundation.org: add comment, per Mel] Signed-off-by: Johannes Weiner Reviewed-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3305de51bf612603c9a4e4dc98ceb839ef933749 Author: Jesper Juhl Date: Thu Jan 20 14:44:20 2011 -0800 mm/vmscan.c: remove duplicate include of compaction.h Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abb65272a190660790096628859e752172d822fd Author: Tomi Valkeinen Date: Thu Jan 20 14:44:20 2011 -0800 memblock: fix memblock_is_region_memory() memblock_is_region_memory() uses reserved memblocks to search for the given region, while it should use the memory memblocks. I encountered the problem with OMAP's framebuffer ram allocation. Normally the ram is allocated dynamically, and this function is not called. However, if we want to pass the framebuffer from the bootloader to the kernel (to retain the boot image), this function is used to check the validity of the kernel parameters for the framebuffer ram area. Signed-off-by: Tomi Valkeinen Acked-by: Yinghai Lu Cc: Benjamin Herrenschmidt Cc: "H. Peter Anvin" Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 453c719261c0b4030b2676124adb6e81c5fb6833 Author: Johannes Weiner Date: Thu Jan 20 14:44:18 2011 -0800 thp: keep highpte mapped until it is no longer needed Two users reported THP-related crashes on 32-bit x86 machines. Their oops reports indicated an invalid pte, and subsequent code inspection showed that the highpte is actually used after unmap. The fix is to unmap the pte only after all operations against it are finished. Signed-off-by: Johannes Weiner Reported-by: Ilya Dryomov Reported-by: werner Cc: Andrea Arcangeli Tested-by: Ilya Dryomov Tested-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 6a108a14fa356ef607be308b68337939e56ea94e Author: David Rientjes Date: Thu Jan 20 14:44:16 2011 -0800 kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option is used to configure any non-standard kernel with a much larger scope than only small devices. This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes references to the option throughout the kernel. A new CONFIG_EMBEDDED option is added that automatically selects CONFIG_EXPERT when enabled and can be used in the future to isolate options that should only be considered for embedded systems (RISC architectures, SLOB, etc). Calling the option "EXPERT" more accurately represents its intention: only expert users who understand the impact of the configuration changes they are making should enable it. Reviewed-by: Ingo Molnar Acked-by: David Woodhouse Signed-off-by: David Rientjes Cc: Greg KH Cc: "David S. Miller" Cc: Jens Axboe Cc: Arnd Bergmann Cc: Robin Holt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc887b15d935ead2a00aef5779a18034e7c69ee1 Merge: 466c190 df62125 Author: Linus Torvalds Date: Thu Jan 20 16:39:23 2011 -0800 Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty: update MAINTAINERS file due to driver movement tty: move drivers/serial/ to drivers/tty/serial/ tty: move hvc drivers to drivers/tty/hvc/ commit 466c19063b4b426d5c362572787cb249fbf4296b Merge: 67290f4 068c5cc Author: Linus Torvalds Date: Thu Jan 20 16:37:55 2011 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched, cgroup: Use exit hook to avoid use-after-free crash sched: Fix signed unsigned comparison in check_preempt_tick() sched: Replace rq->bkl_count with rq->rq_sched_info.bkl_count sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure sched: Display autogroup names in /proc/sched_debug sched: Reinstate group names in /proc/sched_debug sched: Update effective_load() to use global share weights commit 67290f41b2715de0e0ae93c9285fcbe37ffc5b22 Merge: 5cdec1f 6a5b3be Author: Linus Torvalds Date: Thu Jan 20 16:37:28 2011 -0800 Merge branch 'xen/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen * 'xen/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: xenbus: Fix memory leak on release xenbus: avoid zero returns from read() xenbus: add missing wakeup in concurrent read/write xenbus: allow any xenbus command over /proc/xen/xenbus xenfs/xenbus: report partial reads/writes correctly commit 5cdec1fca2ff128ca0716dc1ef0fc0043e4ae8ab Merge: e55fdbd 76dcc26 Author: Linus Torvalds Date: Thu Jan 20 16:36:38 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: mangle existing header for SMB_COM_NT_CANCEL cifs: remove code for setting timeouts on requests [CIFS] cifs: reconnect unresponsive servers cifs: set up recurring workqueue job to do SMB echo requests cifs: add ability to send an echo request cifs: add cifs_call_async cifs: allow for different handling of received response cifs: clean up sync_mid_result cifs: don't reconnect server when we don't get a response cifs: wait indefinitely for responses cifs: Use mask of ACEs for SID Everyone to calculate all three permissions user, group, and other cifs: Fix regression during share-level security mounts (Repost) [CIFS] Update cifs version number cifs: move mid result processing into common function cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry cifs: clean up accesses to midCount cifs: make wait_for_free_request take a TCP_Server_Info pointer cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is exiting cifs: don't fail writepages on -EAGAIN errors CIFS: Fix oplock break handling (try #2) commit e55fdbd7414a3ee991d7081a256153f61ea98b9f Merge: c522682 8b3bb3e Author: Linus Torvalds Date: Thu Jan 20 16:31:20 2011 -0800 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: virtio: remove virtio-pci root device LGUEST_GUEST: fix unmet direct dependencies (VIRTUALIZATION && VIRTIO) lguest: compile fixes lguest: Use this_cpu_ops lguest: document --rng in example Launcher lguest: example launcher to use guard pages, drop PROT_EXEC, fix limit logic lguest: --username and --chroot options commit c522682d7433d27461d631d03a2a1a3b741e9c91 Merge: 069b614 7c63ded Author: Linus Torvalds Date: Thu Jan 20 16:30:22 2011 -0800 Merge branch 'for-38-rc2' of git://codeaurora.org/quic/kernel/davidb/linux-msm * 'for-38-rc2' of git://codeaurora.org/quic/kernel/davidb/linux-msm: msm: qsd8x50: Platform data isn't init data commit 069b6143378a17d44854619c1062393b361ebfe1 Merge: b06ae1ea 154a96b Author: Linus Torvalds Date: Thu Jan 20 16:29:43 2011 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: trusted-keys: avoid scattring va_end() trusted-keys: check for NULL before using it trusted-keys: another free memory bugfix trusted-keys: free memory bugfix commit b06ae1ead2915860bb49331e0588aab326801f71 Merge: e589501 24d9765 Author: Linus Torvalds Date: Thu Jan 20 16:29:04 2011 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Fix error path in gfs2_lookup_by_inum() GFS2: remove iopen glocks from cache on failed deletes commit e589501cb928b482c3c399444f788e1af35deee2 Merge: 28e58ee 8d5f0a6 Author: Linus Torvalds Date: Thu Jan 20 16:28:34 2011 -0800 Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPICA: Update version to 20110112 ACPICA: Update all ACPICA copyrights and signons to 2011 ACPICA: Fix issues/fault with automatic "serialized" method support ACPICA: Debugger: Lock namespace for duration of a namespace dump ACPICA: Fix namespace race condition ACPICA: Fix memory leak in acpi_ev_asynch_execute_gpe_method(). commit 28e58ee8ce1f0e69c207f747b7b9054b071e328d Author: Linus Torvalds Date: Thu Jan 20 16:21:59 2011 -0800 Fix broken "pipe: use event aware wakeups" optimization Commit e462c448fdc8 ("pipe: use event aware wakeups") optimized the pipe event wakeup calls to avoid wakeups if the events do not match the requested set. However, the optimization was buggy, in that it didn't actually use the correct sets for the events: when we make room for more data to be written, the pipe poll() routine will return both the POLLOUT _and_ POLLWRNORM bits. Similarly for read. And most critically, when a pipe is released, that will potentially result in POLLHUP|POLLERR (depending on whether it was the last reader or writer), not just the regular POLLIN|POLLOUT. This bug showed itself as a hung gnome-screensaver-dialog process, stuck forever (or at least until it was poked by a signal or by being traced) in a poll() system call. Cc: Davide Libenzi Cc: David S. Miller Cc: Eric Dumazet Cc: Jens Axboe Cc: Andrew Morton Signed-off-by: Linus Torvalds commit d7b9935a347ae954be907ea3d5eb4564ff124c53 Author: Linus Torvalds Date: Thu Jan 20 13:19:55 2011 -0800 i915: Fix i915 suspend delay During system suspend, the "wait for ring buffer to empty" loop would always time out after three seconds, because the faster cached ring buffer head read would always return zero. Force the slow-and-careful PIO read on all but the first iterations of the loop to fix it. This also removes the unused (and useless) 'actual_head' variable that tried to approximate doing this, but did it incorrectly. Cc: Chris Wilson Cc: Rafael J. Wysocki Cc: Jesse Barnes Cc: Dave Airlie Cc: DRI mailing list Signed-off-by: Linus Torvalds commit 50f4df4e6a7ae111fd9b8fada4155675a4410e99 Merge: 12fcdba b49d81d Author: Benjamin Herrenschmidt Date: Fri Jan 21 11:00:44 2011 +1100 Merge remote branch 'kumar/next' into merge commit 324719978dbb3ffad5a2e3d85af6c5dbbb766b99 Author: Stefan Richter Date: Thu Jan 20 00:07:46 2011 +0100 firewire: net: is not experimental anymore thanks to Clemens' and Maxim's fixes to firewire-ohci and -net in the last two kernel releases. Signed-off-by: Stefan Richter commit 74a145049938b73b7e5421423f64a254d4192d3f Author: Maxim Levitsky Date: Mon Nov 29 04:09:52 2010 +0200 firewire: net: invalidate ARP entries of removed nodes This makes it possible to resume communication with a node that dropped off the bus for a brief period. Otherwise communication will only be possible after ARP cache entry timeouts. Signed-off-by: Maxim Levitsky Signed-off-by: Stefan Richter (rebased) commit 6044565af458e7fa6e748bff437ecc49dea88d79 Author: Stefan Richter Date: Sat Jan 15 18:19:48 2011 +0100 firewire: core: fix unstable I/O with Canon camcorder Regression since commit 10389536742c, "firewire: core: check for 1394a compliant IRM, fix inaccessibility of Sony camcorder": The camcorder Canon MV5i generates lots of bus resets when asynchronous requests are sent to it (e.g. Config ROM read requests or FCP Command write requests) if the camcorder is not root node. This causes drop- outs in videos or makes the camcorder entirely inaccessible. https://bugzilla.redhat.com/show_bug.cgi?id=633260 Fix this by allowing any Canon device, even if it is a pre-1394a IRM like MV5i are, to remain root node (if it is at least Cycle Master capable). With the FireWire controller cards that I tested, MV5i always becomes root node when plugged in and left to its own devices. Reported-by: Ralf Lange Signed-off-by: Stefan Richter Cc: # 2.6.32.y and newer commit 84cdf74e8096a10dd6acbb870dd404b92f07a756 Author: Jeff Layton Date: Thu Jan 20 13:36:51 2011 -0500 cifs: fix unaligned accesses in cifsConvertToUCS Move cifsConvertToUCS to cifs_unicode.c where all of the other unicode related functions live. Have it store mapped characters in 'temp' and then use put_unaligned_le16 to copy it to the target buffer. Also fix the comments to match kernel coding style. Signed-off-by: Jeff Layton Acked-by: Pavel Shilovsky Reviewed-by: Shirish Pargaonkar Signed-off-by: Steve French commit ba2dbf30df210b519bdd8d34ac2ecaaeeef34c44 Author: Jeff Layton Date: Thu Jan 20 13:36:51 2011 -0500 cifs: clean up unaligned accesses in cifs_unicode.c Make sure we use get/put_unaligned routines when accessing wide character strings. Signed-off-by: Jeff Layton Acked-by: Pavel Shilovsky Reviewed-by: Shirish Pargaonkar Signed-off-by: Steve French commit 26ec254869c0158ea8db6de83b7644e2d93cac2a Author: Jeff Layton Date: Thu Jan 20 13:36:51 2011 -0500 cifs: fix unaligned access in check2ndT2 and coalesce_t2 Signed-off-by: Jeff Layton Acked-by: Pavel Shilovsky Reviewed-by: Shirish Pargaonkar Signed-off-by: Steve French commit 12df83c9b901cfe8ca7a66fbe0effc6d873cbbb9 Author: Jeff Layton Date: Thu Jan 20 13:36:51 2011 -0500 cifs: clean up unaligned accesses in validate_t2 ...and clean up function to reduce indentation. Signed-off-by: Jeff Layton Acked-by: Pavel Shilovsky Reviewed-by: Shirish Pargaonkar Signed-off-by: Steve French commit 690c522fa5a62825af880775e3ef1e55755667b2 Author: Jeff Layton Date: Thu Jan 20 13:36:51 2011 -0500 cifs: use get/put_unaligned functions to access ByteCount It's possible that when we access the ByteCount that the alignment will be off. Most CPUs deal with that transparently, but there's usually some performance impact. Some CPUs raise an exception on unaligned accesses. Fix this by accessing the byte count using the get_unaligned and put_unaligned inlined functions. While we're at it, fix the types of some of the variables that end up getting returns from these functions. Acked-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit aae62fdb6b9a6605abdea7370c4a0e005e6c1cd7 Author: Jeff Layton Date: Thu Jan 20 13:36:50 2011 -0500 cifs: move time field in cifsInodeInfo ...and remove length qualifiers from bools. Before: /* size: 1176, cachelines: 19, members: 13 */ /* sum members: 1165, holes: 2, sum holes: 11 */ /* bit holes: 1, sum bit holes: 4 bits */ /* last cacheline: 24 bytes */ After: /* size: 1168, cachelines: 19, members: 13 */ /* last cacheline: 16 bytes */ ...savings of 8 bytes per inode. Signed-off-by: Jeff Layton Reviewed-by: Pavel Shilovsky Signed-off-by: Steve French commit c3dccf48174e50668b7c63544ac8c60c07a45978 Author: Jeff Layton Date: Thu Jan 20 13:36:50 2011 -0500 cifs: TCP_Server_Info diet Remove fields that are completely unused, and rearrange struct according to recommendations by "pahole". Before: /* size: 1112, cachelines: 18, members: 49 */ /* sum members: 1086, holes: 8, sum holes: 26 */ /* bit holes: 1, sum bit holes: 7 bits */ /* last cacheline: 24 bytes */ After: /* size: 1072, cachelines: 17, members: 42 */ /* sum members: 1065, holes: 3, sum holes: 7 */ /* last cacheline: 48 bytes */ ...savings of 40 bytes per struct on x86_64. 21 bytes by field removal, and 19 by reorganizing to eliminate holes. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a70307eeeb25b89f6b2baf3cf3f0cef83c96ba12 Author: Pavel Shilovsky Date: Tue Dec 14 11:50:41 2010 +0300 CIFS: Implement cifs_strict_readv (try #4) Read from the cache if we have at least Level II oplock - otherwise read from the server. Add cifs_user_readv to let the client read into iovec buffers. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 7a6a19b17ab9103ec708c18befd28f2a3908d4c1 Author: Pavel Shilovsky Date: Tue Dec 14 11:29:51 2010 +0300 CIFS: Implement cifs_file_strict_mmap (try #2) Invalidate inode mapping if we don't have at least Level II oplock. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 8be7e6ba142423e6ad98fed293c96f196f685229 Author: Pavel Shilovsky Date: Sun Dec 12 13:11:13 2010 +0300 CIFS: Implement cifs_strict_fsync Invalidate inode mapping if we don't have at least Level II oplock in cifs_strict_fsync. Also remove filemap_write_and_wait call from cifs_fsync because it is previously called from vfs_fsync_range. Add file operations' structures for strict cache mode. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 4f8ba8a0c095933dd54a2c281750c8a85b329b26 Author: Pavel Shilovsky Date: Sun Nov 21 22:36:12 2010 +0300 CIFS: Make cifsFileInfo_put work with strict cache mode On strict cache mode when we close the last file handle of the inode we should set invalid_mapping flag on this inode to prevent data coherency problem when we open it again but it has been modified on the server. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit b23fffd778c312b8fb258d342051fcbdf6712128 Author: Linus Torvalds Date: Thu Jan 20 13:14:10 2011 -0800 ACPI / Battery: remove battery refresh on resume This partially reverts commit da8aeb92d4853f37e281f11fddf61f9c7d84c3cd ("ACPI / Battery: Update information on info notification and resume"), which causes a hang on resume on at least some machines. This bug was bisected on an ASUS EeePC 901, which hangs at resume time if we do that "acpi_battery_refresh(battery)" in the battery resume function. Rafael suspects we'll still need to refresh the sysfs files upon resume, but that that can be done from a PM notifier (that will run after thawing user space). Bisected-and-tested-by: Linus Torvalds Cc: Matthew Garrett Cc: Len Brown Acked-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 7d81c3b9e2e5057c52256e154205143ad4e6e919 Author: Randy Dunlap Date: Sat Jan 8 20:00:36 2011 -0800 xen: fix non-ANSI function warning in irq.c Fix sparse warning for non-ANSI function declaration: arch/x86/xen/irq.c:129:30: warning: non-ANSI function declaration of function 'xen_init_irq_ops' Signed-off-by: Randy Dunlap Cc: Jeremy Fitzhardinge Signed-off-by: Konrad Rzeszutek Wilk commit 76dcc26f1d7f1c98c3f595379dcd9562f01bf38d Author: Jeff Layton Date: Tue Jan 11 07:24:24 2011 -0500 cifs: mangle existing header for SMB_COM_NT_CANCEL The NT_CANCEL command looks just like the original command, except for a few small differences. The send_nt_cancel function however currently takes a tcon, which we don't have in SendReceive and SendReceive2. Instead of "respinning" the entire header for an NT_CANCEL, just mangle the existing header by replacing just the fields we need. This means we don't need a tcon and allows us to call it from other places. Reviewed-by: Pavel Shilovsky Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7749981ec31aa40e28a1ef5687e46bc1aa278fae Author: Jeff Layton Date: Tue Jan 11 07:24:23 2011 -0500 cifs: remove code for setting timeouts on requests Since we don't time out individual requests anymore, remove the code that we used to use for setting timeouts on different requests. Reviewed-by: Pavel Shilovsky Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit fda3594362184383e73f0a2a5fa5b38ac0e04fd8 Author: Steve French Date: Thu Jan 20 18:06:34 2011 +0000 [CIFS] cifs: reconnect unresponsive servers If the server isn't responding to echoes, we don't want to leave tasks hung waiting for it to reply. At that point, we'll want to reconnect so that soft mounts can return an error to userspace quickly. If the client hasn't received a reply after a specified number of echo intervals, assume that the transport is down and attempt to reconnect the socket. The number of echo_intervals to wait before attempting to reconnect is tunable via a module parameter. Setting it to 0, means that the client will never attempt to reconnect. The default is 5. Signed-off-by: Jeff Layton commit c74093b694998d30105d9904686da5e3576497c4 Author: Jeff Layton Date: Tue Jan 11 07:24:23 2011 -0500 cifs: set up recurring workqueue job to do SMB echo requests Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 766fdbb57fdb1e53bc34c431103e95383d7f13ba Author: Jeff Layton Date: Tue Jan 11 07:24:21 2011 -0500 cifs: add ability to send an echo request Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a6827c184ea9f5452e4aaa7c799dd3c7cc9ba05e Author: Jeff Layton Date: Tue Jan 11 07:24:21 2011 -0500 cifs: add cifs_call_async Add a function that will send a request, and set up the mid for an async reply. Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 2b84a36c5529da136d28b268e75268892d09869c Author: Jeff Layton Date: Tue Jan 11 07:24:21 2011 -0500 cifs: allow for different handling of received response In order to incorporate async requests, we need to allow for a more general way to do things on receive, rather than just waking up a process. Turn the task pointer in the mid_q_entry into a callback function and a generic data pointer. When a response comes in, or the socket is reconnected, cifsd can call the callback function in order to wake up the process. The default is to just wake up the current process which should mean no change in behavior for existing code. Also, clean up the locking in cifs_reconnect. There doesn't seem to be any need to hold both the srv_mutex and GlobalMid_Lock when walking the list of mids. Reviewed-by: Suresh Jayaraman Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 74dd92a881b62014ca3c754db6868e1f142f2fb9 Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: clean up sync_mid_result Make it use a switch statement based on the value of the midStatus. If the resp_buf is set, then MID_RESPONSE_RECEIVED is too. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit dad255b182363db1d1124458cd3fb0a4deac0d0f Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: don't reconnect server when we don't get a response We only want to force a reconnect to the server under very limited and specific circumstances. Now that we have processes waiting indefinitely for responses, we shouldn't reach this point unless a reconnect is already in process. Thus, there's no reason to re-mark the server for reconnect here. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0ade640e9cda805692dbf688f4bb69e94719275a Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: wait indefinitely for responses The client should not be timing out on individual SMB requests. Too much of the state between client and server is tied to the state of the socket. If we time out requests and issue spurious disconnects then that comprimises data integrity. Instead of doing this complicated dance where we try to decide how long to wait for a response for particular requests, have the client instead wait indefinitely for a response. Also, use a TASK_KILLABLE sleep here so that fatal signals will break out of this waiting. Later patches will add support for detecting dead peers and forcing reconnects based on that. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed Author: Tejun Heo Date: Thu Jan 20 12:07:13 2011 +0100 smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c percpu may end up calling vfree() during early boot which in turn may call on_each_cpu() for TLB flushes. The function of on_each_cpu() can be done safely while IRQ is disabled during early boot but it assumed that the function is always called with local IRQ enabled which ended up enabling local IRQ prematurely during boot and triggering a couple of warnings. This patch updates on_each_cpu() and smp_call_function_many() such on_each_cpu() can be used safely while early_boot_irqs_disabled is set. Signed-off-by: Tejun Heo Acked-by: Peter Zijlstra Acked-by: Pekka Enberg Cc: Linus Torvalds LKML-Reference: <20110120110713.GC6036@htj.dyndns.org> Signed-off-by: Ingo Molnar Reported-by: Ingo Molnar commit 2ce802f62ba32a7d95748ac92bf351f76affb6ff Author: Tejun Heo Date: Thu Jan 20 12:06:35 2011 +0100 lockdep: Move early boot local IRQ enable/disable status to init/main.c During early boot, local IRQ is disabled until IRQ subsystem is properly initialized. During this time, no one should enable local IRQ and some operations which usually are not allowed with IRQ disabled, e.g. operations which might sleep or require communications with other processors, are allowed. lockdep tracked this with early_boot_irqs_off/on() callbacks. As other subsystems need this information too, move it to init/main.c and make it generally available. While at it, toggle the boolean to early_boot_irqs_disabled instead of enabled so that it can be initialized with %false and %true indicates the exceptional condition. Signed-off-by: Tejun Heo Acked-by: Peter Zijlstra Acked-by: Pekka Enberg Cc: Linus Torvalds LKML-Reference: <20110120110635.GB6036@htj.dyndns.org> Signed-off-by: Ingo Molnar commit d2ebd4798744c401faf3fdc6493383912ccd0b80 Author: Anisse Astier Date: Thu Jan 20 12:36:21 2011 +0100 ALSA: hda - Fix EAPD to low on CZC P10T tablet computer with ALC662 Signed-off-by: Anisse Astier Signed-off-by: Takashi Iwai commit 8b3bb3ecf1934ac4a7005ad9017de1127e2fbd2f Author: Milton Miller Date: Fri Jan 7 02:55:06 2011 -0600 virtio: remove virtio-pci root device We sometimes need to map between the virtio device and the given pci device. One such use is OS installer that gets the boot pci device from BIOS and needs to find the relevant block device. Since it can't, installation fails. Instead of creating a top-level devices/virtio-pci directory, create each device under the corresponding pci device node. Symlinks to all virtio-pci devices can be found under the pci driver link in bus/pci/drivers/virtio-pci/devices, and all virtio devices under drivers/bus/virtio/devices. Signed-off-by: Milton Miller Signed-off-by: Rusty Russell Acked-by: Michael S. Tsirkin Tested-by: Michael S. Tsirkin Acked-by: Gleb Natapov Tested-by: "Daniel P. Berrange" Cc: stable@kernel.org commit 2b8216e6354e7666a2718d4b891c8e8d7fcded27 Author: Randy Dunlap Date: Sat Jan 1 11:08:46 2011 -0800 LGUEST_GUEST: fix unmet direct dependencies (VIRTUALIZATION && VIRTIO) Honor the kconfig menu hierarchy to remove kconfig dependency warnings: VIRTIO and VIRTIO_RING are subordinate to VIRTUALIZATION. warning: (LGUEST_GUEST) selects VIRTIO which has unmet direct dependencies (VIRTUALIZATION) warning: (LGUEST_GUEST && VIRTIO_PCI && VIRTIO_BALLOON) selects VIRTIO_RING which has unmet direct dependencies (VIRTUALIZATION && VIRTIO) Reported-by: Toralf F_rster Signed-off-by: Randy Dunlap Signed-off-by: Rusty Russell commit ced05dd741779986861fe7369fe002f542d6fa34 Author: Rusty Russell Date: Thu Jan 20 21:37:29 2011 -0600 lguest: compile fixes arch/x86/lguest/boot.c: In function ‘lguest_init_IRQ’: arch/x86/lguest/boot.c:824: error: macro "__this_cpu_write" requires 2 arguments, but only 1 given arch/x86/lguest/boot.c:824: error: ‘__this_cpu_write’ undeclared (first use in this function) arch/x86/lguest/boot.c:824: error: (Each undeclared identifier is reported only once arch/x86/lguest/boot.c:824: error: for each function it appears in.) drivers/lguest/x86/core.c: In function ‘copy_in_guest_info’: drivers/lguest/x86/core.c:94: error: lvalue required as left operand of assignment Signed-off-by: Rusty Russell commit c9f2954964df1490373065558f3156379c7a2454 Author: Christoph Lameter Date: Tue Nov 30 13:07:21 2010 -0600 lguest: Use this_cpu_ops Use this_cpu_ops in a couple of places in lguest. Signed-off-by: Christoph Lameter Signed-off-by: Rusty Russell commit 85c0647275b60380e19542d43420184e86418d86 Author: Philip Sanderson Date: Thu Jan 20 21:37:29 2011 -0600 lguest: document --rng in example Launcher Rusty Russell wrote: > Ah, it will appear as /dev/hwrng. It's a weirdness of Linux that our actual > hardware number generators are not wired up to /dev/random... Reflected this in the documentation, thanks :-) Signed-off-by: Rusty Russell commit 5230ff0cccb0611830bb02b097535868df02752a Author: Philip Sanderson Date: Thu Jan 20 21:37:28 2011 -0600 lguest: example launcher to use guard pages, drop PROT_EXEC, fix limit logic PROT_EXEC seems to be completely unnecessary (as the lguest binary never executes there), and will allow it to work with SELinux (and more importantly, PaX :-) as they can/do forbid writable and executable mappings. Also, map PROT_NONE guard pages at start and end of guest memory for extra paranoia. I changed the length check to addr + size > guest_limit because >= is wrong (addr of 0, size of getpagesize() with a guest_limit of getpagesize() would false positive). Signed-off-by: Rusty Russell commit 8aeb36e8f6d7eaa9cafc970b700414205743b258 Author: Philip Sanderson Date: Thu Jan 20 21:37:28 2011 -0600 lguest: --username and --chroot options I've attached a patch which implements dropping to privileges and chrooting to a directory. Signed-off-by: Rusty Russell commit fb228af7060d02a81a7bcc2ce329ba3ab1af0c7f Author: David Henningsson Date: Wed Jan 19 11:59:01 2011 +0100 ALSA: HDA: Add SKU ignore for another Thinkpad Edge 14 BugLink: http://bugs.launchpad.net/bugs/705323 Thinkpad Edge 14 has one more SSID that suffers from disabled auto-mute. Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai commit 12fcdba1b7ae8b25696433f420b775aeb556d89b Merge: 1268afe 9032160 Author: Linus Torvalds Date: Wed Jan 19 20:27:25 2011 -0800 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: Unify "numa=" command line option handling Revert "x86: Make relocatable kernel work with new binutils" commit 1268afe676ee9431a229fc68a2efb0dad4d5852f Merge: c56eb8f 4580ccc Author: Linus Torvalds Date: Wed Jan 19 20:25:45 2011 -0800 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: (41 commits) sctp: user perfect name for Delayed SACK Timer option net: fix can_checksum_protocol() arguments swap Revert "netlink: test for all flags of the NLM_F_DUMP composite" gianfar: Fix misleading indentation in startup_gfar() net/irda/sh_irda: return to RX mode when TX error net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan. USB CDC NCM: tx_fixup() race condition fix ns83820: Avoid bad pointer deref in ns83820_init_one(). ipv6: Silence privacy extensions initialization bnx2x: Update bnx2x version to 1.62.00-4 bnx2x: Fix AER setting for BCM57712 bnx2x: Fix BCM84823 LED behavior bnx2x: Mark full duplex on some external PHYs bnx2x: Fix BCM8073/BCM8727 microcode loading bnx2x: LED fix for BCM8727 over BCM57712 bnx2x: Common init will be executed only once after POR bnx2x: Swap BCM8073 PHY polarity if required iwlwifi: fix valid chain reading from EEPROM ath5k: fix locking in tx_complete_poll_work ath9k_hw: do PA offset calibration only on longcal interval ... commit 4580ccc04ddd8c17a470573a7fdb8def2e036dfa Author: Shan Wei Date: Tue Jan 18 22:39:00 2011 +0000 sctp: user perfect name for Delayed SACK Timer option The option name of Delayed SACK Timer should be SCTP_DELAYED_SACK, not SCTP_DELAYED_ACK. Left SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK, for making compatibility with existing applications. Reference: 8.1.19. Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK) (http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25) Signed-off-by: Shan Wei Acked-by: Wei Yongjun Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit d402786ea4f8433774a812d6b8635e737425cddd Author: Eric Dumazet Date: Wed Jan 19 00:51:36 2011 +0000 net: fix can_checksum_protocol() arguments swap commit 0363466866d901fbc (net offloading: Convert checksums to use centrally computed features.) mistakenly swapped can_checksum_protocol() arguments. This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum offloads. Reported-by: Hans de Bruin Signed-off-by: Eric Dumazet Acked-by: Jesse Gross Signed-off-by: David S. Miller commit b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd Author: David S. Miller Date: Tue Jan 18 12:40:38 2011 -0800 Revert "netlink: test for all flags of the NLM_F_DUMP composite" This reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf. It breaks several things including the avahi daemon. Signed-off-by: David S. Miller commit 2fbc2f1729e785a7b2faf9d8d60926bb1ff62af0 Author: Shirish Pargaonkar Date: Mon Dec 6 14:56:46 2010 -0600 cifs: Use mask of ACEs for SID Everyone to calculate all three permissions user, group, and other If a DACL has entries for ACEs for SID Everyone and Authenticated Users, factor in mask in respective entries during calculation of permissions for all three, user, group, and other. http://technet.microsoft.com/en-us/library/bb463216.aspx Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 540b2e377797d8715469d408b887baa9310c5f3e Author: Shirish Pargaonkar Date: Tue Jan 18 22:33:54 2011 -0600 cifs: Fix regression during share-level security mounts (Repost) NTLM response length was changed to 16 bytes instead of 24 bytes that are sent in Tree Connection Request during share-level security share mounts. Revert it back to 24 bytes. Reported-and-Tested-by: Grzegorz Ozanski Acked-by: Jeff Layton Signed-off-by: Shirish Pargaonkar Acked-by: Suresh Jayaraman Cc: stable@kernel.org Signed-off-by: Steve French commit 1cd3508d5eab6a88fa643119cedd34b04215cffe Author: Steve French Date: Wed Jan 19 17:53:44 2011 +0000 [CIFS] Update cifs version number Signed-off-by: Steve French commit 053d50344568e5a4054266b44040297531125281 Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: move mid result processing into common function Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ddc8cf8fc718587a3788330bf4f32b379f08b250 Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: move locked sections out of DeleteMidQEntry and AllocMidQEntry In later patches, we're going to need to have finer-grained control over the addition and removal of these structs from the pending_mid_q and we'll need to be able to call the destructor while holding the spinlock. Move the locked sections out of both routines and into the callers. Fix up current callers of DeleteMidQEntry to call a new routine that dequeues the entry and then destroys it. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8097531a5cb55c6472118da094dc88caf9be66ac Author: Jeff Layton Date: Tue Jan 11 07:24:02 2011 -0500 cifs: clean up accesses to midCount It's an atomic_t and the code accesses the "counter" field in it directly instead of using atomic_read(). It also is sometimes accessed under a spinlock and sometimes not. Move it out of the spinlock since we don't need belt-and-suspenders for something that's just informational. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit c5797a945cac4c470f0113fc839c521aab0d799d Author: Jeff Layton Date: Tue Jan 11 07:24:01 2011 -0500 cifs: make wait_for_free_request take a TCP_Server_Info pointer The cifsSesInfo pointer is only used to get at the server. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 9d78315b03fc91228306db42edc533efa69cb518 Author: Jeff Layton Date: Tue Jan 11 07:24:01 2011 -0500 cifs: no need to mark smb_ses_list as cifs_demultiplex_thread is exiting The TCP_Server_Info is refcounted and every SMB session holds a reference to it. Thus, smb_ses_list is always going to be empty when cifsd is coming down. This is dead code. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 941b853d779de3298e39f1eb4e252984464eaea8 Author: Jeff Layton Date: Tue Jan 11 07:24:01 2011 -0500 cifs: don't fail writepages on -EAGAIN errors If CIFSSMBWrite2 returns -EAGAIN, then the error should be considered temporary. CIFS should retry the write instead of setting an error on the mapping and returning. For WB_SYNC_ALL, just retry the write immediately. In the WB_SYNC_NONE case, call redirty_page_for_writeback on all of the pages that didn't get written out and then move on. Also, fix up the handling of a short write with a successful return code. MS-CIFS says that 0 bytes_written means ENOSPC or EFBIG. It doesn't mention what a short, but non-zero write means, so for now treat it as we would an -EAGAIN return. Reviewed-by: Suresh Jayaraman Reviewed-by: Pavel Shilovsky Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 12fed00de963433128b5366a21a55808fab2f756 Author: Pavel Shilovsky Date: Mon Jan 17 20:15:44 2011 +0300 CIFS: Fix oplock break handling (try #2) When we get oplock break notification we should set the appropriate value of OplockLevel field in oplock break acknowledge according to the oplock level held by the client in this time. As we only can have level II oplock or no oplock in the case of oplock break, we should be aware only about clientCanCacheRead field in cifsInodeInfo structure. Also fix bug connected with wrong interpretation of OplockLevel field during oplock break notification processing. Signed-off-by: Pavel Shilovsky Cc: Signed-off-by: Steve French commit aa1d0c5261f17d48636bf6d10bde0f38045511c0 Author: Takashi Iwai Date: Wed Jan 19 17:27:58 2011 +0100 ALSA: hda - Fix "unused variable" compile warning sound/pci/hda/patch_realtek.c: In function ‘alc_apply_fixup’: sound/pci/hda/patch_realtek.c:1724:14: warning: unused variable ‘modelname’ snd_printdd() is evaluated only when CONFIG_SND_DEBUG_VERBOSE=y. Signed-off-by: Takashi Iwai commit 5d1034f01b3616d6636ab7851ad9e63d42abbbd6 Author: Grant Likely Date: Wed Jan 19 08:59:33 2011 -0700 powerpc/83xx: fix build failures on dt compatible list. Commit a4f740cf, "of/flattree: Add of_flat_dt_match() helper function" introduced build failures in arch/powerpc/platform/83xx by mistyping 'static' as 'struct' in the compatible string list, and omitting a few semicolons. This patch fixes it. Reported-by: Stephen Rothwell Signed-off-by: Grant Likely commit 5734a07cbb8d4600a74a374c839620ddc62b2cf2 Author: Takashi Iwai Date: Wed Jan 19 17:07:12 2011 +0100 ALSA: hda - Add quirk for HP Z-series workstation It seems working well with model=hp-bpc. Signed-off-by: Takashi Iwai commit 88914bdf8c677ebd7e797adac05e47303fd6ac77 Author: Jarod Wilson Date: Mon Jan 17 16:02:00 2011 -0300 [media] staging/lirc: fix mem leaks and ptr err usage When the lirc drivers were converted over to using memdup_user, I mistakenly also removed corresponding calls to kfree. Add those back. I also screwed up on the allocation error check in lirc_serial, using if (PTR_ERR()) instead of if (IS_ERR()), which broke transmit. Reported-by: Jiri Fojtasek Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 559d162e1ebcdb61e89f154f2c2db376af072b0e Author: Jarod Wilson Date: Fri Jan 14 16:40:32 2011 -0300 [media] hdpvr: reduce latency of i2c read/write w/recycled buffer The current hdpvr code kmalloc's a new buffer for every i2c read and write. Rather than do that, lets allocate a buffer in the driver's device struct and just use that every time. The size I've chosen for the buffer is the maximum size I could ascertain might be used by either ir-kbd-i2c or lirc_zilog, plus a bit of padding (lirc_zilog may use up to 100 bytes on tx, rounded that up to 128). Note that this might also remedy user reports of very sluggish behavior of IR receive with hdpvr hardware. v2: make sure (len <= (dev->i2c_buf)) [Jean Delvare] Reported-by: Jean Delvare Acked-by: Jean Delvare Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 324b04ba5da7918a2409f8113e46843bfbd89e67 Author: Jarod Wilson Date: Fri Jan 14 16:25:21 2011 -0300 [media] hdpvr: enable IR part A number of things going on here, but the end result is that the IR part on the hdpvr gets enabled, and can be used with ir-kbd-i2c and/or lirc_zilog. First up, there are some conditional build fixes that come into play whether i2c is built-in or modular. Second, we're swapping out i2c_new_probed_device() for i2c_new_device(), as in my testing, probing always fails, but we *know* that all hdpvr devices have a z8 chip at 0x70 and 0x71. Third, we're poking at an i2c address directly without a client, and writing some magic bits to actually turn on this IR part (this could use some improvement in the future). Fourth, some of the i2c_adapter storage has been reworked, as the existing implementation used to lead to an oops following i2c changes c. 2.6.31. Earlier editions of this patch have been floating around the 'net for a while, including being patched into Fedora kernels, and they *do* work. This specific version isn't yet tested, beyond loading ir-kbd-i2c and confirming that it does bind to the RX address of the hdpvr. [mchehab@redhat.com: I2C_CLASS_TV_ANALOG is not defined. Fix compilation bug] Signed-off-by: Jarod Wilson Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 706c57d802394e2fe720ebc929234a678f94e716 Author: Jarod Wilson Date: Thu Jan 6 13:23:13 2011 -0300 [media] rc/mceusb: timeout should be in ns, not us Fixes an egregious bug in mceusb driver, where the receiver was being put into idle mode far sooner than it should have, thanks to storing a timeout value that in us where it should be ns. Basically, the receiver kept going into idle mode before a trailing space had been fully received, which was causing problems for some protocols, most notably manifesting as lirc userspace never receiving a trailing space for any rc5 signals. Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 672dcd54774ea1b03da8f2baa1cdbf827927fc85 Author: Hans Verkuil Date: Tue Jan 11 17:48:21 2011 -0300 [media] v4l2-device: fix 'use-after-freed' oops Fix a bug in v4l2_device_unregister where the sd pointer can be dereferenced after it was freed. Normally the i2c adapter is removed before this function is called. Removing the adapter will also unregister all subdevs on that adapter, so generally v4l2_device_unregister has nothing to do. However, in the case of a platform i2c bus that bus is generally not freed. In that case, after freeing the i2c subdevice the code will fall into the second block when it tests if the subdev is a SPI device. But by that time the subdev is already freed and the kernel oopses. The fix is trivial: continue with the loop after freeing the i2c or spi subdevice. Signed-off-by: Hans Verkuil Reported-by: Daniel Drake Signed-off-by: Mauro Carvalho Chehab commit 46b633779b299c7fb3d78f153a5034055f99cd45 Author: Hans Verkuil Date: Fri Dec 31 11:47:23 2010 -0300 [media] v4l2-dev: don't memset video_device.dev Zeroing video_device.dev causes a memory leak if video_set_drvdata was called before video_register_device was called. video_set_drvdata calls dev_set_drvdata which allocates video_device.dev.p. memsetting this will prevent freeing of that memory. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6ce3ced4f73e3f0c345f47dc99fd21f2248724a8 Author: Hans Verkuil Date: Fri Dec 31 11:28:51 2010 -0300 [media] zoran: use video_device_alloc instead of kmalloc Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bd5ba3ba2ead7248124723dac2481d0992e75e91 Author: Hans Verkuil Date: Fri Dec 31 11:27:38 2010 -0300 [media] w9966: zero device state after a detach After a detach zero the whole device state to ensure a clean slate on the next attach. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit eac9aa005a2e0676d07f1906f9933fd055eb1f0b Author: Laurent Pinchart Date: Tue Dec 7 08:57:25 2010 -0300 [media] v4l: Fix a use-before-set in the control framework v4l2_queryctrl sets the step value based on the control type. That would be fine if it used the control type stored in the V4L2 kernel control object, not the one stored in the userspace ioctl structure that has just been memset to 0. Fix this. Signed-off-by: Laurent Pinchart Acked-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 01c40c048b0f3f377e6d27b35fd99f04efcc21dd Author: Laurent Pinchart Date: Fri Nov 19 11:20:06 2010 -0300 [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h The later makes extensive use of structures defined in the former. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit bda50bcd0cc21d9d6dd8c82628f763ab108260a6 Author: Hans Verkuil Date: Sun Jan 16 17:44:17 2011 -0300 [media] DocBook/v4l: update V4L2 revision and update copyright years Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3a6be8d83c82253692f788a65f2d65aa33e37db1 Author: Hans Verkuil Date: Sun Jan 16 17:09:54 2011 -0300 [media] DocBook/v4l: fix validation error in dev-rds.xml Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 829fb2dcb5252c5064d12cdaf65d2828420e07b3 Author: Hans Verkuil Date: Sun Jan 16 11:21:40 2011 -0300 [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs When queryctrl is called with a V4L2_CID_PRIVATE_BASE control ID, then currently it is replaced by the real internal ID. This is not according to the spec so keep the V4L2_CID_PRIVATE_BASE ID in this case. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c959acfddb3d24ecfdae1a280a7a1785d9df81d1 Author: Hans Verkuil Date: Sun Jan 16 11:03:28 2011 -0300 [media] v4l2-ctrls: fix missing 'read-only' check VIDIOC_S_CTRL did not check against read-only controls. Even worse, for controls of type CTRL_CLASS it would cause a kernel oops since those controls do not have a s_ctrl op. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4999e27a62eaf28e88bc69ab8cf11697e0dda261 Author: Andy Walls Date: Sun Jan 16 21:21:03 2011 -0300 [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c When registering an IR Rx device with the I2C subsystem, provide more detailed information about the IR device and default remote configuration for the IR driver modules. Also explicitly register any IR Tx device with the I2C subsystem. Signed-off-by: Andy Walls Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c69a4af6f06916936c8afd44a175e2bf1fbefaec Author: Andy Walls Date: Sun Jan 16 15:45:32 2011 -0300 [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71 This reverts a portion of commit 44243fc2ef99948bc9b046901880885616dd5e89 A commit for which I errantly recommended that defaults for I2C address 0x71 not be set by ir-kbd-i2c.c The pvrusb2 and bttv drivers currently rely on ir-kbd-i2c setting defaults for that address. Until I can get those bridge drivers fixed to properly send IR_i2c_init_data for boards with Zilog Z8 chips, just add back the default settings for I2C address 0x71. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 1f1bfaa0a2e97fbeaf6cc5a07212de0afa3a6232 Author: Andy Walls Date: Sun Jan 16 15:21:27 2011 -0300 [media] lirc_zilog: Update TODO.lirc_zilog Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit c2790c7192be661e14b3d13d8bc187fd87bb9802 Author: Andy Walls Date: Sun Jan 16 15:20:07 2011 -0300 [media] lirc_zilog: Add Andy Walls to copyright notice and authors list Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 6830661ead850c0722e698da5c389db4d85079be Author: Andy Walls Date: Sat Jan 15 22:56:42 2011 -0300 [media] lirc_zilog: Remove useless struct i2c_driver.command function The ir_command() function is a do-nothing stub; remove it. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8090232a237ab62e22307fc060097da1a283dd66 Author: Andy Walls Date: Sat Jan 15 22:32:33 2011 -0300 [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function The driver is now structured so that it must handle an IR Tx unit for a Z8 IR chip, or it refuses to handle that Z8 IR chip. This allows us to assume that ir->tx != NULL in a few places in the driver, and also allows us to always report Tx is available to userspace. Get rid of unneeded tests for ir->tx == NULL and always report that Tx is available. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b757730b022b4b1367d0435fcaa1b0a01e8aef42 Author: Andy Walls Date: Sat Jan 15 22:02:05 2011 -0300 [media] lirc_zilog: Update IR Rx polling kthread start/stop and some printks The IR Rx polling thread was originally a kernel_thread long ago, and had only been minimally converted to a kthread. This patch finishes that conversion by - cleaning up all the unneeded completions - destroying the kthread properly by calling kthread_stop() - changing lirc_thread() to test kthread_should_stop() just before every point where it may sleep - reorganizing the lirc_thread() function so it uses fewer lines - modifying the name of the kthread from "lirc_zilog" to "zilog-rx-i2c-N", so ps will show which kthread polls which Zilog Z8 IR unit. Also some minor tweaks were made to logging emitted by the ir_probe() function. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a68a9b73fbb05144a71b573f262fbc8ed8f71179 Author: Andy Walls Date: Sat Jan 15 01:04:06 2011 -0300 [media] lirc_zilog: Extensive rework of ir_probe()/ir_remove() This patch is an extensive rework of the ir_probe() and ir_remove() functions. It removes all the double binding and allocation problems on module load. It removes almost all the memory leaks on module exit and on device instantiation failure. Proper destruction of the Rx polling kthread still needs investigation and more work, but it is no worse than it already was. This rework also had side effects that include: - encapsulation of the ir_devices[] array - serialization of access to the ir_devices[] array - semantic change of the module parameter "disable_rx" to "tx_only" If tx_only is true, the module does not claim the i2c_client for the IR Rx function, and only claims and handles the i2c_client for the IR Tx function. This is a first step in providing the option of letting ir-kbd-i2c.c handle IR Rx function, while lirc_zilog handles the IR Tx function. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e9b351f64f5c02acf6552d2109bc213bfa133388 Author: Andy Walls Date: Fri Jan 14 21:11:22 2011 -0300 [media] lirc_zilog: Don't make private copies of i2c clients Don't make private copies of the i2c clients provided by the I2C subsystem, don't change the client address field, and don't probe the client addresses - the bridge driver already did that. This moves us to the proper I2C and binding model. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 06da95a3ec831dee23f6af58934944a8eb9c3a56 Author: Andy Walls Date: Thu Jan 13 02:00:33 2011 -0300 [media] lirc_zilog: Split struct IR into structs IR, IR_tx, and IR_rx This change is a mostly mechanical break of the main struct IR data structure into common, Rx, and Tx structures. There were some small logical changes required as well, such as eliminating "is_hdpvr", to accomplish this. This change is an intiial step in reworking lirc_zilog to decouple the Rx and Tx handling as much as possible to fit with the new I2C binding model. This change actually makes lirc_zilog a little more broken than it already was - memory deallocation in particular got worse. However, this change makes the remaining problems easier to see and address. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 02fcaaa3a52b2bdad8a08a3ee5747f27f27df27d Author: Andy Walls Date: Wed Jan 12 23:31:25 2011 -0300 [media] lirc_zilog: Remove disable_tx module parameter The only reason to use the lirc_zilog module is for IR Tx, so remove the possibility of disabling IR Tx. If the user needs only IR Rx, then the ir-kbd-i2c module works just fine, and doesn't require a "firmware" image. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 86e52428eed0507a11ba03c5de731c763bd88480 Author: Andy Walls Date: Wed Jan 12 22:50:10 2011 -0300 [media] lirc_zilog: Reword debug message in ir_probe() Jean Delvare suggested this better format for debug output in ir_probe(). Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 22f37712f29868b393025aa28bee807b4d2783ea Author: Stefan Richter Date: Sun Jan 16 05:39:21 2011 -0300 [media] firedtv: fix remote control with newer Xorg evdev After a recent update of xf86-input-evdev and xorg-server, I noticed that X11 applications did not receive keypresses from the FireDTV infrared remote control anymore. Instead, the Xorg log featured lots of "FireDTV remote control: dropping event due to full queue!" exclamations. The Linux console did not have an issue with the FireDTV's RC though. The fix is to insert EV_SYN events after the key-down/-up events. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 3c61be446ae5c26e2829d37c6b5d02d3af536024 Author: Dmitri Belimov Date: Thu Jan 13 00:46:07 2011 -0300 [media] tm6000: rework init code Rework device init part. Move common code part to a function. Usefull for register multiple devices like video, radio, vbi etc. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 2400982a2e8a8e4e95f0a0e1517bbe63cc88038f Author: Geert Uytterhoeven Date: Sun Jan 16 10:09:13 2011 -0300 [media] radio-aimslab.c needs #include Commit e3c92215198cb6aa00ad38db2780faa6b72e0a3f ("[media] radio-aimslab.c: Fix gcc 4.5+ bug") removed the include, but introduced new callers of msleep(): | drivers/media/radio/radio-aimslab.c: In function ‘rt_decvol’: | drivers/media/radio/radio-aimslab.c:76: error: implicit declaration of function ‘msleep’ Signed-off-by: Geert Uytterhoeven Signed-off-by: Mauro Carvalho Chehab commit 2dbd61b4651f0bdc6cd5f75a983844b5f3831e17 Author: Randy Dunlap Date: Sun Jan 9 00:53:53 2011 -0300 [media] ir-raw: fix sparse non-ANSI function warning Fix sparse warning for non-ANSI function declaration: drivers/media/rc/ir-raw.c:247:30: warning: non-ANSI function declaration of function 'ir_raw_get_allowed_protocols' Signed-off-by: Randy Dunlap Cc: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit b7eccc46a1dae153d0102c161b4ce4bddb3f52ba Author: Christian Gmeiner Date: Sat Jan 8 18:45:35 2011 -0300 [media] adv7175: support s_power This patch adds s_power support to adv7175 driver. Power-down is done by power-down all four DACs. Signed-off-by: Christian Gmeiner Signed-off-by: Mauro Carvalho Chehab commit cb26a24ee9706473f31d34cc259f4dcf45cd0644 Author: Dan Carpenter Date: Fri Jan 7 16:41:54 2011 -0300 [media] [v3,media] av7110: check for negative array offset info->num comes from the user. It's type int. If the user passes in a negative value that would cause memory corruption. Signed-off-by: Dan Carpenter Signed-off-by: Mauro Carvalho Chehab commit 76f1ef427c0aab3d3c917b497562ea2cdaaae056 Author: Jarod Wilson Date: Thu Jan 6 16:59:35 2011 -0300 [media] rc/imon: default to key mode instead of mouse mode My initial thinking was that we should default to mouse mode, so people could use the mouse function to click on something on a login screen, but a lot of systems where a remote is useful automatically log in a user and launch a media center application, some of which hide the mouse, which can be confusing to users if they punch buttons on the remote and don't see any feedback. Plus, first and foremost, its a remote, so lets default to being a remote, and only toggle into mouse mode when the user explicitly asks for it. As a nice side-effect, this actually simplifies some of the code a fair bit... Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 5aad724280b9f8ffff3a55311ef0ba35ebb4099a Author: Jarod Wilson Date: Thu Jan 6 16:59:36 2011 -0300 [media] rc: fix up and genericize some time unit conversions The ene_ir driver was using a private define of MS_TO_NS, which is meant to be microseconds to nanoseconds. The mceusb driver copied it, intending to use is a milliseconds to microseconds. Lets move the defines to a common location, expand and standardize them a touch, so that we now have: MS_TO_NS - milliseconds to nanoseconds MS_TO_US - milliseconds to microseconds US_TO_NS - microseconds to nanoseconds Reported-by: David Härdeman CC: Maxim Levitsky Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 9ad77eb57b45f81ac3e12077d19e5f121c4cff6d Author: Jarod Wilson Date: Thu Jan 6 16:59:34 2011 -0300 [media] rc/imon: need to submit urb before ffdc type check Otherwise, we have a null receive buffer, and the logic all falls down, goes boom, all ffdc devs wind up as imon IR w/VFD. Oops. Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 2e4c55626a0c30b5b2bc9469c025a563a81c3785 Author: Kyle McMartin Date: Thu Jan 6 16:59:33 2011 -0300 [media] rc/ene_ir: fix oops on module load dev->rdev is accessed in ene_setup_hw_settings, so it needs to be wired up before then. [Jarod Wilson]: Also fix a possible improper resource freeing bug while we're looking at possible probe issues here. Signed-off-by: Kyle McMartin CC: Maxim Levitsky Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 7d2edfc23e9852591cb031a26093cdcd07a34a90 Author: Jarod Wilson Date: Thu Jan 6 16:57:14 2011 -0300 [media] rc/imon: fix ffdc device detection oops There's a nasty bug that slipped in when the rc device interface was altered, only affecting the older 0xffdc imon devices. We were trying to access ictx->rdev->allowed_protos before ictx->rdev had been set. There's also an issue with call ordering that meant the correct keymap wasn't getting loaded for MCE IR type 0xffdc devices. Signed-off-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit e95342f168f7a02441cec51b222bb7ae62df364d Author: Thadeu Lima de Souza Cascardo Date: Thu Jan 6 14:25:44 2011 -0300 [media] DVB: cx231xx drivers does not use dummy frontend anymore Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Mauro Carvalho Chehab commit 34b8fc8e683cbcbbe47806260ef5dc505915b45f Author: Matti Aaltonen Date: Tue Jan 4 08:29:37 2011 -0300 [media] V4L2: WL1273 FM Radio: Replace ioctl with unlocked_ioctl Use unlocked_ioctl in v4l2_file_operations. The locking is already in place. Signed-off-by: Matti J. Aaltonen Signed-off-by: Mauro Carvalho Chehab commit a3bc5e3304c9ba8e7504597026d9ca93784d1239 Author: Tejun Heo Date: Mon Jan 3 10:49:34 2011 -0300 [media] v4l/cx18: update workqueue usage With cmwq, there's no reason to use separate out_work_queue. Drop it and use system_wq instead. The in_work_queue needs to be ordered so can't use one of the system wqs; however, as it isn't used to reclaim memory, allocate the workqueue with alloc_ordered_workqueue() without WQ_MEM_RECLAIM. Signed-off-by: Tejun Heo Reviewed-by: Andy Walls Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit fd01ad98945073faeb25391489caef4844f265c4 Author: Jesper Juhl Date: Sun Jan 2 17:57:24 2011 -0300 [media] media, tlg2300: Fix memory leak in alloc_bulk_urbs_generic() Hi, While reading drivers/media/video/tlg2300/pd-video.c::alloc_bulk_urbs_generic() I noticed that - We don't free the memory allocated to 'urb' if the call to usb_alloc_coherent() fails. - If the 'num' argument to the function is ever <= 0 we'll return an uninitialized variable 'i' to the caller. The following patch addresses both of the above by a) calling usb_free_urb() when usb_alloc_coherent() fails and by explicitly initializing 'i' to zero. I also moved the variables 'mem' and 'urb' inside the for loop. This does not actually make any difference, it just seemed more correct to me to let variables exist only in the innermost scope they are used. Signed-off-by: Jesper Juhl Acked-by: Huang Shijie Signed-off-by: Mauro Carvalho Chehab commit 36fd97884daf4e30b556a6c59b58db19a06d58af Author: Jesper Juhl Date: Sun Jan 2 16:14:03 2011 -0300 [media] frontends/ix2505v: Remember to free allocated memory in failure path We may leak the storage allocated to 'state' in drivers/media/dvb/frontends/ix2505v.c::ix2505v_attach() on error, as it is too early to be able to call ix2505v_release(). This patch makes sure we free the allocated memory in the failure case. Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit a63d601803c2e3ba06ed51b9ed997fc6bf80e5bf Author: Jean-François Moine Date: Thu Jan 13 07:56:00 2011 -0300 [media] gspca - sonixj: Add LED (illuminator) control to the webcam 0c45:614a Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 3afef85bfefa65a31f4dbf8e7921c7938adb24f4 Author: Jean-François Moine Date: Thu Jan 13 06:39:11 2011 -0300 [media] gspca - sonixj: Infrared bug fix and enhancement The infrared was set by sensor write instead of bridge GPIO. It is now settable by the standard control ILLUMINATOR_1. A module parameter permits to set the right GPIO bit according to the StarCam model. Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 14b67c2969ebf50bd5534b2a0c441f8569a9361e Author: Jean-François Moine Date: Thu Jan 13 05:58:04 2011 -0300 [media] gspca - ov534: Propagate errors to higher level Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit ddffa49e257e2b28e23f1e2729c0560bcad89937 Author: Jean-François Moine Date: Thu Jan 13 05:49:47 2011 -0300 [media] gspca - ov534: Clearer debug messages Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit fc63de88e0f27ecdaab4d2d836fd7bacab643fc0 Author: Jean-François Moine Date: Thu Jan 13 05:35:18 2011 -0300 [media] gspca - ov519: Cleanup source and add a comment Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit ded5e903b75a9e2a9349e19063e3b2a63b05e828 Author: Jean-François Moine Date: Thu Jan 13 05:27:37 2011 -0300 [media] gspca: Remove useless instructions Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 95c967c167785eb991cf6b22fb854dd8d61d0ff8 Author: Jean-François Moine Date: Thu Jan 13 05:20:29 2011 -0300 [media] gspca: Remove __devinit, __devinitconst and __devinitdata __devinit* must not be used in USB drivers. Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 0beb6714e787ae46e1c1fc5e275452c1950ad141 Author: Jean-François Moine Date: Thu Jan 13 04:44:02 2011 -0300 [media] gspca: Version change Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 2a863793beaa0fc9ee7aeb87efe85544a6b129c0 Author: Hans Verkuil Date: Tue Jan 11 14:45:03 2011 -0300 [media] v4l2-ctrls: v4l2_ctrl_handler_setup must set is_new to 1 Renamed has_new to is_new. Drivers can use the is_new field to determine if a new value was specified for a control. The v4l2_ctrl_handler_setup() must always set this to 1 since the setup has to force a full update of all controls. Signed-off-by: Hans Verkuil Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 45f6f84af3ae9db19f39bc5d0976d626b0ef626e Author: Hans Verkuil Date: Sat Jan 8 07:15:53 2011 -0300 [media] v4l2-subdev: add (un)register internal ops Some subdevs need to call into the board code after they are registered and have a valid struct v4l2_device pointer. The s_config op was abused for this, but now that it is removed we need a cleaner way of solving this. So this patch adds a struct with internal ops that the v4l2 core can call. Currently only two ops exist: register and unregister. Subdevs can implement these to call the board code and pass it the v4l2_device pointer, which the board code can then use to get access to the struct that embeds the v4l2_device. It is expected that in the future open and close ops will also be added. Signed-off-by: Hans Verkuil Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 3c7c9370fb645f4713e0fbbe69425d8db9b47a13 Author: Hans Verkuil Date: Sat Jan 8 07:08:02 2011 -0300 [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() The core.s_config op was meant for legacy drivers that needed to work with old pre-2.6.26 kernels. This is no longer relevant. Unfortunately, this op was incorrectly called from several drivers. Replace those occurences with proper i2c_board_info structs and call v4l2_i2c_new_subdev_board. After these changes v4l2_i2c_new_subdev_cfg() was no longer used, so remove that function as well. Signed-off-by: Hans Verkuil Acked-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit ecb71d262b0323981e07ce415da9b7adc917990a Author: Mauro Carvalho Chehab Date: Fri Jan 14 12:03:03 2011 -0300 [media] saa7134: Kworld SBTVD: make both analog and digital to work There are some weird bugs at tda8290/tda18271 initialization, as it insits do do analog initialization during DVB frontend attach: DVB: registering new adapter (saa7133[0]) DVB: registering adapter 0 frontend 0 (Fujitsu mb86A20s)... mb86a20s: mb86a20s_initfe tda18271_write_regs: [2-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5 tda18271_init: [2-0060|M] error -5 on line 830 tda18271_tune: [2-0060|M] error -5 on line 908 tda18271_write_regs tda18271_write_regs: [2-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5 tda18271c2_rf_tracking_filters_correction: [2-0060|M] error -5 on line 265 tda18271_write_regs tda18271_write_regs: [2-0060|M] ERROR: idx = 0x25, len = 1, i2c_transfer returned: -5 tda18271_channel_configuration: [2-0060|M] error -5 on line 119 tda18271_set_analog_params: [2-0060|M] error -5 on line 1045 tda18271_set_analog_params: [2-0060|M] error -5 on line 1045 tda829x 2-004b: tda8295 not locked, no signal? tda829x 2-004b: tda8295_i2c_bridge: disable i2c gate tda829x 2-004b: tda8295 not locked, no signal? tda829x 2-004b: tda8295_i2c_bridge: disable i2c gate mb86a20s_i2c_writereg: writereg error (rc == -5, reg == 0x29, data == 0x33) mb86a20s: Init failed. Will try again later The problem is that mb86a20s is only visible if the analog part is disabled. However, due to a trick at mb86a20s, it will later initialize properly: mb86a20s: mb86a20s_initfe: Initialization succeded. This is hacky and ugly. However, I coldn't find any easy way to fix it. A proper fix would be to have a resource locking schema, used by both V4L and DVB parts that would block access to analog registers while digital registers are in use, but this will probably put tda829x into a dead lock. Signed-off-by: Mauro Carvalho Chehab commit 6a58bc0f506c1825cb8f8b81a5123e26bf70902c Author: Mauro Carvalho Chehab Date: Fri Jan 14 09:11:21 2011 -0300 [media] saa7134: Fix digital mode on Kworld SBTVD This patch fixes digital mode on Kworld SBTVD. Unfortunately, it disables analog mode. Signed-off-by: Mauro Carvalho Chehab commit 6183040680c56ec4bd3d7c9398cbc05e84d60c1f Author: Mauro Carvalho Chehab Date: Thu Jan 13 14:24:44 2011 -0300 [media] saa7134: Fix analog mode for Kworld SBTVD There were some issues at tda8290 that were preventing this device to work. Now that those fixes were fixed, we can enable analog mode. Signed-off-by: Mauro Carvalho Chehab commit c736a5f28e81299b05ad14e892bdfb414daa9f5f Author: Mauro Carvalho Chehab Date: Fri Jan 14 11:10:05 2011 -0300 [media] mb86a20s: Be sure that device is initialized before starting DVB Due to a hard to track bug between tda829x/tda18271/saa7134, tda829x wants to go to analog mode during DVB initialization, causing some I2C errors. The analog failure doesn't cause any harm, as the device were already properly initialized in analog mode. However, the failure at the digital mode causes the frontend mb86a20s to not initialize. Fortunately, at least on my tests, it was possible to detect that the device is a mb86a20s before the failure. What happens is that tda8290 is a very bad boy: during DVB setup, it keeps insisting to call tda18271 analog_set_params, that calls tune_agc code. The tune_agc code calls saa7134 driver, changing the value of GPIO 27, switching from digital to analog mode and disabling the access to mb86a20s, as, on Kworld SBTVD, the same GPIO used to switch the hardware AGC mode seems to be used to enable the I2C switch that allows access to the frontend (mb86a20s). So, a call to analog_set_params ultimately disables the access to the frontend, and causes a failure at the init frontend logic. This patch is a workaround for this issue: it simply checks if the frontend init had any failure. If so, it will init the frontend when some DTV application will try to set DVB mode. Even being a hack for Kworld SBTVD to work, and assumning that we could teach tda8290 to be a good boy, this is actually an improvement at the frontend driver, as it will be more reliable to initialization failures. Signed-off-by: Mauro Carvalho Chehab commit 7570800c9de39c718f84ec4ea820a788556cde4b Author: Mauro Carvalho Chehab Date: Fri Jan 14 08:50:00 2011 -0300 [media] mb86a20s: Fix i2c read/write error messages A script replaced err var to rc. Howerver, this script gambled "error" string, changing it to "rcor". Revert that bad change. Signed-off-by: Mauro Carvalho Chehab commit 9d700a0696ae241380e8ca833bb5a358620d33f6 Author: Mauro Carvalho Chehab Date: Thu Jan 13 14:01:39 2011 -0300 [media] tda8290: Turn tda829x on before touching at the I2C gate On Kworld SBTVD, tda8295-c1 starts in power off mode. It needs to be powered, otherwise, the I2C gate control command won't work. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 47ab285a960ac456506297c93322ab13c3522f5a Author: Mauro Carvalho Chehab Date: Thu Jan 13 12:02:00 2011 -0300 [media] tda8290: Fix a bug if no tuner is detected If tda8290 is detected, but no tuner is found, the driver will do bad things: tuner 2-0060: chip found @ 0xc0 (saa7133[0]) tda829x 2-0060: could not clearly identify tuner address, defaulting to 60 tda829x 2-0060: tuner access failed! BUG: unable to handle kernel NULL pointer dereference at 0000000000000020 IP: [] set_audio+0x47/0x170 [tda8290] PGD 1187b0067 PUD 11771e067 PMD 0 Oops: 0002 [#1] SMP last sysfs file: /sys/module/i2c_core/initstate CPU 0 Modules linked in: tda8290(U) tea5767(U) tuner(U) ir_lirc_codec(U) lirc_dev(U) ir_sony_decoder(U) ir_jvc_decoder(U) ir_rc6_decoder(U) ir_rc5_decoder(U) saa7134(+)(U) v4l2_common(U) ir_nec_decoder(U) videodev(U) v4l2_compat_ioctl32(U) rc_core(U) videobuf_dma_sg(U) videobuf_core(U) tveeprom(U) ebtable_nat ebtables xt_CHECKSUM iptable_mangle ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT bridge stp llc autofs4 sunrpc cpufreq_ondemand acpi_cpufreq freq_table xt_physdev iptable_filter ip_tables ip6t_REJECT ip6table_filter ip6_tables ipv6 dm_mirror dm_region_hash dm_log parport kvm_intel kvm uinput floppy tpm_infineon wmi sg serio_raw iTCO_wdt iTCO_vendor_support tg3 snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc i7core_edac edac_core nouveau Modules linked in: tda8290(U) tea5767(U) tuner(U) ir_lirc_codec(U) lirc_dev(U) ir_sony_decoder(U) ir_jvc_decoder(U) ir_rc6_decoder(U) ir_rc5_decoder(U) saa7134(+)(U) v4l2_common(U) ir_nec_decoder(U) videodev(U) v4l2_compat_ioctl32(U) rc_core(U) videobuf_dma_sg(U) videobuf_core(U) tveeprom(U) ebtable_nat ebtables xt_CHECKSUM iptable_mangle ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT bridge stp llc autofs4 sunrpc cpufreq_ondemand acpi_cpufreq freq_table xt_physdev iptable_filter ip_tables ip6t_REJECT ip6table_filter ip6_tables ipv6 dm_mirror dm_region_hash dm_log parport kvm_intel kvm uinput floppy tpm_infineon wmi sg serio_raw iTCO_wdt iTCO_vendor_support tg3 snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc i7core_edac edac_core nouveau ttm drm_kms_helper drm i2c_algo_bit video output i2c_core ext3 jbd mbcache firewire_ohci firewire_core crc_itu_t sr_mod cdrom sd_mod crc_t10dif ahci dm_mod [last unloaded: microcode] Pid: 9497, comm: modprobe Not tainted 2.6.32-72.el6.x86_64 #1 HP Z400 Workstation RIP: 0010:[] [] set_audio+0x47/0x170 [tda8290] RSP: 0018:ffff88010ba01b28 EFLAGS: 00010206 RAX: 00000000000000ff RBX: ffff880119522800 RCX: 0000000000000002 RDX: 0000000000003be0 RSI: ffff88010ba01bb8 RDI: 0000000000000000 RBP: ffff88010ba01b28 R08: 0000000000000002 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff88010ba01bb8 R14: 0000000000001900 R15: 0000000000001900 FS: 00007f4b96b3d700(0000) GS:ffff880028200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000020 CR3: 000000011866c000 CR4: 00000000000026f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process modprobe (pid: 9497, threadinfo ffff88010ba00000, task ffff880100708a70) Stack: ffff88010ba01b98 ffffffffa048c95b ffff88010ba01b78 0000000000000060 <0> 0000000000000000 0000000e00000000 000000000000001d ffffffffa03ec838 <0> ffff88010abac240 ffff880119522800 ffff880119522800 ffff880119522bc0 Call Trace: [] tda8295_set_params+0x3b/0x210 [tda8290] [] ? v4l2_i2c_new_subdev_cfg+0x88/0xc0 [v4l2_common] [] set_freq+0x128/0x2f0 [tuner] [] tuner_s_std+0xc4/0x740 [tuner] [] saa7134_set_tvnorm_hw+0x2d6/0x3d0 [saa7134] [] set_tvnorm+0xd5/0x100 [saa7134] [] saa7134_video_init2+0x1d/0x50 [saa7134] [] saa7134_initdev+0x6e1/0xb1d [saa7134] [] ? kobject_get+0x1a/0x30 [] local_pci_probe+0x17/0x20 [] pci_device_probe+0x101/0x120 [] ? driver_sysfs_add+0x62/0x90 [] driver_probe_device+0xa0/0x2a0 [] __driver_attach+0xab/0xb0 [] ? __driver_attach+0x0/0xb0 [] bus_for_each_dev+0x64/0x90 [] driver_attach+0x1e/0x20 [] bus_add_driver+0x200/0x300 [] driver_register+0x76/0x140 [] ? printk+0x41/0x46 [] __pci_register_driver+0x56/0xd0 [] ? saa7134_init+0x0/0x4f [saa7134] [] saa7134_init+0x4d/0x4f [saa7134] [] do_one_initcall+0x3c/0x1d0 [] sys_init_module+0xdf/0x250 [] system_call_fastpath+0x16/0x1b Code: 20 01 49 c7 c0 c9 ec 48 a0 83 7e 04 01 74 2d 8b 0d 3f 2f 00 00 85 c9 0f 85 d7 00 00 00 c9 c3 0f 1f 44 00 00 a9 03 00 01 00 74 61 47 20 02 83 7e 04 01 49 c7 c0 cc ec 48 a0 75 d3 0f b6 47 22 RIP [] set_audio+0x47/0x170 [tda8290] RSP CR2: 0000000000000020 This happens because some I2C callbacks actually depend on having the driver entirely initialized. To avoid this OOPS, just clean the I2C callbacks, as if no device were detected. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 567aba0b7997dad5fe3fb4aeb174ee9018df8c5b Author: Mauro Carvalho Chehab Date: Thu Jan 13 11:58:36 2011 -0300 [media] tda8290: Make all read operations atomic Read operations should be preceeded by a write operation. However, nothing prevents that an I2C operation could happen between the two transactions. To avoid that problem, use an unique I2C transfer for both parts of the I2C transaction. Cc: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5a85025f7dabc5b039335a7d1fb5f9002efa9488 Author: Mauro Carvalho Chehab Date: Wed Jan 12 14:22:42 2011 -0300 [media] em28xx: Fix IR support for WinTV USB2 Due to a lack of a break inside the switch, it were getting the wrong keytable and get_key function. Signed-off-by: Mauro Carvalho Chehab commit e6bcb2f324cf28469d2713e86beace07f25596cf Author: Mauro Carvalho Chehab Date: Wed Jan 12 13:50:01 2011 -0300 [media] ir-kbd-i2c: Make IR debug messages more useful Signed-off-by: Mauro Carvalho Chehab commit 59aa346009c06c6697e9db008e67e4ff8c205091 Author: Mauro Carvalho Chehab Date: Wed Jan 12 12:17:52 2011 -0300 [media] dib0700: Fix IR keycode handling Fixes Fedora 14 bug: https://bugzilla.redhat.com/show_bug.cgi?id=667157 There are a few bugs at the code that generates the scancode at dib0700: - RC keycode is wrong (it outputs a 24 bits keycode); - NEC extended outputs a keycode that have endiannes issues; - keycode tables for NEC extended remotes need to be updated. The last issue need to be done as we get reports, as we don't have the complete NEC-extended keycodes at the dibcom table. This patch fixes the first two issues. Signed-off-by: Mauro Carvalho Chehab commit 312d63e4b0ca8456c82d01a6446795f7d029ecde Author: Mauro Carvalho Chehab Date: Wed Jan 12 12:16:34 2011 -0300 [media] rc-dib0700-nec: Fix keytable for Pixelview SBTVD dib0700 now outputs NEC extended keycodes. Fix the keytable to reflect that. Signed-off-by: Mauro Carvalho Chehab commit 186a21cb77ffe23397aaea302ab32b510b3e2df4 Author: Tobias Lorenz Date: Sat Jan 8 16:13:04 2011 -0300 [media] radio-si470x: Always report support for RDS The si470x i2c and usb driver support the RDS, so this ifdef statement doesn't need more. [mchehab@redhat.com: Fix a conflict on it] Signed-off-by: Joonyoung Shim Acked-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 131ddd1a3072aebca666767151acaa7574beb583 Author: Tobias Lorenz Date: Sat Jan 8 14:12:30 2011 -0300 [media] radio-si470x: de-emphasis should be set if requested by module parameter instead of always setting de-emphasis. Reported-by: Tobias Lorenz Signed-off-by: Joonyoung Shim Acked-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit a1198ccf9c52922e66a3372b0045ebe335a127dd Author: Hans Verkuil Date: Sat Jan 8 09:53:32 2011 -0300 [media] v4l2-ioctl: fix incorrect error code if VIDIOC_DBG_G/S_REGISTER are unsupported The ioctls VIDIOC_DBG_S_REGISTER and VIDIOC_DBG_G_REGISTER should return -EINVAL if the driver didn't implement them. Currently they return -EPERM if called as non-root user. However, this check should only be done if the driver actually implemented these ioctls. Otherwise, just return -EINVAL as we do with all unimplemented ioctls. This bug make the v4l2-compliance test suite fail. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4c775902252b06673cf26a33834842f1fec3fe3e Author: Hans de Goede Date: Fri Jan 7 07:29:24 2011 -0300 [media] gspca_sonixb: Fix mirrored image with ov7630 Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit e48d38f7f100f37edc873df1b3a1d15ee3575874 Author: Hans de Goede Date: Thu Jan 6 16:21:57 2011 -0300 [media] gspca_sonixj: Add one more commented out usb-id While going through windows inf file I found more usb-id, add a comment with this id for future reference. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e530a5e3cfe5f2dca35552d2d968f0a3fc115968 Author: Hans de Goede Date: Thu Jan 6 15:23:55 2011 -0300 [media] gspca_sonixj: Probe sensor type independent of bridge type Looking at the windows inf file, for usb ids with a sensor type where probing is needed to determine the type (for example ov7630 or soi768), this is needed for all bridge variants with a usb id indicating this sensor type. So do the probing to determine the actual sensor type for types where the usb-id info is not 100% deterministic, independent of the bridge type. If you look through the list of currently active usb ids in sonixj, this effectively only changes the code path for 0c45:60fe (sn9c105 + ov7630) and 0c45:612e (sn9c110 + ov7630), which according to the inf file can have a soi768 instead of a ov7630 just like the sn9c120 + ov7630 models where we already probe for a soi7630. The main reason for this code change is to keep the code paths as bridge variant independent as possible, so that we don't need a lot of special per bridge cases, as we enable more usb-ids in the future. This change makes the 0c45:60fe code path identical to the successfully tested 0c45:613e, so also make sonixj the default driver for 0c45:60fe. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4944e27d85ed8e5ccd591687546d56d111c5cc98 Author: Hans de Goede Date: Thu Jan 6 13:05:29 2011 -0300 [media] gspca_sonixj: Enable more usb ids when sn9c102 gets compiled too Both we and the windows driver make no sensor specific differences (with some exceptions) for different sonixj bridge types. Thus if a sn9c105 bridge has been successfully tested with a sensor, the same sensor can be successfully used with a sn9c120 bridge too. Using this knowledge we can move over most usb-ids too the sonixj driver when both are compiled. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 69ffd2545766742f7d247770c6ee30a6ed6058ef Author: Hans de Goede Date: Thu Jan 6 11:56:30 2011 -0300 [media] gspca_sonixb: Add usb ids for known sn9c103 cameras Now that our bridge code is unified for sn9c101/102 and sn9c103 models, the sn9c103 models should simply work, given that the only difference in the sn9c103 is audio support and a gamma correction table. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4e17cd2eac2544267bdfab67655be468f80f50c6 Author: Hans de Goede Date: Thu Jan 6 10:58:53 2011 -0300 [media] gspca_sonixb: TAS5130C brightness control really is a gain control Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0d0d7ef71ec6ba6abb680478f7d0514584b8277f Author: Hans de Goede Date: Thu Jan 6 07:55:20 2011 -0300 [media] gspca_sonixb: Fix TAS5110D sensor gain control Also fix the issue of the image being mirrored. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f913c001cd6084db0e3486b832234d2fe4513ff6 Author: Hans de Goede Date: Wed Jan 5 16:01:16 2011 -0300 [media] gspca_sonixb: Adjust autoexposure window for vga cams so that it is centered Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0a76cb8cefbaf84465e0cd9a6a1da7f54981c8ef Author: Hans de Goede Date: Wed Jan 5 13:55:43 2011 -0300 [media] gspca_sonixb: Refactor to unify bridge handling Refactor the code to unify how the sn9c101/102 and the sn9c103 bridge are handled. Also move code which is the same for all sensors from the per sensor init register settings to a central place. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a24f0c5c47946b1a1999f44808e2219e7758d146 Author: Hans de Goede Date: Wed Jan 5 11:36:54 2011 -0300 [media] sn9c102: Remove not supported and non existing usb ids The sn9c102 driver claims a number of usb-ids which are for cameras with sensor types which it does not support. Also it claims a number of usb-ids which do not exist at all (not present in the windows drivers .inf files, not known by google). This patch also fixes the conflict with the gspca_sonixj driver for the 0c45:60c0 and 0c45:60fb usb ids. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8b064ee19d24e57d807060f50e945b5935565852 Author: Hans de Goede Date: Mon Jan 3 12:48:10 2011 -0300 [media] et61x251: remove wrongly claimed usb ids The et61x251 driver claims a whole list of usb id's, but it only has one sensor "module" which does sensor detection based on usb id and that only supports devices with the 102c:6251 usb id. Remove the usb-ids for other devices as for those the driver will fail with an unable to determine sensor type message anyways. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 0d0ae15dde7d4a778056268e64bb2625f84deab6 Author: Hans de Goede Date: Fri Dec 31 17:17:51 2010 -0300 [media] gspca_main: wake wq on streamoff We check for not streaming as a condition to abort waiting in dqbuf, so when another thread does a streamoff we should wake the wq. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ce5610bca74571674c1970d33063e7c06295a9a4 Author: Hans de Goede Date: Fri Dec 31 07:41:54 2010 -0300 [media] gspca_main: Allow switching from read to mmap / userptr mode Some applications (xawtv, qv4l2) mix read and mmap calls. Allow switching from read mode back to mmap mode (by doing a reqbufs). Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ee3629914b2b115f00f4197e80b1e7cb12881059 Author: Hans de Goede Date: Fri Dec 31 05:05:56 2010 -0300 [media] gspca_main: Simplify read mode memory type checks gspca_dev->memory == GSPCA_MEMORY_NO implies gspca_dev->nframes == 0, so there is no need to check for both in dev_poll. The check in dev_read also is more complex then needed, as dqbuf which dev_read calls already does all necessary checks. Moreover dqbuf is holding the proper locks while checking where as dev_read itself is not. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d642de2ed472df308f8ee49417e29030f69b2095 Author: Hans de Goede Date: Fri Dec 31 04:51:36 2010 -0300 [media] gspca_main: Set memory type to GSPCA_MEMORY_NO on buffer release Before this patch we were not setting the memory type to GSPCA_MEMORY_NO when the buffers were released by the app doing a reqbufs 0. Nor would the memory type be set to GSPCA_MEMORY_NO on device close, as capture_file already is NULL on device close because of the reqbufs 0. This caused the following problem: -app1 does reqbufs USERPTR for 4 buffers -app1 does reqbufs USERPTR for 0 buffers -app2 tries to do reqbufs MMAP for 4 buffers fails because gspca_dev->memory still is USERPTR Fixing this also allows an app to switch memory type's by unrequesting the buffers and re-requesting them of a different type. This patch also moves the setting of gspca_dev->frsz and gscpa_dev->memory to after alloc_frame succeeding, so that they are not changed when allocating fails. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 7f6eb118df84715b128e25e99dc6a3ebc5b133d6 Author: Hans de Goede Date: Thu Dec 30 20:20:09 2010 -0300 [media] gspca_main: Remove no longer used users variable Remove the no longer used / useful users variable, and with that gone there also is no longer a need to take queue_lock in dev_open. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4a82bc60a9abbfca0c899366ff30c592e8020520 Author: Hans de Goede Date: Thu Dec 30 20:00:17 2010 -0300 [media] gspca_main: Update buffer flags even when user_copy fails Before this patch dqbuf errors out on a failing user_copy (with user pointers) before updating the buffer flags, causing a successsfully dequeued buffer to still have the DONE flag, which means that it could no longer be re-queueud (assuming the app somehow survives the segfault). Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 27074efa2ee8c1ef07dc5f644104e35d39e43322 Author: Hans de Goede Date: Thu Dec 30 19:54:33 2010 -0300 [media] gspca_main: Locking fixes 2 Before this patch vidioc_dqbuf is using its own read_lock, where as other queue related functions use queue_lock. This means that dqbuf is accessing several variables in a racy manor. The most important one being fr_o, which may be changed from underneath dqbuf by vidioc_reqbufs or vidioc_streamoff. Other variables which it accesses unprotected are gspca_dev->memory, gspca_dev->streaming and gspca_dev->capt_file. This patch fixes this by changing vidioc_dqbuf to also use the queue_lock. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4e770f7602fb2285f3106f98109d0685618ddc22 Author: Hans de Goede Date: Thu Dec 30 13:11:21 2010 -0300 [media] gspca_main: Locking fixes 1 The gspca_dev->streaming boolean is protected against multiple access through gspca_dev->queue_lock everywhere except for 2 places. This patch fixes this by bringing it under the lock in vidioc_streamoff. And by removing the check for gspca_dev->streaming in gspca_disconnect, the destroy_urbs call may be called multiple times (and is protected by the usb_lock) and calling wake_up_interruptible can also always be done safely. Signed-off-by: Hans de Goede Acked-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 82f4b5b67e795fe03952b278873712e4562304d2 Author: Antti Palosaari Date: Fri Jan 7 21:59:11 2011 -0300 [media] af9013: fix AF9013 TDA18271 IF config IF freq for DVB-T 7 MHz and 8 MHz was set slightly wrong. Due to that it didn't worked at all (?) for 7 MHz channels and most likely performance was dropped for 8 MHz channels. That bug was pointed by few people during last two months. Thank you. Trivial fix. Compile tested only due to lack of proper HW and signal. Signed-off-by: Antti Palosaari Cc: Romolo Manfredini Cc: Alireza Moini Signed-off-by: Mauro Carvalho Chehab commit 424852f4374561630d526e7bb04eec5bb7d665a1 Author: Hans Verkuil Date: Wed Jan 5 14:42:41 2011 -0300 [media] radio-gemtek-pci: remove duplicate driver The radio-gemtek-pci driver is for the same hardware as the radio-maxiradio driver which uses the same GemTek PR103 and tea5757 combination and the two drivers are identical. I chose the maxiradio over the gemtek-pci driver since the maxiradio has support for mono/stereo detection. Tested with my gemtek-pci card. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 90d873a7f9389478e68494c530afab8b19c04f29 Author: Hans Verkuil Date: Wed Jan 5 14:40:07 2011 -0300 [media] radio-maxiradio.c: use sensible frequency range Use the standard USA/Europe frequency range of 87-108 MHz instead of the arbitrary 50-150 MHz. Copied from the radio-gemtek-pci driver which supports the same hardware. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9bfaae24f991ff5255de17cd05838d1cd131727c Author: Hans Verkuil Date: Wed Jan 5 13:35:45 2011 -0300 [media] davinci: convert vpif_display to core-assisted locking vpif_display now uses .unlocked_ioctl instead of .ioctl. Signed-off-by: Hans Verkuil Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit 46656afa8a9a410b7939b248712e4e48921929da Author: Hans Verkuil Date: Tue Jan 4 06:51:35 2011 -0300 [media] davinci: convert vpif_capture to core-assisted locking Now uses .unlocked_ioctl instead of .ioctl. Signed-off-by: Hans Verkuil Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit 2c0ddd17741383009c53cf557d6526848c8bb917 Author: Mats Randgaard Date: Thu Dec 16 12:17:45 2010 -0300 [media] vpif_cap/disp: Cleanup, improved comments Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Acked-by: Murali Karicheri Acked-by: Vaibhav Hiremath Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit c027e165d2d901ecab485da5fee72ddce5da0297 Author: Mats Randgaard Date: Thu Dec 16 12:17:44 2010 -0300 [media] vpif_cap/disp: Added support for DV timings Added functions to set and get custom DV timings. Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Acked-by: Vaibhav Hiremath Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit 40c8bcea6bc594c50abf3d3867bd49c8c039eb21 Author: Mats Randgaard Date: Thu Dec 16 12:17:43 2010 -0300 [media] vpif_cap/disp: Add support for DV presets - Added functions to set/get/query/enum DV presets for vpif_caputre and vpif_display. - The format specification table is extended with all the DV formats supported by TVP7002. Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit aa4444063505983c5971bc8fb832385dfba16b41 Author: Mats Randgaard Date: Thu Dec 16 12:17:42 2010 -0300 [media] vpif: Consolidate formats from capture and display - The ch_params tables in vpif_capture.c and vpif_display.c are moved to a common table in vpif.c. Then it is easier to maintain the table. - The field "fps" is removed from the struct vpif_channel_config_params because it is not used. Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Acked-by : Murali Karicheri Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit 7036d6a73c88428764e4a12f30846279346f4382 Author: Mats Randgaard Date: Thu Dec 16 12:17:41 2010 -0300 [media] vpif_cap/disp: Add debug functionality The following functions are added to the drivers: - vpif_g_chip_ident - vpif_dbg_g_register - vpif_dbg_s_register - vpif_log_status Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Acked-by: Vaibhav Hiremath Acked-by: Manjunath Hadli Signed-off-by: Mauro Carvalho Chehab commit d2db8fee0d77f43f64e4e97ccc1558a9f59fab41 Author: Hans Verkuil Date: Sat Dec 18 09:50:43 2010 -0300 [media] cpia2: convert .ioctl to .unlocked_ioctl Implement core-assisted locking in cpia2. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9af39713feb53da96ba23fa94a73ffd0de50a815 Author: Hans Verkuil Date: Sat Dec 18 09:20:59 2010 -0300 [media] saa7146: Convert from .ioctl to .unlocked_ioctl Convert saa7146 to use core-assisted locking. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b219ab9cfb2057de6e779169197f83265c310c83 Author: Hans Verkuil Date: Mon Jan 3 07:39:41 2011 -0300 [media] bttv: remove obsolete 'no_tda9875' field Since tda9875 is part of tvaudio this field no longer makes sense. Remove it. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f037484337ce009ff840de07ca3232808101db09 Author: Hans Verkuil Date: Mon Jan 3 07:33:25 2011 -0300 [media] tda9875: remove duplicate driver In commit 411674fd189abe5910ea4caf08b7eac5c4a4d967 the tda9875 support was added to tvaudio. This means that tda9875 is no longer used since mid-2009. If there are out-of-tree users of this driver, then they can switch to tvaudio instead. The original commit message read as follows: This change allows bttv to use tvaudio for this device. Since this device has the same i2c address as the tda9874 we need to support both in the same tvaudio driver. This makes it possible for tvaudio to detect which chip is used. Originally the tda9875 was only available in the dedicated tda9875 driver, but that makes life very hard for bttv since loading tvaudio might misdetect a tda9875 as a tda9874. So there were good reasons for moving the tda9875 code into tvaudio. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267 Author: Peter Zijlstra Date: Wed Jan 19 12:26:11 2011 +0100 sched, cgroup: Use exit hook to avoid use-after-free crash By not notifying the controller of the on-exit move back to init_css_set, we fail to move the task out of the previous cgroup's cfs_rq. This leads to an opportunity for a cgroup-destroy to come in and free the cgroup (there are no active tasks left in it after all) to which the not-quite dead task is still enqueued. Reported-by: Miklos Vajna Fixed-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Cc: Mike Galbraith Signed-off-by: Ingo Molnar LKML-Reference: <1293206353.29444.205.camel@laptop> commit 9032160275ba018003ff390835ff8ed2b5b788b8 Author: Jan Beulich Date: Wed Jan 19 08:57:21 2011 +0000 x86: Unify "numa=" command line option handling In order to be able to suppress the use of SRAT tables that 32-bit Linux can't deal with (in one case known to lead to a non-bootable system, unless disabling ACPI altogether), move the "numa=" option handling to common code. Signed-off-by: Jan Beulich Reviewed-by: Thomas Renninger Cc: Tejun Heo Cc: Thomas Renninger LKML-Reference: <4D36B581020000780002D0FF@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 569ed348ecef309fae5a71b86015951680ea3415 Author: Takashi Iwai Date: Wed Jan 19 10:14:46 2011 +0100 Revert "ALSA: HDA: Create mixers on ALC887" This reverts commit 03b7a1ab557efe34e8f79b78660e514bd7374248. This commit was mistakenly re-introduced. While the change is harmless (as ALC887 uses patch_alc888() now), we should get rid of any wrong code. Signed-off-by: Takashi Iwai commit 6b35eb9ddcddde7b510726de03fae071178f1ec4 Author: Ingo Molnar Date: Wed Jan 19 10:09:42 2011 +0100 Revert "x86: Make relocatable kernel work with new binutils" This reverts commit 86b1e8dd83cb ("x86: Make relocatable kernel work with new binutils"). Markus Trippelsdorf reported a boot failure caused by this patch. The real solution to the original patch will likely involve an arch-generic solution to define an overlaid jiffies_64 and jiffies variables. Until that's done and tested on all architectures revert this commit to solve the regression. Reported-and-bisected-by: Markus Trippelsdorf Acked-by: "H. Peter Anvin" Cc: Shaohua Li Cc: "Lu, Hongjiu" Cc: Linus Torvalds , Cc: Sam Ravnborg LKML-Reference: <4D36A759.60704@intel.com> Signed-off-by: Ingo Molnar commit 8d5f0a647395c1323787df675d2805cad54fc89f Author: Bob Moore Date: Mon Jan 17 10:31:08 2011 +0800 ACPICA: Update version to 20110112 Version 20110112. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b4e104eaeb8cd4329a23e0e4ebf166681b1d182d Author: Bob Moore Date: Mon Jan 17 11:05:40 2011 +0800 ACPICA: Update all ACPICA copyrights and signons to 2011 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 262948428878fb340127faca1791acb17146122e Author: Lin Ming Date: Wed Jan 12 09:19:43 2011 +0800 ACPICA: Fix issues/fault with automatic "serialized" method support History: This support changes a method to "serialized" on the fly if the method generates an AE_ALREADY_EXISTS error, indicating the possibility that it cannot handle reentrancy. This fix repairs a couple of issues seen in the field, especially on machines with many cores. 1) Delete method children only upon the exit of the last thread, so as to not delete objects out from under running threads. 2) Set the "serialized" bit for the method only upon the exit of the last thread, so as to not cause deadlock when running threads attempt to exit. 3) Cleanup the use of the AML "MethodFlags" and internal method flags so that there is no longer any confustion between the two. Reported-by: Dana Myers Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 672af843abfc9a41c7ec792722e04b6c68a3cfea Author: Bob Moore Date: Wed Jan 12 09:13:31 2011 +0800 ACPICA: Debugger: Lock namespace for duration of a namespace dump Prevents issues if the namespace is changing underneath the debugger. Especially temporary nodes, since the debugger displays these also. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Reviewed-by: Rafael Wysocki Signed-off-by: Len Brown commit 5d3131f5b0ae6303d042fd91ed9147ad4ae4bf6d Author: Dana Myers Date: Wed Jan 12 09:09:31 2011 +0800 ACPICA: Fix namespace race condition Fixes a race condition between method execution and namespace walks that can possibly fault. Problem was apparently introduced in version 20100528 as a result of a performance optimization that reduces the number of namespace walks upon method exit by using the delete_namespace_subtree function instead of the delete_namespace_by_owner function used previously. Bug is in the delete_namespace_subtree function. Signed-off-by: Dana Myers Signed-off-by: Bob Moore Signed-off-by: Lin Ming Reviewed-by: Rafael Wysocki Signed-off-by: Len Brown commit be33b76a974cdb4ceadc1a12fb79cc97bcfeea37 Author: Jesper Juhl Date: Sun Jan 16 20:37:52 2011 +0100 ACPICA: Fix memory leak in acpi_ev_asynch_execute_gpe_method(). We will leak the memory allocated to 'local_gpe_event_info' if 'acpi_ut_acquire_mutex()' fails or if 'acpi_ev_valid_gpe_event()' fails in drivers/acpi/acpica/evgpe.c::acpi_ev_asynch_execute_gpe_method(). Signed-off-by: Jesper Juhl Reviewed-by: Rafael Wysocki Signed-off-by: Len Brown commit ff76015f3bdfbc482c723cb4f2559cef84d178ca Author: Anton Vorontsov Date: Tue Jan 18 02:36:02 2011 +0000 gianfar: Fix misleading indentation in startup_gfar() Just stumbled upon the issue while looking for another bug. The code looks correct, the indentation is not. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 5ae2f66fe4626340d4fd9d26b522ce377c780a56 Author: Kuninori Morimoto Date: Thu Jan 13 21:47:42 2011 +0000 net/irda/sh_irda: return to RX mode when TX error sh_irda can not use RX/TX in same time, but this driver didn't return to RX mode when TX error occurred. This patch care xmit error case to solve this issue. Signed-off-by: Kuninori Morimoto Signed-off-by: David S. Miller commit 6ee400aafb60289b78fcde5ebccd8c4973fc53f4 Author: Jesse Gross Date: Mon Jan 17 20:46:00 2011 +0000 net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan. In netif_skb_features() we return only the features that are valid for vlans if we have a vlan packet. However, we should not mask out NETIF_F_HW_VLAN_TX since it enables transmission of vlan tags and is obviously valid. Reported-by: Eric Dumazet Signed-off-by: Jesse Gross Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f742aa8acb7e50a383f6d2b00b1c52e081970d38 Author: Alexey Orishko Date: Mon Jan 17 07:07:25 2011 +0000 USB CDC NCM: tx_fixup() race condition fix - tx_fixup() can be called from either timer callback or from xmit() in usbnet, so spinlock is added to avoid concurrency-related problem. - minor correction due to checkpatch warning for some line over 80 chars after previous patch was applied. Signed-off-by: Alexey Orishko Signed-off-by: David S. Miller commit 1956cc52e73984a39252994f0beee458fc0d8909 Author: Jesper Juhl Date: Mon Jan 17 10:24:57 2011 +0000 ns83820: Avoid bad pointer deref in ns83820_init_one(). In drivers/net/ns83820.c::ns83820_init_one() we dynamically allocate memory via alloc_etherdev(). We then call PRIV() on the returned storage which is 'return netdev_priv()'. netdev_priv() takes the pointer it is passed and adds 'ALIGN(sizeof(struct net_device), NETDEV_ALIGN)' to it and returns it. Then we test the resulting pointer for NULL, which it is unlikely to be at this point, and later dereference it. This will go bad if alloc_etherdev() actually returned NULL. This patch reworks the code slightly so that we test for a NULL pointer (and return -ENOMEM) directly after calling alloc_etherdev(). Signed-off-by: Jesper Juhl Signed-off-by: Benjamin LaHaise Signed-off-by: David S. Miller commit 2fdc1c8093255f9da877d7b9ce3f46c2098377dc Author: Romain Francoise Date: Mon Jan 17 07:59:18 2011 +0000 ipv6: Silence privacy extensions initialization When a network namespace is created (via CLONE_NEWNET), the loopback interface is automatically added to the new namespace, triggering a printk in ipv6_add_dev() if CONFIG_IPV6_PRIVACY is set. This is problematic for applications which use CLONE_NEWNET as part of a sandbox, like Chromium's suid sandbox or recent versions of vsftpd. On a busy machine, it can lead to thousands of useless "lo: Disabled Privacy Extensions" messages appearing in dmesg. It's easy enough to check the status of privacy extensions via the use_tempaddr sysctl, so just removing the printk seems like the most sensible solution. Signed-off-by: Romain Francoise Signed-off-by: David S. Miller commit 6aefc522a8680f7b5a794f14dc78d6eab1cfdc37 Author: Yaniv Rosner Date: Tue Jan 18 04:33:55 2011 +0000 bnx2x: Update bnx2x version to 1.62.00-4 Update bnx2x version to 1.62.00-4 Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 82a0d4757c03687894123b197ec9c40f7dd16800 Author: Yaniv Rosner Date: Tue Jan 18 04:33:52 2011 +0000 bnx2x: Fix AER setting for BCM57712 Fix AER settings for BCM57712 to allow accessing all device addresses range in CL45 MDC/MDIO Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f25b3c8b5f696cf74adfb37c9d9982c72f4106c9 Author: Yaniv Rosner Date: Tue Jan 18 04:33:47 2011 +0000 bnx2x: Fix BCM84823 LED behavior Fix BCM84823 LED behavior which may show on some systems Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 791f18c0da3ad540806122e173d6b730d7d7f60b Author: Yaniv Rosner Date: Tue Jan 18 04:33:42 2011 +0000 bnx2x: Mark full duplex on some external PHYs Device may show incorrect duplex mode for devices with external PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5c99274b0177cd614455c277b1a4d4410d9cb702 Author: Yaniv Rosner Date: Tue Jan 18 04:33:36 2011 +0000 bnx2x: Fix BCM8073/BCM8727 microcode loading Improve microcode loading verification before proceeding to next stage Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1f48353a3ce7297f5150b47e21df5ec212876e5d Author: Yaniv Rosner Date: Tue Jan 18 04:33:31 2011 +0000 bnx2x: LED fix for BCM8727 over BCM57712 LED on BCM57712+BCM8727 systems requires different settings Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b21a3424877a4d5ca91a6d446ed581a2bd03160c Author: Yaniv Rosner Date: Tue Jan 18 04:33:24 2011 +0000 bnx2x: Common init will be executed only once after POR Common init used to be called by the driver when the first port comes up, mainly to reset and reload external PHY microcode. However, in case management driver is active on the other port, traffic would halted. So limit the common init to be done only once after POR. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 74d7a11979e39adc1fc4d7a77afe83aa12a0f2b1 Author: Yaniv Rosner Date: Tue Jan 18 04:33:18 2011 +0000 bnx2x: Swap BCM8073 PHY polarity if required Enable controlling BCM8073 PN polarity swap through nvm configuration, which is required in certain systems Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 154a96bfcd53b8e5020718c64769e542c44788b9 Author: Tetsuo Handa Date: Mon Jan 17 09:27:27 2011 +0900 trusted-keys: avoid scattring va_end() We can avoid scattering va_end() within the va_start(); for (;;) { } va_end(); loop, assuming that crypto_shash_init()/crypto_shash_update() return 0 on success and negative value otherwise. Make TSS_authhmac()/TSS_checkhmac1()/TSS_checkhmac2() similar to TSS_rawhmac() by removing "va_end()/goto" from the loop. Signed-off-by: Tetsuo Handa Reviewed-by: Jesper Juhl Acked-by: Mimi Zohar Acked-by: David Howells Signed-off-by: James Morris commit 0e7491f685cbc962f2ef977f7b5f8ed0b3100e88 Author: Tetsuo Handa Date: Mon Jan 17 09:25:34 2011 +0900 trusted-keys: check for NULL before using it TSS_rawhmac() checks for data != NULL before using it. We should do the same thing for TSS_authhmac(). Signed-off-by: Tetsuo Handa Reviewed-by: Jesper Juhl Acked-by: Mimi Zohar Acked-by: David Howells Signed-off-by: James Morris commit 35576eab390df313095306e2a8216134910e7014 Author: Tetsuo Handa Date: Mon Jan 17 09:22:47 2011 +0900 trusted-keys: another free memory bugfix TSS_rawhmac() forgot to call va_end()/kfree() when data == NULL and forgot to call va_end() when crypto_shash_update() < 0. Fix these bugs by escaping from the loop using "break" (rather than "return"/"goto") in order to make sure that va_end()/kfree() are always called. Signed-off-by: Tetsuo Handa Reviewed-by: Jesper Juhl Acked-by: Mimi Zohar Acked-by: David Howells Signed-off-by: James Morris commit f966a13f92913ce8cbd35bc7f066553c9f3d41b0 Merge: 7e96fbf 38d5939 Author: David S. Miller Date: Tue Jan 18 12:50:19 2011 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 38d59392b29437af3a702209b6a5196ef01f79a8 Author: Wey-Yi Guy Date: Tue Jan 18 07:59:13 2011 -0800 iwlwifi: fix valid chain reading from EEPROM When read valid tx/rx chains from EEPROM, there is a bug to use the tx chain value for both tx and rx, the result of this cause low receive throughput on 1x2 devices becuase rx will only utilize single chain instead of two chains Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 599b13adc2bf236da8f86a34b0b51168e19d3524 Author: Bob Copeland Date: Tue Jan 18 08:06:43 2011 -0500 ath5k: fix locking in tx_complete_poll_work ath5k_reset must be called with sc->lock. Since the tx queue watchdog runs in a workqueue and accesses sc, it's appropriate to just take the lock over the whole function. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit c88c2823e87dd6f8214b8b8cdc36d45f205a8077 Author: Vasily Khoruzhick Date: Tue Jan 18 16:54:25 2011 +0200 ASoC: PXA: Fix codec address on Zipit Z2 WM8750 address is 0x1b, not 0x1a. Without this fix ALSA detects no sound cards on Zipit Signed-off-by: Vasily Khoruzhick Acked-by: Marek Vasut Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 7cbf70041db039532d6b8972e88164ed45ae6460 Author: Vasily Khoruzhick Date: Tue Jan 18 16:54:24 2011 +0200 ASoC: PXA: Fix jack detection on Zipit Z2 Fix jack detection on Zipit Z2, otherwise it disables headphones output when jack is connected Signed-off-by: Vasily Khoruzhick Acked-by: Marek Vasut Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 91056acbcb6f58265698a091a1a211f994fdb579 Author: Barry Song Date: Tue Jan 11 20:04:28 2011 -0500 ASoC: Blackfin: fix DAI/SPORT config dependency issues While I2S/TDM/AC97 DAI is built-in, others are compiled as modules, SND_BF5XX_SOC_SPORT will be module, then DAI can't get some symbols. Except that, SND_BF5XX_AC97 depends on SND_BF5XX_SOC_AC97 too. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 950a95d4e2e2c3a9fb0daceaaf55b969e4710ce7 Author: Barry Song Date: Wed Jan 12 02:59:55 2011 -0500 ASoC: Blackfin TDM: use external frame syncs We don't want to use internal frame syncs otherwise we sometimes get out of sync, so don't enable them when setting up the SPORT. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit e9c2048915048d605fd76539ddd96f00d593e1eb Author: Mike Frysinger Date: Tue Jan 11 19:57:33 2011 -0500 ASoC: Blackfin AC97: fix build error after multi-component update We need to tweak how we query the active capture/playback state after the recent overhauls of common code. Signed-off-by: Mike Frysinger Acked-by: Liam Girdwood Signed-off-by: Mark Brown Cc: stable@kernel.org commit 15d2e22b820bad62854d6ad99d8af8320adf4a91 Author: Mike Frysinger Date: Tue Jan 11 23:08:19 2011 -0500 ASoC: Blackfin TDM: fix missed snd_soc_dai_get_drvdata update One spot was missed in this driver when converting from snd_soc_dai.private_data to snd_soc_dai_get_drvdata. Signed-off-by: Mike Frysinger Acked-by: Liam Girdwood Signed-off-by: Mark Brown Cc: stable@kernel.org commit 379c4bf1d6e184ecb8ff72f83b7c81588cfa18f8 Author: Seungwhan Youn Date: Thu Jan 13 11:08:21 2011 +0900 ASoC: documentation updates This patch is only for RFC purpose of ASoC documentation updates which match with current ASoC codes with documents. Mostly modify features are modified to be sync with changes after multi-component patches. Signed-off-by: Seungwhan Youn Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 24d9765fc18c7838ccdbb0d71fb706321d9b824c Author: Steven Whitehouse Date: Tue Jan 18 14:49:08 2011 +0000 GFS2: Fix error path in gfs2_lookup_by_inum() In the (impossible, except if there is fs corruption) error path in gfs2_lookup_by_inum() if the call to gfs2_inode_refresh() fails, it was leaving the function by calling iput() rather than iget_failed(). This would cause future lookups of the same inode to block forever. This patch fixes the problem by moving the call to gfs2_inode_refresh() into gfs2_inode_lookup() where iget_failed() is part of the error path already. Also this cleans up some unreachable code and makes gfs2_set_iop() static. Signed-off-by: Steven Whitehouse commit 23c3010808de86f21436eb822aacfa551bfc17e4 Author: Benjamin Marzinski Date: Fri Jan 14 22:39:16 2011 -0600 GFS2: remove iopen glocks from cache on failed deletes When a file gets deleted on GFS2, if a node can't get an exclusive lock on the file's iopen glock, it punts on actually freeing up the space, because another node is using the file. When it does this, it needs to drop the iopen glock from its cache so that the other node can get an exclusive lock on it. Now, gfs2_delete_inode() sets GL_NOCACHE before dropping the shared lock on the iopen glock in preparation for grabbing it in the exclusive state. Since the node needs the glock in the exclusive state, dropping the shared lock from the cache doesn't slow down the case where no other nodes are using the file. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit b8b1a4cb6842fb33769be1ad636f062d31d588c3 Author: Brian Bloniarz Date: Mon Jan 17 23:20:03 2011 -0800 ALSA: ice1712 delta - initialize SPI clock The driver was using an initial value for the clock on the SPI bus which was read from ICE1712 EEPROM, ice->eeprom.data[ICE_EEP1_GPIO_STATE] & ICE1712_DELTA_AP_CCLK (0x02) It appears some cards have it default high, some cards have it default low. On my Delta 66 rev. E: $ cat /proc/asound/M66/ice1712 | grep 'GPIO state' GPIO state : 0x70 /* ICE1712_DELTA_AP_CCLK bit is zero */ On my Audiophile 2496: $ cat /proc/asound/M2496/ice1712 | grep 'GPIO state' GPIO state : 0xfe /* ICE1712_DELTA_AP_CCLK bit is one */ It must be raised before the first SPI write happens, or the write will fail, leading to: [ 23.248721] invalid CS8427 signature 0x0: let me try again... I theorize that 4eb4550ab37d351ab0973ccec921a5a2d8560ec7 is no longer needed, it was a different way to workaround the problem. [fixed variable decleration by tiwai] Signed-off-by: Brian Bloniarz Signed-off-by: Takashi Iwai commit d7d8294415f0ce4254827d4a2a5ee88b00be52a8 Author: Mike Galbraith Date: Wed Jan 5 05:41:17 2011 +0100 sched: Fix signed unsigned comparison in check_preempt_tick() Signed unsigned comparison may lead to superfluous resched if leftmost is right of the current task, wasting a few cycles, and inadvertently _lengthening_ the current task's slice. Reported-by: Venkatesh Pallipadi Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1294202477.9384.5.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit fce2097983d914ea8c2338efc6f6e9bb737f6ae4 Author: Yong Zhang Date: Fri Jan 14 15:57:39 2011 +0800 sched: Replace rq->bkl_count with rq->rq_sched_info.bkl_count Now rq->rq_sched_info.bkl_count is not used for rq, scroll rq->bkl_count into it. Thus we can save some space for rq. Signed-off-by: Yong Zhang Signed-off-by: Peter Zijlstra LKML-Reference: <1294991859-13246-1-git-send-email-yong.zhang0@gmail.com> Signed-off-by: Ingo Molnar commit f44937718ce3b8360f72f6c68c9481712517a867 Author: Mike Galbraith Date: Thu Jan 13 04:54:50 2011 +0100 sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure If CONFIG_RT_GROUP_SCHED is set, __sched_setscheduler() fails due to autogroup not allocating rt_runtime. Free unused/unusable rt_se and rt_rq, redirect RT tasks to the root task group, and tell __sched_setscheduler() that it's ok. Reported-and-tested-by: Bharata B Rao Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1294890890.8089.39.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca Author: Bharata B Rao Date: Tue Jan 11 15:42:57 2011 +0530 sched: Display autogroup names in /proc/sched_debug Add autogroup name to cfs_rq and tasks information to /proc/sched_debug. Signed-off-by: Bharata B Rao Signed-off-by: Peter Zijlstra LKML-Reference: <20110111101257.GF4772@in.ibm.com> Signed-off-by: Ingo Molnar commit efe25c2c7b3a5d17b0c70987a758d8fe7af8e3d1 Author: Bharata B Rao Date: Tue Jan 11 15:41:54 2011 +0530 sched: Reinstate group names in /proc/sched_debug Displaying of group names in /proc/sched_debug was dropped in autogroup patches. Add group names while displaying cfs_rq and tasks information. Signed-off-by: Bharata B Rao Signed-off-by: Peter Zijlstra LKML-Reference: <20110111101153.GE4772@in.ibm.com> Signed-off-by: Ingo Molnar commit 977dda7c9b540f48b228174346d8b31542c1e99f Author: Paul Turner Date: Fri Jan 14 17:57:50 2011 -0800 sched: Update effective_load() to use global share weights Previously effective_load would approximate the global load weight present on a group taking advantage of: entity_weight = tg->shares ( lw / global_lw ), where entity_weight was provided by tg_shares_up. This worked (approximately) for an 'empty' (at tg level) cpu since we would place boost load representative of what a newly woken task would receive. However, now that load is instantaneously updated this assumption is no longer true and the load calculation is rather incorrect in this case. Fix this (and improve the general case) by re-writing effective_load to take advantage of the new shares distribution code. Signed-off-by: Paul Turner Signed-off-by: Peter Zijlstra LKML-Reference: <20110115015817.069769529@google.com> Signed-off-by: Ingo Molnar commit 811ea256b30b37091b5bbf41517404cf98ab56c1 Author: Rajkumar Manoharan Date: Mon Jan 17 15:21:40 2011 +0530 ath9k_hw: do PA offset calibration only on longcal interval The power detector adc offset calibration has to be done on 4 minutes interval (longcal * pa_skip_count). But the commit "ath9k_hw: fix a noise floor calibration related race condition" makes the PA calibration executed more frequently beased on nfcal_pending value. Running PAOffset calibration lesser than longcal interval doesn't help anything and the worse part is that it causes NF load timeouts and RX deaf conditions. In a very noisy environment, where the distance b/w AP & station is ~10 meter and running a downlink udp traffic with frequent background scan causes "Timeout while waiting for nf to load: AR_PHY_AGC_CONTROL=0x40d1a" and moves the chip into deaf state. This issue was originaly reported in Android platform where the network-manager application does bgscan more frequently on AR9271 chips. (AR9285 family usb device). Cc: stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dc738cb6c5d5594de4bdf3b7839a250b032152e7 Author: Rajkumar Manoharan Date: Sun Jan 16 10:56:37 2011 +0530 ath9k_htc: Fix endian issue in tx header Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 58c5296991d233f2e492aa7a884635bba478cf12 Author: Luis R. Rodriguez Date: Thu Jan 13 18:19:29 2011 -0800 ath9k_hw: ASPM interoperability fix for AR9380/AR9382 There is an interoperability with AR9382/AR9380 in L1 state with a few root complexes which can cause a hang. This is fixed by setting some work around bits on the PCIE PHY. We fix by using a new ini array to modify these bits when the radio is idle. Cc: stable@kernel.org Cc: Jack Lee Cc: Carl Huang Cc: David Quan Cc: Nael Atallah Cc: Sarvesh Shrivastava Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7e96fbf2320782fb8f0970928026105cd34b41bd Author: Shreyas Bhatewara Date: Fri Jan 14 15:00:03 2011 +0000 vmxnet3: Dont allocate extra MSI-x vectors In case of single tx and rx queues, three MSI-x vectors are allocated instead of two. This patch fixes that. Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit 83d0feffc5695d7dc24c6b8dac9ab265533beb78 Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:57 2011 +0000 vmxnet3: Add locking for access to command register Access to cmd register is racey, especially in smp environments. Protect it using a spinlock. Signed-off-by: Matthieu Bucchianeri Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit 51956cd68b0c3039968485317b77a89dfec95eab Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:52 2011 +0000 vmxnet3: Disable napi in suspend, reenable in resume. There is a small possibility of a race where the suspend routine gets called, while a napi callback is still pending and when that comes up, it enables interrupts which just got disabled in the suspend routine. This change adds napi disable call in suspend and enable in resume to avoid race. Signed-off-by: Shreyas N Bhatewara Acked-by: Dmitry Torokhov Signed-off-by: David S. Miller commit 76d39dae0ad47f51291b4dd146b10d71e8ae02f7 Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:47 2011 +0000 vmxnet3: Make ethtool handlers multiqueue aware Show per-queue stats in ethtool -S output for vmxnet3 interface. Register dump of ethtool should dump registers for all tx and rx queues. Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit 39d4a96fd7d2926e46151adbd18b810aeeea8ec0 Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:41 2011 +0000 vmxnet3: Provide required number of bytes in first SG buffer This is a performance enhancement fix. vmxnet3 device performs better when provided with at least 54 bytes (ethernet 14 + IP 20+ TCP 20) in the first SG buffer. For UDP packets driver provides lesser than that in first sg. This change fixes the same. Also avoid the redundant pskb_may_pull() call. Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit 54da3d00f6e781f69cb8726757d190704b702a8e Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:36 2011 +0000 vmxnet3: Enable HW Rx VLAN stripping by default Make hw vlan tag stripping as enabled by default. Thereby remove the code to conditionally enable it later. Signed-off-by: Guolin Yang Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit f9f2502626133e33599578a16ed54435733f062c Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:31 2011 +0000 vmxnet3: Preserve the MAC address configured by ifconfig While activating the device get it's MAC address from netdev. This will allow the MAC address configured using ifconfig to persist through the reset. Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit a53255d38e6d08453373ac0b7256d40395b202ba Author: Shreyas Bhatewara Date: Fri Jan 14 14:59:25 2011 +0000 vmxnet3: fix ring size update Fix a bug while changing ring size when MTU is changed. Signed-off-by: Shreyas N Bhatewara Acked-by: Dmitry Torokhov Signed-off-by: David S. Miller commit 01a859014b35deb6cc63b1dc2808ca7a0e10a4de Author: Dan Carpenter Date: Sat Jan 15 03:06:39 2011 +0000 caif: checking the wrong variable In the original code we check if (servl == NULL) twice. The first time should print the message that cfmuxl_remove_uplayer() failed and set "ret" correctly, but instead it just returns success. The second check should be checking the value of "ret" instead of "servl". Signed-off-by: Dan Carpenter Acked-by: Sjur Braendeland Signed-off-by: David S. Miller commit 5e5073280379d38e86ade471daa7443b553fc839 Author: Kurt Van Dijck Date: Sat Jan 15 20:56:42 2011 -0800 can: test size of struct sockaddr in sendmsg This patch makes the CAN socket code conform to the manpage of sendmsg. Signed-off-by: Kurt Van Dijck Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit d78c68efa84ff312f3663dbf921b1e3485232205 Merge: 16c0f93 aa0adb1 Author: David S. Miller Date: Sat Jan 15 20:48:28 2011 -0800 Merge branch 'for-david' of git://git.open-mesh.org/ecsv/linux-merge commit 16c0f9362433a76f01d174bb8b9c87b9a96198ee Author: Frank Blaschka Date: Wed Jan 12 20:42:25 2011 +0000 qeth: l3 hw tx csum circumvent hw bug Some OSA level have a bug in the hw tx csum logic. We can circumvent this bug by turning on IP hw csum also. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 394234406c7a8a6b947d230b115c918c0a1def68 Author: Ursula Braun Date: Wed Jan 12 20:42:24 2011 +0000 qeth: postpone open till recovery is finished The open function of qeth is not executed if the qeth device is in state DOWN or HARDSETUP. A recovery switches from state SOFTSETUP to HARDSETUP to DOWN to HARDSETUP and back to SOFTSETUP. If open and recover are running concurrently, open fails if it hits the states HARDSETUP or DOWN. This patch inserts waiting for recovery finish in the qeth open functions to enable successful qeth device opening in spite of a running recovery. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit aa0adb1a85e159cf57f0e11282bc6c9e3606a5f3 Author: Sven Eckelmann Date: Sat Jan 15 14:39:43 2011 +0000 batman-adv: Use "__attribute__" shortcut macros Linux 2.6.21 defines different macros for __attribute__ which are also used inside batman-adv. The next version of checkpatch.pl warns about the usage of __attribute__((packed))). Linux 2.6.33 defines an extra macro __always_unused which is used to assist source code analyzers and can be used to removed the last existing __attribute__ inside the source code. Signed-off-by: Sven Eckelmann commit 40c1001792de63e0f90e977eb05393fd71f78692 Author: Mimi Zohar Date: Mon Dec 20 12:37:18 2010 -0500 trusted-keys: free memory bugfix Add missing kfree(td) in tpm_seal() before the return, freeing td on error paths as well. Reported-by: Dan Carpenter Signed-off-by: Mimi Zohar Acked-by: David Safford Acked-by: David Howells Signed-off-by: Serge Hallyn Signed-off-by: James Morris commit df6212529c646710502657b18d8f42927f3dda81 Author: Greg Kroah-Hartman Date: Thu Jan 13 14:47:04 2011 -0800 tty: update MAINTAINERS file due to driver movement This fixes up the MAINTAINERS file due to moving the serial drivers to the drivers/tty/ directory. Signed-off-by: Greg Kroah-Hartman commit ed7809d9c41b514115ddffaa860694393c2016b3 Author: Jesper Juhl Date: Thu Jan 13 21:53:38 2011 +0100 batman-adv: Even Batman should not dereference NULL pointers There's a problem in net/batman-adv/unicast.c::frag_send_skb(). dev_alloc_skb() allocates memory and may fail, thus returning NULL. If this happens we'll pass a NULL pointer on to skb_split() which in turn hands it to skb_split_inside_header() from where it gets passed to skb_put() that lets skb_tail_pointer() play with it and that function dereferences it. And thus the bat dies. While I was at it I also moved the call to dev_alloc_skb() above the assignment to 'unicast_packet' since there's no reason to do that assignment if the memory allocation fails. Signed-off-by: Jesper Juhl Signed-off-by: Sven Eckelmann commit 82694f764dad783a123394e2220b92b9be721b43 Author: Luciano Coelho Date: Wed Jan 12 15:18:11 2011 +0200 mac80211: use maximum number of AMPDU frames as default in BA RX When the buffer size is set to zero in the block ack parameter set field, we should use the maximum supported number of subframes. The existing code was bogus and was doing some unnecessary calculations that lead to wrong values. Thanks Johannes for helping me figure this one out. Cc: stable@kernel.org Cc: Johannes Berg Signed-off-by: Luciano Coelho Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 681c4d07dd5b2ce2ad9f6dbbf7841e479fbc7754 Author: Johannes Berg Date: Wed Jan 12 13:40:33 2011 +0100 mac80211: fix lockdep warning Since the introduction of the fixes for the reorder timer, mac80211 will cause lockdep warnings because lockdep confuses local->skb_queue and local->rx_skb_queue and treats their lock as the same. However, their locks are different, and are valid in different contexts (the former is used in IRQ context, the latter in BH only) and the only thing to be done is mark the former as a different lock class so that lockdep can tell the difference. Reported-by: Larry Finger Reported-by: Sujith Reported-by: Miles Lane Tested-by: Sujith Tested-by: Johannes Berg Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8d661f1e462d50bd83de87ee628aaf820ce3c66c Author: Amitkumar Karwar Date: Tue Jan 11 16:14:24 2011 -0800 ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro It is defined in include/linux/ieee80211.h. As per IEEE spec. bit6 to bit15 in block ack parameter represents buffer size. So the bitmask should be 0xFFC0. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Cc: stable@kernel.org Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit ccbd4d412dde4b7e858159e5cc8ba7ee4a6cac07 Author: Jesper Juhl Date: Tue Jan 11 00:47:44 2011 +0100 rt2x00: Don't leak mem in error path of rt2x00lib_request_firmware() We need to release_firmware() in order not to leak memory. Signed-off-by: Jesper Juhl Acked-by: Ivo van Doorn Acked-by: Pekka Enberg Signed-off-by: John W. Linville commit 35b3ac470b982ded560e1b2ec9206a8d186c3459 Author: Axel Lin Date: Mon Jan 10 10:26:00 2011 +0800 iwmc3200wifi: Return proper error for iwm_if_alloc In the case of alloc_netdev_mq failure and kmalloc failure, current implementation returns ERR_PTR(0). As a result, the caller of iwm_if_alloc does not catch the error by IS_ERR macro. Fix it by setting proper error code for ret variable in the failure cases. Signed-off-by: Axel Lin Signed-off-by: John W. Linville commit ab4382d27412e7e3e7c936e8d50d8888dfac3df8 Author: Greg Kroah-Hartman Date: Thu Jan 13 12:10:18 2011 -0800 tty: move drivers/serial/ to drivers/tty/serial/ The serial drivers are really just tty drivers, so move them to drivers/tty/ to make things a bit neater overall. This is part of the tty/serial driver movement proceedure as proposed by Arnd Bergmann and approved by everyone involved a number of months ago. Cc: Arnd Bergmann Cc: Alan Cox Cc: Geert Uytterhoeven Cc: Rogier Wolff Cc: Michael H. Warfield Signed-off-by: Greg Kroah-Hartman commit 728674a7e466628df2aeec6d11a2ae1ef968fb67 Author: Greg Kroah-Hartman Date: Thu Jan 13 12:03:00 2011 -0800 tty: move hvc drivers to drivers/tty/hvc/ As requested by Arnd Bergmann, the hvc drivers are now moved to the drivers/tty/hvc/ directory. The virtio_console.c driver was also moved, as it required the hvc_console.h file to be able to be built, and it really is a hvc driver. Cc: Arnd Bergmann Signed-off-by: Greg Kroah-Hartman commit b49d81ded47e9d01f7128fce50d224ccc2150960 Author: Timur Tabi Date: Thu Oct 14 15:15:30 2010 -0500 powerpc: fix warning when compiling immap_qe.h Fix the warnings genereted by arch/powerpc/include/asm/immap_qe.h when CONFIG_PHYS_ADDR_T_64BIT is defined: immap_qe.h: In function 'immrbar_virt_to_phys': immap_qe.h:472:8: warning: cast from pointer to integer of different size immap_qe.h:472:24: warning: cast from pointer to integer of different size immap_qe.h:473:5: warning: cast from pointer to integer of different size immap_qe.h:473:21: warning: cast from pointer to integer of different size immap_qe.h:474:36: warning: cast from pointer to integer of different size Note that the QE does not support 36-bit physical addresses, so even when CONFIG_PHYS_ADDR_T_64BIT is defined, the QE MURAM must be located below the 4GB boundary. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit b2e0861e51f2961954330dcafe6d148ee3ab5cff Author: Timur Tabi Date: Fri Dec 3 10:52:14 2010 -0600 powerpc/85xx: fix compatible properties of the P1022DS DMA nodes used for audio In order to prevent the fsl_dma driver from claiming the DMA channels that the P1022DS audio driver needs, the compatible properties for those nodes must say "fsl,ssi-dma-channel" instead of "fsl,eloplus-dma-channel". Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit fd066e850351e21d1b385cde35fadf66761bc053 Author: Ilya Yanok Date: Wed Oct 27 02:02:36 2010 +0200 powerpc/mpc8308: fix USB DR controller initialization MPC8308 has ULPI pin muxing settings in SICRH register, bits 17-18 which is different from both MPC8313 and MPC8315. Also MPC8308 doesn't have REFSEL, UTMI_PHY_EN and OTG_PORT fields in the USB DR controller CONTROL register. Signed-off-by: Ilya Yanok Tested-by: Wolfgang Denk Acked-by: Wolfgang Denk Signed-off-by: Kumar Gala commit b5fb0cc7f1c90e3b00d40b64681efcbf8bcdeb9e Author: Shaohui Xie Date: Wed Nov 3 17:36:37 2010 +0800 powerpc/fsl_rio: Fix non-standard HID1 register access Moved setting of RFXE bit so we get machine checks on RIO errors into cpu_setup so that the RIO code isn't core specific. Signed-off-by: Shaohui Xie Cc: Li Yang Cc: Roy Zang Cc: Alexandre Bounine Signed-off-by: Kumar Gala commit 86985db66ea2fda174615be05112a7d1b13645c4 Author: Li Yang Date: Wed Nov 3 17:35:31 2010 +0800 powerpc/85xx: add e500 HID1 bit definition Also make 74xx HID1 definition conditional. Signed-off-by: Li Yang Signed-off-by: Shaohui Xie Cc: Roy Zang Cc: Alexandre Bounine Signed-off-by: Kumar Gala commit f00c9e44ad1a9660fe8cd3ca15b6cd9497172eab Author: Jan Kara Date: Wed Sep 15 17:38:58 2010 +0200 quota: Fix deadlock during path resolution As Al Viro pointed out path resolution during Q_QUOTAON calls to quotactl is prone to deadlocks. We hold s_umount semaphore for reading during the path resolution and resolution itself may need to acquire the semaphore for writing when e. g. autofs mountpoint is passed. Solve the problem by performing the resolution before we get hold of the superblock (and thus s_umount semaphore). The whole thing is complicated by the fact that some filesystems (OCFS2) ignore the path argument. So to distinguish between filesystem which want the path and which do not we introduce new .quota_on_meta callback which does not get the path. OCFS2 then uses this callback instead of old .quota_on. CC: Al Viro CC: Christoph Hellwig CC: Ted Ts'o CC: Joel Becker Signed-off-by: Jan Kara commit 2485b6464cf86a5bc361666838f2439c99c00567 Author: Christoph Lameter Date: Tue Jan 11 18:54:53 2011 +0100 x86,percpu: Move out of place 64 bit ops into X86_64 section Some operations that operate on 64 bit operands are defined for 32 bit. Move them into the correct section. Signed-off-by: Christoph Lameter Signed-off-by: Tejun Heo commit 42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf Author: Tejun Heo Date: Tue Jan 11 15:58:49 2011 +0100 workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn't a noop The nested NOT_RUNNING test in worker_clr_flags() is slightly misleading in that if NOT_RUNNING were a single flag the nested test would be always %true and thus noop. Add a comment noting that the test isn't a noop. Signed-off-by: Tejun Heo Cc: Hillf Danton Cc: Andrew Morton commit e159489baa717dbae70f9903770a6a4990865887 Author: Tejun Heo Date: Sun Jan 9 23:32:15 2011 +0100 workqueue: relax lockdep annotation on flush_work() Currently, the lockdep annotation in flush_work() requires exclusive access on the workqueue the target work is queued on and triggers warning if a work is trying to flush another work on the same workqueue; however, this is no longer true as workqueues can now execute multiple works concurrently. This patch adds lock_map_acquire_read() and make process_one_work() hold read access to the workqueue while executing a work and start_flush_work() check for write access if concurrnecy level is one or the workqueue has a rescuer (as only one execution resource - the rescuer - is guaranteed to be available under memory pressure), and read access if higher. This better represents what's going on and removes spurious lockdep warnings which are triggered by fake dependency chain created through flush_work(). * Peter pointed out that flushing another work from a WQ_MEM_RECLAIM wq breaks forward progress guarantee under memory pressure. Condition check accordingly updated. Signed-off-by: Tejun Heo Reported-by: "Rafael J. Wysocki" Tested-by: "Rafael J. Wysocki" Cc: Peter Zijlstra Cc: stable@kernel.org commit 7c63dedcc52c8c1253b1deec387102ef788ed0b4 Author: Stephen Boyd Date: Mon Dec 20 15:00:17 2010 -0800 msm: qsd8x50: Platform data isn't init data Remove the SMC91x platform and resource data from initdata. These will continue to be accessed after init, and must remain available. Signed-off-by: Stephen Boyd Signed-off-by: David Brown commit 6a5b3beff916a19e7672f8c0330b4f82ed367be2 Author: Daniel De Graaf Date: Mon Dec 20 14:56:09 2010 -0800 xenbus: Fix memory leak on release Pending responses were leaked on close. Signed-off-by: Daniel De Graaf Signed-off-by: Jan Beulich Signed-off-by: Jeremy Fitzhardinge commit 7808121b9a1e44ef12fecd49fa6c268f27a150fc Author: Daniel De Graaf Date: Wed Sep 8 18:10:42 2010 -0400 xenbus: avoid zero returns from read() It is possible to get a zero return from read() in instances where the queue is not empty but has no elements with data to deliver to the user. Since a zero return from read is an error indicator, resume waiting or return -EAGAIN (for a nonblocking fd) in this case. Signed-off-by: Daniel De Graaf Signed-off-by: Jeremy Fitzhardinge commit 76ce7618f9a24f7b13958c67f7d5ccfcdab71475 Author: Daniel De Graaf Date: Tue Sep 7 11:42:18 2010 -0400 xenbus: add missing wakeup in concurrent read/write If an application has a dedicated read thread watching xenbus and another thread writes an XS_WATCH message that generates a synthetic "OK" reply, this reply will be enqueued in the buffer without waking up the reader. This can cause a deadlock in the application if it then waits for the read thread to receive the queued message. Signed-off-by: Daniel De Graaf commit e752969f502a511e83f841aa01d6cd332e6d85a0 Author: Daniel De Graaf Date: Tue Sep 7 11:21:52 2010 -0400 xenbus: fix deadlock in concurrent read/write If an application has a dedicated read thread watching xenbus and another thread writes an XS_WATCH message that generates a synthetic "OK" reply, this reply will be enqueued in the buffer without waking up the reader. Signed-off-by: Jeremy Fitzhardinge commit 6d6df2e412297b8047c407b3abcd045a67c96744 Author: Diego Ongaro Date: Wed Sep 1 09:18:54 2010 -0700 xenbus: allow any xenbus command over /proc/xen/xenbus When xenstored is in another domain, we need to be able to send any command over xenbus. This doesn't pose a security problem because its up to xenstored to determine whether a given client is allowed to use a particular command anyway. From linux-2.5.18-xen.hg 68d582b0ad05. Signed-off-by: Jeremy Fitzhardinge commit fb27cfbcbd2865b0e731c4aae47df71778da805e Author: Jeremy Fitzhardinge Date: Wed Aug 25 12:19:53 2010 -0700 xenfs/xenbus: report partial reads/writes correctly copy_(to|from)_user return the number of uncopied bytes, so a successful return is 0, and any non-zero result indicates some degree of failure. Reported-by: "Jun Zhu (Intern)" Signed-off-by: Jeremy Fitzhardinge