aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-08-25md: use REQ_NOIDLE flag in md_super_write()Namhyung Kim1-1/+1
Queue idling is used for the anticipation of immediate sequencial I/O's but md_super_write() is a kind of one- shot operation, coupled with md_super_wait(), so the idling in this case will be just a waste of time. Specifying REQ_NOIDLE prevents it. Instead of adding the flag to submit_bio() directly, use pre-defined macro WRITE_FLUSH_FUA. Signed-off-by: Namhyung Kim <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2011-08-25md: ensure changes to 'write-mostly' are reflected in metadata.NeilBrown1-0/+5
The 'write-mostly' flag can be changed through sysfs. With 0.90 metadata, those changes are reflected in the metadata. For 1.x metadata, they aren't. So fix super_1_sync to record 'write-mostly' status. Signed-off-by: NeilBrown <[email protected]>
2011-08-25md: report failure if a 'set faulty' request doesn't.NeilBrown1-1/+6
Sometimes a device will refuse to be set faulty. e.g. RAID1 will never let the last working device become faulty. So check if "md_error()" did manage to set the faulty flag and fail with EBUSY if it didn't. Resolves-Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=601198 Reported-by: Mike Hommey <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2011-08-24sendmmsg/sendmsg: fix unsafe user pointer accessMathieu Desnoyers1-4/+6
Dereferencing a user pointer directly from kernel-space without going through the copy_from_user family of functions is a bad idea. Two of such usages can be found in the sendmsg code path called from sendmmsg, added by commit c71d8ebe7a4496fb7231151cb70a6baa0cb56f9a upstream. commit 5b47b8038f183b44d2d8ff1c7d11a5c1be706b34 in the 3.0-stable tree. Usages are performed through memcmp() and memcpy() directly. Fix those by using the already copied msg_sys structure instead of the __user *msg structure. Note that msg_sys can be set to NULL by verify_compat_iovec() or verify_iovec(), which requires additional NULL pointer checks. Signed-off-by: Mathieu Desnoyers <[email protected]> Signed-off-by: David Goulet <[email protected]> CC: Tetsuo Handa <[email protected]> CC: Anton Blanchard <[email protected]> CC: David S. Miller <[email protected]> CC: stable <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24ibmveth: Fix leak when recycling skb and hypervisor returns errorAnton Blanchard1-3/+9
If h_add_logical_lan_buffer returns an error we need to free the skb. Signed-off-by: Anton Blanchard <[email protected]> Cc: stable <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24arp: fix rcu lockdep splat in arp_process()Eric Dumazet1-2/+6
Dave Jones reported a lockdep splat triggered by an arp_process() call from parp_redo(). Commit faa9dcf793be (arp: RCU changes) is the origin of the bug, since it assumed arp_process() was called under rcu_read_lock(), which is not true in this particular path. Instead of adding rcu_read_lock() in parp_redo(), I chose to add it in neigh_proxy_process() to take care of IPv6 side too. =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- include/linux/inetdevice.h:209 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 4 locks held by setfiles/2123: #0: (&sb->s_type->i_mutex_key#13){+.+.+.}, at: [<ffffffff8114cbc4>] walk_component+0x1ef/0x3e8 #1: (&isec->lock){+.+.+.}, at: [<ffffffff81204bca>] inode_doinit_with_dentry+0x3f/0x41f #2: (&tbl->proxy_timer){+.-...}, at: [<ffffffff8106a803>] run_timer_softirq+0x157/0x372 #3: (class){+.-...}, at: [<ffffffff8141f256>] neigh_proxy_process +0x36/0x103 stack backtrace: Pid: 2123, comm: setfiles Tainted: G W 3.1.0-0.rc2.git7.2.fc16.x86_64 #1 Call Trace: <IRQ> [<ffffffff8108ca23>] lockdep_rcu_dereference+0xa7/0xaf [<ffffffff8146a0b7>] __in_dev_get_rcu+0x55/0x5d [<ffffffff8146a751>] arp_process+0x25/0x4d7 [<ffffffff8146ac11>] parp_redo+0xe/0x10 [<ffffffff8141f2ba>] neigh_proxy_process+0x9a/0x103 [<ffffffff8106a8c4>] run_timer_softirq+0x218/0x372 [<ffffffff8106a803>] ? run_timer_softirq+0x157/0x372 [<ffffffff8141f220>] ? neigh_stat_seq_open+0x41/0x41 [<ffffffff8108f2f0>] ? mark_held_locks+0x6d/0x95 [<ffffffff81062bb6>] __do_softirq+0x112/0x25a [<ffffffff8150d27c>] call_softirq+0x1c/0x30 [<ffffffff81010bf5>] do_softirq+0x4b/0xa2 [<ffffffff81062f65>] irq_exit+0x5d/0xcf [<ffffffff8150dc11>] smp_apic_timer_interrupt+0x7c/0x8a [<ffffffff8150baf3>] apic_timer_interrupt+0x73/0x80 <EOI> [<ffffffff8108f439>] ? trace_hardirqs_on_caller+0x121/0x158 [<ffffffff814fc285>] ? __slab_free+0x30/0x24c [<ffffffff814fc283>] ? __slab_free+0x2e/0x24c [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f [<ffffffff81204e74>] ? inode_doinit_with_dentry+0x2e9/0x41f [<ffffffff81130cb0>] kfree+0x108/0x131 [<ffffffff81204e74>] inode_doinit_with_dentry+0x2e9/0x41f [<ffffffff81204fc6>] selinux_d_instantiate+0x1c/0x1e [<ffffffff81200f4f>] security_d_instantiate+0x21/0x23 [<ffffffff81154625>] d_instantiate+0x5c/0x61 [<ffffffff811563ca>] d_splice_alias+0xbc/0xd2 [<ffffffff811b17ff>] ext4_lookup+0xba/0xeb [<ffffffff8114bf1e>] d_alloc_and_lookup+0x45/0x6b [<ffffffff8114cbea>] walk_component+0x215/0x3e8 [<ffffffff8114cdf8>] lookup_last+0x3b/0x3d [<ffffffff8114daf3>] path_lookupat+0x82/0x2af [<ffffffff8110fc53>] ? might_fault+0xa5/0xac [<ffffffff8110fc0a>] ? might_fault+0x5c/0xac [<ffffffff8114c564>] ? getname_flags+0x31/0x1ca [<ffffffff8114dd48>] do_path_lookup+0x28/0x97 [<ffffffff8114df2c>] user_path_at+0x59/0x96 [<ffffffff811467ad>] ? cp_new_stat+0xf7/0x10d [<ffffffff811469a6>] vfs_fstatat+0x44/0x6e [<ffffffff811469ee>] vfs_lstat+0x1e/0x20 [<ffffffff81146b3d>] sys_newlstat+0x1a/0x33 [<ffffffff8108f439>] ? trace_hardirqs_on_caller+0x121/0x158 [<ffffffff812535fe>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff8150af82>] system_call_fastpath+0x16/0x1b Reported-by: Dave Jones <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24bridge: fix a possible use after freeEric Dumazet1-4/+4
br_multicast_ipv6_rcv() can call pskb_trim_rcsum() and therefore skb head can be reallocated. Cache icmp6_type field instead of dereferencing twice the struct icmp6hdr pointer. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24bridge: Pseudo-header required for the checksum of ICMPv6Yan, Zheng1-3/+10
Checksum of ICMPv6 is not properly computed because the pseudo header is not used. Thus, the MLD packet gets dropped by the bridge. Signed-off-by: Zheng Yan <[email protected]> Reported-by: Ang Way Chuang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24mcast: Fix source address selection for multicast listener reportYan, Zheng2-2/+2
Should check use count of include mode filter instead of total number of include mode filters. Signed-off-by: Zheng Yan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24MAINTAINERS: Update GIT trees for network developmentNicolas de Pesloüan1-2/+2
Remove -2.6 from net and net-next tree names. Signed-off-by: Nicolas de Pesloüan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-08-24firmware loader: allow builtin firmware load even if usermodehelper is disabledLinus Torvalds1-5/+6
In commit a144c6a6c924 ("PM: Print a warning if firmware is requested when tasks are frozen") we not only printed a warning if somebody tried to load the firmware when tasks are frozen - we also failed the load. But that check was done before the check for built-in firmware, and then when we disallowed usermode helpers during bootup (commit 288d5abec831: "Boot up with usermodehelper disabled"), that actually means that built-in modules can no longer load their firmware even if the firmware is built in too. Which used to work, and some people depended on it for the R100 driver. So move the test for usermodehelper_is_disabled() down, to after checking the built-in firmware. This should fix: https://bugzilla.kernel.org/show_bug.cgi?id=40952 Reported-by: James Cloos <[email protected]> Bisected-by: Elimar Riesebieter <[email protected]> Cc: Michel Dänzer <[email protected]> Cc: Rafael Wysocki <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Valdis Kletnieks <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-08-24Merge branch 'for-31-rc3/i2c-fixes' of git://git.fluff.org/bjdooks/linuxLinus Torvalds2-33/+5
* 'for-31-rc3/i2c-fixes' of git://git.fluff.org/bjdooks/linux: i2c-nomadik: fix kerneldoc warning Revert "i2c-omap: fix static suspend vs. runtime suspend" i2c-nomadik: Do not use _interruptible_ variant call
2011-08-24i2c-nomadik: fix kerneldoc warningLinus Walleij1-1/+2
There was a missing struct item in the kerneldoc, add it and fix another pretty-printing formatting issue with a missing space. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Ben Dooks <[email protected]>
2011-08-24staging: tidspbridge: fix compilation on dsp clock functionsOmar Ramirez Luna1-1/+0
Seen on v3.1-rc3, patch: omap: mcbsp: Drop in-driver transfer support bafe2721a0fbd1cc1af04384133684f660f3658e Removed code that now cause tidspbridge to break while compiling. Signed-off-by: Omar Ramirez Luna <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-24ARM: mach-shmobile: sh7372 LCDC1 suspend fixMagnus Damm3-0/+4
Associate the HDMI clock together with LCDC1 on sh7372. Without this patch Suspend-to-RAM hangs on the boards AP4EVB and Mackerel. The code hangs in the LCDC driver where the software is waiting forever for the hardware to power down. By explicitly associating the HDMI clock with LCDC1 we can make sure the HDMI clock is enabled using Runtime PM whenever the driver is accessing the hardware. This HDMI and LCDC1 dependency is documented in the sh7372 data sheet. Older kernels did work as expected but the recently merged (3.1-rc) 794d78f drivers: sh: late disabling of clocks V2 introduced code to turn off clocks lacking software reference which happens to include the HDMI clock that is needed by LCDC1 to operate as expected. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2011-08-24sh-sci / PM: Use power.irq_safeRafael J. Wysocki1-0/+1
Since sci_port_enable() and sci_port_disable() may be run with interrupts off and they execute pm_runtime_get_sync() and pm_runtime_put_sync(), respectively, the SCI device's power.irq_safe flag has to be set to indicate that it is safe to execute runtime PM callbacks for this device with interrupts off. Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Magnus Damm <[email protected]>
2011-08-24PM: Use spinlock instead of mutex in clock management functionsRafael J. Wysocki1-18/+22
The lock member of struct pm_clk_data is of type struct mutex, which is a problem, because the suspend and resume routines defined in drivers/base/power/clock_ops.c cannot be executed with interrupts disabled for this reason. Modify struct pm_clk_data so that its lock member is a spinlock. Signed-off-by: Rafael J. Wysocki <[email protected]> Acked-by: Magnus Damm <[email protected]>
2011-08-24Merge branch 'for-linus' of ↵Linus Torvalds6-94/+200
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: wiimote: Add status and return request handlers HID: wiimote: Add drm request HID: wiimote: Register led class devices HID: wiimote: Correctly call HID open/close callbacks HID: wiimote: Simplify synchronization HID: usbhid: Add support for SiGma Micro chip HID: add support for new revision of Apple aluminum keyboard
2011-08-24ath9k: Fix PS wrappers in ath9k_set_coverage_classMohammed Shafi Shajakhan1-0/+4
this callback is called during suspend/resume and also via iw command. it configures parameters like sifs, slottime, acktimeout in ath9k_hw_init_global_settings where few REG_READ, REG_RMW are also done and hence the need for PS wrappers Cc: [email protected] Signed-off-by: Mohammed Shafi Shajakhan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-08-24carl9170: Fix mismatch in carl9170_op_set_key mutex lock-unlockAlexey Khoroshilov1-1/+3
If is_main_vif(ar, vif) reports that we have to fall back to software encryption, we goto err_softw; before locking ar->mutex. As a result, we have unprotected call to carl9170_set_operating_mode and unmatched mutex_unlock. The patch fix the issue by adding mutex_lock before goto. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <[email protected]> Cc: <[email protected]> Acked-By: Christian Lamparter <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-08-24ASoC: Correct element count for WM8996 sidetone HPFMark Brown1-1/+1
I can count. Honest. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-08-24Merge branch 'for-linus' of ↵Linus Torvalds15-145/+241
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: Input: ad714x - read the interrupt status registers in a row Input: ad714x - use DMA-safe buffers for spi_write() Input: ad714x - fix endianness issues Input: ad714xx-spi - force SPI bus into the default 8-bit mode Input: ep93xx_keypad - add missing include of linux/module.h Input: tnetv107x-ts - add missing include of linux/module.h Input: max11801_ts - correct license statement Input: atmel_mxt_ts - report pressure information from the driver Input: bcm5974 - Add support for newer MacBookPro8,2 Input: wacom - report id 3 returns 4 bytes of data Input: wacom - add WAC_MSG_RETRIES define Input: wacom - add support for the Wacom Bamboo Pen (CTL-660/K) Input: tegra-kbc - correct call to input_free_device Input: mpu3050 - correct call to input_free_device Input: bcm5974 - add support for touchpads found in MacBookAir4,2 Input: mma8450 - fix module device table type Input: remove CLOCK_TICK_RATE from analog joystick driver
2011-08-24Merge branch 'for-linus' of ↵Linus Torvalds5-75/+40
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: check size of FUSE_NOTIFY_INVAL_ENTRY message fuse: mark pages accessed when written to fuse: delete dead .write_begin and .write_end aops fuse: fix flock fuse: fix non-ANSI void function notation
2011-08-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds8-233/+468
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc: Allow handling signals when stack is corrupted.
2011-08-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds27-110/+433
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (29 commits) bridge: fix a possible net_device leak net: Documentation: RFC 2553bis is now RFC 3493 atm: br2684: Fix oops due to skb->dev being NULL ipv6: Fix ipv6_getsockopt for IPV6_2292PKTOPTIONS net: netdev-features.txt update to Documentation/networking/00-INDEX vlan: reset headers on accel emulation path forcedeth: call vlan_mode only if hw supports vlans via-velocity: remove non-tagged packet filtering bonding:reset backup and inactive flag of slave net_sched: fix port mirror/redirect stats reporting sit tunnels: propagate IPv6 transport class to IPv4 Type of Service gianfar: reduce stack usage in gianfar_ethtool.c net: minor update to Documentation/networking/scaling.txt net: add missing entries to Documentation/networking/00-INDEX gianfar: prevent buggy hw rx vlan tagging net: sh_eth: Fix build by forgot including linux/interrupt.h drivers/net/can/sja1000/plx_pci.c: eliminate double free usbnet/cdc_ncm: Don't use stack variables for DMA vmxnet3: Don't enable vlan filters in promiscuous mode. iwlagn: sysfs couldn't find the priv pointer ...
2011-08-24[S390] memory hotplug: only unassign assigned incrementsHeiko Carstens1-2/+4
Make sure that only assigned storage increments are unassigned when attaching a storage element. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-08-24[S390] Change default action from reipl to stop for on_restartMichael Holzheu1-2/+3
The main purpose for PSW restart will be kdump. Therefore customers will issue "system restart" for creating a dump. If kdump is not enabled, currently "PSW restart" will reboot the system and then no dump can be created any more. In order to still allow a manual stand-alone dump in the case a user issues "PSW restart" on a system that has not enabled kdump we now stop the system. Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-08-24[S390] arch/s390/kernel/ipl.c: correct error detection checkJulia Lawall1-1/+1
reipl_fcp_kset was just initialized, so it appears that it should be tested instead of reipl_kset. Signed-off-by: Julia Lawall <[email protected]> Reported-by: Suman Saha <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-08-24[S390] drivers/s390/block/dasd_ioctl.c: add missing kfreeJulia Lawall1-3/+7
Data is only used to temporarily hold information to be copied to the user level, so it should be freed before leaving the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @exists@ local idexpression x; statement S,S1; expression E; identifier fl; expression *ptr != NULL; @@ x = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...kfree(x)...+> } when any when != true x == NULL x->fl ...> ( if (x == NULL) S1 | if (...) { ... when != x when forall ( return \(0\|<+...x...+>\|ptr\); | * return ...; ) } ) // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-08-24[S390] nss,initrd: kernel image and initrd must be in different segmentsHeiko Carstens1-6/+8
When IPL'ing from a block device and an NSS should be created we must make sure that the kernel image and the initrd are in different 1MB segments. Otherwise creating the NSS will fail. So we make sure the initrd is 4MB behind the end of the kernel image like we do already when IPL via the VM reader is performed. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2011-08-24Merge branches 'wiimote' and 'upstream-fixes' into for-linusJiri Kosina4-0/+16
2011-08-24at91: at91sam9261.c: fix typo in t2_clk alias for atmel_tcb.0Jean-Christophe PLAGNIOL-VILLARD1-1/+1
This was a typo in clockdev declaration for at91sam9261 SoC. Fix the kernel hanging when switching clocksource to TC (tcb_clksrc). Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Acked-by: Remy Bohmer <[email protected]> Acked-by: Nicolas Ferre <[email protected]>
2011-08-24ASoC: Tegra: wm8903 machine driver: Drop Ventana supportStephen Warren1-2/+2
Board file support for Ventana is not yet mainlined, and probably won't ever be given the move to Device-Tree. Consequently, the Ventana entry is being removed from arch/arm/tools/mach-types in the next merge window, since it was registered over a year ago. This will also remove function machine_is_ventana(), which is used by the ASoC Tegra WM8903 machine driver. This will cause compilation failures. Drop Ventana support to resolve this. Hopefully, in the not-too-distant future, tegra_wm8903.c will be able to configure itself from Device-Tree, and hence we'll be able to re-instate Ventana support just by creating a .dts file for the board. Also note that Aebl support is in a similar boat. However, that board isn't scheduled for deprecation for at least another 5 months, and perhaps we will have completely removed non-Device-Tree support from tegra_wm8903.c by then and/or adjusted mach-types policy. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-08-24ASoC: Add samsung maintainerSangbeom Kim1-0/+1
Signed-off-by: Sangbeom Kim <[email protected]> Acked-by: Jassi Brar <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-08-24ASoC: Add Springbank I/O card to Speyside KconfigJoseph Pentland1-0/+1
Signed-off-by: Joseph Pentland <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-08-24ALSA: hda/conexant - Enable ADC-switching for auto-mic mode, tooTakashi Iwai1-1/+1
The ADC-switching can work also in the auto-mic mode, too. Signed-off-by: Takashi Iwai <[email protected]>
2011-08-24ARM: 7003/1: vexpress: Add clock definition for the SP805.Nick Bowler1-0/+7
It seems that an entry for the SP805 watchdog in the table of clocks was missing. This results in the sp805_wdt driver rejecting the device with the following errors: sp805-wdt mb:wdt: Clock not found sp805-wdt mb:wdt: Probe Failed!!! sp805-wdt: probe of mb:wdt failed with error -2 While not obviously stated in the hardware docs, the onboard SP810's "REFCLK" is connected to a 32.768KHz crystal, and this drives the watchdog. Add a struct clk and corresponding lookup entry for it. Signed-off-by: Nick Bowler <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-08-24fuse: check size of FUSE_NOTIFY_INVAL_ENTRY messageMiklos Szeredi1-0/+4
FUSE_NOTIFY_INVAL_ENTRY didn't check the length of the write so the message processing could overrun and result in a "kernel BUG at fs/fuse/dev.c:629!" Reported-by: Han-Wen Nienhuys <[email protected]> Signed-off-by: Miklos Szeredi <[email protected]> CC: [email protected]
2011-08-23hwmon: (i5k_amb) Drop i5k_channel_pci_idJean Delvare1-28/+14
Function i5k_channel_pci_id looks like it can fail, while a better code design would make it more obvious that it can't. We can even get rid of the function. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Darrick J. Wong <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-08-23Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds3-4/+3
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, vdso: On system call restart after SYSENTER, use int $0x80 x86, UV: Remove UV delay in starting slave cpus x86, olpc: Wait for last byte of EC command to be accepted
2011-08-23x86-32, vdso: On system call restart after SYSENTER, use int $0x80H. Peter Anvin1-1/+1
When we enter a 32-bit system call via SYSENTER or SYSCALL, we shuffle the arguments to match the int $0x80 calling convention. This was probably a design mistake, but it's what it is now. This causes errors if the system call as to be restarted. For SYSENTER, we have to invoke the instruction from the vdso as the return address is hardcoded. Accordingly, we can simply replace the jump in the vdso with an int $0x80 instruction and use the slower entry point for a post-restart. Suggested-by: Linus Torvalds <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]> Link: http://lkml.kernel.org/r/CA%2B55aFztZ=r5wa0x26KJQxvZOaQq8s2v3u50wCyJcA-Sc4g8gQ@mail.gmail.com Cc: <[email protected]>
2011-08-23staging: octeon-ethernet: Add missing #includes.David Daney2-0/+2
I looks like something used to implicitly include linux/interrupt.h, and no longer does. Fix the resulting build error by explicitly including it. Signed-off-by: David Daney <[email protected]> Cc: David S. Miller <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-23Staging: zcache: signedness bug in tmem_get()Dan Carpenter1-1/+1
"ret" needs to be signed for the error handling to work properly. Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Dan Magenheimer <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-23staging: zcache: fix crash on high memory swapSeth Jennings1-4/+4
zcache_put_page() was modified to pass page_address(page) instead of the actual page structure. In combination with the function signature changes to tmem_put() and zcache_pampd_create(), zcache_pampd_create() tries to (re)derive the page structure from the virtual address. However, if the original page is a high memory page (or any unmapped page), this virt_to_page() fails because the page_address() in zcache_put_page() returned NULL. This patch changes zcache_put_page() and zcache_get_page() to pass the page structure instead of the page's virtual address, which may or may not exist. Signed-off-by: Seth Jennings <[email protected]> Acked-by: Dan Magenheimer <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-23m68k: fix __page_to_pfn for a const struct page argumentIan Campbell1-1/+1
Fixes fallout due to the removal of the cast in commit aa462abe8aaf ("mm: fix __page_to_pfn for a const struct page argument") Signed-off-by: Ian Campbell <[email protected]> Cc: Andrew Morton <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2011-08-23staging: brcm80211: SPARC build error fixPieter-Paul Giesberts1-0/+1
Due to missing memset function declaration. Reviewed-by: Roland Vossen <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-23staging: brcm80211: fix compile error on non-x86 archs since 3.0 kernelArend Van Spriel1-0/+1
Since the arrival of kernel version 3.0 in the staging tree it turns out compile error occurs for sparc64, powerpc, and arm platforms. This patch fixes that issue. Reviewed-by: Pieter-Paul Giesberts <[email protected]> Reviewed-by: Henry Ptasinski <[email protected]> Signed-off-by: Arend van Spriel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-08-23wl12xx: add max_sched_scan_ssids value to the hw descriptionLuciano Coelho1-0/+1
After commit 5a865ba, we require a separate value to indicate the number of supported SSIDs in scheduled scans. This patch adds a proper value to the wl12xx driver. This fixes a regression in 3.1-rc3 where scheduled scans were not working properly with the wl12xx driver. Signed-off-by: Luciano Coelho <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-08-23wl12xx: Fix validation of pm_runtime_get_sync return valueIdo Yariv1-1/+1
wl1271_sdio_power_on checks if the return value of pm_runtime_get_sync is non-zero, and if so bails out. However, pm_runtime_get_sync can return a positive number which does not suggest an error has occurred. This is problematic for two reasons: 1. The function will needlessly bail out without decrementing back the runtime PM reference counter. 2. wl1271_power_on only checks if wl1271_power_on return value is negative. This means that wl1271_power_on will continue even if wl1271_sdio_power_on bailed out. As a result, sdio transactions will be initiated without properly enabling the sdio function and claiming the host. This could even lead to a kernel panic. Fix this by only checking that the return value of pm_runtime_get_sync is non-negative. Signed-off-by: Ido Yariv <[email protected]> Acked-by: Luciano Coelho <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2011-08-23wl12xx: Remove obsolete testmode NVS push commandIdo Yariv1-45/+0
The testmode NVS push command is no longer in use. In addition, it has several implementation issues that prevent it from working correctly: 1. wl1271_tm_cmd_configure relies on wl->chip.id being set. However, since the device was not necessarily booted by the time the function is called, wl->chip.id will be initialized to 0. 2. The NVS file is fetched by calling request_firmware() before it is possible to push an NVS file. 3. The maximum allowed size of nl binary payloads is not sufficient for pushing NVS files. 4. Pushing 128x NVS files will always fail due to a bug in the validation code. 5. In case the pushed NVS file is found invalid, the mutex will be kept locked and the nvs member will become a dangling pointer. Since this feature is not being used, remove it completely instead of fixing it. Signed-off-by: Ido Yariv <[email protected]> Acked-by: Luciano Coelho <[email protected]> Signed-off-by: John W. Linville <[email protected]>