aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-21Reduce sequential pointer derefs in scsi_error.c and reduce size as wellJesper Juhl1-45/+49
This patch reduces the number of sequential pointer derefs in drivers/scsi/scsi_error.c This has been submitted a number of times over a couple of years. I believe this version adresses all comments it has gathered over time. Please apply or reject with a reason. The benefits are: - makes the code easier to read. Lots of sequential derefs of the same pointers is not easy on the eye. - theoretically at least, just dereferencing the pointers once can allow the compiler to generally slightly faster code, so in theory this could also be a micro speed optimization. - reduces size of object file (tiny effect: on x86-64, in at least one configuration, the text size decreased from 9439 bytes to 9400) - removes some pointless (mostly trailing) whitespace. Signed-off-by: Jesper Juhl <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-03-21matroxfb: remove incorrect Matrox G200eV supportGary Hade1-9/+0
Remove incorrect Matrox G200eV support that was previously added by commit e3a1938805d2e81b27d3d348788644f3bad004f2 A serious issue with the incorrect G200eV support that reproduces on the Matrox G200eV equipped IBM x3650 M2 is the total lack of text (login banner, login prompt, etc) on the console when X is not running and total lack of text on all of the virtual consoles after X is started. Any concerns that the incorrect code (upstream since October 2008) has been successfully used on non-IBM G200eV equipped system(s) appear to be unwarranted. In addition to the serious/non-intermittent nature of issues that have been spotted on IBM systems, complete removal of the incorrect code is clearly supported by the following Matrox (Yannick Heneault) provided input: "It impossible that this patch should have work on a system. The patch only declare the G200eV as a regular G200 which is not case. Many registers are different, including at least the PLL programming sequence. If the G200eV is programmed like a regular G200, it will not display anything." v1 - Initial patch that removed the incorrect code for _all_ G200eV equipped systems. v2 - Darrick Wong provided patch that blacklisted the incorrect code on G200eV equipped IBM systems leaving it enabled on all G200eV equipped non-IBM systems. v3 - Same code changes included with v1 plus additional justification for complete removal of the incorrect code. Signed-off-by: Gary Hade <[email protected]> Cc: Darrick J. Wong <[email protected]> Cc: Krzysztof Helt <[email protected]> Cc: Petr Vandrovec <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Yannick Heneault <[email protected]> Cc: Christian Toutant <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-03-21Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfsLinus Torvalds46-1079/+947
* 'for-linus' of git://oss.sgi.com/xfs/xfs: (23 commits) xfs: don't name variables "panic" xfs: factor agf counter updates into a helper xfs: clean up the xfs_alloc_compute_aligned calling convention xfs: kill support/debug.[ch] xfs: Convert remaining cmn_err() callers to new API xfs: convert the quota debug prints to new API xfs: rename xfs_cmn_err_fsblock_zero() xfs: convert xfs_fs_cmn_err to new error logging API xfs: kill xfs_fs_mount_cmn_err() macro xfs: kill xfs_fs_repair_cmn_err() macro xfs: convert xfs_cmn_err to xfs_alert_tag xfs: Convert xlog_warn to new logging interface xfs: Convert linux-2.6/ files to new logging interface xfs: introduce new logging API. xfs: zero proper structure size for geometry calls xfs: enable delaylog by default xfs: more sensible inode refcounting for ialloc xfs: stop using xfs_trans_iget in the RT allocator xfs: check if device support discard in xfs_ioc_trim() xfs: prevent leaking uninitialized stack memory in FSGEOMETRY_V1 ...
2011-03-21Prevent rt_sigqueueinfo and rt_tgsigqueueinfo from spoofing the signal codeJulien Tinnes1-4/+12
Userland should be able to trust the pid and uid of the sender of a signal if the si_code is SI_TKILL. Unfortunately, the kernel has historically allowed sigqueueinfo() to send any si_code at all (as long as it was negative - to distinguish it from kernel-generated signals like SIGILL etc), so it could spoof a SI_TKILL with incorrect siginfo values. Happily, it looks like glibc has always set si_code to the appropriate SI_QUEUE, so there are probably no actual user code that ever uses anything but the appropriate SI_QUEUE flag. So just tighten the check for si_code (we used to allow any negative value), and add a (one-time) warning in case there are binaries out there that might depend on using other si_code values. Signed-off-by: Julien Tinnes <[email protected]> Acked-by: Oleg Nesterov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-03-21Merge branch 'for-linus' of ↵Linus Torvalds2-20/+161
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest: ktest: Add STOP_TEST_AFTER to stop the test after a period of time ktest: Monitor kernel while running of user tests ktest: Fix bug where the test would not end after failure ktest: Add BISECT_FILES to run git bisect on paths ktest: Add BISECT_SKIP ktest: Add manual bisect ktest: Handle kernels before make oldnoconfig ktest: Start failure timeout on panic too ktest: Print logfile name on failure
2011-03-21Merge branch 'hwmon-for-linus' of ↵Linus Torvalds28-108/+1702
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: (ads1015) Make gain and datarate configurable hwmon: (ads1015) Drop dynamic attribute group hwmon: Add support for Texas Instruments ADS1015 hwmon: New driver for SMSC SCH5627 hwmon: (abituguru*) Update my email address hwmon: (lm75) Speed up detection hwmon: (lm75) Add detection of the National Semiconductor LM75A hp_accel: Fix driver name Move lis3lv02d drivers to drivers/misc Move hp_accel to drivers/platform/x86 Let Kconfig handle lis3lv02d dependencies hwmon: (sht15) Fix integer overflow in humidity calculation hwmon: (sht15) Spelling fix hwmon: (w83795) Document pin mapping
2011-03-21pstore: use mount option instead sysfs to tweak kmsg_bytesLuck, Tony5-47/+59
/sys/fs is a somewhat strange way to tweak what could more obviously be tuned with a mount option. Suggested-by: Christoph Hellwig <[email protected]> Signed-off-by: Tony Luck <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-03-21Merge branch 'for-linus' of ↵Linus Torvalds20-51/+67
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: FS: lookup_mnt() is only used in the core fs routines now bfs: fix bitmap size argument to find_first_zero_bit() fs: Use BUG_ON(!mnt) at dentry_open(). fs: devpts_pty_new() return -ENOMEM if dentry allocation failed nfs: lock() vs unlock() typo pstore: fix leaking ->i_private introduce sys_syncfs to sync a single file system Small typo fix... Filesystem: fifo: Fixed coding style issue. fs/inode: Fix kernel-doc format for inode_init_owner select: remove unused MAX_SELECT_SECONDS vfs: cleanup do_vfs_ioctl()
2011-03-21Merge branch 'for-linus' of ↵Linus Torvalds9-82/+140
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: core: ignore link-active bit of new nodes, fix device recognition firewire: sbp2: revert obsolete 'fix stall with "Unsolicited response"' firewire: core: increase default SPLIT_TIMEOUT value firewire: ohci: Misleading kfree in ohci.c::pci_probe/remove firewire: ohci: omit IntEvent.busReset check rom AT queueing firewire: ohci: prevent starting of iso contexts with empty queue firewire: ohci: prevent iso completion callbacks after context stop firewire: core: rename some variables firewire: nosy: should work on Power Mac G4 PCI too firewire: core: fix card->reset_jiffies overflow firewire: cdev: remove unneeded reference firewire: cdev: always wait for outbound transactions to complete firewire: cdev: remove unneeded idr_find() from complete_transaction() firewire: ohci: log dead DMA contexts
2011-03-21Merge branch 'for-linus' of ↵Linus Torvalds13-427/+375
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] Convert to new irq_chip functions [PARISC] fix per-cpu flag problem in the cpu affinity checkers [PARISC] fix vmap flush/invalidate eliminate special FLUSH flag from page table parisc: flush pages through tmpalias space
2011-03-21hwmon: (ads1015) Make gain and datarate configurableDirk Eibach4-85/+211
Configuration for ads1015 gain and datarate is possible via devicetree or platform data. This is a followup patch to previous ads1015 patches on Jean Delvares tree. Signed-off-by: Dirk Eibach <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-03-21hwmon: (ads1015) Drop dynamic attribute groupJean Delvare1-32/+18
It is cheaper to handle attributes individually. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Dirk Eibach <[email protected]>
2011-03-21hwmon: Add support for Texas Instruments ADS1015Dirk Eibach7-0/+425
Signed-off-by: Dirk Eibach <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-03-21hwmon: New driver for SMSC SCH5627Hans de Goede5-0/+897
SMSC SCH5627 Super I/O chips include complete hardware monitoring capabilities. They can monitor up to 5 voltages, 4 fans and 8 temperatures. The hardware monitoring part of the SMSC SCH5627 is accessed by talking through an embedded microcontroller. An application note describing the protocol for communicating with the microcontroller is available upon request. Please mail me if you want a copy. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-03-21hwmon: (abituguru*) Update my email addressHans de Goede3-5/+5
Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-03-21hwmon: (lm75) Speed up detectionJean Delvare1-21/+19
Make the LM75/LM75A device detection faster: * Don't read the current temperature value when we don't use it. * Check for unused bits in the configuration register as soon as we have read its value. * Don't use word reads, not all devices support this, and some which don't misbehave when you try. * Check for cycling register values every 40 register addresses instead of every 8, it's 5 times faster and just as efficient. Some of these improvements come straight from the user-space sensors-detect script, so both detection routines are in line now. Signed-off-by: Jean Delvare <[email protected]> Cc: Len Sorensen <[email protected]> Acked-by: Guenter Roeck <[email protected]>
2011-03-21hwmon: (lm75) Add detection of the National Semiconductor LM75ALen Sorensen3-16/+47
Add support for detection of the National Semiconductor LM75A using the ID register value. Signed-off-by: Len Sorensen <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2011-03-21hp_accel: Fix driver nameJean Delvare1-1/+1
I suspect that the "lis3lv02d" driver name is a legacy from before the split into several modules. Use a specific name for the hp_accel driver, for better error messages and easier investigation of issues. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Guenter Roeck <[email protected]> Acked-by: Eric Piel <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Tested-by: Eric Piel <[email protected]> Tested-by: Takashi Iwai <[email protected]>
2011-03-21Move lis3lv02d drivers to drivers/miscJean Delvare13-51/+59
The lis3lv02d drivers aren't hardware monitoring drivers, so the don't belong to drivers/hwmon. Move them to drivers/misc, short of a better home. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Guenter Roeck <[email protected]> Acked-by: Eric Piel <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Tested-by: Eric Piel <[email protected]> Tested-by: Takashi Iwai <[email protected]>
2011-03-21Move hp_accel to drivers/platform/x86Jean Delvare7-25/+23
The hp_accel driver isn't a hardware monitoring driver, so it doesn't belong to drivers/hwmon. Move it to drivers/platform/x86, assuming HP doesn't ship non-x86 laptops. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Guenter Roeck <[email protected]> Acked-by: Eric Piel <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Tested-by: Eric Piel <[email protected]> Tested-by: Takashi Iwai <[email protected]>
2011-03-21Let Kconfig handle lis3lv02d dependenciesJean Delvare2-27/+25
The dependencies between the various lis3lv02d drivers make it impossible to split them to different directories, while we really want to do this. Move handling of dependencies from Makefile to Kconfig, to make the move possible at all. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Guenter Roeck <[email protected]> Acked-by: Eric Piel <[email protected]> Acked-by: Jonathan Cameron <[email protected]> Tested-by: Eric Piel <[email protected]> Tested-by: Takashi Iwai <[email protected]>
2011-03-21hwmon: (sht15) Fix integer overflow in humidity calculationVivien Didelot1-2/+2
An integer overflow occurs in the calculation of RHlinear when the relative humidity is greater than around 30%. The consequence is a subtle (but noticeable) error in the resulting humidity measurement. Signed-off-by: Vivien Didelot <[email protected]> Signed-off-by: Jean Delvare <[email protected]> Cc: [email protected] Cc: Jonathan Cameron <[email protected]>
2011-03-21hwmon: (sht15) Spelling fixJustin P. Mattock1-1/+1
Remove one too many "n" in a word. Signed-off-by: Justin P. Mattock <[email protected]> Acked-by: Jean Delvare <[email protected]>
2011-03-21hwmon: (w83795) Document pin mappingJean Delvare1-0/+127
Apparently users are interested in this information, so let's provide it. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Guenter Roeck <[email protected]>
2011-03-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds6-4/+39
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Add {open_by,name_to}_handle_at and clock_adjtime syscalls. sparc: Implement of_iomap(). sparc: Implement of_address_to_resource(). sparc: Provide NO_IRQ definition.
2011-03-21Merge branch 'merge' of ↵Linus Torvalds6-27/+184
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/ptrace: Remove BUG_ON when full register set not available powerpc: Factoring mpic cpu id fetching into a function powerpc: Make MPIC honor the "pic-no-reset" device tree property powerpc: Document the Open PIC device tree binding powerpc/pci: Fix crash in PCI code on ppc64 when matching device nodes
2011-03-21FS: lookup_mnt() is only used in the core fs routines nowDavid Howells2-1/+1
lookup_mnt() is only used in the core fs routines now, so it doesn't need to be globally declared anymore. It isn't exported to modules at the moment, so nothing that can be modularised seems to be using it. Signed-off-by: David Howells <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21bfs: fix bitmap size argument to find_first_zero_bit()Akinobu Mita1-1/+1
The usage of find_first_zero_bit() in bfs_create() is wrong for two reasons. The bitmap size argument to find_first_zero_bit() is info->si_lasti but the correct bitmap size is info->si_lasti + 1 as info->si_lasti is the last valid index in info->si_imap bitmap. Another problem is that it is impossible to detect that info->si_imap bitmap is full because there is an off-by-one bug in the return value check for find_first_zero_bit(). If no zero bits exist in info->si_imap, find_first_zero_bit() returns info->si_lasti. But the check can't catch it due to the off-by-one. Signed-off-by: Akinobu Mita <[email protected]> Acked-by: "Tigran A. Aivazian" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21fs: Use BUG_ON(!mnt) at dentry_open().Tetsuo Handa1-11/+2
dentry_open() requires callers to pass a valid vfsmount. Signed-off-by: Tetsuo Handa <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21fs: devpts_pty_new() return -ENOMEM if dentry allocation failedAndrey Vagin1-10/+9
In this case nobody can open a slave point, so will be better return from devpts_pty_new() Now we should not check error code from d_find_alias() in devpts_pty_kill(), because the dentry exists all times. Signed-off-by: Andrey Vagin <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21nfs: lock() vs unlock() typoDan Carpenter1-2/+2
These should be spin_unlock() instead of spin_lock(). It's a typo. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21pstore: fix leaking ->i_privateTony Luck1-1/+7
Move kfree() of i_private out of ->unlink() and into ->evict_inode() Signed-off-by: Tony Luck <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21introduce sys_syncfs to sync a single file systemSage Weil7-2/+34
It is frequently useful to sync a single file system, instead of all mounted file systems via sync(2): - On machines with many mounts, it is not at all uncommon for some of them to hang (e.g. unresponsive NFS server). sync(2) will get stuck on those and may never get to the one you do care about (e.g., /). - Some applications write lots of data to the file system and then want to make sure it is flushed to disk. Calling fsync(2) on each file introduces unnecessary ordering constraints that result in a large amount of sub-optimal writeback/flush/commit behavior by the file system. There are currently two ways (that I know of) to sync a single super_block: - BLKFLSBUF ioctl on the block device: That also invalidates the bdev mapping, which isn't usually desirable, and doesn't work for non-block file systems. - 'mount -o remount,rw' will call sync_filesystem as an artifact of the current implemention. Relying on this little-known side effect for something like data safety sounds foolish. Both of these approaches require root privileges, which some applications do not have (nor should they need?) given that sync(2) is an unprivileged operation. This patch introduces a new system call syncfs(2) that takes an fd and syncs only the file system it references. Maybe someday we can $ sync /some/path and not get sync: ignoring all arguments The syscall is motivated by comments by Al and Christoph at the last LSF. syncfs(2) seems like an appropriate name given statfs(2). A similar ioctl was also proposed a while back, see http://marc.info/?l=linux-fsdevel&m=127970513829285&w=2 Signed-off-by: Sage Weil <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21Small typo fix...Holger Hans Peter Freyther1-1/+1
Hi, I was backporting the coredump over pipe feature and noticed this small typo, I wish I would have something bigger to contribute... >From 15d6080e0ed4267da103c706917a33b1015e8804 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther <[email protected]> Date: Thu, 24 Feb 2011 17:42:50 +0100 Subject: [PATCH] fs: Fix a small typo in the comment The function is called umh_pipe_setup not uhm_pipe_setup. Signed-off-by: Holger Hans Peter Freyther <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21Filesystem: fifo: Fixed coding style issue.David Jenni1-2/+1
Fixed coding style issue. Signed-off-by: David Jenni <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21fs/inode: Fix kernel-doc format for inode_init_ownerBen Hutchings1-1/+1
Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21select: remove unused MAX_SELECT_SECONDSNamhyung Kim2-6/+0
Remove the leftover from the commit 8ff3e8e85fa6 ("select: switch select() and poll() over to hrtimers"). Signed-off-by: Namhyung Kim <[email protected]> Acked-by: Arjan van de Ven <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-21vfs: cleanup do_vfs_ioctl()Namhyung Kim1-13/+8
Move declaration of 'inode' to beginning of the function. Since it is referenced directly or indirectly (in case of FIFREEZE/FITHAW/ FS_IOC_FIEMAP) it's not harmful IMHO. And remove unnecessary casts using 'argp' instead. Signed-off-by: Namhyung Kim <[email protected]> Signed-off-by: Al Viro <[email protected]>
2011-03-20Merge branch 'trivial' of ↵Linus Torvalds67-137/+85
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) video: change to new flag variable scsi: change to new flag variable rtc: change to new flag variable rapidio: change to new flag variable pps: change to new flag variable net: change to new flag variable misc: change to new flag variable message: change to new flag variable memstick: change to new flag variable isdn: change to new flag variable ieee802154: change to new flag variable ide: change to new flag variable hwmon: change to new flag variable dma: change to new flag variable char: change to new flag variable fs: change to new flag variable xtensa: change to new flag variable um: change to new flag variables s390: change to new flag variable mips: change to new flag variable ... Fix up trivial conflict in drivers/hwmon/Makefile
2011-03-20Merge branch 'misc' of ↵Linus Torvalds4-12/+27
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: scripts/extract-ikconfig: add xz compression support kbuild: add GNU GLOBAL tags generation setlocalversion: update mercurial tag parsing
2011-03-20Merge branch 'packaging' of ↵Linus Torvalds2-1/+8
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: Add make tarxz-pkg build option
2011-03-20Merge branch 'i2c-for-linus' of ↵Linus Torvalds13-100/+97
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-i801: SMBus patch for Intel DH89xxCC DeviceIDs i2c: Drop i2c_adapter.id i2c: Deprecate i2c_driver.attach_adapter and .detach_adapter i2c-dev: Use standard bus notification mechanism i2c: Export i2c_for_each_dev i2c: Get rid of <linux/i2c-id.h> i2c: Minor fixes to upgrading-clients document i2c: make i2c_get_adapter prototype clearer i2c: Fix typo in instantiating-devices document i2c-boardinfo: Fix typo in comment
2011-03-20Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tileLinus Torvalds2-7/+9
* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: asm-generic: support clock_adjtime() in <asm-generic/unistd.h> arch/tile: fix futex sanitization definition/prototype mismatch
2011-03-20r8169: fix a bug in rtl8169_init_phy()Eric Dumazet1-2/+2
commit 54405cde7624 (r8169: support control of advertising.) introduced a bug in rtl8169_init_phy() Reported-and-tested-by: Piotr Hosowicz <[email protected]> Reported-and-tested-by: Linus Torvalds <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Acked-by:: Oliver Neukum <[email protected]> Cc: Francois Romieu <[email protected]> Tested-by: Anca Emanuel <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-03-21powerpc/ptrace: Remove BUG_ON when full register set not availableMike Wolf2-3/+14
In some cases during a threaded core dump not all the threads will have a full register set. This happens when the signal causing the core dump races with a thread exiting. The race happens when the exiting thread has entered the kernel for the last time before the signal arrives, but doesn't get far enough through the exit code to avoid being included in the core dump. So we get a thread included in the core dump which is never going to go out to userspace again and only has a partial register set recorded Normally we would catch each thread as it is about to go into userspace and capture the full register set then. However, this exiting thread is never going to go out to userspace again, so we have no way to capture its full register set. It doesn't really matter, though, as this is a thread which is effectively already dead. So instead of hitting a BUG() in this case (a really bad choice of action in the first place), we use a poison value for the register values. [BenH]: Some cosmetic/stylistic changes and fix build on ppc32 Signed-off-by: Mike Wolf <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-21powerpc: Factoring mpic cpu id fetching into a functionMeador Inge1-17/+14
The following code snippet: unsigned int cpu = 0; if (mpic->flags & MPIC_PRIMARY) cpu = hard_smp_processor_id(); is seen in several places in the 'mpic.c' code. This changeset factors that pattern out into a helper function called 'mpic_processor_id'. Signed-off-by: Meador Inge <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-21powerpc: Make MPIC honor the "pic-no-reset" device tree propertyMeador Inge2-11/+59
This property, defined in the Open PIC binding, tells the kernel not to use the reset bit in the global configuration register. Additionally, its presence mandates that only sources which are actually used (i.e. appear in the device tree) should have their VECPRI bits initialized. Although, "pic-no-reset" can be used for the same use cases that "protected-sources" is covering, the "protected-sources" implementation was left completely intact. This is a more pragmatic approach as there are already several existing systems which use protected sources. If "pic-no-reset" *and* "protected-sources" are both used, however, then "pic-no-reset" takes precedence in terms of the init behavior and the sanity checks done by protected sources will still take place. Signed-off-by: Meador Inge <[email protected]> Cc: Hollis Blanchard <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-21powerpc: Document the Open PIC device tree bindingMeador Inge1-0/+98
This binding documents several properties that have been in use for quite some time, and adds one new property 'pic-no-reset', which controls the runtime initialization behavior of the PIC. More specifically, the presence of 'pic-no-reset' mandates that the PIC shall not be reset during runtime initialization and that any initialization related to interrupt sources shall be limited to sources explicitly referenced in the device tree. This functionality is useful in AMP systems where multiple OSes are sharing the PIC and the reinitialization of the PIC can interfere with OSes that are already up and running. The interrupt specifier definition is based off of Stuart Yoder's FSL MPIC binding. Signed-off-by: Meador Inge <[email protected]> Cc: Grant Likely <[email protected]> Cc: Stuart Yoder <[email protected]> Cc: Hollis Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-21powerpc/pci: Fix crash in PCI code on ppc64 when matching device nodesBenjamin Herrenschmidt1-2/+5
Commit b5d937de0367d26f65b9af1aef5f2c34c1939be0 has a bug which causes basically a NULL dereference in the PCI code during boot on ppc64 machines. fetch_dev_dn() is called when dev->dev.of_node is NULL, so using that as the starting point for the search makes no sense. It should instead start from the device node of the PHB. Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-03-20firewire: core: ignore link-active bit of new nodes, fix device recognitionStefan Richter1-7/+12
Like the older ieee1394 core driver, firewire-core skipped scanning of any new node whose PHY sent a self ID without "link active" bit. If a device had this bit off mistakenly, it meant that it was inaccessible to kernel drivers with the old IEEE 1394 driver stack but could still be accessed by userspace drivers through the raw1394 interface. But with firewire-core, userspace drivers don't get to see such buggy devices anymore. This is effectively a driver regression since this device bug is otherwise harmless. We now attempt to scan all devices, even repeaters that don't have a link or powered-down devices that have everything but their PHY shut down when plugged in. This results in futile repeated scanning attempts in case of such devices that really don't have an active link, but this doesn't hurt since recent workqueue infrastructure lets us run more concurrent scanning jobs than we can shake a stick at. This should fix accessibility of Focusrite Saffire PRO 26 I/O: http://sourceforge.net/mailarchive/forum.php?thread_name=20110314215622.5c751bb0%40stein&forum_name=ffado-user Signed-off-by: Stefan Richter <[email protected]>