8 years agoKVM: unmap pages from the iommu when slots are removed
Alex Williamson [Wed, 11 Apr 2012 15:51:49 +0000]
KVM: unmap pages from the iommu when slots are removed

We've been adding new mappings, but not destroying old mappings.
This can lead to a page leak as pages are pinned using
get_user_pages, but only unpinned with put_page if they still
exist in the memslots list on vm shutdown.  A memslot that is
destroyed while an iommu domain is enabled for the guest will
therefore result in an elevated page reference count that is
never cleared.

Additionally, without this fix, the iommu is only programmed
with the first translation for a gpa.  This can result in
peer-to-peer errors if a mapping is destroyed and replaced by a
new mapping at the same gpa as the iommu will still be pointing
to the original, pinned memory address.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

8 years agoKVM: PMU emulation: GLOBAL_CTRL MSR should be enabled on reset
Gleb Natapov [Mon, 9 Apr 2012 14:38:35 +0000]
KVM: PMU emulation: GLOBAL_CTRL MSR should be enabled on reset

On reset all MPU counters should be enabled in GLOBAL_CTRL MSR.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>

8 years agomemcg: fix Bad page state after replace_page_cache
Hugh Dickins [Thu, 19 Apr 2012 06:34:46 +0000]
memcg: fix Bad page state after replace_page_cache

My 9ce70c0240d0 "memcg: fix deadlock by inverting lrucare nesting" put a
nasty little bug into v3.3's version of mem_cgroup_replace_page_cache(),
sometimes used for FUSE.  Replacing __mem_cgroup_commit_charge_lrucare()
by __mem_cgroup_commit_charge(), I used the "pc" pointer set up earlier:
but it's for oldpage, and needs now to be for newpage.  Once oldpage was
freed, its PageCgroupUsed bit (cleared above but set again here) caused
"Bad page state" messages - and perhaps worse, being missed from newpage.
(I didn't find this by using FUSE, but in reusing the function for tmpfs.)

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: stable@vger.kernel.org [v3.3 only]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agosecurity: fix compile error in commoncap.c
Jonghwan Choi [Wed, 18 Apr 2012 21:23:04 +0000]
security: fix compile error in commoncap.c

Add missing "personality.h"
security/commoncap.c: In function 'cap_bprm_set_creds':
security/commoncap.c:510: error: 'PER_CLEAR_ON_SETID' undeclared (first use in this function)
security/commoncap.c:510: error: (Each undeclared identifier is reported only once
security/commoncap.c:510: error: for each function it appears in.)

Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>

8 years agofuse: use flexible array in fuse.h
Miklos Szeredi [Thu, 12 Apr 2012 10:57:08 +0000]
fuse: use flexible array in fuse.h

Use the ISO C standard compliant form instead of the gcc extension in the
interface definition.

Reported-by: Shachar Sharon <ssnail@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>

8 years agofuse: allow nanosecond granularity
Miklos Szeredi [Wed, 11 Apr 2012 09:45:06 +0000]
fuse: allow nanosecond granularity

Derrik Pates reports that an utimensat with a NULL argument results in the
current time being sent from the kernel with 1 second granularity.

Reported-by: Derrik Pates <demon@now.ai>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>

8 years agofuse: O_DIRECT support for files
Anand Avati [Fri, 17 Feb 2012 17:46:25 +0000]
fuse: O_DIRECT support for files

Implement ->direct_IO() method in aops. The ->direct_IO() method combines
the existing fuse_direct_read/fuse_direct_write methods to implement
O_DIRECT functionality.

Reaching ->direct_IO() in the read path via generic_file_aio_read ensures
proper synchronization with page cache with its existing framework.

Reaching ->direct_IO() in the write path via fuse_file_aio_write is made
to come via generic_file_direct_write() which makes it play nice with
the page cache w.r.t other mmap pages etc.

On files marked 'direct_io' by the filesystem server, IO always follows
the fuse_direct_read/write path. There is no effect of fcntl(O_DIRECT)
and it always succeeds.

On files not marked with 'direct_io' by the filesystem server, the IO
path depends on O_DIRECT flag by the application. This can be passed
at the time of open() as well as via fcntl().

Note that asynchronous O_DIRECT iocb jobs are completed synchronously
always (this has been the case with FUSE even before this patch)

Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>

8 years agofuse: fix nlink after unlink
Miklos Szeredi [Mon, 5 Mar 2012 14:48:11 +0000]
fuse: fix nlink after unlink

Anand Avati reports that the following sequence of system calls fail on a fuse
filesystem:

  create("filename") => 0
  link("filename", "linkname") => 0
  unlink("filename") => 0
  link("linkname", "filename") => -ENOENT ### BUG ###

vfs_link() fails with ENOENT if i_nlink is zero, this is done to prevent
resurrecting already deleted files.

Fuse clears i_nlink on unlink even if there are other links pointing to the
file.

Reported-by: Anand Avati <avati@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>

8 years ago[S390] Fix compile error in swab.h
Martin Schwidefsky [Wed, 11 Apr 2012 12:28:12 +0000]
[S390] Fix compile error in swab.h

The inline assembly in__arch_swab16p causes compile errors of the form:

*error*: *invalid* '*asm*': operand number missing after %-*letter*

The assembly uses the %O<n>/%R<n> notation but the first operand misses
the operand number, it needs to be "%O1" instead of "%O".

Reported-by: Gil Peleg <gilpeleg@servframe.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] Fix stfle() lowcore protection problem
Michael Holzheu [Wed, 11 Apr 2012 12:28:11 +0000]
[S390] Fix stfle() lowcore protection problem

The stfle() function writes into lowcore memory when stfl_fac_list
is initialized with "S390_lowcore.stfl_fac_list = 0". For older
compilers this triggers a lowcore exception. With newer compilers
and "-OXX" compile option the bug does not show up because
the "S390_lowcore.stfl_fac_list" initialization is removed by the
compiler. The reason for thatis the incorrect "=m"
(S390_lowcore.stfl_fac_list) constraint in the stfl inline assembly.

The following shows the disassembly of the stfle() optimized code
that is inlined in the lgr_info_get() function:

000000000011325c <lgr_info_get>:
  11325c:       eb 9f f0 60 00 24       stmg    %r9,%r15,96(%r15)
  113262:       c0 d0 00 29 0e 47       larl    %r13,634ef0 <servi..>
  113268:       a7 f1 3f c0             tml     %r15,16320
  11326c:       b9 04 00 ef             lgr     %r14,%r15
  113270:       a7 84 00 01             je      113272 <lgr_info_g..>
  113274:       a7 fb ff c0             aghi    %r15,-64
  113278:       b9 04 00 c2             lgr     %r12,%r2
  11327c:       a7 29 00 01             lghi    %r2,1
  113280:       e3 e0 f0 98 00 24       stg     %r14,152(%r15)
  113286:       d7 97 c0 00 c0 00       xc      0(152,%r12),0(%r12)
  11328c:       c0 e5 00 28 db 4c       brasl   %r14,62e924 <add_e..>
  113292:       b2 b1 00 00             stfl    0

To fix the problem we now clear the S390_lowcore.stfl_fac_list at
startup in "head.S" for all machine types before lowcore protection
is enabled.

In addition to that the "=m" constraint is replaced by "+m".

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] cpum_cf: get rid of compile warnings
Heiko Carstens [Wed, 11 Apr 2012 12:28:10 +0000]
[S390] cpum_cf: get rid of compile warnings

Fix these:

arch/s390/kernel/perf_cpum_cf.c:180:3: warning: format '%lx'
   expects argument of type 'long unsigned int',
   but argument 2 has type 'int' [-Wformat]
arch/s390/kernel/perf_cpum_cf.c: In function 'cpumf_pmu_disable':
arch/s390/kernel/perf_cpum_cf.c:205:3: warning: format '%lx'
   expects argument of type 'long unsigned int',
   but argument 2 has type 'int' [-Wformat]

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] irq: simple coding style change
Heiko Carstens [Wed, 11 Apr 2012 12:28:09 +0000]
[S390] irq: simple coding style change

Use braces for if/else/list_for_each_entry bodies if the body consists
of more than a single line. Otherwise I get confused and check if there
is something broken whenever I see these code snippets.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] update default configuration
Michael Holzheu [Wed, 11 Apr 2012 12:28:08 +0000]
[S390] update default configuration

Add TASKSTATS options, enable CRASH_DUMP, and regenerate defconfig
file with "make savedefconfig".

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] fix tlb flushing for page table pages
Martin Schwidefsky [Wed, 11 Apr 2012 12:28:07 +0000]
[S390] fix tlb flushing for page table pages

Git commit 36409f6353fc2d7b6516e631415f938eadd92ffa "use generic RCU
page-table freeing code" introduced a tlb flushing bug. Partially revert
the above git commit and go back to s390 specific page table flush code.

For s390 the TLB can contain three types of entries, "normal" TLB
page-table entries, TLB combined region-and-segment-table (CRST) entries
and real-space entries. Linux does not use real-space entries which
leaves normal TLB entries and CRST entries. The CRST entries are
intermediate steps in the page-table translation called translation paths.
For example a 4K page access in a three-level page table setup will
create two CRST TLB entries and one page-table TLB entry. The advantage
of that approach is that a page access next to the previous one can reuse
the CRST entries and needs just a single read from memory to create the
page-table TLB entry. The disadvantage is that the TLB flushing rules are
more complicated, before any page-table may be freed the TLB needs to be
flushed.

In short: the generic RCU page-table freeing code is incorrect for the
CRST entries, in particular the check for mm_users < 2 is troublesome.

This is applicable to 3.0+ kernels.

Cc: <stable@vger.kernel.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] kernel: Use local_irq_save() for memcpy_real()
Michael Holzheu [Wed, 11 Apr 2012 12:28:06 +0000]
[S390] kernel: Use local_irq_save() for memcpy_real()

Currently in the memcpy_real() function interrupts are disabled with
__arch_local_irq_stnsm(). In order to notify lockdep that interrupts
are disabled, with this patch local_irq_save() is used instead. The
function __arch_local_irq_stnsm() is still used for switching to
real mode.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] s390/char/vmur.c: fix memory leak
Dennis Chen [Wed, 11 Apr 2012 12:28:05 +0000]
[S390] s390/char/vmur.c: fix memory leak

This patch is used to fix a memory leak issue in s390/char/vmur.c.
A character device instance is allocated by cdev_alloc, the cdev_del
will not free that space if cdev_init is applied before.

Signed-off-by: Dennis Chen <dennis1.chen@amd.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years ago[S390] drivers/s390/block/dasd_eckd.c: add missing dasd_sfree_request
Julia Lawall [Wed, 11 Apr 2012 12:28:04 +0000]
[S390] drivers/s390/block/dasd_eckd.c: add missing dasd_sfree_request

Extend some error paths to call dasd_sfree_request as done earlier in the
function.  The error-handling code is also moved to the end of the function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

8 years agofcaps: clear the same personality flags as suid when fcaps are used
Eric Paris [Tue, 17 Apr 2012 20:26:54 +0000]
fcaps: clear the same personality flags as suid when fcaps are used

If a process increases permissions using fcaps all of the dangerous
personality flags which are cleared for suid apps should also be cleared.
Thus programs given priviledge with fcaps will continue to have address space
randomization enabled even if the parent tried to disable it to make it
easier to attack.

Signed-off-by: Eric Paris <eparis@redhat.com>
Reviewed-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>

8 years agompi: Avoid using freed pointer in mpi_lshift_limbs()
Jesper Juhl [Mon, 6 Feb 2012 09:07:04 +0000]
mpi: Avoid using freed pointer in mpi_lshift_limbs()

At the start of the function we assign 'a->d' to 'ap'. Then we use the
RESIZE_IF_NEEDED macro on 'a' - this may free 'a->d' and replace it
with newly allocaetd storage. In that case, we'll be operating on
freed memory further down in the function when we index into 'ap[]'.
Since we don't actually need 'ap' until after the use of the
RESIZE_IF_NEEDED macro we can just delay the assignment to it until
after we've potentially resized, thus avoiding the issue.

While I was there anyway I also changed the integer variable 'n' to be
const. It might as well be since we only assign to it once and use it
as a constant, and then the compiler will tell us if we ever assign to
it in the future.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>

8 years agoSmack: move label list initialization
Casey Schaufler [Wed, 18 Apr 2012 01:55:46 +0000]
Smack: move label list initialization

A kernel with Smack enabled will fail if tmpfs has xattr support.

Move the initialization of predefined Smack label
list entries to the LSM initialization from the
smackfs setup. This became an issue when tmpfs
acquired xattr support, but was never correct.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>

8 years agoxz: Enable BCJ filters on SPARC and 32-bit x86
Lasse Collin [Wed, 18 Apr 2012 16:55:44 +0000]
xz: Enable BCJ filters on SPARC and 32-bit x86

The BCJ filters were meant to be enabled already on these
archs, but the xz_wrap.sh script was buggy. Enabling the
filters should give smaller kernel images.

xz_wrap.sh will now use $SRCARCH instead of $ARCH to detect
the architecture. That way it doesn't need to care about the
subarchs (like i386 vs. x86_64) since the BCJ filters don't
care either.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agolibata: forbid port runtime pm by default, fixing regression
Lin Ming [Wed, 18 Apr 2012 01:29:47 +0000]
libata: forbid port runtime pm by default, fixing regression

Forbid port runtime pm by default because it has known hotplug issue.
User can allow it by, for example

echo auto > /sys/devices/pci0000:00/0000:00:1f.2/ata2/power/control

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

8 years agolibata: make ata_print_id atomic
Dan Williams [Sun, 11 Mar 2012 07:28:46 +0000]
libata: make ata_print_id atomic

This variable is incremented from multiple contexts (module_init via
libata-lldds and the libsas discovery thread).  Make it atomic to head
off any chance of libsas and libata creating duplicate ids.

Acked-by: Jacek Danecki <jacek.danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

8 years agosata_mv: silence an uninitialized variable warning
Dan Carpenter [Sat, 10 Mar 2012 09:00:05 +0000]
sata_mv: silence an uninitialized variable warning

Gcc version 4.6.2-12 complains that if we can't find the "nr-ports"
property in of_property_read_u32_array() then "n_ports" is used
uninitialized.  Let's set it to zero in that case.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

8 years agoata_piix: IDE-mode SATA patch for Intel DH89xxCC DeviceIDs
Seth Heasley [Tue, 21 Feb 2012 18:45:26 +0000]
ata_piix: IDE-mode SATA patch for Intel DH89xxCC DeviceIDs

This patch adds the IDE-mode SATA DeviceIDs for the Intel DH89xxCC PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

8 years agoRevert "ACPI: Make ACPI interrupt threaded"
Thomas Gleixner [Wed, 18 Apr 2012 10:29:32 +0000]
Revert "ACPI: Make ACPI interrupt threaded"

This reverts commit 6fe0d0628245fdcd6fad8b837c81e8f7ebc3364d.

Paul bisected this regression.

The conversion was done blindly and is wrong, as it does not provide a
primary handler to disable the level type irq on the device level.
Neither does it set the IRQF_ONESHOT flag which handles that at the irq
line level.  This can't be done as the interrupt might be shared, though
we might extend the core to force it.

So an interrupt on this line will wake up the thread, but immediately
unmask the irq after that.  Due to the interrupt being level type the
hardware interrupt is raised over and over and prevents the irq thread
from handling it.  Fail.

request_irq() unfortunately does not refuse such a request and the patch
was obviously never tested with real interrupts.

Bisected-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agoext4: fix handling of journalled quota options
Theodore Ts'o [Mon, 16 Apr 2012 22:55:26 +0000]
ext4: fix handling of journalled quota options

Commit 26092bf5 broke handling of journalled quota mount options by
trying to parse argument of every mount option as a number.  Fix this
by dealing with the quota options before we call match_int().

Thanks to Jan Kara for discovering this regression.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>

8 years agoext4: address scalability issue by removing extent cache statistics
Theodore Ts'o [Mon, 16 Apr 2012 16:16:20 +0000]
ext4: address scalability issue by removing extent cache statistics

Andi Kleen and Tim Chen have reported that under certain circumstances
the extent cache statistics are causing scalability problems due to
cache line bounces.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@vger.kernel.org

8 years agolockd: fix the endianness bug
Al Viro [Fri, 13 Apr 2012 17:49:47 +0000]
lockd: fix the endianness bug

comparing be32 values for < is not doing the right thing...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoocfs2: ->e_leaf_clusters endianness breakage
Al Viro [Fri, 13 Apr 2012 16:30:02 +0000]
ocfs2: ->e_leaf_clusters endianness breakage

le16, not le32...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoocfs2: ->rl_count endianness breakage
Al Viro [Fri, 13 Apr 2012 16:28:21 +0000]
ocfs2: ->rl_count endianness breakage

le16, not le32...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoocfs: ->rl_used breakage on big-endian
Al Viro [Fri, 13 Apr 2012 16:27:11 +0000]
ocfs: ->rl_used breakage on big-endian

it's le16, not le32 or le64...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoocfs2: ->l_next_free_req breakage on big-endian
Al Viro [Fri, 13 Apr 2012 16:22:00 +0000]
ocfs2: ->l_next_free_req breakage on big-endian

It's le16, not le32...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agobtrfs: btrfs_root_readonly() broken on big-endian
Al Viro [Fri, 13 Apr 2012 15:49:04 +0000]
btrfs: btrfs_root_readonly() broken on big-endian

->root_flags is __le64 and all accesses to it go through the helpers
that do proper conversions.  Except for btrfs_root_readonly(), which
checks bit 0 as in host-endian...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoext4: fix endianness breakage in ext4_split_extent_at()
Al Viro [Fri, 13 Apr 2012 00:32:25 +0000]
ext4: fix endianness breakage in ext4_split_extent_at()

->ee_len is __le16, so assigning cpu_to_le32() to it is going to do
Bad Things(tm) on big-endian hosts...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agonfsd: fix compose_entry_fh() failure exits
Al Viro [Fri, 13 Apr 2012 04:32:14 +0000]
nfsd: fix compose_entry_fh() failure exits

Restore the original logics ("fail on mountpoints, negatives and in
case of fh_compose() failures").  Since commit 8177e (nfsd: clean up
readdirplus encoding) that got broken -
rv = fh_compose(fhp, exp, dchild, &cd->fh);
if (rv)
       goto out;
if (!dchild->d_inode)
goto out;
rv = 0;
out:
is equivalent to
rv = fh_compose(fhp, exp, dchild, &cd->fh);
out:
and the second check has no effect whatsoever...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agonfsd: fix error value on allocation failure in nfsd4_decode_test_stateid()
Al Viro [Fri, 13 Apr 2012 04:15:37 +0000]
nfsd: fix error value on allocation failure in nfsd4_decode_test_stateid()

PTR_ERR(NULL) is going to be 0...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agonfsd: fix endianness breakage in TEST_STATEID handling
Al Viro [Fri, 13 Apr 2012 04:10:34 +0000]
nfsd: fix endianness breakage in TEST_STATEID handling

->ts_id_status gets nfs errno, i.e. it's already big-endian; no need
to apply htonl() to it.  Broken by commit 174568 (NFSD: Added TEST_STATEID
operation) last year...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agonfsd: fix error values returned by nfsd4_lockt() when nfsd_open() fails
Al Viro [Fri, 13 Apr 2012 04:00:04 +0000]
nfsd: fix error values returned by nfsd4_lockt() when nfsd_open() fails

nfsd_open() already returns an NFS error value; only vfs_test_lock()
result needs to be fed through nfserrno().  Broken by commit 55ef12
(nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT)
three years ago...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agonfsd: fix b0rken error value for setattr on read-only mount
Al Viro [Fri, 13 Apr 2012 03:47:00 +0000]
nfsd: fix b0rken error value for setattr on read-only mount

..._want_write() returns -EROFS on failure, _not_ an NFS error value.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

8 years agoFix number parsing in cifs_parse_mount_options
Sachin Prabhu [Fri, 13 Apr 2012 13:04:32 +0000]
Fix number parsing in cifs_parse_mount_options

The function kstrtoul() used to parse number strings in the mount
option parser is set to expect a base 10 number . This treats the octal
numbers passed for mount options such as file_mode as base10 numbers
leading to incorrect behavior.

Change the 'base' argument passed to kstrtoul from 10 to 0 to
allow it to auto-detect the base of the number passed.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Acked-by: Jeff Layton <jlayton@samba.org>
Reported-by: Chris Clayton <chris2553@googlemail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>

8 years agoCleanup handling of NULL value passed for a mount option
Sachin Prabhu [Tue, 10 Apr 2012 17:12:27 +0000]
Cleanup handling of NULL value passed for a mount option

Allow blank user= and ip= mount option. Also clean up redundant
checks for NULL values since the token parser will not actually
match mount options with NULL values unless explicitly specified.

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reported-by: Chris Clayton <chris2553@googlemail.com>
Acked-by: Jeff Layton <jlayton@samba.org>
Tested-by: Chris Clayton <chris2553@googlemail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>

8 years agox86: Handle failures of parsing immediate operands in the instruction decoder
Masami Hiramatsu [Fri, 13 Apr 2012 03:24:27 +0000]
x86: Handle failures of parsing immediate operands in the instruction decoder

This can happen if the instruction is much longer than the maximum length,
or if insn->opnd_bytes is manually changed.

This patch also fixes warnings from -Wswitch-default flag.

Reported-by: Prashanth Nageshappa <prashanth@linux.vnet.ibm.com>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Jim Keniston <jkenisto@linux.vnet.ibm.com>
Cc: Linux-mm <linux-mm@kvack.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Cc: Anton Arapov <anton@redhat.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: yrl.pp-manager.tt@hitachi.com
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120413032427.32577.42602.stgit@localhost.localdomain
Signed-off-by: Ingo Molnar <mingo@kernel.org>

8 years agoperf archive: Correct cutting of symbolic link
Chanho Park [Mon, 2 Apr 2012 06:28:29 +0000]
perf archive: Correct cutting of symbolic link

If a '$PERF_BUILDID_DIR'(typically $HOME/.debug) is a symbolic link
directory, cutting of the path will fail.

Here is an example where a buildid directory is a symbolic link.

/ # ls -al /root
lrwxrwxrwx    1 root     root            13 Mar 26  2012 /root -> opt/home/root
/ # cd ~
/opt/home/root # perf record -a -g sleep 1
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.322 MB perf.data (~14057 samples) ]
/opt/home/root # perf archive
tar: Removing leading `/' from member names
Now please run:

$ tar xvf perf.data.tar.bz2 -C ~/.debug

wherever you need to run 'perf report' on.
/opt/home/root # mkdir temp
/opt/home/root # tar xf perf.data.tar.bz2 -C ./temp
/opt/home/root # find ./temp -name "*kernel*"
./temp/opt/home/root/.debug/[kernel.kallsyms]

-> If successfully cut off the path, [kernel.kallsyms] is located
in top of the archived file.

This patch enables to cut correctly even if the buildid directory
is a symbolic link.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1333348109-12598-1-git-send-email-chanho61.park@samsung.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

8 years agoperf tools: Ignore auto-generated bison/flex files
Namhyung Kim [Mon, 9 Apr 2012 05:11:14 +0000]
perf tools: Ignore auto-generated bison/flex files

The commit 65f3e56e0c81 ("perf tools: Remove auto-generated bison/flex
files") removed those files from git, so they'll be listed on untracked
files after building perf. Fix it.

Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1333948274-20043-1-git-send-email-namhyung.kim@lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

8 years agoperf tools: Fix parsers' rules to dependencies
Jiri Olsa [Wed, 11 Apr 2012 10:39:51 +0000]
perf tools: Fix parsers' rules to dependencies

Currently the parsers objects (bison/flex related) are each time perf
is built. No matter the generated files are already in place, the
parser generation is executed every time.

Changing the rules to have proper flex/bison objects generation
dependencies.

The parsers code is not rebuilt until the flex/bison source files
are touched. Also when flex/bison source is changed, only dependent
objects are rebuilt.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1334140791-3024-1-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

8 years agoperf tools: fix NO_GTK2 Makefile config error
Stephane Eranian [Tue, 10 Apr 2012 10:35:13 +0000]
perf tools: fix NO_GTK2 Makefile config error

In case the user specified NO_GTK2 on the make cmdline, compilation
would fail with undefined symbol because the Makefile would not set the
correct cpp variable: NO_GTK2 vs. NO_GTK2_SUPPORT.

This patch renames the variable to the correct name.

Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120410103513.GA9229@quad
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

8 years agoperf session: Skip event correctly for unknown id/machine
Jiri Olsa [Thu, 12 Apr 2012 12:21:01 +0000]
perf session: Skip event correctly for unknown id/machine

In case the perf_session__process_event function fails, we estimate the
next event offset.

This is not necessary for sample event failing on unknown ID or machine.
In such case we know proper size of the event, so we dont need to guess.
Also failure statistics are updated correctly so we don't miss any
information.

Forcing perf_session__process_event to return 0 in case of unknown ID or
machine.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1334233262-5679-3-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

8 years agovirtio_balloon: fix handling of PAGE_SIZE != 4k
Michael S. Tsirkin [Thu, 12 Apr 2012 13:38:00 +0000]
virtio_balloon: fix handling of PAGE_SIZE != 4k

As reported by David Gibson, current code handles PAGE_SIZE != 4k
completely wrong which can lead to guest memory corruption errors:

- page_to_balloon_pfn is wrong: e.g. on system with 64K page size
 it gives the same pfn value for 16 different pages.

- we also need to convert back to linux pfns when we free.

- for each linux page we need to tell host about multiple balloon
  pages, but code only adds one pfn to the array.

This patch fixes all that, tested with a 64k ppc64 kernel.

Reported-by: David Gibson <david@gibson.dropbear.id.au>
Tested-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

8 years agovirtio_balloon: Fix endian bug
David Gibson [Thu, 12 Apr 2012 05:36:34 +0000]
virtio_balloon: Fix endian bug

Although virtio config space fields are usually in guest-native endian,
the spec for the virtio balloon device explicitly states that both fields
in its config space are little-endian.

However, the current virtio_balloon driver does not have a suitable endian
swap for the 'num_pages' field, although it does have one for the 'actual'
field.  This patch corrects the bug, adding sparse annotation while we're
at it.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

8 years agovirtio_blk: helper function to format disk names
Ren Mingxin [Tue, 10 Apr 2012 07:28:05 +0000]
virtio_blk: helper function to format disk names

The current virtio block's naming algorithm just supports 18278
(26^3 + 26^2 + 26) disks. If there are more virtio blocks,
there will be disks with the same name.

Based on commit 3e1a7ff8a0a7b948f2684930166954f9e8e776fe, add
a function "virtblk_name_format()" for virtio block to support mass
of disks naming.

Notes:
- Our naming scheme is ugly. We are stuck with it
  for virtio but don't use it for any new driver:
  new drivers should name their devices PREFIX%d
  where the sequence number can be allocated by ida
- sd_format_disk_name has exactly the same logic.
  Moving it to a central place was deferred over worries
  that this will make people keep using the legacy naming
  in new drivers.
  We kept code idential in case someone wants to deduplicate later.

Signed-off-by: Ren Mingxin <renmx@cn.fujitsu.com>
Acked-by: Asias He <asias@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

8 years agotools/virtio: fix up vhost/test module build
Zhi Yong Wu [Mon, 9 Apr 2012 07:42:13 +0000]
tools/virtio: fix up vhost/test module build

commit ea5d404655ba3b356d0c06d6a3c4f24112124522
broke build for the vhost test module used
by tools/virtio. Fix it up.

Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

8 years agoPCI: Retry BARs restoration for Type 0 headers only
Rafael J. Wysocki [Mon, 16 Apr 2012 21:07:50 +0000]
PCI: Retry BARs restoration for Type 0 headers only

Some shortcomings introduced into pci_restore_state() by commit
26f41062f28d ("PCI: check for pci bar restore completion and retry")
have been fixed by recent commit ebfc5b802fa76 ("PCI: Fix regression in
pci_restore_state(), v3"), but that commit treats all PCI devices as
those with Type 0 configuration headers.

That is not entirely correct, because Type 1 and Type 2 headers have
different layouts.  In particular, the area occupied by BARs in Type 0
config headers contains the secondary status register in Type 1 ones and
it doesn't make sense to retry the restoration of that register even if
the value read back from it after a write is not the same as the written
one (it very well may be different).

For this reason, make pci_restore_state() only retry the restoration
of BARs for Type 0 config headers.  This effectively makes it behave
as before commit 26f41062f28d for all header types except for Type 0.

Tested-by: Mikko Vinni <mmvinni@yahoo.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agoDocumentation: maintainer change
Randy Dunlap [Tue, 17 Apr 2012 02:21:39 +0000]
Documentation: maintainer change

I'm dropping off as Documentation/ maintainer.
Rob Landley has agreed to take it over.  Thanks, Rob.

I'll still be around reviewing patches and testing.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Rob Landley <rob@landley.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agoia64: fix futex_atomic_cmpxchg_inatomic()
Luck, Tony [Mon, 16 Apr 2012 23:28:01 +0000]
ia64: fix futex_atomic_cmpxchg_inatomic()

Michel Lespinasse cleaned up the futex calling conventions in commit
37a9d912b24f ("futex: Sanitize cmpxchg_futex_value_locked API").

But the ia64 implementation was subtly broken.  Gcc does not know that
register "r8" will be updated by the fault handler if the cmpxchg
instruction takes an exception.  So it feels safe in letting the
initialization of r8 slide to after the cmpxchg.  Result: we always
return 0 whether the user address faulted or not.

Fix by moving the initialization of r8 into the __asm__ code so gcc
won't move it.

Reported-by: <emeric.maschino@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42757
Tested-by: <emeric.maschino@gmail.com>
Acked-by: Michel Lespinasse <walken@google.com>
Cc: stable@vger.kernel.org # v2.6.39+
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agocheckpatch: revert --strict test for net/ and drivers/net block comment style
Joe Perches [Mon, 16 Apr 2012 19:35:11 +0000]
checkpatch: revert --strict test for net/ and drivers/net block comment style

Revert the --strict test for the old preferred block
comment style in drivers/net and net/

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

8 years agogpio: tegra: fix duplicate code
Mayuresh Kulkarni [Tue, 24 Apr 2012 09:24:04 +0000]
gpio: tegra: fix duplicate code

Change-Id: Iea26161a63de1f785375c96121716a44baa3b4d4
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/98403
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoarm: tegra: harmony: guard pcie init by CONFIG_TEGRA_PCI
Mayuresh Kulkarni [Mon, 23 Apr 2012 12:50:42 +0000]
arm: tegra: harmony: guard pcie init by CONFIG_TEGRA_PCI

Change-Id: I070d4ac854c98479420bacfe84e06aeec8892ac7
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-on: http://git-master/r/98206
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agocpuidle: governor: menu: Initialize power usage to max
Prashant Gaikwad [Mon, 23 Apr 2012 12:41:58 +0000]
cpuidle: governor: menu: Initialize power usage to max

power_usage variable data type changed from unsigned int
to int. -1 for unsigned int is max whereas for int it is
less than 0. s->power_usage < power_usage always fails since
power usage specified for Tegra CPU states is greater
or equal to 0.

Bug 971668

Change-Id: If2197f1c973e5774c3c46e2c1ac6ec83051d4e19
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-on: http://git-master/r/98204
Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoarm: tegra: pm: Update cpuidle lp3 state function
Prashant Gaikwad [Mon, 23 Apr 2012 09:16:35 +0000]
arm: tegra: pm: Update cpuidle lp3 state function

Bug 971668

Change-Id: I83c3705c3f7425787db4388462dcd2574c177c7f
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-on: http://git-master/r/98165
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoARM: tegra: cardhu: set open drain type to be false for normal pin
Laxman Dewangan [Fri, 20 Apr 2012 15:20:16 +0000]
ARM: tegra: cardhu: set open drain type to be false for normal pin

When registering fixed regulator for gpio, setting the open drain
state to false for normal pin i.e. non-open drain pin.

This was side effect of the changes done for porting gpio
regulator to fixed regulator.

bug 970262

Change-Id: I1977e48b3461f8eb2aacadc28e4b53165ac4e1ec
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/97946
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>

8 years agotegra: usb: otg: Clear only interrupt enabling bits in suspend
Joshua Cha [Mon, 23 Apr 2012 09:15:59 +0000]
tegra: usb: otg: Clear only interrupt enabling bits in suspend

In resuming from LP1, USB HOST is wrongly detected in Tegra2.
In that time, adb connection doesn't work also.
So clear only interrupt enabling bits to fix this problem.

Bug 960254
Bug 970012

Change-Id: I2f8e891ab2abcf8552526ff305d6f3a148076edd
Signed-off-by: Joshua Cha <joshuac@nvidia.com>
Reviewed-on: http://git-master/r/96769
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

Conflicts:

drivers/usb/otg/tegra-otg.c

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoARM: tegra: dma: Use no DMA interrupts if no callbacks
Chaitanya Bandi [Mon, 16 Apr 2012 11:42:02 +0000]
ARM: tegra: dma: Use no DMA interrupts if no callbacks

If there are no callbacks associated with the request,
dma interrupt is not enabled.

Bug 969125

Change-Id: Ifbf2a8d6c474187927ee38af03cb96e53e199b83
Signed-off-by: Chaitanya Bandi <bandik@nvidia.com>
Reviewed-on: http://git-master/r/96724
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>

8 years agovideo: tegra: dc: update windows after set lut
Adam Cheney [Wed, 21 Mar 2012 01:07:12 +0000]
video: tegra: dc: update windows after set lut

TEGRA_DC_EXT_SET_LUT programmed the proper shadow registers
but did not copy the shadow registers to the active set.

Signed-off-by: Adam Cheney <acheney@nvidia.com>

bug 947281

Change-Id: Id734e128bb708f1a75c0cad22b0c51b083d8df3b
Reviewed-on: http://git-master/r/91368
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

8 years agoarm: tegra: enterprise: Correct sdmmc4 tap delay
Pavan Kunapuli [Thu, 19 Apr 2012 15:01:25 +0000]
arm: tegra: enterprise: Correct sdmmc4 tap delay

For SDMMC4 GMI interface, tap delay value of 0xF
is recommended by HW team.

Bug 911075

Change-Id: I2cdf90f34341cb8062dbded52ff1739c0c84cb0d
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/97668
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User

8 years agousb: otg: tegra: callback for otg plug/un-plug notificaton
Syed Rafiuddin [Thu, 19 Apr 2012 04:56:41 +0000]
usb: otg: tegra: callback for otg plug/un-plug notificaton

Addition of callback function to nofity the plug and
un-plug of OTG cable to charger driver.

Change-Id: I6b16d051cafe0799cffe8a05d1510da27e841f8b
Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com>
Reviewed-on: http://git-master/r/97514
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Chandler Zhang <chazhang@nvidia.com>
Tested-by: Chandler Zhang <chazhang@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

8 years agommc: tegra: Disable card and host clk separately
Pavan Kunapuli [Mon, 9 Apr 2012 14:01:50 +0000]
mmc: tegra: Disable card and host clk separately

Disable card clock before disabling internal clock to
ensure that there are no abnormal clock waveforms.

Bug 947058

Change-Id: I98a3f7f63b4380b62bead05f1018d3cddc0ac217
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/95396
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

8 years agommc: host: Disable SDIO card clock when idle
Pavan Kunapuli [Wed, 18 Apr 2012 13:32:38 +0000]
mmc: host: Disable SDIO card clock when idle

Disable SDIO card clock when there are no commands/
data transfers on the SD bus.

Bug 958954
Bug 955742
Bug 952344

Change-Id: I7390be0406f7e46c0eb88ede2ae6f904b2181306
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/95390
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

8 years agousb: ehci: tegra: Fence read in unmap urb
Krishna Yarlagadda [Wed, 11 Apr 2012 18:25:07 +0000]
usb: ehci: tegra: Fence read in unmap urb

There is a chance that we might read an TD request which
has just arrived after fence read in a interrupt handler.
Added fence read in unmap urb to avoid this issue.

Bug 964879

Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-on: http://git-master/r/95916
(cherry picked from commit 8d8415820014710052eef088ed2d579d0531cd52)

Change-Id: Ia682654a25c685cf3dd2e76c8b9ea30427a06d89
Reviewed-on: http://git-master/r/97507
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

8 years agoarm: tegra3: change min_rate for clocks
Amit Kamath [Mon, 23 Apr 2012 09:13:51 +0000]
arm: tegra3: change min_rate for clocks

Set minimum sclk,pclk and hclk rate same at 12Mhz for power optimization
bug 939415

Change-Id: I579eeca780357b02f65333ffea58301040943506
Signed-off-by: Amit Kamath <akamath@nvidia.com>
Reviewed-on: http://git-master/r/96922
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Conflicts:

arch/arm/mach-tegra/tegra3_clocks.c

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agodrivers: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 23 Apr 2012 07:49:44 +0000]
drivers: resolve compilation time warnings

bug 949219

Change-Id: I5942ba86bd1cbe1f1bd06a7c9f51a10d83e6cabb
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92819
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Conflicts:

drivers/usb/host/ehci.h

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoARM: tegra: remove T30 FPGA support
Juha Tukkinen [Mon, 23 Apr 2012 07:47:16 +0000]
ARM: tegra: remove T30 FPGA support

Remove T30 FPGA support as it will conflict with downstreaming mainline
way of using chipid and revision.

Change-Id: Ic1fd1107801de13c265c7dde8571e0537c43f4fd
Signed-off-by: Juha Tukkinen <jtukkinen@nvidia.com>
Reviewed-on: http://git-master/r/95872
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Conflicts:

arch/arm/mach-tegra/tegra3_clocks.c

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoASoC: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 23 Apr 2012 07:40:16 +0000]
ASoC: resolve compilation time warnings

bug 949219

Change-Id: I52969e8dd1a5ed4dc76ac360ec08b0afb18cd4a5
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/92833
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Conflicts:

sound/soc/tegra/tegra_max98088.c

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoarm: tegra: resolve compilation time warnings
Sanjay Singh Rawat [Mon, 23 Apr 2012 07:39:01 +0000]
arm: tegra: resolve compilation time warnings

Bug 949219

Change-Id: I875f8688a272c415ebf345b8f30e4afdf7551b29
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/91523
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>

Conflicts:

arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/usb_phy.c

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoARM: tegra: cardhu: pm299: enable 3v3 rail during boot
Laxman Dewangan [Mon, 16 Apr 2012 08:38:46 +0000]
ARM: tegra: cardhu: pm299: enable 3v3 rail during boot

Enabling the 3v3 voltage rail during boot.
bug 822562

Change-Id: I15318b0c30bae716f40985cbee06cd9eaff54ee3
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/96685
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>

8 years agoi2c: tegra: support for I2C_M_NOSTART protocol mangling
Laxman Dewangan [Tue, 27 Mar 2012 13:27:11 +0000]
i2c: tegra: support for I2C_M_NOSTART protocol mangling

Adding support for protocol mangling I2C_M_NOSTART.

Change-Id: I6cc0c96b3c374d452ea886a0f983dc5d31c4575c
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/92573
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

8 years agoARM: tegra: usb: kai: pmu int not required
Krishna Yarlagadda [Fri, 13 Apr 2012 04:18:54 +0000]
ARM: tegra: usb: kai: pmu int not required

vbus int can be generated from pmu and directly from port
when host mode is reqruied, we use vbus int and pmu int
is not required as usb clock is not disabled.

Bug 961166

Change-Id: I96fde7daf052a7c5b8e94414e309b0be6354ec80
Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-on: http://git-master/r/96338
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Chandler Zhang <chazhang@nvidia.com>
Tested-by: Chandler Zhang <chazhang@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>

8 years agoarm: tegra: kai: addition of charger regulator
Chandler Zhang [Fri, 13 Apr 2012 07:57:51 +0000]
arm: tegra: kai: addition of charger regulator

Use SMB349 regulator instead of irq to controll USB1 VBUS

Bug 961166
Bug 966874

Change-Id: I68884444883277ef169f3eb066ea50d6d49b708d
Signed-off-by: Chandler Zhang <chazhang@nvidia.com>
Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com>
Reviewed-on: http://git-master/r/96441
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>

8 years agopower: smb349: addition of regulator interface
Syed Rafiuddin [Fri, 13 Apr 2012 10:09:05 +0000]
power: smb349: addition of regulator interface

Addition of reglator interface to detect the usb cable
plug/unplug detection.

Bug 961166
Bug 966874

Change-Id: Ida297bc39df9aca8cffe60c29bc24f2d32819f56
Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com>
Signed-off-by: Chandler Zhang <chazhang@nvidia.com>
Reviewed-on: http://git-master/r/96440
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>

8 years agomfd: max8907c: Disable Hard Reset with Power key
Ashwini Ghuge [Tue, 17 Apr 2012 11:58:06 +0000]
mfd: max8907c: Disable Hard Reset with Power key

Disable Hard Reset on long press of power key.

Bug 893517

Change-Id: Ic328a04e917aa1bed6780e6f9a2f1c575f84fb68
Signed-off-by: Ashwini Ghuge <aghuge@nvidia.com>
Reviewed-on: http://git-master/r/96687
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>

8 years agousb: gadget: fsl_udc: support udc driver without otg
Rakesh Bodla [Wed, 18 Apr 2012 04:16:16 +0000]
usb: gadget: fsl_udc: support udc driver without otg

Currently udc driver is dependent on otg driver.
Added irq work to make gadget driver work with
disabling otg driver.

Bug 962366

Change-Id: Id782d8003da12ace553b8b812fa410567c281b34
Reviewed-on: http://git-master/r/95106
Reviewed-by: Rakesh Bodla <rbodla@nvidia.com>
Tested-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>

8 years agoarm: tegra: enterprise: disable dsi_csi_rail in LP0
Vinayak Pane [Sat, 14 Apr 2012 00:13:15 +0000]
arm: tegra: enterprise: disable dsi_csi_rail in LP0

AVDD_DSI_CSI is shared by modem and dsi. If DSI turns
off this rail then HSIC fails after wakeup from modem.
This patch provides a way to turn on this rail from
modem as well as from DSI. Create two virtual power rails
from avdd_csi_dsi to control it from both the drivers separately.
This is enterprise specific change as per the power rail layout.

Bug 920881

(cherry picked from commit ab52b51c59f776ae770d48a28a2744e2db2e5d2f)
Reviewed-on: http://git-master/r/85656

Change-Id: I2e9c04a8f4e8d6fd20584b4e75657c1cb6d5c8bd
Signed-off-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-on: http://git-master/r/89134
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Puneet Saxena <puneets@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

8 years agoARM: tegra: dma: Add API to get channel id
Chaitanya Bandi [Mon, 16 Apr 2012 10:38:35 +0000]
ARM: tegra: dma: Add API to get channel id

Added tegra_dma_get_channel_id API to determine the id
of a given channel.

Bug 969125

Change-Id: Ibad67d65c87dc267a4e6942557c02acbd0f6e938
Signed-off-by: Chaitanya Bandi <bandik@nvidia.com>
Reviewed-on: http://git-master/r/96714
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>

8 years agoARM: tegra: cardhu:enable VDD2 when required
Laxman Dewangan [Fri, 13 Apr 2012 11:17:44 +0000]
ARM: tegra: cardhu:enable VDD2 when required

The VDD2 supply the power to three rails: 1.5V, LDO1 and LDO2.
LDO1 is used for PEX and LDO2 is used for SATA.
By default making the VDD2 off and enabling when
consumer requires.

Change-Id: I283f62277246214966e7635bc31b6eb066f9282b
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/96451
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>

8 years agotegra: fix typo in pre-power wifi code
Mursalin Akon [Mon, 16 Apr 2012 19:17:35 +0000]
tegra: fix typo in pre-power wifi code

fix typo in pre-power wifi code

Bug 956238

Change-Id: Iee794da508d39131e3166bba71b1c46c60d19a3b
Signed-off-by: Mursalin Akon <makon@nvidia.com>
Reviewed-on: http://git-master/r/96821
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Allen Martin <amartin@nvidia.com>

8 years agogpio: tegra: add valid configuration for Tegra30
Varun Wadekar [Sat, 21 Apr 2012 10:10:35 +0000]
gpio: tegra: add valid configuration for Tegra30

In case the "compatible" property is not populated, which can happen
when we load devices from board files, use a valid config struct for
Tegra30 instead of re-using the one written for Tegra20.

Bug 971673

Change-Id: I863e4eec8a860995b72f0a7ceeab25213dfa9bc7
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/98127
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Tested-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>

8 years agogpio: tegra: fix bad merge
Varun Wadekar [Sat, 21 Apr 2012 10:08:35 +0000]
gpio: tegra: fix bad merge

fix 5c1e2c9dc684f26fcc78ff4ef15dc97ed0244303 so that we use the new
variables: tegra_gpio_upper_offset and tegra_gpio_bank_stride instead
of the previous hard-coded values.

Bug 971673

Change-Id: Ib085e63050e24a91f4d9d8321c3116d421efc46c
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/98126
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Tested-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>

8 years agoInput: Use monotonic time for event time stamps.
Arve Hjønnevåg [Fri, 17 Oct 2008 22:28:08 +0000]
Input: Use monotonic time for event time stamps.

Since wall time can jump backwards, it cannot be used to determine if one
event occured before another or for how long a key was pressed.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: Id9e75ad5ef0e56ec6bc8b1f1594a71412317f93c
Reviewed-on: http://git-master/r/97840
Tested-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>

8 years agoRevert "Input: add infrastructure for selecting clockid for event time stamps"
Varun Wadekar [Fri, 20 Apr 2012 06:53:01 +0000]
Revert "Input: add infrastructure for selecting clockid for event time stamps"

This reverts commit a80b83b7b8456e9b475346c2e01d7e210883208c.

Conflicts:

include/linux/input.h

Change-Id: I66eaf70a5ca9d3c3b96c4e58a460abbab02916e9
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/97839
Tested-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>

8 years agommc: host: tegra: add suspend/resume handlers
Varun Wadekar [Thu, 19 Apr 2012 13:26:05 +0000]
mmc: host: tegra: add suspend/resume handlers

Previously we were using platform_{suspend|resume} handlers
instead, which did not allow the sdhci-tegra driver to
suspend/resume at the right time.

While we are at it, do some formatting changes too.

Change-Id: I6934859f10d5e51ab13b7dfb6bd6e155636e7ad7
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Reviewed-on: http://git-master/r/97655
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com>

8 years agommc: host: sdhci-pltfm: Add suspend and resume hooks to sdhci platform
Varun Wadekar [Thu, 19 Apr 2012 13:16:40 +0000]
mmc: host: sdhci-pltfm: Add suspend and resume hooks to sdhci platform

Change-Id: I062fbe91d8af14366a92af1a27e9dab49869905c
Signed-off-by: Colin Cross <ccross@android.com>

Rebase-Id: R3eb206857e57a61e445a1dd6b7efdc63ab1e0dd5

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I7b71b41d2f95639ac9f189a848fd0eb36602e31d
Reviewed-on: http://git-master/r/97654
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>

8 years agoASoC: Tegra: update machine drivers
Ravindra Lokhande [Thu, 19 Apr 2012 15:21:10 +0000]
ASoC: Tegra: update machine drivers

For new kernel snd_soc_add_controls function is replaced with
snd_soc_add_card_controls. Also prototype is changed for set_bias_level
function. Updated tegra machine driver with these changes.

Change-Id: I01fa06bf03c5608acdc110d570aa01dde5ce1f52
Signed-off-by: Ravindra Lokhande <rlokhande@nvidia.com>
Reviewed-on: http://git-master/r/97674
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoarm: tegra: kai: Remove pinmux and gpio registration
Prashant Gaikwad [Thu, 19 Apr 2012 05:53:50 +0000]
arm: tegra: kai: Remove pinmux and gpio registration

Already done in tegra_kai_init.

Change-Id: Ibd534be1e8727374fb40f1e60d5eaf34adf4096c
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-on: http://git-master/r/97528
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agosecurity: Add config flag for Android specific caps
Preetham Chandru [Wed, 18 Apr 2012 13:57:16 +0000]
security: Add config flag for Android specific caps

Add CONFIG_ANDROID_PARANOID_NETWORK for Android specific capabilities

Change-Id: Ic9a44e4f754445fbf59a52e5aa75a2d8e3d0930f
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>
Reviewed-on: http://git-master/r/97519
Reviewed-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-by: Kiran Adduri <kadduri@nvidia.com>
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoRevert "EHCI: keep track of ports being resumed and indicate in hub_status_data"
Varun Wadekar [Thu, 19 Apr 2012 06:20:02 +0000]
Revert "EHCI: keep track of ports being resumed and indicate in hub_status_data"

This reverts commit fb8784626891796895d6ca081ae8cccce8e1fd2d since it
hangs the bootup process on Ventana.

Change-Id: Ia8c9b081b9dda4c197196ec7faaa4eb50cf7088b
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agosoc: tegra30: i2s: fix compilation errors with 3.4-rc3
Varun Wadekar [Wed, 18 Apr 2012 15:15:21 +0000]
soc: tegra30: i2s: fix compilation errors with 3.4-rc3

Change-Id: I240a070b429521df62a151236a27cdf4089cae6f
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

8 years agoLinux 3.4-rc3
Linus Torvalds [Mon, 16 Apr 2012 01:28:29 +0000]
Linux 3.4-rc3

8 years agoARM: 7386/1: jump_label: fixup for rename to static_key
Rabin Vincent [Sat, 14 Apr 2012 20:51:32 +0000]
ARM: 7386/1: jump_label: fixup for rename to static_key

c5905afb0 ("static keys: Introduce 'struct static_key'...") renamed
struct jump_label_key to struct static_key.  Fixup ARM for this to
eliminate these build warnings:

  include/linux/jump_label.h:113:2:
  warning: passing argument 1 of 'arch_static_branch' from incompatible pointer type
  include/asm/jump_label.h:17:82:
  note: expected 'struct jump_label_key *' but argument is of type 'struct static_key *'

Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

8 years agoARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
Jonathan Austin [Thu, 12 Apr 2012 16:45:25 +0000]
ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE

Currently when ThumbEE is not enabled (!CONFIG_ARM_THUMBEE) the ThumbEE
register states are not saved/restored at context switch. The default state
of the ThumbEE Ctrl register (TEECR) allows userspace accesses to the
ThumbEE Base Handler register (TEEHBR). This can cause unexpected behaviour
when people use ThumbEE on !CONFIG_ARM_THUMBEE kernels, as well as allowing
covert communication - eg between userspace tasks running inside chroot
jails.

This patch sets up TEECR in order to prevent user-space access to TEEHBR
when !CONFIG_ARM_THUMBEE. In this case, tasks are sent SIGILL if they try to
access TEEHBR.

Cc: stable@vger.kernel.org
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

8 years agoARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
Will Deacon [Thu, 12 Apr 2012 16:15:08 +0000]
ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU

If a bank of memory spanning the 4GB boundary is added on a !CONFIG_LPAE
kernel then we will hang early during boot since the memory bank will
have wrapped around to zero.

This patch truncates memory banks for !LPAE configurations when the end
address is not representable in 32 bits.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>