commit 5904b3b81d25166e5e39b9727645bb47937618e3 Merge: f3866db b70e4f0 Author: Linus Torvalds Date: Mon Jun 28 12:24:43 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix undeclared ENOSYS in include/linux/tracepoint.h perf record: prevent kill(0, SIGTERM); perf session: Remove threads from tree on PERF_RECORD_EXIT perf/tracing: Fix regression of perf losing kprobe events perf_events: Fix Intel Westmere event constraints perf record: Don't call newt functions when not initialized commit f3866db8f7534ba8bbb342bebcf5ede542035528 Merge: f014d93 4673247 Author: Linus Torvalds Date: Mon Jun 28 12:23:12 2010 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Deal with desc->set_type() changing desc->chip commit f014d937d61f47761f961eba903feb2ffa1793aa Merge: cf91b41 0d98bb2 Author: Linus Torvalds Date: Mon Jun 28 12:18:30 2010 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Prevent compiler from optimising the sched_avg_update() loop sched: Fix over-scheduling bug sched: Fix PROVE_RCU vs cpu_cgroup commit cf91b415c8419513ada650a932bfb32a526d4d98 Merge: e6cb628 3310d4d Author: Linus Torvalds Date: Mon Jun 28 12:18:02 2010 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: nohz: Fix nohz ratelimit commit e6cb6281ef8547fea1243b1c2a4e0f08d9b86ae1 Merge: ab8aadb 8695159 Author: Linus Torvalds Date: Mon Jun 28 12:17:40 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: silence PROVE_RCU in sched_fork() idr: fix RCU lockdep splat in idr_get_next() rcu: apply RCU protection to wake_affine() commit ab8aadbda7d59d4674ef614cba2a67c50667a6af Merge: 8b7231a 499a00e Author: Linus Torvalds Date: Mon Jun 28 12:06:25 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, Calgary: Increase max PHB number x86: Fix rebooting on Dell Precision WorkStation T7400 x86: Fix vsyscall on gcc 4.5 with -Os x86, pat: Proper init of memtype subtree_max_end um, hweight: Fix UML boot crash due to x86 optimized hweight x86, setup: Set ax register in boot vga query percpu, x86: Avoid warnings of unused variables in per cpu x86, irq: Rename gsi_end gsi_top, and fix off by one errors x86: use __ASSEMBLY__ rather than __ASSEMBLER__ commit 8b7231a9c76a321ecf907c1c7beaa8ce1aad3be0 Merge: 9341625 e0fb8c4 Author: Linus Torvalds Date: Mon Jun 28 12:06:00 2010 -0700 Merge branch 'fixes' of ssh://master.kernel.org/~sfr/next-fixes * 'fixes' of ssh://master.kernel.org/~sfr/next-fixes: acpi: update gfp/slab.h includes ocfs2: update gfp/slab.h includes davinci: update gfp/slab.h includes arm: update gfp/slab.h includes v4l-dvb: update gfp/slab.h includes commit 93416253073511716f7e70c06e32c3810c3deac4 Merge: b4322e7 3424bf6 Author: Linus Torvalds Date: Sun Jun 27 22:56:32 2010 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md/raid5: don't include 'spare' drives when reshaping to fewer devices. md/raid5: add a missing 'continue' in a loop. md/raid5: Allow recovered part of partially recovered devices to be in-sync md/raid5: More careful check for "has array failed". md: Don't update ->recovery_offset when reshaping an array to fewer devices. md/raid5: avoid oops when number of devices is reduced then increased. md: enable raid4->raid0 takeover md: clear layout after ->raid0 takeover md: fix raid10 takeover: use new_layout for setup_conf md: fix handling of array level takeover that re-arranges devices. md: raid10: Fix null pointer dereference in fix_read_error() Restore partition detection of newly created md arrays. commit e0fb8c418520b41d57667befdb8861c46cdf69e0 Author: Tejun Heo Date: Tue Mar 30 02:52:44 2010 +0900 acpi: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: Len Brown Signed-off-by: Stephen Rothwell commit 327f935a9ef644c0ec3d050c94bce753756d60c0 Author: Tejun Heo Date: Tue Mar 30 02:52:32 2010 +0900 ocfs2: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: Joel Becker Signed-off-by: Stephen Rothwell commit f244f31a0d31402c2c1b1950108e0013353cc3f3 Author: Tejun Heo Date: Tue Mar 30 02:52:36 2010 +0900 davinci: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: Kevin Hilman Signed-off-by: Stephen Rothwell commit 68aaae9e95199d2bc46a9e8e3670e403b4a3fe75 Author: Tejun Heo Date: Tue Mar 30 02:52:45 2010 +0900 arm: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: Russell King Signed-off-by: Stephen Rothwell commit 4ef09889d7b4c7be2aa3e132efb77029f51c95b7 Author: Tejun Heo Date: Tue Mar 30 02:52:33 2010 +0900 v4l-dvb: update gfp/slab.h includes Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: Mauro Carvalho Chehab Signed-off-by: Stephen Rothwell commit b4322e7057ca851b0a3e15f29e26806efeada100 Merge: 31cafd9 9983b6f Author: Linus Torvalds Date: Sun Jun 27 11:33:44 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: fix first chunk match in per_cpu_ptr_to_phys() percpu: fix trivial bugs in pcpu_build_alloc_info() commit 31cafd958932a90174118ad062fdc37ffb6bf31c Merge: e7865c2 e2f5b04 Author: Linus Torvalds Date: Sun Jun 27 11:28:02 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (52 commits) phylib: Add autoload support for the LXT973 phy. ISDN: hysdn, fix potential NULL dereference vxge: fix memory leak in vxge_alloc_msix() error path isdn/gigaset: correct CAPI connection state storage isdn/gigaset: encode HLC and BC together isdn/gigaset: correct CAPI DATA_B3 Delivery Confirmation isdn/gigaset: correct CAPI voice connection encoding isdn/gigaset: honor CAPI application's buffer size request cpmac: do not leak struct net_device on phy_connect errors smc91c92_cs: fix the problem that lan & modem does not work simultaneously ipv6: fix NULL reference in proxy neighbor discovery Bluetooth: Bring back var 'i' increment xfrm: check bundle policy existance before dereferencing it sky2: enable rx/tx in sky2_phy_reinit() cnic: Disable statistics initialization for eth clients that do not support statistics net: add dependency on fw class module to qlcnic and netxen_nic snmp: fix SNMP_ADD_STATS() hso: remove setting of low_latency flag udp: Fix bogus UFO packet generation lasi82596: fix netdev_mc_count conversion ... commit e7865c234fff2db474f21a62b2f906a70317c972 Merge: bf29376 d3f6baa Author: Linus Torvalds Date: Sun Jun 27 09:04:02 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFSv4: Fix an embarassing typo in encode_attrs() NFSv4: Ensure that /proc/self/mountinfo displays the minor version number NFSv4.1: Ensure that we initialise the session when following a referral SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() nfs4 use mandatory attribute file type in nfs4_get_root commit bf2937695fe2330bfd8933a2310e7bdd2581dc2e Merge: 1a5f20f 5967d33 Author: Linus Torvalds Date: Sun Jun 27 08:18:20 2010 -0700 Merge branch 'sh/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: clocksource: sh_cmt: Fix up bogus shift value. arch/sh/mm: Eliminate a double lock sh: Fix up IORESOURCE_PCI_FIXED usage in pcibios_fixup_device_resources(). sh: remove duplicated #include commit 1a5f20fe197f814fc0b29173894a706f478db821 Merge: 55982d9 3267a87 Author: Linus Torvalds Date: Sun Jun 27 08:03:00 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: MAINTAINERS - Add an entry for the input MT protocol Input: wacom - fix serial number handling on Cintiq 21UX2 Input: fixup X86_MRST selects Input: sysrq - fix "stuck" SysRq mode Input: ad7877 - fix spi word size to 16 bit Input: pcf8574_keypad - fix off by one in pcf8574_kp_irq_handler() commit 55982d94009c8fb1ea79855dba0c079c36224c38 Merge: a7b9172 30e2bab Author: Linus Torvalds Date: Sun Jun 27 07:50:47 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: ext3: update ctime when changing the file's permission by setfacl ext2: update ctime when changing the file's permission by setfacl commit a7b917256d8afacadc614414c4b0d411f76f3747 Merge: dee70a3 b03214d Author: Linus Torvalds Date: Sun Jun 27 07:49:45 2010 -0700 Merge branch 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6 * 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6: virtio-pci: disable msi at startup virtio: return ENOMEM on out of memory commit dee70a32fa90cd05a5e34d03a48d549473569101 Merge: 29ccb20 b27759f Author: Linus Torvalds Date: Sun Jun 27 07:41:04 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI/PM: Do not use native PCIe PME by default commit 29ccb201a28f20885c90954152db8421a2efe779 Merge: d94b204 d69f309 Author: Linus Torvalds Date: Sun Jun 27 07:39:57 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: usb/endpoint, fix dangling pointer use ALSA: asihpi - Get rid of incorrect "long" types and casts. ASoC: DaVinci: Fix McASP hardware FIFO configuration ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2 ALSA: usb-audio: fix UAC2 control value queries ALSA: usb-audio: parse UAC2 sample rate ranges correctly ALSA: usb-audio: fix control messages for USB_RECIP_INTERFACE ALSA: usb-audio: add check for faulty clock in parse_audio_format_rates_v2() ALSA: hda - Don't check capture source mixer if no ADC is available commit d94b20497b419e8394654f995f94742bd6b06640 Merge: 064c946 cd4de21 Author: Linus Torvalds Date: Sun Jun 27 07:39:38 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (k8temp) Bypass core swapping on single-core processors hwmon: (i5k_amb) Fix sysfs attribute for lockdep hwmon: (k10temp) Do not blacklist known working CPU models commit 064c946a0cda77057277d5758f259b54484cfc5a Merge: e6d1336 f1f5bda Author: Linus Torvalds Date: Sun Jun 27 07:38:20 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: watchdog: at32ap700x_wdt: register misc device last in probe() function watchdog: [PATCH 3/3] imx2_wdt: fix section mismatch commit e6d133618836f317f5a2be657f768e56552b9419 Merge: 7f60745 2d9e667 Author: Linus Torvalds Date: Sun Jun 27 07:37:51 2010 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions. intel-iommu: Fix double lock in get_domain_for_dev() intel-iommu: Fix reference by physical address in intel_iommu_attach_device() commit 7f607455c3b91fec267c48a4177526cbb5e501f4 Merge: be1d29f bc092a3 Author: Linus Torvalds Date: Sun Jun 27 07:36:16 2010 -0700 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: OMAP: OMAPFB: fix rfbi.c compile error OMAPFB: LCDC: change update_mode to DISABLED when going suspend commit be1d29f59ca3ec7dfbbae24d4f68d357f5a31c4b Merge: 24eb90a 51223df Author: Linus Torvalds Date: Sun Jun 27 07:34:02 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: MAINTAINERS: change mailing list address for CIFS cifs: remove bogus first_time check in NTLMv2 session setup code cifs: don't call cifs_new_fileinfo unless cifs_open succeeds cifs: don't ignore cifs_posix_open_inode_helper return value cifs: clean up arguments to cifs_open_inode_helper cifs: pass instantiated filp back after open call cifs: move cifs_new_fileinfo call out of cifs_posix_open cifs: implement drop_inode superblock op cifs: don't attempt busy-file rename unless it's in same directory commit 24eb90abdd54446da5afe71f7c264fe26cfc5659 Merge: ddc39f9 2b07be2 Author: Linus Torvalds Date: Sun Jun 27 07:30:25 2010 -0700 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 * 'merge' of git://git.secretlab.ca/git/linux-2.6: powerpc/5200: fix lite5200 ethernet phy address powerpc/5200: Fix build error in sound code. powerpc/5200: fix oops during going to standby powerpc/5200: add lite5200 onboard I2C eeprom and flash maintainers: Add git trees for SPI and device tree of: Drop properties with "/" in their name commit ddc39f90a956b1ce49213e057d32fc94253e20f6 Merge: 1929cef 84cc153 Author: Linus Torvalds Date: Sun Jun 27 07:29:19 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6: alpha: Fix de2104x driver failing to readout MAC address correctly alpha: Detect Super IO chip, no IDE on Avanti, enable EPP19 alpha: fix pci_mmap_resource API breakage alpha: fix __arch_hweight32 typo commit 1929cef46fb057377e43a3d594404f1432db4934 Merge: b5edfef 7c9d936 Author: Linus Torvalds Date: Sun Jun 27 07:15:53 2010 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix mpic_resume on early G5 macs powerpc: rtas_flash needs to use rtas_data_buf powerpc: Unconditionally enabled irq stacks powerpc/kexec: Wait for online/possible CPUs only. powerpc: Disable CONFIG_SYSFS_DEPRECATED powerpc/boot: Remove addRamdisk.c since it is now unused powerpc: Move kdump default base address to 64MB on 64bit powerpc: Remove dead CONFIG_HIGHPTE powerpc/fsl-booke: Move loadcam_entry back to asm code to fix SMP ftrace powerpc/fsl-booke: Fix InstructionTLBError execute permission check commit b5edfefc65526b34960bbff3477ded477b0328f6 Merge: b14db7a 02a077c Author: Linus Torvalds Date: Sun Jun 27 07:13:13 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: TPM: ReadPubEK output struct fix commit b14db7abe3501524fd2b1b4ab328239cde42f567 Merge: 02c646e d5eda75 Author: Linus Torvalds Date: Sun Jun 27 07:05:02 2010 -0700 Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: fix LOCALVERSION handling to match description kbuild: Fix modpost segfault commit 02c646ef4e9040aa538fa6ed22bb3fb502df5a77 Merge: 4303ef1 2cebc5e Author: Linus Torvalds Date: Sun Jun 27 07:03:12 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI / PM: Do not enable GPEs for system wakeup in advance ACPICA: Truncate I/O addresses to 16 bits for Windows compatibility ACPICA: Limit maximum time for Sleep() operator ACPICA: Fix namestring associated with AE_NO_HANDLER exception ACPI / ACPICA: Fix sysfs GPE interface ACPI / ACPICA: Fix GPE initialization ACPI / ACPICA: Avoid writing full enable masks to GPE registers ACPI / ACPICA: Fix low-level GPE manipulation code ACPI / ACPICA: Use helper function for computing GPE masks ACPI / ACPICA: Do not attempt to disable GPE when installing handler ACPI: Disable Vista compatibility for Sony VGN-NS50B_L ACPI: fan: fix unbalanced code block ACPI: Store NVS state even when entering suspend to RAM suspend: Move NVS save/restore code to generic suspend functionality ACPI: Do not try to set up acpi processor stuff on cores exceeding maxcpus= ACPI: acpi_pad: Don't needlessly mark LAPIC unstable commit 4303ef19c6e6d16ea845c04b02b9cf086bcb8ed7 Author: Dan Carpenter Date: Fri Jun 11 17:30:05 2010 +0100 KEYS: Propagate error code instead of returning -EINVAL This is from a Smatch check I'm writing. strncpy_from_user() returns -EFAULT on error so the first change just silences a warning but doesn't change how the code works. The other change is a bug fix because install_thread_keyring_to_cred() can return a variety of errors such as -EINVAL, -EEXIST, -ENOMEM or -EKEYREVOKED. Signed-off-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e2f5b04563786d4b7d7648868de7e941a0649372 Author: David Woodhouse Date: Tue Jun 22 02:38:13 2010 +0000 phylib: Add autoload support for the LXT973 phy. Commit e13647c1 (phylib: Add support for the LXT973 phy.) added a new ID but neglected to also add it to the MODULE_DEVICE_TABLE. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit d41de3c10047d5f0b661593a8f4610a19f87621f Author: Jiri Slaby Date: Tue Jun 22 01:41:36 2010 +0000 ISDN: hysdn, fix potential NULL dereference Stanse found that lp is dereferenced earlier than checked for being NULL in hysdn_rx_netpkt. Move the initialization below the test. Signed-off-by: Jiri Slaby Cc: Karsten Keil Cc: "David S. Miller" Cc: Stephen Hemminger Cc: Patrick McHardy Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit cc413d9097dfc6237f37dcaf52346db1061a6119 Author: Michal Schmidt Date: Thu Jun 24 04:13:44 2010 +0000 vxge: fix memory leak in vxge_alloc_msix() error path When pci_enable_msix() returned ret<0, entries and vxge_entries were leaked. While at it, use the centralized exit idiom in the function. Signed-off-by: Michal Schmidt Acked-by: Ram Vepa Signed-off-by: David S. Miller commit 1b4843c5e8cbab86830da8a53b8288882060c059 Author: Tilman Schmidt Date: Mon Jun 21 13:55:20 2010 +0000 isdn/gigaset: correct CAPI connection state storage CAPI applications can handle several connections in parallel, so one connection state per application isn't sufficient. Store the connection state in the channel structure instead. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 1ce368ff288ed872a8fee93b8a2b7706111feb9a Author: Tilman Schmidt Date: Mon Jun 21 13:55:05 2010 +0000 isdn/gigaset: encode HLC and BC together Adapt to buggy device firmware which accepts setting HLC only in the same command line as BC, by encoding HLC and BC in a single command if both are specified, and rejecting HLC without BC. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 23b36778b4c82577746d26e4ac0ae66c6f462475 Author: Tilman Schmidt Date: Mon Jun 21 13:54:50 2010 +0000 isdn/gigaset: correct CAPI DATA_B3 Delivery Confirmation The Gigaset CAPI driver handled all DATA_B3_REQ messages as if the Delivery Confirmation flag bit was set, delaying the emission of the DATA_B3_CONF reply until the data was actually transmitted. Some CAPI applications (notably Asterisk) aren't happy with that behaviour. Change it to actually evaluate the Delivery Confirmation flag as described the CAPI specification. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 278a582989ade4cb5335762d6c5999562018859d Author: Tilman Schmidt Date: Mon Jun 21 13:54:35 2010 +0000 isdn/gigaset: correct CAPI voice connection encoding Make the Gigaset CAPI driver select L2_VOICE (AT^SBPR=2) as the layer 2 encoding for transparent connections, like the ISDN4Linux variant. L2_BITSYNC (AT^SBPR=0) mutes internal connections and distorts external ones. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit e7752ee280608a24e27f163641121bdc2c68d6af Author: Tilman Schmidt Date: Mon Jun 21 13:54:19 2010 +0000 isdn/gigaset: honor CAPI application's buffer size request Fix the Gigaset CAPI driver to limit the length of a connection's payload data receive buffers to the corresponding CAPI application's data buffer size, as some real-life CAPI applications tend to be rather unhappy if they receive bigger data blocks than requested. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit ed770f01360b392564650bf1553ce723fa46afec Author: Florian Fainelli Date: Sun Jun 20 22:07:48 2010 +0000 cpmac: do not leak struct net_device on phy_connect errors If the call to phy_connect fails, we will return directly instead of freeing the previously allocated struct net_device. Signed-off-by: Florian Fainelli CC: stable@kernel.org Signed-off-by: David S. Miller commit 9735b7ef005aaef5e5905cddba893f8725cd8867 Author: Ken Kawasaki Date: Sat Jun 19 15:24:27 2010 +0000 smc91c92_cs: fix the problem that lan & modem does not work simultaneously smc91c92_cs: Fix the problem that lan & modem does not work simultaneously in the Megahertz multi-function card. We need to write MEGAHERTZ_ISR to retrigger interrupt. Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 9f888160bdcccf0565dd2774956b8d9456e610be Author: stephen hemminger Date: Mon Jun 21 11:00:13 2010 +0000 ipv6: fix NULL reference in proxy neighbor discovery The addition of TLLAO option created a kernel OOPS regression for the case where neighbor advertisement is being sent via proxy path. When using proxy, ipv6_get_ifaddr() returns NULL causing the NULL dereference. Change causing the bug was: commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50 Author: Octavian Purdila Date: Fri Oct 2 11:39:15 2009 +0000 make TLLAO option for NA packets configurable Signed-off-by: Stephen Hemminger Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 499a00e92dd9a75395081f595e681629eb1eebad Author: Darrick J. Wong Date: Thu Jun 24 14:26:47 2010 -0700 x86, Calgary: Increase max PHB number Newer systems (x3950M2) can have 48 PHBs per chassis and 8 chassis, so bump the limits up and provide an explanation of the requirements for each class. Signed-off-by: Darrick J. Wong Acked-by: Muli Ben-Yehuda Cc: Corinna Schultz Cc: LKML-Reference: <20100624212647.GI15515@tux1.beaverton.ibm.com> [ v2: Fixed build bug, added back PHBS_PER_CALGARY == 4 ] Signed-off-by: Ingo Molnar commit 0d98bb2656e9bd2dfda2d089db1fe1dbdab41504 Author: Will Deacon Date: Mon May 24 12:11:43 2010 -0700 sched: Prevent compiler from optimising the sched_avg_update() loop GCC 4.4.1 on ARM has been observed to replace the while loop in sched_avg_update with a call to uldivmod, resulting in the following build failure at link-time: kernel/built-in.o: In function `sched_avg_update': kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod' kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod' make: *** [.tmp_vmlinux1] Error 1 This patch introduces a fake data hazard to the loop body to prevent the compiler optimising the loop away. Signed-off-by: Will Deacon Signed-off-by: Andrew Morton Acked-by: Peter Zijlstra Cc: Catalin Marinas Cc: Russell King Cc: Linus Torvalds Cc: Signed-off-by: Ingo Molnar commit 1a61a83ff59378a5613d8c706c4a660c353b62a8 Author: Gustavo F. Padovan Date: Fri Jun 18 14:24:00 2010 +0000 Bluetooth: Bring back var 'i' increment commit ff6e2163f28a1094fb5ca5950fe2b43c3cf6bc7a accidentally added a regression on the bnep code. Fixing it. Signed-off-by: Gustavo F. Padovan Signed-off-by: David S. Miller commit 3267a87f9dc38d036571ff0880533d9ae8989f01 Author: Henrik Rydberg Date: Thu Jun 24 19:10:40 2010 -0700 MAINTAINERS - Add an entry for the input MT protocol This patch adds a maintainer for the input multitouch (MT) protocol, such that get_maintainer.pl selects it whenever an MT event is present in the patch. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 30e2bab2d6e22188c6d36a09cdcffb4748d2dbe5 Author: Miao Xie Date: Thu May 27 16:28:40 2010 +0800 ext3: update ctime when changing the file's permission by setfacl ext3 didn't update the ctime of the file when its permission was changed. Steps to reproduce: # touch aaa # stat -c %Z aaa 1275289822 # setfacl -m 'u::x,g::x,o::x' aaa # stat -c %Z aaa 1275289822 <- unchanged But, according to the spec of the ctime, ext3 must update it. Signed-off-by: Miao Xie Signed-off-by: Jan Kara commit 523825bc586d19e0fbcfc5db717f5bb90108bbc3 Author: Jan Kara Date: Wed Jun 2 16:26:51 2010 +0200 ext2: update ctime when changing the file's permission by setfacl ext2 didn't update the ctime of the file when its permission was changed. Steps to reproduce: # touch aaa # stat -c %Z aaa 1275289822 # setfacl -m 'u::x,g::x,o::x' aaa # stat -c %Z aaa 1275289822 <- unchanged But, according to the spec of the ctime, ext2 must update it. Port of ext3 patch by Miao Xie . Signed-off-by: Jan Kara commit b1312c89f0016f778cac4f1536f1434e132f8713 Author: Timo Teräs Date: Thu Jun 24 14:35:00 2010 -0700 xfrm: check bundle policy existance before dereferencing it Fix the bundle validation code to not assume having a valid policy. When we have multiple transformations for a xfrm policy, the bundle instance will be a chain of bundles with only the first one having the policy reference. When policy_genid is bumped it will expire the first bundle in the chain which is equivalent of expiring the whole chain. Reported-bisected-and-tested-by: Justin P. Mattock Signed-off-by: Timo Teräs Signed-off-by: David S. Miller commit 3424bf6a772cff606fc4bc24a3639c937afb547f Author: NeilBrown Date: Thu Jun 17 17:48:26 2010 +1000 md/raid5: don't include 'spare' drives when reshaping to fewer devices. There are few situations where it would make any sense to add a spare when reducing the number of devices in an array, but it is conceivable: A 6 drive RAID6 with two missing devices could be reshaped to a 5 drive RAID6, and a spare could become available just in time for the reshape, but not early enough to have been recovered first. 'freezing' recovery can make this easy to do without any races. However doing such a thing is a bad idea. md will not record the partially-recovered state of the 'spare' and when the reshape finished it will think that the spare is still spare. Easiest way to avoid this confusion is to simply disallow it. Signed-off-by: NeilBrown commit 2f115882499f3e5eca33d1df07b8876cc752a1ff Author: NeilBrown Date: Thu Jun 17 17:41:03 2010 +1000 md/raid5: add a missing 'continue' in a loop. As the comment says, the tail of this loop only applies to devices that are not fully in sync, so if In_sync was set, we should avoid the rest of the loop. This bug will hardly ever cause an actual problem. The worst it can do is allow an array to be assembled that is dirty and degraded, which is not generally a good idea (without warning the sysadmin first). This will only happen if the array is RAID4 or a RAID5/6 in an intermediate state during a reshape and so has one drive that is all 'parity' - no data - while some other device has failed. This is certainly possible, but not at all common. Signed-off-by: NeilBrown commit 415e72d034c50520ddb7ff79e7d1792c1306f0c9 Author: NeilBrown Date: Thu Jun 17 17:25:21 2010 +1000 md/raid5: Allow recovered part of partially recovered devices to be in-sync During a recovery of reshape the early part of some devices might be in-sync while the later parts are not. We we know we are looking at an early part it is good to treat that part as in-sync for stripe calculations. This is particularly important for a reshape which suffers device failure. Treating the data as in-sync can mean the difference between data-safety and data-loss. Signed-off-by: NeilBrown commit 674806d62fb02a22eea948c9f1b5e58e0947b728 Author: NeilBrown Date: Wed Jun 16 17:17:53 2010 +1000 md/raid5: More careful check for "has array failed". When we are reshaping an array, the device failure combinations that cause us to decide that the array as failed are more subtle. In particular, any 'spare' will be fully in-sync in the section of the array that has already been reshaped, thus failures that affect only that section are less critical. So encode this subtlety in a new function and call it as appropriate. The case that showed this problem was a 4 drive RAID5 to 8 drive RAID6 conversion where the last two devices failed. This resulted in: good good good good incomplete good good failed failed while converting a 5-drive RAID6 to 8 drive RAID5 The incomplete device causes the whole array to look bad, bad as it was actually good for the section that had been converted to 8-drives, all the data was actually safe. Reported-by: Terry Morris Signed-off-by: NeilBrown commit 70fffd0bfab1558a8c64c5e903dea1fb84cd9f6b Author: NeilBrown Date: Wed Jun 16 17:01:25 2010 +1000 md: Don't update ->recovery_offset when reshaping an array to fewer devices. When an array is reshaped to have fewer devices, the reshape proceeds from the end of the devices to the beginning. If a device happens to be non-In_sync (which is possible but rare) we would normally update the ->recovery_offset as the reshape progresses. However that would be wrong as the recover_offset records that the early part of the device is in_sync, while in fact it would only be the later part that is in_sync, and in any case the offset number would be measured from the wrong end of the device. Relatedly, if after a reshape a spare is discovered to not be recoverred all the way to the end, not allow spare_active to incorporate it in the array. This becomes relevant in the following sample scenario: A 4 drive RAID5 is converted to a 6 drive RAID6 in a combined operation. The RAID5->RAID6 conversion will cause a 5 drive to be included as a spare, then the 5drive -> 6drive reshape will effectively rebuild that spare as it progresses. The 6th drive is treated as in_sync the whole time as there is never any case that we might consider reading from it, but must not because there is no valid data. If we interrupt this reshape part-way through and reverse it to return to a 5-drive RAID6 (or event a 4-drive RAID5), we don't want to update the recovery_offset - as that would be wrong - and we don't want to include that spare as active in the 5-drive RAID6 when the reversed reshape completed and it will be mostly out-of-sync still. Signed-off-by: NeilBrown commit e4e11e385d1e5516ac76c956d6c25e6c2fa1b8d0 Author: NeilBrown Date: Wed Jun 16 16:45:16 2010 +1000 md/raid5: avoid oops when number of devices is reduced then increased. The entries in the stripe_cache maintained by raid5 are enlarged when we increased the number of devices in the array, but not shrunk when we reduce the number of devices. So if entries are added after reducing the number of devices, we much ensure to initialise the whole entry, not just the part that is currently relevant. Otherwise if we enlarge the array again, we will reference uninitialised values. As grow_buffers/shrink_buffer now want to use a count that is stored explicity in the raid_conf, they should get it from there rather than being passed it as a parameter. Signed-off-by: NeilBrown commit 049d6c1ef983c9ac43aa423dfd752071a5b0002d Author: Maciej Trela Date: Wed Jun 16 11:56:12 2010 +0100 md: enable raid4->raid0 takeover Only level 5 with layout=PARITY_N can be taken over to raid0 now. Lets allow level 4 either. Signed-off-by: Maciej Trela Signed-off-by: NeilBrown commit 001048a318d48e93cb6a1246f3b20335b2a7c855 Author: Maciej Trela Date: Wed Jun 16 11:55:14 2010 +0100 md: clear layout after ->raid0 takeover After takeover from raid5/10 -> raid0 mddev->layout is not cleared. Signed-off-by: Maciej Trela Signed-off-by: NeilBrown commit f73ea87375a1b2bf6c0be82bb9a3cb9d5ee7a407 Author: Maciej Trela Date: Wed Jun 16 11:46:29 2010 +0100 md: fix raid10 takeover: use new_layout for setup_conf Use mddev->new_layout in setup_conf. Also use new_chunk, and don't set ->degraded in takeover(). That gets set in run() Signed-off-by: Maciej Trela Signed-off-by: NeilBrown commit e93f68a1fc6244c05ad8fae28e75835ec74ab34e Author: NeilBrown Date: Tue Jun 15 09:36:03 2010 +0100 md: fix handling of array level takeover that re-arranges devices. Most array level changes leave the list of devices largely unchanged, possibly causing one at the end to become redundant. However conversions between RAID0 and RAID10 need to renumber all devices (except 0). This renumbering is currently being done in the ->run method when the new personality takes over. However this is too late as the common code in md.c might already have invalidated some of the devices if they had a ->raid_disk number that appeared to high. Moving it into the ->takeover method is too early as the array is still active at that time and wrong ->raid_disk numbers could cause confusion. So add a ->new_raid_disk field to mdk_rdev_s and use it to communicate the new raid_disk number. Now the common code knows exactly which devices need to be renumbered, and which can be invalidated, and can do it all at a convenient time when the array is suspend. It can also update some symlinks in sysfs which previously were not be updated correctly. Reported-by: Maciej Trela Signed-off-by: NeilBrown commit 0544a21db02c1d8883158fd6f323364f830a120a Author: Prasanna S. Panchamukhi Date: Thu Jun 24 13:31:03 2010 +1000 md: raid10: Fix null pointer dereference in fix_read_error() Such NULL pointer dereference can occur when the driver was fixing the read errors/bad blocks and the disk was physically removed causing a system crash. This patch check if the rcu_dereference() returns valid rdev before accessing it in fix_read_error(). Cc: stable@kernel.org Signed-off-by: Prasanna S. Panchamukhi Signed-off-by: Rob Becker Signed-off-by: NeilBrown commit f3b99be19ded511a1bf05a148276239d9f13eefa Author: NeilBrown Date: Thu Jun 24 13:31:03 2010 +1000 Restore partition detection of newly created md arrays. Commit b821eaa572fd737faaf6928ba046e571526c36c6 broke partition detection for md arrays. The logic was almost right. However if revalidate_disk is called when the device is not yet open, bdev->bd_disk won't be set, so the flush_disk() Call will not set bd_invalidated. So when md_open is called we still need to ensure that ->bd_invalidated gets set. This is easily done with a call to check_disk_size_change in the place where the offending commit removed check_disk_change. At the important times, the size will have changed from 0 to non-zero, so check_disk_size_change will set bd_invalidated. Tested-by: Duncan <1i5t5.duncan@cox.net> Reported-by: Duncan <1i5t5.duncan@cox.net> Signed-off-by: NeilBrown commit 8695159967957015f8dfb49315d6f88e111d90e0 Author: Peter Zijlstra Date: Tue Jun 22 11:44:53 2010 +0200 sched: silence PROVE_RCU in sched_fork() Because cgroup_fork() is ran before sched_fork() [ from copy_process() ] and the child's pid is not yet visible the child is pinned to its cgroup. Therefore we can silence this warning. A nicer solution would be moving cgroup_fork() to right after dup_task_struct() and exclude PF_STARTING from task_subsys_state(). Signed-off-by: Peter Zijlstra Reviewed-by: Li Zefan Signed-off-by: Paul E. McKenney commit 38000a94a902e94ca8b5498f7871c6316de8957a Author: Brandon Philips Date: Wed Jun 16 16:21:58 2010 +0000 sky2: enable rx/tx in sky2_phy_reinit() sky2_phy_reinit is called by the ethtool helpers sky2_set_settings, sky2_nway_reset and sky2_set_pauseparam when netif_running. However, at the end of sky2_phy_init GM_GP_CTRL has GM_GPCR_RX_ENA and GM_GPCR_TX_ENA cleared. So, doing these commands causes the device to stop working: $ ethtool -r eth0 $ ethtool -A eth0 autoneg off Fix this issue by enabling Rx/Tx after running sky2_phy_init in sky2_phy_reinit. Signed-off-by: Brandon Philips Tested-by: Brandon Philips Cc: stable@kernel.org Tested-by: Mike McCormack Signed-off-by: David S. Miller commit 51223df6c33d2d774429aef5fe8ae666401124b0 Author: Jeff Layton Date: Sun Jun 6 08:05:58 2010 -0400 MAINTAINERS: change mailing list address for CIFS We're moving the mailing list to linux-cifs@vger.kernel.org. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6b2a541db58dba5860ccbcfaf36caee064b8a9fd Author: Dmitry Kravkov Date: Wed Jun 23 11:57:09 2010 -0700 cnic: Disable statistics initialization for eth clients that do not support statistics Disable statistics initialization for eth clients that do not support statistics. This prevents memory corruption on bnx2x hw. Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: Eilon Greenstein commit 06aeb78b85d8c04af03eb37353aa0df98d3db170 Author: Anirban Chakraborty Date: Wed Jun 23 11:49:42 2010 -0700 net: add dependency on fw class module to qlcnic and netxen_nic netxen_nic and qlcnic driver depends on firmware_class module. Signed-off-by: Anirban Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 8f1c14b2e3b1805d3e9e6a306d07f5371ea703a7 Author: Eric Dumazet Date: Wed Jun 23 00:32:03 2010 +0000 snmp: fix SNMP_ADD_STATS() commit aa2ea0586d9d (tcp: fix outsegs stat for TSO segments) incorrectly assumed SNMP_ADD_STATS() was used from BH context. Fix this using mib[!in_softirq()] instead of mib[0] Signed-off-by: Eric Dumazet CC: Tom Herbert Signed-off-by: David S. Miller commit 94bfa3b6692c7a3f6f119596724204ec975d3ef0 Author: Paul E. McKenney Date: Mon Jun 7 17:09:45 2010 -0700 idr: fix RCU lockdep splat in idr_get_next() Convert to rcu_dereference_raw() given that many callers may have many different locking models. Located-by: Miles Lane Tested-by: Miles Lane Signed-off-by: Paul E. McKenney commit f3b577dec1f2ce32d2db6d2ca6badff7002512af Author: Daniel J Blueman Date: Tue Jun 1 14:06:13 2010 +0100 rcu: apply RCU protection to wake_affine() The task_group() function returns a pointer that must be protected by either RCU, the ->alloc_lock, or the cgroup lock (see the rcu_dereference_check() in task_subsys_state(), which is invoked by task_group()). The wake_affine() function currently does none of these, which means that a concurrent update would be within its rights to free the structure returned by task_group(). Because wake_affine() uses this structure only to compute load-balancing heuristics, there is no reason to acquire either of the two locks. Therefore, this commit introduces an RCU read-side critical section that starts before the first call to task_group() and ends after the last use of the "tg" pointer returned from task_group(). Thanks to Li Zefan for pointing out the need to extend the RCU read-side critical section from that proposed by the original patch. Signed-off-by: Daniel J Blueman Signed-off-by: Paul E. McKenney commit b03214d559471359e2a85ae256686381d0672f29 Author: Michael S. Tsirkin Date: Wed Jun 23 22:49:06 2010 -0600 virtio-pci: disable msi at startup virtio-pci resets the device at startup by writing to the status register, but this does not clear the pci config space, specifically msi enable status which affects register layout. This breaks things like kdump when they try to use e.g. virtio-blk. Fix by forcing msi off at startup. Since pci.c already has a routine to do this, we export and use it instead of duplicating code. Signed-off-by: Michael S. Tsirkin Tested-by: Vivek Goyal Acked-by: Jesse Barnes Cc: linux-pci@vger.kernel.org Signed-off-by: Rusty Russell Cc: stable@kernel.org commit 686d363786a53ed28ee875b84ef24e6d5126ef6f Author: Michael S. Tsirkin Date: Thu Jun 10 18:16:11 2010 +0300 virtio: return ENOMEM on out of memory add_buf returns ring size on out of memory, this is not what devices expect. Signed-off-by: Michael S. Tsirkin Acked-by: Amit Shah Signed-off-by: Rusty Russell Cc: stable@kernel.org # .34.x commit 493630b20389b66dc475eb05cfefd33ad98d3741 Author: Ping Cheng Date: Tue Jun 22 11:21:34 2010 -0700 Input: wacom - fix serial number handling on Cintiq 21UX2 Cintiq 21UX2 added 8 more bits for the tool serial number and more buttons for the expresskey. We did not enable them properly in the last patch. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 0b28bac5aef7bd1ab213723df031e61db9ff151a Author: Randy Dunlap Date: Thu Jun 17 22:31:17 2010 -0700 Input: fixup X86_MRST selects Some of the recent X86_MRST additions make some "select"s conditional on X86_MRST but missed some related kconfig symbols, causing: drivers/built-in.o: In function `ps2_end_command': (.text+0x257ab2): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_end_command': (.text+0x257ae1): undefined reference to `i8042_unlock_chip' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b40): undefined reference to `i8042_check_port_owner' drivers/built-in.o: In function `ps2_begin_command': (.text+0x257b6f): undefined reference to `i8042_lock_chip' when SERIO_I8042=m, SERIO_LIBPS2=y, KEYBOARD_ATKBD=y. We need to make i8042 dependant upon !X86_MRST and allow deselecting atkbd on Moorestown even when !CONFIG_EMBEDDED. Signed-off-by: Randy Dunlap Cc: Jacob Pan Signed-off-by: Dmitry Torokhov commit 0e789314f8c0b50bd19bf08dc5624b9604d60183 Merge: f5dec51 7e27d6e Author: Dmitry Torokhov Date: Tue Jun 22 11:32:04 2010 -0700 Merge commit 'v2.6.35-rc3' into for-linus commit 8ceedea7c2600a1018d20f67e766c0773b59391a Merge: d5dc0ae b685577 Author: David S. Miller Date: Tue Jun 22 10:54:12 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit d3f6baaa34c54040b3ef30950e59b54ac0624b21 Author: Trond Myklebust Date: Tue Jun 22 08:52:39 2010 -0400 NFSv4: Fix an embarassing typo in encode_attrs() Apparently, we have never been able to set the atime correctly from the NFSv4 client. Reported-by: 小倉一夫 Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 0be8189f2c87fcc747d6a4a657a0b6e2161b2318 Author: Trond Myklebust Date: Fri Jun 18 12:23:58 2010 -0400 NFSv4: Ensure that /proc/self/mountinfo displays the minor version number Currently, we do not display the minor version mount parameter in the /proc mount info. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 44950b67a6239b377a9e6fd52c498b310bcdd713 Author: Trond Myklebust Date: Thu Jun 17 11:45:12 2010 -0400 NFSv4.1: Ensure that we initialise the session when following a referral Put the code that is common to both the referral and ordinary mount cases into a common helper routine. Signed-off-by: Trond Myklebust commit b76ce56192bcf618013fb9aecd83488cffd645cc Author: Trond Myklebust Date: Wed Jun 16 13:57:32 2010 -0400 SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() If the attempt to read the calldir fails, then instead of storing the read bytes, we currently discard them. This leads to a garbage final result when upon re-entry to the same routine, we read the remaining bytes. Fixes the regression in bugzilla number 16213. Please see https://bugzilla.kernel.org/show_bug.cgi?id=16213 Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit f799bdb355edaabd81b778087613409a8932fbe9 Author: Andy Adamson Date: Wed Jun 16 09:51:02 2010 -0400 nfs4 use mandatory attribute file type in nfs4_get_root S_ISDIR(fsinfo.fattr->mode) checks the file type rather than the mode bits, so we should be checking for the NFS_ATTR_FATTR_TYPE fattr property. Signed-off-by: Andy Adamson Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit d5dc0ae4df9db00b8122378d56a071039b17a1eb Author: Filip Aben Date: Tue Jun 22 10:10:35 2010 -0700 hso: remove setting of low_latency flag This patch removes the setting of the low_latency flag. tty_flip_buffer_push() is occasionally being called in irq context, which causes a hang if the low_latency flag is set. Removing the low_latency flag only seems to impact the flush to ldisc, which will now be put on a workqueue. Signed-off-by: Filip Aben Signed-off-by: David S. Miller commit 5967d33ce8a030f01a716fc0b25fcb03744a5fda Author: Paul Mundt Date: Tue Jun 22 16:41:31 2010 +0900 clocksource: sh_cmt: Fix up bogus shift value. The previous CMT fixup accidentally copied in the TMU shift value, reset this back to its original value while preserving the TMU fix. Signed-off-by: Paul Mundt commit 26cde9f7e2747b6d254b704594eed87ab959afa5 Author: Herbert Xu Date: Tue Jun 15 01:52:25 2010 +0000 udp: Fix bogus UFO packet generation It has been reported that the new UFO software fallback path fails under certain conditions with NFS. I tracked the problem down to the generation of UFO packets that are smaller than the MTU. The software fallback path simply discards these packets. This patch fixes the problem by not generating such packets on the UFO path. Signed-off-by: Herbert Xu Reviewed-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 13fea6d4f73942e6961aec97ba4c593619d18f6f Author: Helge Deller Date: Mon Jun 21 13:50:18 2010 -0700 lasi82596: fix netdev_mc_count conversion Fix commit 4cd24eaf0 (net: use netdev_mc_count and netdev_mc_empty when appropriate) Signed-off-by: Helge Deller Signed-off-by: David S. Miller commit ade2d3db21b0625f9528bcd6f1656dd7c8d0fe08 Author: Ralf Baechle Date: Mon Jun 21 03:44:50 2010 +0000 NET: MIPSsim: Fix modpost warning. $ make CONFIG_DEBUG_SECTION_MISMATCH=y [...] WARNING: drivers/net/built-in.o(.data+0x0): Section mismatch in reference from the variable mipsnet_driver to the function .init.text:mipsnet_probe() The variable mipsnet_driver references the function __init mipsnet_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, [...] Fixed by making mipsnet_probe __devinit. Signed-off-by: Ralf Baechle drivers/net/mipsnet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: David S. Miller commit b70e4f0529c089b00d0a6da13106db4de1ada4c7 Author: Wu Zhangjin Date: Mon Jun 21 19:09:09 2010 +0800 tracing: Fix undeclared ENOSYS in include/linux/tracepoint.h The header file include/linux/tracepoint.h may be included without include/linux/errno.h and then the compiler will fail on building for undelcared ENOSYS. This patch fixes this problem via including to include/linux/tracepoint.h. Signed-off-by: Wu Zhangjin LKML-Reference: <1277118549-622-1-git-send-email-wuzhangjin@gmail.com> Signed-off-by: Steven Rostedt commit d69f309f0477fc13418f7526639f9ed527ff01e5 Merge: 2ac90e9 272cbc9 Author: Takashi Iwai Date: Mon Jun 21 17:08:41 2010 +0200 Merge branch 'fix/misc' into for-linus commit 272cbc98cfbdd30cff37a35f8ad8f1b737288e88 Author: Jiri Slaby Date: Mon Jun 21 17:03:21 2010 +0200 ALSA: usb/endpoint, fix dangling pointer use Stanse found that in snd_usb_parse_audio_endpoints, there is a dangling pointer dereference. When snd_usb_parse_audio_format fails, fp is freed, and continue invoked. On the next loop, there is "fp && fp->altsetting == 1 && fp->channels == 1" test, but fp is set from the last iteration (but is bogus) and thus ilegally dereferenced. Set fp to NULL before "continue". Signed-off-by: Jiri Slaby Acked-by: Daniel Mack Signed-off-by: Takashi Iwai commit 0e6f989ba83e6fa64e979d3488f01670b8be7959 Author: Julia Lawall Date: Sun Jun 20 11:24:54 2010 +0000 arch/sh/mm: Eliminate a double lock The function begins and ends with a read_lock. The latter is changed to a read_unlock. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @locked@ expression E1; position p; @@ read_lock(E1@p,...); @r exists@ expression x <= locked.E1; expression locked.E1; expression E2; identifier lock; position locked.p,p1,p2; @@ *lock@p1 (E1@p,...); ... when != E1 when != \(x = E2\|&x\) *lock@p2 (E1,...); // Signed-off-by: Julia Lawall Acked-by: Matt Fleming Signed-off-by: Paul Mundt commit 2ac90e990c657d63a2d042f26ea495dcdcd87c2a Merge: b2c4206 2a383cb Author: Takashi Iwai Date: Sun Jun 20 10:38:19 2010 +0200 Merge branch 'fix/misc' into for-linus commit b2c420657f34e55aa0fc30ed4a3b553b100502c4 Merge: eb6e704 5b61ea4 Author: Takashi Iwai Date: Sun Jun 20 10:38:14 2010 +0200 Merge branch 'fix/asoc' into for-linus commit 890ffedc7c3e95595926379e28ad2e16e7d7c613 Author: Thomas Backlund Date: Sat Jun 19 16:32:25 2010 +0300 x86: Fix rebooting on Dell Precision WorkStation T7400 Dell Precision WorkStation T7400 freezes on reboot unless reboot=b is used. Reference: https://qa.mandriva.com/show_bug.cgi?id=58017 Signed-off-by: Thomas Backlund LKML-Reference: <4C1CC6E9.6000701@mandriva.org> Signed-off-by: Ingo Molnar commit cd4de21f7e65a8cd04860f5661b3c18648ee52a1 Author: Jean Delvare Date: Sun Jun 20 09:22:32 2010 +0200 hwmon: (k8temp) Bypass core swapping on single-core processors Commit a2e066bba2aad6583e3ff648bf28339d6c9f0898 introduced core swapping for CPU models 64 and later. I recently had a report about a Sempron 3200+, model 95, for which this patch broke temperature reading. It happens that this is a single-core processor, so the effect of the swapping was to read a temperature value for a core that didn't exist, leading to an incorrect value (-49 degrees C.) Disabling core swapping on singe-core processors should fix this. Additional comment from Andreas: The BKDG says Thermal Sensor Core Select (ThermSenseCoreSel)-Bit 2. This bit selects the CPU whose temperature is reported in the CurTemp field. This bit only applies to dual core processors. For single core processors CPU0 Thermal Sensor is always selected. k8temp_probe() correctly detected that SEL_CORE can't be used on single core CPU. Thus k8temp did never update the temperature values stored in temp[1][x] and -49 degrees was reported. For single core CPUs we must use the values read into temp[0][x]. Signed-off-by: Jean Delvare Tested-by: Rick Moritz Acked-by: Andreas Herrmann Cc: stable@kernel.org commit 0e6c7870856c7fb4ee054d28ac253b2d3d0c7e36 Author: KAMEZAWA Hiroyuki Date: Sun Jun 20 09:22:31 2010 +0200 hwmon: (i5k_amb) Fix sysfs attribute for lockdep i5k_amb.ko uses dynamically allocated memory (by kmalloc) for attributes passed to sysfs. So, sysfs_attr_init() should be called for working happy with lockdep. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Jean Delvare Cc: stable@kernel.org [2.6.34 only] commit eefc2d9e3d4f8820f2c128a0e44a23de28b1ed64 Author: Jean Delvare Date: Sun Jun 20 09:22:31 2010 +0200 hwmon: (k10temp) Do not blacklist known working CPU models When detecting AM2+ or AM3 socket with DDR2, only blacklist cores which are known to exist in AM2+ format. Signed-off-by: Jean Delvare Acked-by: Clemens Ladisch Cc: Andreas Herrmann Cc: stable@kernel.org commit 124482935fb7fb9303c8a8ab930149c6a93d9910 Author: Andi Kleen Date: Fri Jun 18 23:09:00 2010 +0200 x86: Fix vsyscall on gcc 4.5 with -Os This fixes the -Os breaks with gcc 4.5 bug. rdtsc_barrier needs to be force inlined, otherwise user space will jump into kernel space and kill init. This also addresses http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44129 I believe. Signed-off-by: Andi Kleen LKML-Reference: <20100618210859.GA10913@basil.fritz.box> Signed-off-by: H. Peter Anvin Cc: commit b6855772f4a22c4fbdd4fcaceff5c8a527035123 Author: Bob Copeland Date: Fri Jun 18 13:15:23 2010 -0400 ath5k: initialize ah->ah_current_channel ath5k assumes ah_current_channel is always a valid pointer in several places, but a newly created interface may not have a channel. To avoid null pointer dereferences, set it up to point to the first available channel until later reconfigured. This fixes the following oops: $ rmmod ath5k $ insmod ath5k $ iw phy0 set distance 11000 BUG: unable to handle kernel NULL pointer dereference at 00000006 IP: [] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] *pde = 00000000 Oops: 0000 [#1] last sysfs file: /sys/devices/pci0000:00/0000:00:0e.0/ieee80211/phy0/index Modules linked in: usbhid option usb_storage usbserial usblp evdev lm90 scx200_acb i2c_algo_bit i2c_dev i2c_core via_rhine ohci_hcd ne2k_pci 8390 leds_alix2 xt_IMQ imq nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_cc Pid: 1597, comm: iw Not tainted (2.6.32.14 #8) EIP: 0060:[] EFLAGS: 00010296 CPU: 0 EIP is at ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] EAX: 000000c2 EBX: 00000000 ECX: ffffffff EDX: c12d2080 ESI: 00000019 EDI: cf8c0000 EBP: d0a30edc ESP: cfa09bf4 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process iw (pid: 1597, ti=cfa09000 task=cf88a000 task.ti=cfa09000) Stack: d0a34f35 d0a353f8 d0a30edc 000000fe cf8c0000 00000000 1900063d cfa8c9e0 <0> cfa8c9e8 cfa8c0c0 cfa8c000 d0a27f0c 199d84b4 cfa8c200 00000010 d09bfdc7 <0> 00000000 00000000 ffffffff d08e0d28 cf9263c0 00000001 cfa09cc4 00000000 Call Trace: [] ? ath5k_hw_attach+0xc8c/0x3c10 [ath5k] [] ? __ieee80211_request_smps+0x1347/0x1580 [mac80211] [] ? nl80211_send_scan_start+0x7b8/0x4520 [cfg80211] [] ? nla_parse+0x59/0xc0 [] ? genl_rcv_msg+0x169/0x1a0 [] ? genl_rcv_msg+0x0/0x1a0 [] ? netlink_rcv_skb+0x38/0x90 [] ? genl_rcv+0x19/0x30 [] ? netlink_unicast+0x1b3/0x220 [] ? netlink_sendmsg+0x26e/0x290 [] ? sock_sendmsg+0xbe/0xf0 [] ? autoremove_wake_function+0x0/0x50 [] ? __alloc_pages_nodemask+0x106/0x530 [] ? do_lookup+0x53/0x1b0 [] ? __link_path_walk+0x9b9/0x9e0 [] ? verify_iovec+0x50/0x90 [] ? sys_sendmsg+0x1e1/0x270 [] ? find_get_page+0x10/0x50 [] ? filemap_fault+0x5f/0x370 [] ? __do_fault+0x319/0x370 [] ? sys_socketcall+0x244/0x290 [] ? do_page_fault+0x1ec/0x270 [] ? do_page_fault+0x0/0x270 [] ? syscall_call+0x7/0xb Code: 00 b8 fe 00 00 00 b9 f8 53 a3 d0 89 5c 24 14 89 7c 24 10 89 44 24 0c 89 6c 24 08 89 4c 24 04 c7 04 24 35 4f a3 d0 e8 7c 30 60 f0 <0f> b7 43 06 ba 06 00 00 00 a8 10 75 0e 83 e0 20 83 f8 01 19 d2 EIP: [] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] SS:ESP 0068:cfa09bf4 CR2: 0000000000000006 ---[ end trace 54f73d6b10ceb87b ]--- Cc: stable@kernel.org Reported-by: Steve Brown Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit b27759f880018b0cd43543dc94c921341b64b5ec Author: Rafael J. Wysocki Date: Fri Jun 18 17:04:22 2010 +0200 PCI/PM: Do not use native PCIe PME by default Commit c7f486567c1d0acd2e4166c47069835b9f75e77b (PCI PM: PCIe PME root port service driver) causes the native PCIe PME signaling to be used by default, if the BIOS allows the kernel to control the standard configuration registers of PCIe root ports. However, the native PCIe PME is coupled to the native PCIe hotplug and calling pcie_pme_acpi_setup() makes some BIOSes expect that the native PCIe hotplug will be used as well. That, in turn, causes problems to appear on systems where the PCIe hotplug driver is not loaded. The usual symptom, as reported by Jaroslav Kameník and others, is that the ACPI GPE associated with PCIe hotplug keeps firing continuously causing kacpid to take substantial percentage of CPU time. To work around this issue, change the default so that the native PCIe PME signaling is only used if directly requested with the help of the pcie_pme= command line switch. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15924 , which is a listed regression from 2.6.33. Signed-off-by: Rafael J. Wysocki Reported-by: Jaroslav Kameník Tested-by: Antoni Grzymala Signed-off-by: Jesse Barnes commit 9983b6f0cf8263e51bcf4c8a9dc0c1ef175b3c60 Author: Tejun Heo Date: Fri Jun 18 11:44:31 2010 +0200 percpu: fix first chunk match in per_cpu_ptr_to_phys() per_cpu_ptr_to_phys() determines whether the passed in @addr belongs to the first_chunk or not by just matching the address against the address range of the base unit (unit0, used by cpu0). When an adress from another cpu was passed in, it will always determine that the address doesn't belong to the first chunk even when it does. This makes the function return a bogus physical address which may lead to crash. This problem was discovered by Cliff Wickman while investigating a crash during kdump on a SGI UV system. Signed-off-by: Tejun Heo Reported-by: Cliff Wickman Tested-by: Cliff Wickman Cc: stable@kernel.org commit 3c93717cfa51316e4dbb471e7c0f9d243359d5f8 Author: Alex,Shi Date: Thu Jun 17 14:08:13 2010 +0800 sched: Fix over-scheduling bug Commit e70971591 ("sched: Optimize unused cgroup configuration") introduced an imbalanced scheduling bug. If we do not use CGROUP, function update_h_load won't update h_load. When the system has a large number of tasks far more than logical CPU number, the incorrect cfs_rq[cpu]->h_load value will cause load_balance() to pull too many tasks to the local CPU from the busiest CPU. So the busiest CPU keeps going in a round robin. That will hurt performance. The issue was found originally by a scientific calculation workload that developed by Yanmin. With that commit, the workload performance drops about 40%. CPU before after 00 : 2 : 7 01 : 1 : 7 02 : 11 : 6 03 : 12 : 7 04 : 6 : 6 05 : 11 : 7 06 : 10 : 6 07 : 12 : 7 08 : 11 : 6 09 : 12 : 6 10 : 1 : 6 11 : 1 : 6 12 : 6 : 6 13 : 2 : 6 14 : 2 : 6 15 : 1 : 6 Reviewed-by: Yanmin zhang Signed-off-by: Alex Shi Signed-off-by: Peter Zijlstra LKML-Reference: <1276754893.9452.5442.camel@debian> Signed-off-by: Ingo Molnar commit 25442e06d20aaba7d7b16438078a562b3e4cf19b Author: stephen hemminger Date: Tue Jun 15 06:14:12 2010 +0000 bridge: fdb cleanup runs too often It is common in end-node, non STP bridges to set forwarding delay to zero; which causes the forwarding database cleanup to run every clock tick. Change to run only as soon as needed or at next ageing timer interval which ever is sooner. Use round_jiffies_up macro rather than attempting round up by changing value. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3310d4d38fbc514e7b18bd3b1eea8effdd63b5aa Author: Peter Zijlstra Date: Thu Jun 17 18:02:37 2010 +0200 nohz: Fix nohz ratelimit Chris Wedgwood reports that 39c0cbe (sched: Rate-limit nohz) causes a serial console regression, unresponsiveness, and indeed it does. The reason is that the nohz code is skipped even when the tick was already stopped before the nohz_ratelimit(cpu) condition changed. Move the nohz_ratelimit() check to the other conditions which prevent long idle sleeps. Reported-by: Chris Wedgwood Tested-by: Brian Bloniarz Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Cc: Jiri Kosina Cc: Linus Torvalds Cc: Greg KH Cc: Alan Cox Cc: OGAWA Hirofumi Cc: Jef Driesen LKML-Reference: <1276790557.27822.516.camel@twins> Signed-off-by: Thomas Gleixner commit 5ffc88819c84098e3f39185a38f8f7f7f8b210df Author: Ian Munsie Date: Wed Jun 9 18:38:00 2010 +1000 perf record: prevent kill(0, SIGTERM); At exit, perf record will kill the process it was profiling by sending a SIGTERM to child_pid (if it had been initialised), but in certain situations child_pid may be 0 and perf would mistakenly kill more processes than intended. child_pid is set to the return of fork() to either 0 or the pid of the child. Ordinarily this would not present an issue as the child calls execvp to spawn the process to be profiled and would therefore never run it's sig_atexit and never attempt to kill pid 0. However, if a nonexistant binary had been passed in to perf record the call to execvp would fail and child_pid would be left set to 0. The child would then exit and it's atexit handler, finding that child_pid was initialised to 0, would call kill(0, SIGTERM), resulting in every process within it's process group being killed. In the case that perf was being run directly from the shell this typically would not be an issue as the shell isolates the process. However, if perf was being called from another program it could kill unexpected processes, which may even include X. This patch changes the logic of the test for whether child_pid was initialised to only consider positive pids as valid, thereby never attempting to kill pid 0. Cc: David S. Miller Cc: Frédéric Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Tom Zanussi LKML-Reference: <1276072680-17378-1-git-send-email-imunsie@au1.ibm.com> Signed-off-by: Ian Munsie Signed-off-by: Arnaldo Carvalho de Melo commit 2cebc5e27e18acb2226b22f66b3b1b11deb76aa0 Merge: c1db9d9 cb1cb17 Author: Len Brown Date: Thu Jun 17 12:18:30 2010 -0400 Merge branch 'bugzilla-15951' into release commit cb1cb1780f2025a7d612de09131bf6530f80fb1a Author: Rafael J. Wysocki Date: Thu Jun 17 17:40:57 2010 +0200 ACPI / PM: Do not enable GPEs for system wakeup in advance After commit 9630bdd9b15d2f489c646d8bc04b60e53eb5ec78 (ACPI: Use GPE reference counting to support shared GPEs) the wakeup enable mask bits of GPEs are set as soon as the GPEs are enabled to wake up the system. Unfortunately, this leads to a regression reported by Michal Hocko, where a system is woken up from ACPI S5 by a device that is not supposed to do that, because the wakeup enable mask bit of this device's GPE is always set when acpi_enter_sleep_state() calls acpi_hw_enable_all_wakeup_gpes(), although it should only be set if the device is supposed to wake up the system from the target state. To work around this issue, rework the ACPI power management code so that GPEs are not enabled to wake up the system upfront, but only during a system state transition when the target state of the system is known. [Of course, this means that the reference counting of "wakeup" GPEs doesn't really make sense and it is sufficient to set/unset the wakeup mask bits for them during system sleep transitions. This will allow us to simplify the GPE handling code quite a bit, but that change is too intrusive for 2.6.35.] Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15951 Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Michal Hocko Signed-off-by: Len Brown commit aabef8b240880439b91574c9a9e33dcc44bfd8c7 Author: FUJITA Tomonori Date: Thu Jun 17 08:56:05 2010 -0700 bnx2: fix dma_get_ops compilation breakage This removes dma_get_ops() prefetch optimization in bnx2. bnx2 uses dma_get_ops() to see if dma_sync_single_for_cpu() is noop. bnx2 does prefetch if it's noop. But dma_get_ops() isn't available on all the architectures (only the architectures that uses dma_map_ops struct have it). Using dma_get_ops() in drivers leads to compilation breakage on many architectures. This patch removes dma_get_ops() and changes bnx2 to do prefetch on all the architectures. This adds useless prefetch on non-coherent architectures but this is harmless. It is also unlikely to cause the performance drop. [ Remove now unused local variable 'pdev' -DaveM ] Signed-off-by: FUJITA Tomonori Acked-by: Michael Chan Signed-off-by: David S. Miller commit 720a3aeb7373cb49cf222d5f12e121f78d3d4410 Author: Arnaldo Carvalho de Melo Date: Thu Jun 17 08:37:44 2010 -0300 perf session: Remove threads from tree on PERF_RECORD_EXIT Move them to a session->dead_threads list just like we do with maps that are replaced, because we may have hist_entries pointing to them. This fixes a bug when inserting maps for a new thread that reused the TID, mixing maps for two different threads, causing an endless loop. The code for insering maps should be made more robust but for .35 this is the minimalistic patch. Reported-by: Ingo Molnar Cc: David S. Miller Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo commit f1f5bda4e9726456bd132e738bf60b727856477e Author: Hans-Christian Egtvedt Date: Tue Jun 8 08:44:32 2010 +0200 watchdog: at32ap700x_wdt: register misc device last in probe() function This patch reworks the probe() function in the at32ap700x_wdt driver, this to make sure the miscdev is properly initialized and the driver is ready to be accessed. Reported-by: Akinobu Mita Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Wim Van sebroeck commit a92d3ff9e5dbd958d8008a3e7a573e988e370ca3 Author: Pavel V. Panteleev Date: Thu Jun 17 10:07:25 2010 +0200 percpu: fix trivial bugs in pcpu_build_alloc_info() Fix the following two trivial bugs in pcpu_build_alloc_info() * we should memset group_cnt to 0 by size of group_cnt, not size of group_map (both are of the same size, so the bug isn't dangerous) * we can delete useless variable group_cnt_max. Signed-off-by: Pavel V. Panteleev Signed-off-by: Tejun Heo commit 2a383cb3f1a571b281c2e1ace4c8491f0370e866 Author: Eliot Blennerhassett Date: Thu Jun 17 17:08:36 2010 +1200 ALSA: asihpi - Get rid of incorrect "long" types and casts. These give incorrect results for index wrap on 64 bit. Signed-off-by: Eliot Blennerhassett Signed-off-by: Takashi Iwai commit db176edc89abbf22e6db6853f8581f9475fe8ec1 Author: Sergey Matyukevich Date: Mon Jun 14 06:35:20 2010 +0000 ucc_geth: fix for RX skb buffers recycling This patch implements a proper modification of RX skb buffers before recycling. Adjusting only skb->data is not enough because after that skb->tail and skb->len become incorrect. Signed-off-by: Sergey Matyukevich Signed-off-by: David S. Miller commit 8b1d920fa5ea8e3d941e908fa57acc9b1df9ca92 Author: Ken Kawasaki Date: Sat Jun 12 00:17:28 2010 +0000 pcnet_cs: add new id (TOSHIBA Modem/LAN Card) pcnet_cs: serial_cs: add new id (TOSHIBA Modem/LAN Card) Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 63b88b9041ceef8217f34de71a2e96f0c3f0fd3b Author: Anton Vorontsov Date: Fri Jun 11 10:51:03 2010 +0000 gianfar: Fix oversized packets handling Issuing the following command on host: $ ifconfig eth2 mtu 1600 ; ping 10.0.0.27 -s 1485 -c 1 Makes some boards (tested with MPC8315 rev 1.1 and MPC8313 rev 1.0) oops like this: skb_over_panic: text:c0195914 len:1537 put:1537 head:c79e4800 data:c79e4880 tail:0xc79e4e81 end:0xc79e4e80 dev:eth1 ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:127! Oops: Exception in kernel mode, sig: 5 [#1] MPC831x RDB last sysfs file: /sys/kernel/uevent_seqnum Modules linked in: NIP: c01c1840 LR: c01c1840 CTR: c016d918 [...] NIP [c01c1840] skb_over_panic+0x48/0x5c LR [c01c1840] skb_over_panic+0x48/0x5c Call Trace: [c0339d50] [c01c1840] skb_over_panic+0x48/0x5c (unreliable) [c0339d60] [c01c3020] skb_put+0x5c/0x60 [c0339d70] [c0195914] gfar_clean_rx_ring+0x25c/0x3d0 [c0339dc0] [c01976e8] gfar_poll+0x170/0x1bc Dumped buffer descriptors showed that eTSEC's length/truncation logic sometimes passes oversized packets, i.e. for the above ICMP packet the following two buffer descriptors may become ready: status=1400 length=1536 status=1800 length=1541 So, it seems that gianfar actually receives the whole big frame, and it tries to place the packet into two BDs. This situation confuses the driver, and so the skb_put() sanity check fails. This patch fixes the issue by adding an appropriate check, i.e. the driver should not try to process frames with buffer descriptor's length over rx_buffer_size (i.e. maxfrm and mrblr). Note that sometimes eTSEC works correctly, i.e. in the second (last) buffer descriptor bits 'truncated' and 'crcerr' are set, and so there's no oops. Though I couldn't find any logic when it works correctly and when not. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 099473c16bac7b936994bc95b5fd96f36397e1ad Author: Jan-Bernd Themann Date: Tue Jun 15 05:35:42 2010 +0000 ehea: Fix kernel deadlock in DLPAR-mem processing Port reset operations and memory add/remove operations need to be serialized to avoid a kernel deadlock. The deadlock is caused by calling the napi_disable() function twice. Therefore we have to employ the dlpar_mem_lock in the ehea_reset_port function as well Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit a91fb143de61dce847e319ca79b9937a665ad622 Author: Jan-Bernd Themann Date: Tue Jun 15 05:35:16 2010 +0000 ehea: fix delayed packet processing In the eHEA poll function an rmb() is required. Without that some packets on the receive queue are not seen and thus delayed until the next interrupt is handled for the same receive queue. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 756725064fe6abbcdb43b1e64d017649b828be35 Author: Don Skidmore Date: Tue Jun 15 09:23:17 2010 +0000 ixgbe: add comment on SFP+ ID for Active DA These comments were forgotten in the initial patch to add this functionality. This patch corrects that. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa68a7822780fdc1295f7efb7e4313e62b447e75 Author: Tom Hughes Date: Tue Jun 15 22:24:28 2010 +0000 Clear IFF_XMIT_DST_RELEASE for teql interfaces https://bugzilla.kernel.org/show_bug.cgi?id=16183 The sch_teql module, which can be used to load balance over a set of underlying interfaces, stopped working after 2.6.30 and has been broken in all kernels since then for any underlying interface which requires the addition of link level headers. The problem is that the transmit routine relies on being able to access the destination address in the skb in order to do address resolution once it has decided which underlying interface it is going to transmit through. In 2.6.31 the IFF_XMIT_DST_RELEASE flag was introduced, and set by default for all interfaces, which causes the destination address to be released before the transmit routine for the interface is called. The solution is to clear that flag for teql interfaces. Signed-off-by: Tom Hughes Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 97553f7f3e7a0305d017df9cc6e9589f64878437 Author: Manfred Rudigier Date: Fri Jun 11 01:49:05 2010 +0000 gianfar: Fix setup of RX time stamping Previously the RCTRL_TS_ENABLE bit was set unconditionally. However, if the RCTRL_TS_ENABLE is set without TMR_CTRL[TE], the driver does not work properly on some boards (Anton had problems with the MPC8313ERDB and MPC8568EMDS). With this patch the bit will only be set if requested from user space with the SIOCSHWTSTAMP ioctl command, meaning that time stamping is disabled during normal operation. Users who are not interested in time stamps will not experience problems with buggy CPU revisions or performance drops any more. The setting of TMR_CTRL[TE] is still up to the user. This is considered safe because users wanting HW timestamps must initialize the eTSEC clock first anyway, e.g. with the recently submitted PTP clock driver. Signed-off-by: Manfred Rudigier Reviewed-by: Anton Vorontsov Signed-off-by: David S. Miller commit d8d326dc7ae6bec2a999d674c5babb6bf490587a Merge: fed396a 021570e Author: David S. Miller Date: Wed Jun 16 13:41:55 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 021570e55b7152843376b9d9f60624e3e05ac054 Author: Christoph Fritz Date: Wed Jun 16 16:37:34 2010 +0200 mac80211: fix warn, enum may be used uninitialized regression introduced by b8d92c9c141ee3dc9b3537b1f0ffb4a54ea8d9b2 In function ‘ieee80211_work_rx_queued_mgmt’: warning: ‘rma’ may be used uninitialized in this function this re-adds default value WORK_ACT_NONE back to rma Signed-off-by: Christoph Fritz Signed-off-by: John W. Linville commit 8a224d489454b7457105848610cfebebdec5638d Author: Jeff Layton Date: Wed Jun 16 13:40:18 2010 -0400 cifs: remove bogus first_time check in NTLMv2 session setup code This bug appears to be the result of a cut-and-paste mistake from the NTLMv1 code. The function to generate the MAC key was commented out, but not the conditional above it. The conditional then ended up causing the session setup key not to be copied to the buffer unless this was the first session on the socket, and that made all but the first NTLMv2 session setup fail. Fix this by removing the conditional and all of the commented clutter that made it difficult to see. Cc: Stable Reported-by: Gunther Deschner Signed-off-by: Jeff Layton commit 47c78b7f40a9931a264e3c9bddccacdf8dfb9a30 Author: Jeff Layton Date: Wed Jun 16 13:40:17 2010 -0400 cifs: don't call cifs_new_fileinfo unless cifs_open succeeds It's currently possible for cifs_open to fail after it has already called cifs_new_fileinfo. In that situation, the new fileinfo will be leaked as the caller doesn't call fput. That in turn leads to a busy inodes after umount problem since the fileinfo holds an extra inode reference now. Shuffle cifs_open around a bit so that it only calls cifs_new_fileinfo if it's going to succeed. Signed-off-by: Jeff Layton Reviewed-and-Tested-by: Suresh Jayaraman commit d9d5d8df953a98621be5b8889e05043d6e32052e Author: Suresh Jayaraman Date: Wed Jun 16 13:40:17 2010 -0400 cifs: don't ignore cifs_posix_open_inode_helper return value ...and ensure that we propagate the error back to avoid any surprises. Signed-off-by: Suresh Jayaraman Reviewed-and-Tested-by: Jeff Layton commit db460242bf75624344efd670ec0f620f476529a3 Author: Jeff Layton Date: Wed Jun 16 13:40:17 2010 -0400 cifs: clean up arguments to cifs_open_inode_helper ...which takes a ton of unneeded arguments and does a lot more pointer dereferencing than is really needed. Signed-off-by: Jeff Layton Reviewed-and-Tested-by: Suresh Jayaraman commit 6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13 Author: Jeff Layton Date: Wed Jun 16 13:40:16 2010 -0400 cifs: pass instantiated filp back after open call The current scheme of sticking open files on a list and assuming that cifs_open will scoop them off of it is broken and leads to "Busy inodes after umount..." errors at unmount time. The problem is that there is no guarantee that cifs_open will always be called after a ->lookup or ->create operation. If there are permissions or other problems, then it's quite likely that it *won't* be called. Fix this by fully instantiating the filp whenever the file is created and pass that filp back to the VFS. If there is a problem, the VFS can clean up the references. Signed-off-by: Jeff Layton Reviewed-and-Tested-by: Suresh Jayaraman commit 2422f676fb78942d054f7e7a2c3ceaeb7945d814 Author: Jeff Layton Date: Wed Jun 16 13:40:16 2010 -0400 cifs: move cifs_new_fileinfo call out of cifs_posix_open Having cifs_posix_open call cifs_new_fileinfo is problematic and inconsistent with how "regular" opens work. It's also buggy as cifs_reopen_file calls this function on a reconnect, which creates a new struct cifsFileInfo that just gets leaked. Push it out into the callers. This also allows us to get rid of the "mnt" arg to cifs_posix_open. Finally, in the event that a cifsFileInfo isn't or can't be created, we always want to close the filehandle out on the server as the client won't have a record of the filehandle and can't actually use it. Make sure that CIFSSMBClose is called in those cases. Signed-off-by: Jeff Layton Reviewed-and-Tested-by: Suresh Jayaraman commit 0933a95dfdb1ae5c93e1ede5899f35acc2bb244d Merge: 12420ac 7e27d6e Author: Steve French Date: Wed Jun 16 13:19:36 2010 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit fed396a585d8e1870b326f2e8e1888a72957abb8 Author: Herbert Xu Date: Tue Jun 15 21:43:07 2010 -0700 bridge: Fix OOM crash in deliver_clone The bridge multicast patches introduced an OOM crash in the forward path, when deliver_clone fails to clone the skb. Reported-by: Mark Wagner Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7e43cd66d36e8f0900e87d9d287c9ee649cbdd07 Author: Amit Kumar Salecha Date: Sun Jun 13 23:39:05 2010 +0000 netxen: fix caching window register CRB window register is not per pci-func for NX3031, so caching can result in incorrect values. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 2227bae22becb88b75ede022c7bb991aabfb50bb Author: Amit Kumar Salecha Date: Sun Jun 13 23:39:04 2010 +0000 netxen: fix rcv buffer leak Rcv producer should be read in spin-lock. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit bf445080dad9542c6bc6b693d941cae89605134c Author: Amit Kumar Salecha Date: Sun Jun 13 23:39:03 2010 +0000 netxen: fix memory leaks in error path Fixes memory leak in error path when memory allocation for adapter data structures fails. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 44b496f685ca68c0d96eb3ad88e3948fad3417d6 Author: Dominik Brodowski Date: Fri Jun 11 04:44:55 2010 +0000 pcmcia: dev_node removal bugfix Patch c7c2fa07 removed one line too much from smc91c92_cs.c. Reported-by: Komuro CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org Signed-off-by: Dominik Brodowski Signed-off-by: David S. Miller commit 2b07be2493681220cac4d185494a4edb0b8efd1e Author: Dmitry Baryshkov Date: Wed Jun 9 21:16:20 2010 +0000 powerpc/5200: fix lite5200 ethernet phy address According to my schematics, on Lite5200 board ethernet phy uses address 0 (all ADDR lines are pulled down). With this change I can talk to onboard phy (LXT971) and correctly use autonegotiation. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Grant Likely commit f487537c2b6b23332bbea7ecb1fe793b6c74d5b2 Author: Grant Likely Date: Mon Jun 14 00:03:34 2010 -0600 powerpc/5200: Fix build error in sound code. Compiling in the MPC5200 sound drivers results in the following build error: sound/soc/fsl/mpc5200_psc_ac97.o: In function `to_psc_dma_stream': mpc5200_psc_ac97.c:(.text+0x0): multiple definition of `to_psc_dma_stream' sound/soc/fsl/mpc5200_dma.o:mpc5200_dma.c:(.text+0x0): first defined here sound/soc/fsl/efika-audio-fabric.o: In function `to_psc_dma_stream': efika-audio-fabric.c:(.text+0x0): multiple definition of `to_psc_dma_stream' sound/soc/fsl/mpc5200_dma.o:mpc5200_dma.c:(.text+0x0): first defined here make[3]: *** [sound/soc/fsl/built-in.o] Error 1 make[2]: *** [sound/soc/fsl] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 This patch fixes it by declaring the inline function in the header file to also be a static. Signed-off-by: Grant Likely Cc: Jon Smirl Tested-by: John Hilmar Linkhorst Acked-by: Mark Brown commit fb73538e10c7fc4823a56e97bba600c2f9294012 Author: Dmitry Baryshkov Date: Fri Jun 11 01:52:35 2010 +0000 powerpc/5200: fix oops during going to standby When going to standby mode mpc code maps the whole soc5200 node to access warious MBAR registers. However as of_iomap uses 'reg' property of device node, only small part of MBAR is getting mapped. Thus pm code gets oops when trying to access high parts of MBAR. As a way to overcome this, make mpc52xx_pm_prepare() explicitly map whole MBAR (0xc0000). Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: Grant Likely commit d6a574ff6bfb842bdb98065da053881ff527be46 Author: Tim Gardner Date: Tue Jun 8 11:33:02 2010 -0600 hostap: Protect against initialization interrupt Use an irq spinlock to hold off the IRQ handler until enough early card init is complete such that the handler can run without faulting. Signed-off-by: Tim Gardner Cc: stable@kernel.org Signed-off-by: John W. Linville commit 21071344e67ebe2b2e1ae093728fc1d65246bcbd Merge: 28c8e47 aea9d71 Author: David S. Miller Date: Tue Jun 15 11:58:02 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 84cc1535cb9043ea1921b81cb086138c0f2dc2b9 Author: Morten H. Larsen Date: Tue Jun 15 13:24:58 2010 -0400 alpha: Fix de2104x driver failing to readout MAC address correctly This patch fixes a missing read memory barrier that is needed for the driver to readout the MAC address correctly from the on-board ROM. Also it replaces the use of the deprecated functions readl()/writel(). Signed-off-by: Morten H. Larsen Signed-off-by: Matt Turner commit 932e0c201d28a728e25d3b641aa95bd28ceb08b4 Author: Morten H. Larsen Date: Tue Jun 15 13:22:11 2010 -0400 alpha: Detect Super IO chip, no IDE on Avanti, enable EPP19 This patch probes for the Super IO chip and reserves the IO range when found. It avoids enabling the IDE interface on the Avanti family, since none has IDE. It enables the Enhanced Parallel Port v1.9 feature. Signed-off-by: Morten H. Larsen Signed-off-by: Matt Turner commit 5efa16ff77cb785647a480dcdc70a6b4fc787996 Author: Matt Turner Date: Tue Jun 15 13:19:36 2010 -0400 alpha: fix pci_mmap_resource API breakage Caused by 2c3c8bea608866d8bd9dcf92657d57fdcac011c5 which was clearly not even compile tested. Signed-off-by: Matt Turner commit 87a9d57da41e70dc85adf23e158308527c051b3a Author: Matt Turner Date: Sun Jun 6 20:06:40 2010 -0400 alpha: fix __arch_hweight32 typo Typo in 1527bc8b928dd1399c3d3467dd47d9ede210978a renamed hweight32 to __arch_weight32. Signed-off-by: Matt Turner commit a69b03e941abae00380fc6bc1877fb797a1b31e6 Author: John W. Linville Date: Mon Jun 14 14:30:25 2010 -0400 iwlwifi: cancel scan watchdog in iwl_bg_abort_scan Avoids this: WARNING: at net/mac80211/scan.c:312 ieee80211_scan_completed+0x5f/0x1f1 [mac80211]() Hardware name: Latitude E5400 Modules linked in: aes_x86_64 aes_generic fuse ipt_MASQUERADE iptable_nat nf_nat rfcomm sco bridge stp llc bnep l2cap sunrpc cpufreq_ondemand acpi_cpufreq freq_table xt_physdev ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 kvm_intel kvm uinput arc4 ecb snd_hda_codec_intelhdmi snd_hda_codec_idt snd_hda_intel iwlagn snd_hda_codec snd_hwdep snd_seq snd_seq_device iwlcore snd_pcm dell_wmi sdhci_pci sdhci iTCO_wdt tg3 dell_laptop mmc_core i2c_i801 wmi mac80211 snd_timer iTCO_vendor_support btusb joydev dcdbas cfg80211 bluetooth snd soundcore microcode rfkill snd_page_alloc firewire_ohci firewire_core crc_itu_t yenta_socket rsrc_nonstatic i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: scsi_wait_scan] Pid: 979, comm: iwlagn Tainted: G W 2.6.33.3-85.fc13.x86_64 #1 Call Trace: [] warn_slowpath_common+0x77/0x8f [] warn_slowpath_null+0xf/0x11 [] ieee80211_scan_completed+0x5f/0x1f1 [mac80211] [] iwl_bg_scan_completed+0xbb/0x17a [iwlcore] [] worker_thread+0x1a4/0x232 [] ? iwl_bg_scan_completed+0x0/0x17a [iwlcore] [] ? autoremove_wake_function+0x0/0x34 [] ? worker_thread+0x0/0x232 [] kthread+0x7a/0x82 [] kernel_thread_helper+0x4/0x10 [] ? kthread+0x0/0x82 [] ? kernel_thread_helper+0x0/0x10 Reported here: https://bugzilla.redhat.com/show_bug.cgi?id=590436 Signed-off-by: John W. Linville Reported-by: Mihai Harpau Cc: stable@kernel.org Acked-by: Reinette Chatre commit 5b61ea499727f22ebdaaeedb9801b12ed6eb59c7 Author: Sudhakar Rajashekhara Date: Fri Jun 11 19:24:51 2010 +0530 ASoC: DaVinci: Fix McASP hardware FIFO configuration On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral has FIFO support. This FIFO provides additional data buffering. It also provides tolerance to variation in host/DMA controller response times. More details of the FIFO operation can be found at http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sprufm1&fileType=pdf Existing sequence of steps for audio playback/capture are: a. DMA configuration b. McASP configuration (configures and enables FIFO) c. Start DMA d. Start McASP (enables FIFO) During McASP configuration, while FIFO was being configured, FIFO was being enabled in davinci_hw_common_param() function of sound/soc/davinci/davinci-mcasp.c file. This generated a transmit DMA event, which gets serviced when DMA is started. https://patchwork.kernel.org/patch/84611/ patch clears the DMA events before starting DMA, which is the right thing to do. But this resulted in a state where DMA was waiting for an event from McASP (after step c above), but the event which was already there, has got cleared (because of step b above). The fix is not to enable the FIFO during McASP configuration as FIFO was being enabled as part of McASP start. Signed-off-by: Sudhakar Rajashekhara Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit d5eda75f3a6a08f5a3644764a88d288e62e7823d Author: Andy Whitcroft Date: Mon Jun 14 10:41:10 2010 +0100 kbuild: fix LOCALVERSION handling to match description In the commit below the version string handling was modified, adding a '+' where no other version information was supplied: commit 85a256d8e0116c8f5ad276730830f5d4d473344d Author: David Rientjes Date: Wed Jan 13 13:01:05 2010 -0800 From the commit the intent was as below: - when CONFIG_LOCALVERSION_AUTO is disabled, a `+' is appended if the repository has been revised beyond a tagged commit and LOCALVERSION= was not passed to "make". However if the user supplies an empty LOCALVERSION on the command line the plus suffix is still added. This form is useful in the case where the build environment knows that the version as specified is correct and complete but does not correspond to a specific tag. This patch changes the implementation to match the documentation such that specifying LOCALVERSION= on the build line is sufficient to suppress any suffix. Signed-off-by: Andy Whitcroft Acked-by: David Rientjes Signed-off-by: Michal Marek commit eb6e70417bfef869324b8452f11ba7f300da4f81 Merge: 8fda43c e8bdb6b Author: Takashi Iwai Date: Tue Jun 15 12:24:05 2010 +0200 Merge branch 'fix/misc' into for-linus commit 8fda43c1a02baf093b63bca9770363642a7098e7 Merge: 2d0a1db b8f171e Author: Takashi Iwai Date: Tue Jun 15 12:24:01 2010 +0200 Merge branch 'fix/hda' into for-linus commit 2d9e667efdfb4e986074d98e7d9a424003c7c43b Author: David Woodhouse Date: Tue Jun 15 10:57:57 2010 +0100 intel-iommu: Force-disable IOMMU for iGFX on broken Cantiga revisions. Certain revisions of this chipset appear to be broken. There is a shadow GTT which mirrors the real GTT but contains pre-translated physical addresses, for performance reasons. When a GTT update happens, the translations are done once and the resulting physical addresses written back to the shadow GTT. Except sometimes, the physical address is actually written back to the _real_ GTT, not the shadow GTT. Thus we start to see faults when that physical address is fed through translation again. Signed-off-by: David Woodhouse commit 00dfff77e7184140dc45724c7232e99302f6bf97 Author: Jiri Slaby Date: Mon Jun 14 17:17:32 2010 +0200 intel-iommu: Fix double lock in get_domain_for_dev() stanse found the following double lock. In get_domain_for_dev: spin_lock_irqsave(&device_domain_lock, flags); domain_exit(domain); domain_remove_dev_info(domain); spin_lock_irqsave(&device_domain_lock, flags); spin_unlock_irqrestore(&device_domain_lock, flags); spin_unlock_irqrestore(&device_domain_lock, flags); This happens when the domain is created by another CPU at the same time as this function is creating one, and the other CPU wins the race to attach it to the device in question, so we have to destroy our own newly-created one. Signed-off-by: David Woodhouse commit 25cbff1660d3f4c059a178a1e5b851be6d70c5e8 Author: Sheng Yang Date: Sat Jun 12 19:21:42 2010 +0800 intel-iommu: Fix reference by physical address in intel_iommu_attach_device() Commit a99c47a2 "intel-iommu: errors with smaller iommu widths" replace the dmar_domain->pgd with the first entry of page table when iommu's supported width is smaller than dmar_domain's. But it use physical address directly for new dmar_domain->pgd... This result in KVM oops with VT-d on some machines. Reported-by: Allen Kay Cc: Tom Lyon Signed-off-by: Sheng Yang Signed-off-by: David Woodhouse commit bc092a303a1b980c67324920471e23354b0721cd Author: Tomi Valkeinen Date: Mon Jun 7 10:46:10 2010 +0300 OMAP: OMAPFB: fix rfbi.c compile error The code in rfbi.c tried to get the omapdss platform_device via a static member defined in dispc.c, leading to a compile error. The same platform_device is available through rfbi-struct. Signed-off-by: Tomi Valkeinen commit 256a8042830e6ac1c3dd2e912e3c45769dd709cc Author: Janusz Krzysztofik Date: Mon May 17 03:20:13 2010 +0200 OMAPFB: LCDC: change update_mode to DISABLED when going suspend I was observing the following error messages on my OMAP1 based Amstrad Delta board when first changing from text to graphics mode or vice versa after the LCD display had been blanked: omapfb omapfb: timeout waiting for FRAME DONE with a followup error message while unblanking it back: omapfb omapfb: resetting (status 0xffffffb2,reset count 1) As a visible result, image pixels happened to be shifted by a few bits, giving wrong colors. Examining the code, I found that this problem occures when an OMAP1 internal LCD controller is disabled from omap_lcdc_suspend() and then a subsequent omap_lcdc_setup_plane() calls disable_controller() again. This potentially error provoking behaviour is triggered by the lcdc.update_mode flag being kept at OMAP_AUTO_UPDATE, regardless of the controller and panel being suspended. This patch tries to correct the problem by replacing both omap_lcdc_suspend() and omap_lcdc_resume() function bodies with single calls to omap_lcdc_set_update_mode() with a respective OMAP_UPDATE_DISABLE or OMAP_AUTO_UPDATE argument. As a result, exactly the same lower level operations are performed, with addition of changing the lcdc.update_mode flag to a value better suited for the controller state. This prevents any further calls to disable_controller() from omap_lcdc_setup_plane() while the display is suspended. Created against linux-2.6.34-rc7. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tomi Valkeinen commit a2c9a603c72be0d9a0780f196bff53ab0d517347 Author: Dmitry Baryshkov Date: Fri Jun 11 01:52:34 2010 +0000 powerpc/5200: add lite5200 onboard I2C eeprom and flash Add dts descriptions for onboard 256 byte I2C eeprom (pcf8582C-2) and 16MB NOR flash (am29lv652d). Signed-off-by: Dmitry Eremin-Solenikov [grant.likely@secretlab.ca: added lite5200b eeprom and declared lite5200 gpios] Signed-off-by: Grant Likely commit 3bbf9b9b0fe74b5149d922a5d893be6954b61198 Author: Grant Likely Date: Tue Jun 8 07:48:29 2010 -0600 maintainers: Add git trees for SPI and device tree Signed-off-by: Grant Likely commit 7c9d93604b25c25dc059e2b12ad5e89ca3ed4376 Author: Alastair Bridgewater Date: Sat Jun 12 15:36:48 2010 +0000 powerpc: Fix mpic_resume on early G5 macs mpic_resume() on G5 macs blindly dereferences mpic->fixups, but it may legitimately be NULL (as on PowerMac7,2). Add an explicit check. This fixes suspend-to-disk with one processor (maxcpus=1) for me. Signed-off-by: Alastair Bridgewater Signed-off-by: Benjamin Herrenschmidt commit bd2b64a12bf55bec0d1b949e3dca3f8863409646 Author: Milton Miller Date: Sat Jun 12 03:48:47 2010 +0000 powerpc: rtas_flash needs to use rtas_data_buf When trying to flash a machine via the update_flash command, Anton received the following error: Restarting system. FLASH: kernel bug...flash list header addr above 4GB The code in question has a comment that the flash list should be in the kernel data and therefore under 4GB: /* NOTE: the "first" block list is a global var with no data * blocks in the kernel data segment. We do this because * we want to ensure this block_list addr is under 4GB. */ Unfortunately the Kconfig option is marked tristate which means the variable may not be in the kernel data and could be above 4GB. Instead of relying on the data segment being below 4GB, use the static data buffer allocated by the kernel for use by rtas. Since we don't use the header struct directly anymore, convert it to a simple pointer. Reported-By: Anton Blanchard Signed-Off-By: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit f1ba9a5b2ab7d3f5a910d93371c4f22b636b7683 Author: Christoph Hellwig Date: Wed Jun 2 22:24:26 2010 +0000 powerpc: Unconditionally enabled irq stacks Irq stacks provide an essential protection from stack overflows through external interrupts, at the cost of two additionals stacks per CPU. Enable them unconditionally to simplify the kernel build and prevent people from accidentally disabling them. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt commit b636f1379eefe6eba931deaa386605bc7ac623e7 Author: Matt Evans Date: Mon Jun 7 21:38:18 2010 +0000 powerpc/kexec: Wait for online/possible CPUs only. kexec_perpare_cpus_wait() iterates i through NR_CPUS to check paca[i].kexec_state of each to make sure they have quiesced. However now we have dynamic PACA allocation, paca[NR_CPUS] is not necessarily valid and we overrun the array; spurious "cpu is not possible, ignoring" errors result. This patch iterates for_each_online_cpu so stays within the bounds of paca[] -- and every CPU is now 'possible'. Signed-off-by: Matt Evans Signed-off-by: Benjamin Herrenschmidt commit 65cf840ff4b63852d34d577d559978ccfc554a6c Author: Grant Likely Date: Sun Jun 6 17:46:03 2010 +0000 powerpc: Disable CONFIG_SYSFS_DEPRECATED Acked-by: Grant Likely On 5 May 2010 21:33, "Anton Blanchard" wrote: CONFIG_SYSFS_DEPRECATED can cause issues with newer distros and should not be required for any distro in the last 3 or 4 years, so disable it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 97bb63e49600c18a8e8384d9c445b8c8b5b792af Author: Paul Mackerras Date: Mon Jun 7 14:27:10 2010 +0000 powerpc/boot: Remove addRamdisk.c since it is now unused It was used in the dim distant past for adding initrds to images for legacy iSeries, but it's not even used for that now that we have initramfs. So remove it. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit b5416ca9f824d3deb1e25a32683100360e104b72 Author: Anton Blanchard Date: Mon Jun 7 15:34:38 2010 +0000 powerpc: Move kdump default base address to 64MB on 64bit We are seeing boot fails on some System p machines when using the kdump crashkernel= boot option. The default kdump base address is 32MB, so if we reserve 256MB for kdump then we reserve all of the RMO except the first 32MB. We really want kdump to reserve some memory in the RMO and most of it elsewhere but that will require more significant changes. For now we can shift the default base address to 64MB when CONFIG_PPC64 and CONFIG_RELOCATABLE are set. This isn't quite correct since what we really care about is the kdump kernel is relocatable, but we already make the assumption that base kernel and kdump kernel have the same CONFIG_RELOCATABLE setting, eg: #ifndef CONFIG_RELOCATABLE if (crashk_res.start != KDUMP_KERNELBASE) printk("Crash kernel location must be 0x%x\n", KDUMP_KERNELBASE); ... RTAS is instantiated towards the top of our RMO, so if we were to go any higher we risk not having enough RMO memory for the kdump kernel on boxes with a 128MB RMO. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8054a3428fbec2d91dfeb5bd78d7e75064cf163b Author: Christoph Egger Date: Tue Jun 8 23:59:55 2010 +0000 powerpc: Remove dead CONFIG_HIGHPTE CONFIG_HIGHPTE doesn't exist in Kconfig, therefore removing all references for it from the source code. Signed-off-by: Christoph Egger Signed-off-by: Benjamin Herrenschmidt commit 53b5cd349556394f91553b3bab3b483b4024e6d8 Merge: 7e27d6e 500a0e5 Author: Benjamin Herrenschmidt Date: Tue Jun 15 14:58:30 2010 +1000 Merge commit 'kumar/merge' into merge commit 02a077c52ef7631275a79862ffd9f3dbe9d38bc2 Author: Rajiv Andrade Date: Mon Jun 14 13:58:22 2010 -0300 TPM: ReadPubEK output struct fix This patch adds a missing element of the ReadPubEK command output, that prevents future overflow of this buffer when copying the TPM output result into it. Prevents a kernel panic in case the user tries to read the pubek from sysfs. Signed-off-by: Rajiv Andrade Signed-off-by: James Morris commit e7fdc95ef8e914ae8625f2ae4b3775b2bc435d3a Author: Zhu Yi Date: Thu Jun 10 09:44:29 2010 +0800 wireless: orphan ipw2x00 drivers Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 50900f1698f68127e54c67fdfe829e4a97b1be2b Author: Joerg Albert Date: Sun Jun 13 14:22:23 2010 +0200 p54pci: add Symbol AP-300 minipci adapters pciid Cc: stable@kernel.org Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 13deb23a52c13053fc509f119eb80b903c65a879 Author: Prarit Bhargava Date: Thu Jun 10 08:08:42 2010 -0400 libertas_tf: Fix warning in lbtf_rx for stats struct Fixes linux-2.6 warning: drivers/net/wireless/libertas_tf/main.c: In function 'lbtf_rx': drivers/net/wireless/libertas_tf/main.c:578: warning: 'stats.antenna' is used uninitialized in this function drivers/net/wireless/libertas_tf/main.c:578: warning: 'stats.mactime' is used uninitialized in this function stats struct needs to be set to 0 before use. Signed-off-by: Prarit Bhargava Signed-off-by: John W. Linville commit b561e8274f75831ee87e4ea378cbb1f9f050a51a Author: Shanyu Zhao Date: Tue Jun 1 17:13:58 2010 -0700 iwlagn: verify flow id in compressed BA packet The flow id (scd_flow) in a compressed BA packet should match the txq_id of the queue from which the aggregated packets were sent. However, in some hardware like the 1000 series, sometimes the flow id is 0 for the txq_id (10 to 19). This can cause the annoying message: [ 2213.306191] iwlagn 0000:01:00.0: Received BA when not expected [ 2213.310178] iwlagn 0000:01:00.0: Read index for DMA queue txq id (0), index 5, is out of range [0-256] 7 7. And even worse, if agg->wait_for_ba is true when the bad BA is arriving, this can cause system hang due to NULL pointer dereference because the code is operating in a wrong tx queue! Signed-off-by: Shanyu Zhao Signed-off-by: Pradeep Kulkarni Signed-off-by: Reinette Chatre commit da5ae1cfff4cc5b9392eab59b227ad907626d7aa Author: Reinette Chatre Date: Fri May 28 09:28:39 2010 -0700 iwlwifi: serialize station management actions We are seeing some race conditions between incoming station management requests (station add/remove) and the internal unassoc RXON command that modifies station table. Modify these flows to require the mutex to be held and thus serializing them. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2207 Signed-off-by: Reinette Chatre commit b8f171e7e7ed5c9b77324bcc6bb580ddcc84da49 Author: Alex Murray Date: Mon Jun 14 12:08:43 2010 +0930 ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2 The line-in input is 0x7 not 0x2 for MacBook (Pro) 5,1 / 5,2 models Signed-off-by: Alex Murray Signed-off-by: Takashi Iwai commit 28c8e4790ca5ef75f54895ca46437f9fbb433ddf Author: Andy Gospodarek Date: Fri Jun 11 12:47:03 2010 +0000 ixgbe: fix automatic LRO/RSC settings for low latency This patch added to 2.6.34: commit f8d1dcaf88bddc7f282722ec1fdddbcb06a72f18 Author: Jesse Brandeburg Date: Tue Apr 27 01:37:20 2010 +0000 ixgbe: enable extremely low latency introduced a feature where LRO (called RSC on the hardware) was disabled automatically when setting rx-usecs to 0 via ethtool. Some might not like the fact that LRO was disabled automatically, but I'm fine with that. What I don't like is that LRO/RSC is automatically enabled when rx-usecs is set >0 via ethtool. This would certainly be a problem if the device was used for forwarding and it was determined that the low latency wasn't needed after the device was already forwarding. I played around with saving the state of LRO in the driver, but it just didn't seem worthwhile and would require a small change to dev_disable_lro() that I did not like. This patch simply leaves LRO disabled when setting rx-usecs >0 and requires that the user enable it again. An extra informational message will also now appear in the log so users can understand why LRO isn't being enabled as they expect. Inconsistency of LRO setting first noticed by Stanislaw Gruszka. Signed-off-by: Andy Gospodarek CC: Stanislaw Gruszka CC: stable@kernel.org Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7837e58ce39bd727e0a163e7d34e479df36f6d29 Author: Joe Perches Date: Fri Jun 11 12:51:49 2010 +0000 e1000: Fix message logging defect commit 675ad47375c76a7c3be4ace9554d92cd55518ced removed the capability to use ethtool.set_msglevel to control the types of messages emitted by the driver. That commit should probably be reverted. If not, then this patch fixes a message logging defect introduced by converting a printk without KERN_ to e_info. This also reduces text by about 200 bytes. Signed-off-by: Joe Perches Tested-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d08935c274b7e552e47633cf0cbd74b6e953d228 Author: Don Skidmore Date: Fri Jun 11 13:20:29 2010 +0000 ixgbe: fix for race with 8259(8|9) during shutdown There is a small window where the watchdog could be running as the interface is brought down on a NIC with two ports wired back to back. If ixgbe_update_status is then called can lead to a panic. This patch allows the update to bail if we are in that condition. This issue was orignally reported and fix proposed by Akihiko Saitou. CC: Akihiko Saitou Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e8d15e6460cb0eea00f2574a80d94496943403ba Author: Eric Dumazet Date: Sun Jun 13 10:50:46 2010 +0000 net: rxhash already set in __copy_skb_header No need to copy rxhash again in __skb_clone() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e897082fe7a5b591dc4dd5599ac39081a7c8e482 Author: John Fastabend Date: Sun Jun 13 10:36:30 2010 +0000 net: fix deliver_no_wcard regression on loopback device deliver_no_wcard is not being set in skb_copy_header. In the skb_cloned case it is not being cleared and may cause the skb to be dropped when the loopback device pushes it back up the stack. Signed-off-by: John Fastabend Acked-by: Eric Dumazet Tested-by: Markus Trippelsdorf Signed-off-by: David S. Miller commit 9f069af5b62919151d76b37a3b168cbb34c874c3 Author: Michael Ellerman Date: Wed May 19 02:32:29 2010 +0000 of: Drop properties with "/" in their name Some bogus firmwares include properties with "/" in their name. This causes problems when creating the /proc/device-tree file system, because the slash is taken to indicate a directory. We don't care about those properties, and we don't want to encourage them, so just throw them away when creating /proc/device-tree. Signed-off-by: Michael Ellerman Tested-by: Christian Kujau Signed-off-by: Grant Likely commit 8acf7d00dfb62d7e5f2533c3f1132f60cb267369 Author: Baruch Siach Date: Wed Jun 9 14:07:02 2010 +0300 watchdog: [PATCH 3/3] imx2_wdt: fix section mismatch Signed-off-by: Baruch Siach Acked-by: Uwe Kleine-König Reviewed-by: Wolfram Sang Signed-off-by: Wim Van Sebroeck commit d49aba84fe775671133295658f43f4d142a517f9 Author: Randy Dunlap Date: Tue Jun 8 07:00:20 2010 +0000 enic: fix pci_alloc_consistent argument Fix build warning on i386 (32-bit) with 32-bit dma_addr_t: drivers/net/enic/vnic_dev.c: In function 'vnic_dev_init_prov': drivers/net/enic/vnic_dev.c:716: warning: passing argument 3 of 'pci_alloc_consistent' from incompatible pointer type include/asm-generic/pci-dma-compat.h:16: note: expected 'dma_addr_t *' but argument is of type 'u64 *' Now builds without warnings on i386 and on x86_64. Signed-off-by: Randy Dunlap Cc: Scott Feldman Cc: Vasanthy Kolluri Cc: Roopa Prabhu Acked-by: Scott Feldman commit c1db9d9bb23814a76cfb2416fd84f32c3fd6d82f Merge: 42de553 934231d Author: Len Brown Date: Sat Jun 12 01:16:51 2010 -0400 Merge branch 'misc-2.6.35' into release commit 42de5532f4a58a52a60bdd8bd4f80f9f210dd65b Merge: e9e8b4d 2a6b697 Author: Len Brown Date: Sat Jun 12 01:15:40 2010 -0400 Merge branch 'bugzilla-13931-sleep-nvs' into release Conflicts: drivers/acpi/sleep.c Signed-off-by: Len Brown commit e9e8b4dd142da3b6cbf301ba922804d6cdc31a17 Merge: d9a799d 4b1b29b Author: Len Brown Date: Sat Jun 12 00:58:01 2010 -0400 Merge branch 'bugzilla-102904-workaround' into release commit d9a799d197da16fcfb1e872e82ee6cdf7fe8f7ab Merge: a48ecc7 b681f7d Author: Len Brown Date: Sat Jun 12 00:56:15 2010 -0400 Merge branch 'acpica-cherry-pick' into release commit b681f7d9ab4d697a214fa4428795790c3a937a89 Author: Matthew Garrett Date: Wed May 26 11:50:48 2010 +0800 ACPICA: Truncate I/O addresses to 16 bits for Windows compatibility This feature is optional and is enabled if the BIOS requests any Windows OSI strings. It can also be enabled by the host OS. Signed-off-by: Matthew Garrett Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9cbfa18e8a7b34a32eddbd914a07f085962f50a8 Author: Bob Moore Date: Wed May 26 11:22:41 2010 +0800 ACPICA: Limit maximum time for Sleep() operator To prevent accidental deep sleeps, limit the maximum time that Sleep() will sleep. Configurable, default maximum is two seconds. ACPICA bugzilla 854. http://www.acpica.org/bugzilla/show_bug.cgi?id=854 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d70326689b70b35527765bd3decbb1229459e928 Author: Bob Moore Date: Wed May 26 11:06:12 2010 +0800 ACPICA: Fix namestring associated with AE_NO_HANDLER exception Was incorrectly AE_WAKE_ONLY_GPE. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit a48ecc771852158eb7b9ace242f0a6226a3907b7 Merge: 9263482 8aa4b14 Author: Len Brown Date: Sat Jun 12 00:52:19 2010 -0400 Merge branch 'acpi_pad' into release commit 92634825571d86417941855a8e3189c07aa3c706 Merge: 7e27d6e 9d3c752 Author: Len Brown Date: Sat Jun 12 00:51:49 2010 -0400 Merge branch 'gpe-regression-fixes' into release commit 9d3c752de65dbfa6e522f1d666deb0ac152ef367 Author: Rafael J. Wysocki Date: Tue Jun 8 10:50:53 2010 +0200 ACPI / ACPICA: Fix sysfs GPE interface The sysfs interface allowing user space to disable/enable GPEs doesn't work correctly, because a GPE disabled this way will be re-enabled shortly by acpi_ev_asynch_enable_gpe() if it was previosuly enabled by acpi_enable_gpe() (in which case the corresponding bit in its enable register's enable_for_run mask is set). To address this issue make the sysfs GPE interface use acpi_enable_gpe() and acpi_disable_gpe() instead of acpi_set_gpe() so that GPE reference counters are modified by it along with the values of GPE enable registers. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit ce43ace02320a3fb9614ddb27edc3a8700d68b26 Author: Rafael J. Wysocki Date: Tue Jun 8 10:50:20 2010 +0200 ACPI / ACPICA: Fix GPE initialization While developing the GPE reference counting code we overlooked the fact that acpi_ev_update_gpes() could have enabled GPEs before acpi_ev_initialize_gpe_block() was called. As a result, some GPEs are enabled twice during the initialization. To fix this issue avoid calling acpi_enable_gpe() from acpi_ev_initialize_gpe_block() for the GPEs that have nonzero runtime reference counters. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit c9a8bbb7704cbf515c0fc68970abbe4e91d68521 Author: Rafael J. Wysocki Date: Tue Jun 8 10:49:45 2010 +0200 ACPI / ACPICA: Avoid writing full enable masks to GPE registers ACPICA uses acpi_hw_write_gpe_enable_reg() to re-enable a GPE after an event signaled by it has been handled. However, this function writes the entire GPE enable mask to the GPE's enable register which may not be correct. Namely, if one of the other GPEs in the same register was previously enabled by acpi_enable_gpe() and subsequently disabled using acpi_set_gpe(), acpi_hw_write_gpe_enable_reg() will re-enable it along with the target GPE. To fix this issue rework acpi_hw_write_gpe_enable_reg() so that it calls acpi_hw_low_set_gpe() with a special action value, ACPI_GPE_COND_ENABLE, that will make it only enable the GPE if the corresponding bit in its register's enable_for_run mask is set. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit fd247447c1d94a79d5cfc647430784306b3a8323 Author: Rafael J. Wysocki Date: Tue Jun 8 10:49:08 2010 +0200 ACPI / ACPICA: Fix low-level GPE manipulation code ACPICA uses acpi_ev_enable_gpe() for enabling GPEs at the low level, which is incorrect, because this function only enables the GPE if the corresponding bit in its enable register's enable_for_run mask is set. This causes acpi_set_gpe() to work incorrectly if used for enabling GPEs that were not previously enabled with acpi_enable_gpe(). As a result, among other things, wakeup-only GPEs are never enabled by acpi_enable_wakeup_device(), so the devices that use them are unable to wake up the system. To fix this issue remove acpi_ev_enable_gpe() and its counterpart acpi_ev_disable_gpe() and replace acpi_hw_low_disable_gpe() with acpi_hw_low_set_gpe() that will be used instead to manipulate GPE enable bits at the low level. Make the users of acpi_ev_enable_gpe() and acpi_ev_disable_gpe() call acpi_hw_low_set_gpe() instead and make sure that GPE enable masks are only updated by acpi_enable_gpe() and acpi_disable_gpe() when GPE reference counters change from 0 to 1 and from 1 to 0, respectively. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 12420ac341533f3715b3deb788637568f22b78ff Author: Jeff Layton Date: Tue Jun 1 14:47:40 2010 -0400 cifs: implement drop_inode superblock op The standard behavior for drop_inode is to delete the inode when the last reference to it is put and the nlink count goes to 0. This helps keep inodes that are still considered "not deleted" in cache as long as possible even when there aren't dentries attached to them. When server inode numbers are disabled, it's not possible for cifs_iget to ever match an existing inode (since inode numbers are generated via iunique). In this situation, cifs can keep a lot of inodes in cache that will never be used again. Implement a drop_inode routine that deletes the inode if server inode numbers are disabled on the mount. This helps keep the cifs inode caches down to a more manageable size when server inode numbers are disabled. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ed0e3ace576d297a5c7015401db1060bbf677b94 Author: Jeff Layton Date: Tue Jun 1 16:21:01 2010 -0400 cifs: don't attempt busy-file rename unless it's in same directory Busy-file renames don't actually work across directories, so we need to limit this code to renames within the same dir. This fixes the bug detailed here: https://bugzilla.redhat.com/show_bug.cgi?id=591938 Signed-off-by: Jeff Layton CC: Stable Signed-off-by: Steve French commit e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0 Author: Rafael J. Wysocki Date: Tue Jun 8 10:48:26 2010 +0200 ACPI / ACPICA: Use helper function for computing GPE masks In quite a few places ACPICA needs to compute a GPE enable mask with only one bit, corresponding to a given GPE, set. Currently, that computation is always open coded which leads to unnecessary code duplication. Fix this by introducing a helper function for computing one-bit GPE enable masks and using it where appropriate. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit a997ab332832519c2e292db13f509e4360495a5a Author: Rafael J. Wysocki Date: Sat Jun 12 00:05:19 2010 +0200 ACPI / ACPICA: Do not attempt to disable GPE when installing handler Commit 0f849d2cc6863c7874889ea60a871fb71399dd3f (ACPICA: Minimize the differences between linux GPE code and ACPICA code base) introduced a change attempting to disable a GPE before installing a handler for it in acpi_install_gpe_handler() which was incorrect. First, the GPE disabled by it is never enabled again (except during resume) which leads to battery insert/remove events not being reported on the Maxim Levitsky's machine. Second, the disabled GPE is still reported as enabled by the sysfs interface that only checks its enable register's enable_for_run mask. Revert this change for now, because it causes more damage to happen than the bug it was supposed to fix. Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Maxim Levitsky Signed-off-by: Len Brown commit 1c938663d58b5b2965976a6f54cc51b5d6f691aa Author: Krzysztof Halasa Date: Fri Jun 11 01:08:20 2010 +0200 kbuild: Fix modpost segfault Alan writes: > program: /home/alan/GitTrees/linux-2.6-mid-ref/scripts/mod/modpost -o > Module.symvers -S vmlinux.o > > Program received signal SIGSEGV, Segmentation fault. It just hit me. It's the offset calculation in reloc_location() which overflows: return (void *)elf->hdr + sechdrs[section].sh_offset + (r->r_offset - sechdrs[section].sh_addr); E.g. for the first rodata r entry: r->r_offset < sechdrs[section].sh_addr and the expression in the parenthesis produces 0xFFFFFFE0 or something equally wise. Reported-by: Alan Signed-off-by: Krzysztof Hałasa Tested-by: Alan Signed-off-by: Michal Marek commit 6a4f3b523779b67e7d560ed42652f8a59f2f9782 Author: Venkatesh Pallipadi Date: Thu Jun 10 17:45:01 2010 -0700 x86, pat: Proper init of memtype subtree_max_end subtree_max_end that was recently added to struct memtype was not getting properly initialized resulting in WARNING: kmemcheck: Caught 64-bit read from uninitialized memory in memtype_rb_augment_cb() reported here https://bugzilla.kernel.org/show_bug.cgi?id=16092 This change fixes the problem. Reported-by: Christian Casteyde Tested-by: Christian Casteyde Signed-off-by: Venkatesh Pallipadi LKML-Reference: <1276217101-11515-1-git-send-email-venki@google.com> Signed-off-by: H. Peter Anvin Cc: Suresh Siddha commit e8bdb6bbab60a8731f21823c86391f176d052348 Author: Daniel Mack Date: Fri Jun 11 17:34:22 2010 +0200 ALSA: usb-audio: fix UAC2 control value queries For RANGE requests, we should only query as much bytes as we're in fact interested in. For CUR requests, we shouldn't confuse the firmware with an overlong request but just ask for 2 bytes. This might need fixing in the future as it's not entirely clear when to dispatch 1-byte, 2-byte and 4-byte request blocks. For now, we assume everything is coded in 16bit - this works for all firmware implementations I've seen. Signed-off-by: Daniel Mack Reported-by: Alex Lee Signed-off-by: Takashi Iwai commit 67c103664a06fa590f2990c01773dfa1dffcefdc Author: Daniel Mack Date: Fri Jun 11 17:46:33 2010 +0200 ALSA: usb-audio: parse UAC2 sample rate ranges correctly A device may report its supported sample rates in ranges rather than in discrete triplets. The code used to only parse the MIN field instead of properly paying attention to the MAX and RES values. Also, handle RES values of 1 correctly and announce a continous sample rate range in this case. Signed-off-by: Daniel Mack Reported-by: Alex Lee Signed-off-by: Takashi Iwai commit 11bcbc443a17653c65bc20029172fae76f4bcca4 Author: Daniel Mack Date: Fri Jun 11 17:34:20 2010 +0200 ALSA: usb-audio: fix control messages for USB_RECIP_INTERFACE Control messages directed to an interface must have the interface number set in the lower 8 bits of wIndex. This wasn't done correctly for some clock and mixer messages. Signed-off-by: Daniel Mack Reported-by: Alex Lee Signed-off-by: Takashi Iwai commit d07140ba7fe1b41713627c6dc3f169a00019fb0e Author: Daniel Mack Date: Fri Jun 11 17:34:19 2010 +0200 ALSA: usb-audio: add check for faulty clock in parse_audio_format_rates_v2() Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit fbe618f216830f47b183858c3380d4767b1ad02f Author: Takashi Iwai Date: Fri Jun 11 11:24:58 2010 +0200 ALSA: hda - Don't check capture source mixer if no ADC is available With multiple codec configurations, some codec might have no ADC, thus it keeps spec->adc_nids = NULL. This causes an Oops in alc_build_controls(). Reference: kernel bug #16156 https://bugzilla.kernel.org/show_bug.cgi?id=16156 Cc: Signed-off-by: Takashi Iwai commit 174787cb5144e5a45141ec7cb9d95ea29bbe22bb Merge: 1d90f2e a8fb260 Author: Ingo Molnar Date: Fri Jun 11 10:18:06 2010 +0200 Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent commit a8fb2608053547bc3152ea61a5ec7cdfce5d942c Author: Steven Rostedt Date: Thu Jun 10 14:53:16 2010 -0400 perf/tracing: Fix regression of perf losing kprobe events With the addition of the code to shrink the kernel tracepoint infrastructure, we lost kprobes being traced by perf. The reason is that I tested if the "tp_event->class->perf_probe" existed before enabling it. This prevents "ftrace only" events (like the function trace events) from being enabled by perf. Unfortunately, kprobe events do not use perf_probe. This causes kprobes to be missed by perf. To fix this, we add the test to see if "tp_event->class->reg" exists as well as perf_probe. Normal trace events have only "perf_probe" but no "reg" function, and kprobes and syscalls have the "reg" but no "perf_probe". The ftrace unique events do not have either, so this is a valid test. If a kprobe or syscall is not to be probed by perf, the "reg" function is called anyway, and will return a failure and prevent perf from probing it. Reported-by: Srikar Dronamraju Tested-by: Srikar Dronamraju Acked-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 055c47272b8f5679d08ccc57efea3cb4aaeb5fc6 Author: Borislav Petkov Date: Wed Jun 9 11:04:16 2010 +0300 um, hweight: Fix UML boot crash due to x86 optimized hweight Apparently UML cannot stomach callee reg-saving trickery introduced with d61931d89be506372d01a90d1755f6d0a9fafe2d (x86: Add optimized popcnt variants) and oopses during boot: http://marc.info/?l=linux-kernel&m=127522065202435&w=2 Redirect arch_hweight.h include from the x86 portion to the generic arch_hweight.h which is a fallback to the software hweight routines. LKML-Reference: <201005271944.09541.toralf.foerster@gmx.de> Signed-off-by: Borislav Petkov LKML-Reference: <4C0F4B00.4090307@panasas.com> Signed-off-by: H. Peter Anvin commit cf3bdc29fcbf2cb4cfa238591021d41ea8f8431f Author: Andi Kleen Date: Thu Jun 10 13:10:40 2010 +0200 x86, setup: Set ax register in boot vga query Catch missing conversion to the register structure "glove box" scheme. Found by gcc 4.6's new warnings. Signed-off-by: Andi Kleen LKML-Reference: <20100610111040.F1781B1A2B@basil.firstfloor.org> Signed-off-by: H. Peter Anvin commit 23b764d056bfec0a212a67229074ac281e86e021 Author: Andi Kleen Date: Thu Jun 10 13:10:36 2010 +0200 percpu, x86: Avoid warnings of unused variables in per cpu Avoid hundreds of warnings with a gcc 4.6 -Wall build. Signed-off-by: Andi Kleen Acked-by: Tejun Heo Signed-off-by: Ingo Molnar commit 4b1b29bc8801badd243694add02262e0955dde1b Author: Zhang Rui Date: Tue Jun 8 15:28:40 2010 +0800 ACPI: Disable Vista compatibility for Sony VGN-NS50B_L Disable Vista compatibility for Sony VGN-NS50B_L. https://bugzilla.kernel.org/show_bug.cgi?id=12904#c46 Note that this change is a workaround, not a permanent fix. For the permanent fix is to figure out what compatibility means and to actually be compatible... Tested-by: Voldemar Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 934231de706d2579fae14f5857fcd8de991009ff Author: Liang Li Date: Thu Jun 10 13:42:49 2010 +0800 ACPI: fan: fix unbalanced code block The code block braced with CONFIG_ACPI_PROCFS is unblanced. When CONFIG_ACPI_PROCFS=n, kernel trace will be produced like: Call Trace: [] ? remove_proc_entry+0x20d/0x290 [] ? remove_proc_entry+0x20d/0x290 [] warn_slowpath_common+0x6c/0xc0 [] ? remove_proc_entry+0x20d/0x290 [] warn_slowpath_fmt+0x26/0x30 [] remove_proc_entry+0x20d/0x290 [] ? proc_register+0x117/0x1f0 [] ? proc_mkdir_mode+0x33/0x50 [] ? acpi_fan_init+0x0/0x2c [] acpi_fan_init+0x23/0x2c [] do_one_initcall+0x23/0x180 [] ? init_irq_proc+0x67/0x80 [] kernel_init+0x13c/0x20e [] ? schedule_tail+0x20/0x90 [] ? syscall_exit+0x5/0x16 [] ? kernel_init+0x0/0x20e [] ? kernel_init+0x0/0x20e [] kernel_thread_helper+0x6/0x30 ---[ end trace a7919e7f17c0a725 ]--- Then also bracket later error checking code with ACPI_PROCFS option to avoid mismatch problem. Signed-off-by: Liang Li Signed-off-by: Len Brown commit 2a6b69765ad794389f2fc3e14a0afa1a995221c2 Author: Matthew Garrett Date: Fri May 28 16:32:15 2010 -0400 ACPI: Store NVS state even when entering suspend to RAM https://bugzilla.kernel.org/show_bug.cgi?id=13931 describes a bug where a system fails to successfully resume after the second suspend. Maxim Levitsky discovered that this could be rectified by forcibly saving and restoring the ACPI non-volatile state. The spec indicates that this is only required for S4, but testing the behaviour of Windows by adding an ACPI NVS region to qemu's e820 map and registering a custom memory read/write handler reveals that it's saved and restored even over suspend to RAM. We should mimic that behaviour to avoid other broken platforms. Signed-off-by: Matthew Garrett Signed-off-by: Len Brown commit dd4c4f17d722ffeb2515bf781400675a30fcead7 Author: Matthew Garrett Date: Fri May 28 16:32:14 2010 -0400 suspend: Move NVS save/restore code to generic suspend functionality Saving platform non-volatile state may be required for suspend to RAM as well as hibernation. Move it to more generic code. Signed-off-by: Matthew Garrett Acked-by: Rafael J. Wysocki Tested-by: Maxim Levitsky Signed-off-by: Len Brown commit d11007703c31db534674ebeeb9eb047bbbe758bd Author: Stephane Eranian Date: Thu Jun 10 13:25:01 2010 +0200 perf_events: Fix Intel Westmere event constraints Based on Intel Vol3b (March 2010), the event SNOOPQ_REQUEST_OUTSTANDING is restricted to counters 0,1 so update the event table for Intel Westmere accordingly. Signed-off-by: Stephane Eranian Cc: peterz@infradead.org Cc: paulus@samba.org Cc: davem@davemloft.net Cc: fweisbec@gmail.com Cc: perfmon2-devel@lists.sf.net Cc: eranian@gmail.com Cc: # .34.x LKML-Reference: <4c10cb56.5120e30a.2eb4.ffffc3de@mx.google.com> Signed-off-by: Ingo Molnar commit 1d90f2e707e75afdb6b644f774cf5e54dc9c33fc Author: Arnaldo Carvalho de Melo Date: Wed Jun 9 07:13:16 2010 -0300 perf record: Don't call newt functions when not initialized When processing events we want to give visual feedback to the user when using the newt browser, so there are ui_progress calls in __perf_session__process_events, but those should check if newt is being used. Reported-by: Srikar Dronamraju Tested-by: Srikar Dronamraju Cc: Ananth N Mavinakayanahalli Cc: Frédéric Weisbecker Cc: Ingo Molnar Cc: Masami Hiramatsu , Cc: Peter Zijlstra Cc: Srikar Dronamraju Cc: Stephane Eranian Cc: Tom Zanussi LKML-Reference: <20100609123530.GB9471@ghostprotocols.net> Signed-off-by: Arnaldo Carvalho de Melo commit 75cbfb97a156dd3dabdc81295fb8144576332366 Author: Thomas Renninger Date: Wed May 26 17:03:33 2010 +0200 ACPI: Do not try to set up acpi processor stuff on cores exceeding maxcpus= Patch is against latest Linus master branch and is expected to be safe bug fix. You get: ACPI: HARDWARE addr space,NOT supported yet for each ACPI defined CPU which status is active, but exceeds maxcpus= count. As these "not booted" CPUs do not run an idle routine and echo X >/proc/acpi/processor/*/throttling did not work I couldn't find a way to really access not onlined/booted machines. Still this should get fixed and /proc/acpi/processor/X dirs of cores exceeding maxcpus should not show up. I wonder whether this could get cleaned up by truncating possible cpu mask and nr_cpu_ids to setup_max_cpus early some day (and not exporting setup_max_cpus anymore then). But this needs touching of a lot other places... Signed-off-by: Thomas Renninger CC: travis@sgi.com CC: linux-acpi@vger.kernel.org CC: lenb@kernel.org Signed-off-by: Len Brown commit a4384df3e24579d6292a1b3b41d500349948f30b Author: Eric W. Biederman Date: Tue Jun 8 11:44:32 2010 -0700 x86, irq: Rename gsi_end gsi_top, and fix off by one errors When I introduced the global variable gsi_end I thought gsi_end on io_apics was one past the end of the gsi range for the io_apic. After it was pointed out the the range on io_apics was inclusive I changed my global variable to match. That was a big mistake. Inclusive semantics without a range start cannot describe the case when no gsi's are allocated. Describing the case where no gsi's are allocated is important in sfi.c and mpparse.c so that we can assign gsi numbers instead of blindly copying the gsi assignments the BIOS has done as we do in the acpi case. To keep from getting the global variable confused with the gsi range end rename it gsi_top. To allow describing the case where no gsi's are allocated have gsi_top be one place the highest gsi number seen in the system. This fixes an off by one bug in sfi.c: Reported-by: jacob pan This fixes the same off by one bug in mpparse.c: This fixes an off unreachable by one bug in acpi/boot.c:irq_to_gsi Reported-by: Yinghai Signed-off-by: Eric W. Biederman LKML-Reference: Signed-off-by: H. Peter Anvin commit f5dec51172b81db226a23f309bc737ad021af35b Author: Dmitry Torokhov Date: Wed Jun 9 08:13:06 2010 -0700 Input: sysrq - fix "stuck" SysRq mode This shoud fix the problem with SysRq mode staying half-way enabled and interfereing with normal PrtScrn operation after user presses ALT for the first time. Reported-and-tested-by: Éric Piel Signed-off-by: Dmitry Torokhov commit 4673247562e39a17e09440fa1400819522ccd446 Author: Thomas Gleixner Date: Mon Jun 7 17:53:51 2010 +0200 genirq: Deal with desc->set_type() changing desc->chip The set_type() function can change the chip implementation when the trigger mode changes. That might result in using an non-initialized irq chip when called from __setup_irq() or when called via set_irq_type() on an already enabled irq. The set_irq_type() function should not be called on an enabled irq, but because we forgot to put a check into it, we have a bunch of users which grew the habit of doing that and it never blew up as the function is serialized via desc->lock against all users of desc->chip and they never hit the non-initialized irq chip issue. The easy fix for the __setup_irq() issue would be to move the irq_chip_set_defaults(desc->chip) call after the trigger setting to make sure that a chip change is covered. But as we have already users, which do the type setting after request_irq(), the safe fix for now is to call irq_chip_set_defaults() from __irq_set_trigger() when desc->set_type() changed the irq chip. It needs a deeper analysis whether we should refuse to change the chip on an already enabled irq, but that'd be a large scale change to fix all the existing users. So that's neither stable nor 2.6.35 material. Reported-by: Esben Haabendal Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: linuxppc-dev Cc: stable@kernel.org commit aea9d711f3d68c656ad31ab578ecfb0bb5cd7f97 Author: Sven Wegener Date: Wed Jun 9 16:10:57 2010 +0200 ipvs: Add missing locking during connection table hashing and unhashing The code that hashes and unhashes connections from the connection table is missing locking of the connection being modified, which opens up a race condition and results in memory corruption when this race condition is hit. Here is what happens in pretty verbose form: CPU 0 CPU 1 ------------ ------------ An active connection is terminated and we schedule ip_vs_conn_expire() on this CPU to expire this connection. IRQ assignment is changed to this CPU, but the expire timer stays scheduled on the other CPU. New connection from same ip:port comes in right before the timer expires, we find the inactive connection in our connection table and get a reference to it. We proper lock the connection in tcp_state_transition() and read the connection flags in set_tcp_state(). ip_vs_conn_expire() gets called, we unhash the connection from our connection table and remove the hashed flag in ip_vs_conn_unhash(), without proper locking! While still holding proper locks we write the connection flags in set_tcp_state() and this sets the hashed flag again. ip_vs_conn_expire() fails to expire the connection, because the other CPU has incremented the reference count. We try to re-insert the connection into our connection table, but this fails in ip_vs_conn_hash(), because the hashed flag has been set by the other CPU. We re-schedule execution of ip_vs_conn_expire(). Now this connection has the hashed flag set, but isn't actually hashed in our connection table and has a dangling list_head. We drop the reference we held on the connection and schedule the expire timer for timeouting the connection on this CPU. Further packets won't be able to find this connection in our connection table. ip_vs_conn_expire() gets called again, we think it's already hashed, but the list_head is dangling and while removing the connection from our connection table we write to the memory location where this list_head points to. The result will probably be a kernel oops at some other point in time. This race condition is pretty subtle, but it can be triggered remotely. It needs the IRQ assignment change or another circumstance where packets coming from the same ip:port for the same service are being processed on different CPUs. And it involves hitting the exact time at which ip_vs_conn_expire() gets called. It can be avoided by making sure that all packets from one connection are always processed on the same CPU and can be made harder to exploit by changing the connection timeouts to some custom values. Signed-off-by: Sven Wegener Cc: stable@kernel.org Acked-by: Simon Horman Signed-off-by: Patrick McHardy commit dc61b1d65e353d638b2445f71fb8e5b5630f2415 Author: Peter Zijlstra Date: Tue Jun 8 11:40:42 2010 +0200 sched: Fix PROVE_RCU vs cpu_cgroup PROVE_RCU has a few issues with the cpu_cgroup because the scheduler typically holds rq->lock around the css rcu derefs but the generic cgroup code doesn't (and can't) know about that lock. Provide means to add extra checks to the css dereference and use that in the scheduler to annotate its users. The addition of rq->lock to these checks is correct because the cgroup_subsys::attach() method takes the rq->lock for each task it moves, therefore by holding that lock, we ensure the task is pinned to the current cgroup and the RCU derefence is valid. That leaves one genuine race in __sched_setscheduler() where we used task_group() without holding any of the required locks and thus raced with the cgroup code. Solve this by moving the check under the appropriate lock. Signed-off-by: Peter Zijlstra Cc: "Paul E. McKenney" LKML-Reference: Signed-off-by: Ingo Molnar commit cd9b6fdf798841eb15253f928e762eee5260d347 Author: Oskar Schirmer Date: Tue Jun 8 01:12:22 2010 -0700 Input: ad7877 - fix spi word size to 16 bit With no word size given in the users platform data, a generic spi host controller driver will assume a default word size of eight bit. This causes transmission to be performed bytewise, which will fail on little endian machines for sure. Failure on big endian depends on usage of slave select to mark word boundaries. Anyway, ad7877 is specified to work with 16 bit per word, so unconditionally set the word size accordingly. Flag an error where 16 bit per word is not available. Signed-off-by: Oskar Schirmer Signed-off-by: Daniel Glöckner Signed-off-by: Oliver Schneidewind Signed-off-by: Dmitry Torokhov commit fc4ac7a5f5996712d9123ae4850948c640edb315 Author: Andres Salomon Date: Sat Jun 5 11:40:42 2010 -0400 x86: use __ASSEMBLY__ rather than __ASSEMBLER__ As Ingo pointed out in a separate patch, we should be using __ASSEMBLY__. Make that the case in pgtable headers. Signed-off-by: Andres Salomon LKML-Reference: <20100605114042.35ac69c1@dev.queued.net> Signed-off-by: H. Peter Anvin commit 9973e38575070b70c68bad177fb5056548fea349 Author: Paul Mundt Date: Mon Jun 7 11:42:01 2010 +0900 sh: Fix up IORESOURCE_PCI_FIXED usage in pcibios_fixup_device_resources(). pcibios_fixup_device_resources() presently skips over resources flagged with IORESOURCE_PCI_FIXED, which is a remnant of the old PCI-auto code. The only user for this at present is the Dreamast GAPSPCI code which can't tolerate any adjustments to the BARs, but a combination of the IORESOURCE_PCI_FIXED and zeroed out hose offsets does the right thing for this case already, so we simply kill off the special casing. Reported-by: Bjorn Helgaas Signed-off-by: Paul Mundt commit 42edb1d306d7941405b5ba5e7599ea99fc4bdf5a Author: Huang Weiyi Date: Sat Jun 5 14:42:39 2010 +0000 sh: remove duplicated #include Remove duplicated #include('s) in arch/sh/boards/mach-ecovec24/setup.c Signed-off-by: Huang Weiyi Signed-off-by: Paul Mundt commit 0b75f775288b90a83a8708a5af663a03d4bbc9ce Author: Dan Carpenter Date: Sat Jun 5 00:34:08 2010 -0700 Input: pcf8574_keypad - fix off by one in pcf8574_kp_irq_handler() If nextstate == ARRAY_SIZE(lp->btncode), then we read one past the end of the array on the next line. This fixes a smatch warning: drivers/input/misc/pcf8574_keypad.c +74 pcf8574_kp_irq_handler(8) error: buffer overflow 'lp->btncode' 17 <= 17 Signed-off-by: Dan Carpenter Acked-by: Jean Delvare Signed-off-by: Dmitry Torokhov commit 8aa4b14eb023fecaa48d55402e98bdf84b375c4a Author: Chen Gong Date: Sun May 30 11:37:08 2010 +0800 ACPI: acpi_pad: Don't needlessly mark LAPIC unstable As suggested in Venki's suggestion in the commit 0dc698b, add LAPIC unstable detection in the acpi_pad drvier too. Signed-off-by: Chen Gong Signed-off-by: Len Brown commit 500a0e56c36dabb8cb0d8f3c93aac900058ef7af Author: Kumar Gala Date: Thu May 13 14:38:21 2010 -0500 powerpc/fsl-booke: Move loadcam_entry back to asm code to fix SMP ftrace When we build with ftrace enabled its possible that loadcam_entry would have used the stack pointer (even though the code doesn't need it). We call loadcam_entry in __secondary_start before the stack is setup. To ensure that loadcam_entry doesn't use the stack pointer the easiest solution is to just have it in asm code. Signed-off-by: Kumar Gala commit fa6bd996db2fbecd7a9a408c158105c55a51fe41 Author: Li Yang Date: Fri May 7 16:38:34 2010 +0800 powerpc/fsl-booke: Fix InstructionTLBError execute permission check In CONFIG_PTE_64BIT the PTE format has unique permission bits for user and supervisor execute. However on !CONFIG_PTE_64BIT we overload the supervisor bit to imply user execute with _PAGE_USER set. This allows us to use the same permission check mask for user or supervisor code on !CONFIG_PTE_64BIT. However, on CONFIG_PTE_64BIT we map _PAGE_EXEC to _PAGE_BAP_UX so we need a different permission mask based on the fault coming from a kernel address or user space. Without unique permission masks we see issues like the following with modules: Unable to handle kernel paging request for instruction fetch Faulting instruction address: 0xf938d040 Oops: Kernel access of bad area, sig: 11 [#1] Signed-off-by: Li Yang Signed-off-by: Jin Qing Signed-off-by: Kumar Gala