aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-04-03KVM: PPC: Save/Restore CR over vcpu_runAlexander Graf2-1/+13
On PPC, CR2-CR4 are nonvolatile, thus have to be saved across function calls. We didn't respect that for any architecture until Paul spotted it in his patch for Book3S-HV. This patch saves/restores CR for all KVM capable PPC hosts. Signed-off-by: Alexander Graf <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2012-04-03KVM: PPC: Book3S HV: Save and restore CR in __kvmppc_vcore_entryPaul Mackerras1-2/+6
The ABI specifies that CR fields CR2--CR4 are nonvolatile across function calls. Currently __kvmppc_vcore_entry doesn't save and restore the CR, leading to CR2--CR4 getting corrupted with guest values, possibly leading to incorrect behaviour in its caller. This adds instructions to save and restore CR at the points where we save and restore the nonvolatile GPRs. Signed-off-by: Paul Mackerras <[email protected]> Signed-off-by: Alexander Graf <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2012-04-03KVM: PPC: Book3S HV: Fix kvm_alloc_linear in case where no linears existPaul Mackerras1-4/+5
In kvm_alloc_linear we were using and deferencing ri after the list_for_each_entry had come to the end of the list. In that situation, ri is not really defined and probably points to the list head. This will happen every time if the free_linears list is empty, for instance. This led to a NULL pointer dereference crash in memset on POWER7 while trying to allocate an HPT in the case where no HPTs were preallocated. This fixes it by using a separate variable for the return value from the loop iterator. Signed-off-by: Paul Mackerras <[email protected]> Signed-off-by: Alexander Graf <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2012-04-03KVM: PPC: Book3S: Compile fix for ppc32 in HIOR access codeAlexander Graf1-2/+4
We were failing to compile on book3s_32 with the following errors: arch/powerpc/kvm/book3s_pr.c:883:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] arch/powerpc/kvm/book3s_pr.c:898:79: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] Fix this by explicity casting the u64 to long before we use it as a pointer. Also, on PPC32 we can not use get_user/put_user for 64bit wide variables, as there is no single instruction that could load or store variables that big. So instead, we have to use copy_from/to_user which works everywhere. Reported-by: Jörg Sommer <[email protected]> Signed-off-by: Alexander Graf <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2012-04-03perf/x86/p4: Add format attributesPeter Zijlstra1-0/+13
Steven reported his P4 not booting properly, the missing format attributes cause a NULL ptr deref. Cure this by adding the missing format specification. I took the format description out of the comment near p4_config_pack*() and hope that comment is still relatively accurate. Reported-by: Steven Rostedt <[email protected]> Reported-by: Bruno Prémont <[email protected]> Tested-by: Steven Rostedt <[email protected]> Signed-off-by: Peter Zijlstra <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Cyrill Gorcunov <[email protected]> Cc: Lin Ming <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/1332859842.16159.227.camel@twins Signed-off-by: Ingo Molnar <[email protected]>
2012-04-03md/raid1,raid10: don't compare excess byte during consistency check.NeilBrown2-2/+2
When comparing two pages read from different legs of a mirror, only compare the bytes that were read, not the whole page. In most cases we read a whole page, but in some cases with bad blocks or odd sizes devices we might read fewer than that. This bug has been present "forever" but at worst it might cause a report of two many mismatches and generate a little bit extra resync IO, so there is no need to back-port to -stable kernels. Reported-by: majianpeng <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-04-03md/raid5: Fix a bug about judging if the operation is syncing or replacingmajianpeng1-1/+3
When create a raid5 using assume-clean and echo check or repair to sync_action.Then component disks did not operated IO but the raid check/resync faster than normal. Because the judgement in function analyse_stripe(): if (do_recovery || sh->sector >= conf->mddev->recovery_cp) s->syncing = 1; else s->replacing = 1; When check or repair,the recovery_cp == MaxSectore,so syncing equal zero not one. This bug was introduced by commit 9a3e1101b827 md/raid5: detect and handle replacements during recovery. so this patch is suitable for 3.3-stable. Cc: [email protected] Signed-off-by: majianpeng <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-04-03md/raid1:Remove unnecessary rcu_dereference(conf->mirrors[i].rdev).majianpeng1-2/+1
Because rde->nr_pending > 0,so can not remove this disk. And in any case, we aren't holding rcu_read_lock() Signed-off-by: majianpeng <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-04-03md: Avoid OOPS when reshaping raid1 to raid0Jes Sorensen1-1/+17
raid1 arrays do not have the notion of chunk size. Calculate the largest chunk sector size we can use to avoid a divide by zero OOPS when aligning the size of the new array to the chunk size. Signed-off-by: Jes Sorensen <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-04-03md/raid5: fix handling of bad blocks during recovery.NeilBrown1-26/+29
1/ We can only treat a known-bad-block like a read-error if we have the data that belongs in that block. So fix that test. 2/ If we cannot recovery a stripe due to insufficient data, don't tell "md_done_sync" that the sync failed unless we really did fail something. If we successfully record bad blocks, that is success. Reported-by: "majianpeng" <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2012-04-02ARM: fix lcd power build failure in collie_defconfigPaul Gortmaker3-9/+7
Commit 086ada54abaa4316e8603f02410fe8ebc9ba2de1 "FB: sa1100: remove global sa1100fb_.*_power function pointers" got rid of all instances but one in locomolcd.c -- which was conditional on CONFIG_SA1100_COLLIE. The associated .power field which replaces the global is populated in mach-sa1100/collie.c so move the assignment there, but make it conditional on the locomolcd support, so use CONFIG_BACKLIGHT_LOCOMO in that file. Cc: [email protected] Acked-by: Russell King <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2012-04-02ARM: versatile: fix build failure in pci.cPaul Gortmaker1-5/+5
commit 9f786d033d025ab7d2c4d1b959aa81d935eb9e19 "arm/PCI: get rid of device resource fixups" causes this failure on the versatile: arch/arm/mach-versatile/pci.c: In function 'pci_versatile_setup_resources': arch/arm/mach-versatile/pci.c:221: error: 'sys' undeclared (first use in this function) because the versatile wasn't passing in the full struct pci_sys_data but only the resource sub-field. Change it to pass in the full struct so that sys will be in scope. Reported-by: Bruce Ashfield <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2012-04-03APM: fix deadlock in APM_IOC_SUSPEND ioctlNeilBrown1-1/+1
I found the Xorg server on my ARM device stuck in the 'msleep()' loop in apm_ioctl. I suspect it had attempted suspend immediately after resuming and lost a race. During that msleep(10);, a new suspend cycle must have started and changed ->suspend_state to SUSPEND_PENDING, so it was never seen to be SUSPEND_DONE and the loop could never exited. It would have moved on to SUSPEND_ACKTO but never been able to reach SUSPEND_DONE. So change the loop to only run while SUSPEND_ACKED rather than until SUSPEND_DONE. This is much safer. Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2012-04-02Merge branch 'drm-prime-dmabuf-initial' of ↵Linus Torvalds8-2/+401
git://people.freedesktop.org/~airlied/linux Pull dma-buf prime support from Dave Airlie: "This isn't a majorly urgent thing to have, but we'd like to set the stage for working on dma-buf support in the drm drivers for the next merge window, so I'd like to push in the initial submission now so people have something that we can build on top of. The code just introduces the user interface and internal helper functions for drivers to use. We have driver support under development for i915, nouveau, udl on x86 and exynos, omapdrm on arm, which we would be aiming for the next merge window." In the -rc1 announcement I asked for people who would use this to comment on it, and got severa "Yes please" from people for this and for HSI (that I merged earlier). So far crickets on pohmelfs and the DMA-mapping infrastructure. * 'drm-prime-dmabuf-initial' of git://people.freedesktop.org/~airlied/linux: drm: base prime/dma-buf support (v5)
2012-04-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds69-294/+705
Pull networking fixes from David Miller: 1) Provide device string properly for USB i2400m wimax devices, also don't OOPS when providing firmware string. From Phil Sutter. 2) Add support for sh_eth SH7734 chips, from Nobuhiro Iwamatsu. 3) Add another device ID to USB zaurus driver, from Guan Xin. 4) Loop index start in pool vector iterator is wrong causing MAC to not get configured in bnx2x driver, fix from Dmitry Kravkov. 5) EQL driver assumes HZ=100, fix from Eric Dumazet. 6) Now that skb_add_rx_frag() can specify the truesize increment separately, do so in f_phonet and cdc_phonet, also from Eric Dumazet. 7) virtio_net accidently uses net_ratelimit() not only on the kernel warning but also the statistic bump, fix from Rick Jones. 8) ip_route_input_mc() uses fixed init_net namespace, oops, use dev_net(dev) instead. Fix from Benjamin LaHaise. 9) dev_forward_skb() needs to clear the incoming interface index of the SKB so that it looks like a new incoming packet, also from Benjamin LaHaise. 10) iwlwifi mistakenly initializes a channel entry as 2GHZ instead of 5GHZ, fix from Stanislav Yakovlev. 11) Missing kmalloc() return value checks in orinoco, from Santosh Nayak. 12) ath9k doesn't check for HT capabilities in the right way, it is checking ht_supported instead of the ATH9K_HW_CAP_HT flag. Fix from Sujith Manoharan. 13) Fix x86 BPF JIT emission of 16-bit immediate field of AND instructions, from Feiran Zhuang. 14) Avoid infinite loop in GARP code when registering sysfs entries. From David Ward. 15) rose protocol uses memcpy instead of memcmp in a device address comparison, oops. Fix from Daniel Borkmann. 16) Fix build of lpc_eth due to dev_hw_addr_rancom() interface being renamed to eth_hw_addr_random(). From Roland Stigge. 17) Make ipv6 RTM_GETROUTE interpret RTA_IIF attribute the same way that ipv4 does. Fix from Shmulik Ladkani. 18) via-rhine has an inverted bit test, causing suspend/resume regressions. Fix from Andreas Mohr. 19) RIONET assumes 4K page size, fix from Akinobu Mita. 20) Initialization of imask register in sky2 is buggy, because bits are "or'd" into an uninitialized local variable. Fix from Lino Sanfilippo. 21) Fix FCOE checksum offload handling, from Yi Zou. 22) Fix VLAN processing regression in e1000, from Jiri Pirko. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits) sky2: dont overwrite settings for PHY Quick link tg3: Fix 5717 serdes powerdown problem net: usb: cdc_eem: fix mtu net: sh_eth: fix endian check for architecture independent usb/rtl8150 : Remove duplicated definitions rionet: fix page allocation order of rionet_active via-rhine: fix wait-bit inversion. ipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4 net: lpc_eth: Fix rename of dev_hw_addr_random net/netfilter/nfnetlink_acct.c: use linux/atomic.h rose_dev: fix memcpy-bug in rose_set_mac_address Fix non TBI PHY access; a bad merge undid bug fix in a previous commit. net/garp: avoid infinite loop if attribute already exists x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND bonding: emit event when bonding changes MAC mac80211: fix oper channel timestamp updation ath9k: Use HW HT capabilites properly MAINTAINERS: adding maintainer for ipw2x00 net: orinoco: add error handling for failed kmalloc(). net/wireless: ipw2x00: fix a typo in wiphy struct initilization ...
2012-04-02sky2: dont overwrite settings for PHY Quick linkLino Sanfilippo1-2/+3
This patch corrects a bug in function sky2_open() of the Marvell Yukon 2 driver in which the settings for PHY quick link are overwritten. Signed-off-by: Lino Sanfilippo <[email protected]> Acked-by: Stephen Hemminger <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-04-02Merge branch 'paul' (Fixups from Paul Gortmaker)Linus Torvalds10-113/+128
This merges some of the fixes from Paul Gortmaker for the header file cleanup fallout. Some of the patches are going through arch maintainer trees, and David Howells suggested another be done differently, but this at least fixes a few cases. * emailed from Paul Gortmaker <[email protected]>: asm-generic: add linux/types.h to cmpxchg.h firewire: restore the device.h include in linux/firewire.h frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL parisc: fix missing cmpxchg file error from system.h split blackfin: fix cmpxchg build fails from system.h fallout avr32: fix build failures from mis-naming of atmel_nand.h ARM: mach-msm: fix compile fail from system.h fallout irq_work: fix compile failure on MIPS from system.h split
2012-04-02tg3: Fix 5717 serdes powerdown problemMatt Carlson1-1/+3
If port 0 of a 5717 serdes device powers down, it hides the phy from port 1. This patch works around the problem by keeping port 0's phy powered up. Signed-off-by: Matt Carlson <[email protected]> Signed-off-by: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-04-02asm-generic: add linux/types.h to cmpxchg.hPaul Gortmaker1-0/+1
Builds of the openrisc or1ksim_defconfig show the following: In file included from arch/openrisc/include/generated/asm/cmpxchg.h:1:0, from include/asm-generic/atomic.h:18, from arch/openrisc/include/generated/asm/atomic.h:1, from include/linux/atomic.h:4, from include/linux/dcache.h:4, from fs/notify/fsnotify.c:19: include/asm-generic/cmpxchg.h: In function '__xchg': include/asm-generic/cmpxchg.h:34:20: error: expected ')' before 'u8' include/asm-generic/cmpxchg.h:34:20: warning: type defaults to 'int' in type name and many more lines of similar errors. It seems specific to the or32 because most other platforms have an arch specific component that would have already included types.h ahead of time, but the o32 does not. Cc: Arnd Bergmann <[email protected]> Cc: Jonas Bonn <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: David Howells <[email protected] Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02firewire: restore the device.h include in linux/firewire.hPaul Gortmaker1-2/+1
Commit 313162d0b838 ("device.h: audit and cleanup users in main include dir") exchanged an include <linux/device.h> for a struct *device but in actuality I misread this file when creating 313162d and it should have remained an include. There were no build regressions since all consumers were already getting device.h anyway, but make it right regardless. Reported-by: Stefan Richter <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOLPaul Gortmaker1-0/+1
To fix: arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: data definition has no type or storage class [enabled by default] arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int] arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: parameter names (without types) in function declaration [enabled by default] arch/frv/mb93090-mb00/pci-dma.c:38:1: warning: data definition has no type or storage class [enabled by default] Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02parisc: fix missing cmpxchg file error from system.h splitPaul Gortmaker2-106/+117
Commit b4816afa3986 ("Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h") introduced the concept of asm/cmpxchg.h but the parisc arch never got one. Fork the cmpxchg content out of the asm/atomic.h file to create one. Some minor whitespace fixups were done on the block of code that created the new file. Cc: "James E.J. Bottomley" <[email protected]> Cc: Helge Deller <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02blackfin: fix cmpxchg build fails from system.h falloutPaul Gortmaker1-1/+2
Commit 3bed8d67469c ("Disintegrate asm/system.h for Blackfin [ver #2]") introduced arch/blackfin/include/asm/cmpxchg.h but has it also including the asm-generic one which causes this: CC arch/blackfin/kernel/asm-offsets.s In file included from arch/blackfin/include/asm/cmpxchg.h:125:0, from arch/blackfin/include/asm/atomic.h:10, from include/linux/atomic.h:4, from include/linux/spinlock.h:384, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:57, from arch/blackfin/kernel/asm-offsets.c:10: include/asm-generic/cmpxchg.h:24:15: error: redefinition of '__xchg' arch/blackfin/include/asm/cmpxchg.h:82:29: note: previous definition of '__xchg' was here make[2]: *** [arch/blackfin/kernel/asm-offsets.s] Error 1 It really only needs two simple defines from asm-generic, so just use those instead. Cc: Bob Liu <[email protected]> Cc: Mike Frysinger <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02avr32: fix build failures from mis-naming of atmel_nand.hPaul Gortmaker2-4/+4
Commit bf4289cba02b ("ATMEL: fix nand ecc support") indicated that it wanted to "Move platform data to a common header include/linux/platform_data/atmel_nand.h" and the new header even had re-include protectors with: #ifndef __ATMEL_NAND_H__ However, the file that was added was simply called atmel.h and this caused avr32 defconfig to fail with: In file included from arch/avr32/boards/atstk1000/setup.c:22: arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory In file included from arch/avr32/boards/atstk1000/setup.c:22: arch/avr32/mach-at32ap/include/mach/board.h:121: warning: 'struct atmel_nand_data' declared inside parameter list arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1 It seems the scope of the file contents will expand beyond just nand, so ignore the original intention, and fix up the users who reference the bad name with the _nand suffix. CC: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> CC: David Woodhouse <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]> Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02ARM: mach-msm: fix compile fail from system.h falloutPaul Gortmaker1-0/+1
To fix: In file included from arm/boot/compressed/misc.c:28:0: arm/mach-msm/include/mach/uncompress.h: In function 'putc': arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration] The putc does a cpu_relax which for this platform is smp_mb. Bisect indicates the 1st failing commit as: 0195c00244dc ("Merge tag 'split-asm_system_h...") Signed-off-by: Paul Gortmaker <[email protected]> Acked-by: David Howells <[email protected]> Acked-by: David Brown <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-04-02drivers/net/ethernet/tile: fix netdev_alloc_skb() bombingChris Metcalf1-1/+1
Commit dae2e9f430c46c29e3f771110094bd3da3625aa4 changed dev_alloc_skb() to netdev_alloc_skb(), adding a dev pointer, but erroneously used "->" instead of "." for a struct member when accessing the dev pointer. This change fixes the build breakage. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsiLinus Torvalds16-0/+1932
Pull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea: "The High Speed Synchronous Serial Interface (HSI) is a serial interface mainly used for connecting application engines (APE) with cellular modem engines (CMT) in cellular handsets. The framework is currently being used for some people and we would like to see it integrated into the kernel for 3.3. There is no HW controller drivers in this pull, but some people have already some of them pending which they would like to push as soon as this integrated. I am also working on the acceptance for an TI OMAP one, based on a compatible legacy version of the interface called SSI." Ok, so it didn't get into 3.3, but here it is pulled into 3.4. Several people piped up to say "yeah, we want this". * 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi: HSI: hsi_char: Update ioctl-number.txt HSI: Add HSI API documentation HSI: hsi_char: Add HSI char device kernel configuration HSI: hsi_char: Add HSI char device driver HSI: hsi: Introducing HSI framework
2012-04-02Merge branch 'rc-fixes' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull 'make cscope' fix from Michal Marek: "The kbuild.git#misc pull request introduced a bug that broke make cscope. Apparently, both the original author and me only tested the use case that the commit was supposed to improve (make tags/TAGS), and not the use case that was not supposed (make cscope)." * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: tags.sh: Add missing quotes
2012-04-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds8-13/+103
Pull crypto fixes from Herbert Xu: - Fix for CPU hotplug hang in padata. - Avoid using cpu_active inappropriately in pcrypt and padata. - Fix for user-space algorithm lookup hang with IV generators. - Fix for netlink dump of algorithms where stuff went missing due to incorrect calculation of message size. * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: user - Fix size of netlink dump message crypto: user - Fix lookup of algorithms with IV generator crypto: pcrypt - Use the online cpumask as the default padata: Fix cpu hotplug padata: Use the online cpumask as the default padata: Add a reference to the api documentation
2012-04-02Merge branch 'merge' of ↵Linus Torvalds34-61/+712
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc Pull powerpc fixes from Benjamin Herrenschmidt: "This contains a couple more fixes for the system.h disintegration, a trivial section mismatch fix, a couple of patches from akpm that I didn't quite get he expected me to pickup, and a few more trivialities form Kumar that he appear to have forgotten to send me in the previous batch." * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart powerpc/eeh: Remove eeh_event_handler()->daemonize() powerpc/kvm: Fallout from system.h disintegration powerpc: Fix fallout from system.h split up powerpc: Mark const init data with __initconst instead of __initdata powerpc/qe: Update the SNUM table for MPC8569 Rev2.0 powerpc/dts: Removed fsl,msi property from dts. powerpc/epapr: add "memory" as a clobber to all hypercalls powerpc/85xx: Enable I2C_CHARDEV and I2C_MPC options in defconfigs powerpc/85xx: add the P1020UTM-PC DTS support powerpc/85xx: add the P1020MBG-PC DTS support powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h
2012-04-02MAINTAINERS: update EDAC informationChris Metcalf1-11/+11
The bluesmoke mailing list no longer works, so use [email protected]. And, use a less restrictive pattern so all drivers/edac changes go to linux-edac as well. Borislav suggested I just push this through the tile tree since there is currently no core edac maintainer (emails to Doug Thompson bounce). Acked-by: Borislav Petkov <[email protected]> Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02tilepro ethernet driver: fix a few minor issuesChris Metcalf1-25/+50
This commit fixes a number of issues seen with the driver: - Improve handling of return credits to the hardware shim - Use skb_frag_size() appropriately - Fix driver so it works properly with netpoll for console over UDP Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02tile-srom.c driver: minor code cleanupChris Metcalf1-6/+6
Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02edac: say "TILEGx" not "TILEPro" for the tilegx edac driverChris Metcalf1-0/+4
This is just an aesthetic change but it was silly to say TILEPro when booting up on the tilegx architecture. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: avoid accidentally unmasking NMI-type interrupt accidentallyChris Metcalf2-7/+36
The return path as we reload registers and core state requires that r30 hold a boolean indicating whether we are returning from an NMI, but in a couple of cases we weren't setting this properly, with the result that we could accidentally unmask the NMI interrupt(s), which could cause confusion. Now we set r30 in every place where we jump into the interrupt return path. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: remove bogus performance optimizationChris Metcalf1-5/+0
We were re-homing the initial task's kernel stack on the boot cpu, but in fact it's better to let it stay globally homed, since that task isn't bound to the boot cpu anyway. This is more of a general cleanup than an actual performance optimization, but it removes code, which is a good thing. :-) Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: return SIGBUS for addresses that are unaligned AND invalidChris Metcalf1-12/+19
Previously we were returning SIGSEGV in this case. It seems cleaner to return SIGBUS since the hardware figures out alignment traps before TLB violations, so SIGBUS is the "more correct" signal. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix finv_buffer_remote() for tilegxChris Metcalf1-2/+26
There were some correctness issues with this code that are now fixed with this change. The change is likely less performant than it could be, but it should no longer be vulnerable to any races with memory operations on the memory network while invalidating a range of memory. This code is run infrequently so performance isn't critical, but correctness definitely is. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: use atomic exchange in arch_write_unlock()Chris Metcalf1-1/+1
This idiom is used elsewhere when we do an unlock by writing a zero, but I missed it here. Using an atomic operation avoids waiting on the write buffer for the unlocking write to be sent to the home cache. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: stop mentioning the "kvm" subdirectoryChris Metcalf1-2/+0
It causes "make clean" to fail, for example. Once we have KVM support complete, we'll reinstate the subdir reference. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: export the page_home() function.Chris Metcalf1-0/+1
This avois a bug in modules trying to use the function. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix pointer cast in cacheflush.cChris Metcalf1-1/+1
Pragmatically it couldn't be wrong to cast pointers to long to compare them (since all kernel addresses are in the top half of VA space), but it's more correct to cast to unsigned long. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix single-stepping over swint1 instructions on tilegxChris Metcalf1-3/+18
If we are single-stepping and make a syscall, we call ptrace_notify() explicitly on the return path back to user space, since we are returning to a pc value set artificially to the next instruction, and otherwise we won't register that we stepped over the syscall instruction (swint1). Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: implement panic_smp_self_stop()Chris Metcalf1-0/+6
This allows the later-panicking tiles to wait in a lower power state until they get interrupted with an smp_send_stop(). Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: add "nop" after "nap" to help GX idle power drawChris Metcalf2-1/+3
This avoids the hardware istream prefetcher doing unnecessary work. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: use proper memparse() for "maxmem" optionsChris Metcalf1-9/+8
This is more standard and avoids having to remember what units the options actually take. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix up locking in pgtable.c slightlyChris Metcalf1-10/+12
We should be holding the init_mm.page_table_lock in shatter_huge_page() since we are modifying the kernel page tables. Then, only if we are walking the other root page tables to update them, do we want to take the pgd_lock. Add a comment about taking the pgd_lock that we always do it with interrupts disabled and therefore are not at risk from the tlbflush IPI deadlock as is seen on x86. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: don't leak kernel memory when we unload modulesChris Metcalf1-0/+2
We were failing to track the memory when we allocated it. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix bug in delay_backoff()Chris Metcalf1-1/+1
We were carefully computing a value to use for the number of loops to spin for, and then ignoring it. Signed-off-by: Chris Metcalf <[email protected]>
2012-04-02arch/tile: fix bug in loading kernels larger than 16 MBChris Metcalf1-6/+15
Previously we only handled kernels up to a single huge page in size. Now we create additional PTEs appropriately. Signed-off-by: Chris Metcalf <[email protected]>