1. 28 Feb, 2013 21 commits
    • Vyacheslav Dubeyko's avatar
      hfsplus: fix issue with unzeroed unused b-tree nodes · 899bed05
      Vyacheslav Dubeyko authored
      The fsck_hfs (under MacOS X) complains about unzeroed unused b-tree nodes
      after deletion of folders' tree under Linux.
      
      SYMPTOMS:
      
        Running Disk Utiltiy's "Verify Disk" on "test" gives the following:
        Verifying volume “Test”
        Checking file systemChecking Journaled HFS Plus volume.
        Checking extents overflow file.
        Checking catalog file.
        Unused node is not erased (node = 3111)
        Checking multi-linked files.
        Checking catalog hierarchy.
        Checking extended attributes file.
        Checking volume bitmap.
        Checking volume information.
        The volume Test was found corrupt and needs to be repaired.
        Error: This disk needs to be repaired. Click Repair Disk.
      
      REPRODUCING PATH:
      
      1. Prepare HFS+ (non-case sensitive) partition (for example, 5GB)
         under MacOS X.
      2. Copy linux kernel source tree (for example, 3.7-rc6 version) on
         this partition under MacOS X.
      3. Then switch to Linux and mount this prepared partition.
      4. Execute `sudo rm -r` under prepared directory with linux kernel
         source tree.
      5. Unmount and boot back into OS X.
      6. Open up Disk Utility and verify partition.
      
      REPRODUCIBILITY: 100%
      
      FIX:
      
      It is added code of node clearing in hfs_bnode_put() method for the case
      when node has flag HFS_BNODE_DELETED.
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarKyle Laracey <kalaracey@gmail.com>
      Acked-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      899bed05
    • Vyacheslav Dubeyko's avatar
      hfsplus: add support of manipulation by attributes file · 324ef39a
      Vyacheslav Dubeyko authored
      Add support of manipulation by attributes file.
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      324ef39a
    • Vyacheslav Dubeyko's avatar
      hfsplus: rework functionality of getting, setting and deleting of extended attributes · 127e5f5a
      Vyacheslav Dubeyko authored
      Rework functionality of getting, setting and deleting of extended attributes.
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      127e5f5a
    • Vyacheslav Dubeyko's avatar
      hfsplus: add functionality of manipulating by records in attributes tree · 3e05ca20
      Vyacheslav Dubeyko authored
      Add functionality of manipulating by records in attributes tree.
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e05ca20
    • Vyacheslav Dubeyko's avatar
      hfsplus: add on-disk layout declarations related to attributes tree · 9ed083d8
      Vyacheslav Dubeyko authored
      Add all necessary on-disk layout declarations related to attributes file.
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ed083d8
    • Vyacheslav Dubeyko's avatar
      hfsplus: add osx.* prefix for handling namespace of Mac OS X extended attributes · 5841ca09
      Vyacheslav Dubeyko authored
      hfsplus: reworked support of extended attributes.
      
      Current mainline implementation of hfsplus file system driver treats as
      extended attributes only two fields (fdType and fdCreator) of user_info
      field in file description record (struct hfsplus_cat_file).  It is
      possible to get or set only these two fields as extended attributes.
      But HFS+ treats as com.apple.FinderInfo extended attribute an union of
      user_info and finder_info fields as for file (struct hfsplus_cat_file)
      as for folder (struct hfsplus_cat_folder).  Moreover, current mainline
      implementation of hfsplus file system driver doesn't support special
      metadata file - attributes tree.
      
      Mac OS X 10.4 and later support extended attributes by making use of the
      HFS+ filesystem Attributes file B*-tree feature which allows for named
      forks.  Mac OS X supports only inline extended attributes, limiting
      their size to 3802 bytes.  Any regular file may have a list of extended
      attributes.  HFS+ supports an arbitrary number of named forks.  Each
      attribute is denoted by a name and the associated data.  The name is a
      null-terminated Unicode string.  It is possible to list, to get, to set,
      and to remove extended attributes from files or directories.
      
      It exists some peculiarity during getting of extended attributes list by
      means of getfattr utility.  The getfattr utility expects prefix "user."
      before any extended attribute's name.  So, it ignores any names that
      don't contained such prefix.  Such behavior of getfattr utility results
      in unexpected empty output of extended attributes list even in the case
      when file (or folder) contains extended attributes.  It needs to use
      empty string as regular expression pattern for names matching (getfattr
      --match="").
      
      For support of extended attributes in HFS+:
      1. It was added necessary on-disk layout declarations related to Attributes
         tree into hfsplus_raw.h file.
      2. It was added attributes.c file with implementation of functionality of
         manipulation by records in Attributes tree.
      3. It was reworked hfsplus_listxattr, hfsplus_getxattr, hfsplus_setxattr
         functions in ioctl.c. Moreover, it was added hfsplus_removexattr method.
      
      This patch:
      
      Add osx.* prefix for handling namespace of Mac OS X extended attributes.
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
      Reported-by: default avatarHin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5841ca09
    • Imre Deak's avatar
      lib/scatterlist: use page iterator in the mapping iterator · 4225fc85
      Imre Deak authored
      For better code reuse use the newly added page iterator to iterate
      through the pages.  The offset, length within the page is still
      calculated by the mapping iterator as well as the actual mapping.  Idea
      from Tejun Heo.
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Cc: Maxim Levitsky <maximlevitsky@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4225fc85
    • Imre Deak's avatar
      lib/scatterlist: add simple page iterator · a321e91b
      Imre Deak authored
      Add an iterator to walk through a scatter list a page at a time starting
      at a specific page offset.  As opposed to the mapping iterator this is
      meant to be small, performing well even in simple loops like collecting
      all pages on the scatterlist into an array or setting up an iommu table
      based on the pages' DMA address.
      Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
      Cc: Maxim Levitsky <maximlevitsky@gmail.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Tested-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a321e91b
    • Stephen Warren's avatar
      MAINTAINERS: update Tegra section to capture all Tegra files · 5d96bf4d
      Stephen Warren authored
      The intent is to ensure that all Tegra-related patches are sent to the
      linux-tegra@ mailing list, so people can keep up-to-date on all misc
      driver changes.
      
      Doing this with a keyword is far simpler and more compact than listing
      all Tegra-related drivers, even if wildcards were used.
      
      Words such as integrate or integrator are common.  Ensure the character
      right before "tegra" isn't a-z (case-insensitive), to make sure the
      keyword doesn't match those.
      
      The only files that the keyword doesn't match are the NVEC driver.  Add
      the linux-tegra mailing list to the NVEC entry to solve this.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Julian Andres Klode <jak@jak-linux.org>
      Cc: Marc Dietrich <marvin24@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5d96bf4d
    • Stephen Warren's avatar
      get_maintainer: allow keywords to match filenames · eb90d085
      Stephen Warren authored
      Allow K: entries in MAINTAINERS to match directly against filenames;
      either those extracted from patch +++ or --- lines, or those specified
      on the command-line using the -f option.
      
      This potentially allows fewer lines in a MAINTAINERS entry, if all the
      relevant files are scattered throughout the whole kernel tree, yet
      contain some common keyword.  An example would be using an ARM SoC name
      as the keyword to catch all related drivers.
      
      I don't think setting exact_pattern_match_hash would be appropriate
      here; at least for intended Tegra use case, this feature is to ensure
      that all Tegra-related driver changes get Cc'd to the Tegra mailing
      list.  Setting exact_pattern_match_hash would prevent git history
      parsing for e.g.  S-o-b tags, which still seems like it would be useful.
      Hence, this flag isn't set.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eb90d085
    • Oleg Nesterov's avatar
      usermodehelper: cleanup/fix __orderly_poweroff() && argv_free() · 7ff67640
      Oleg Nesterov authored
      __orderly_poweroff() does argv_free() if call_usermodehelper_fns()
      returns -ENOMEM.  As Lucas pointed out, this can be wrong if -ENOMEM was
      not triggered by the failing call_usermodehelper_setup(), in this case
      both __orderly_poweroff() and argv_cleanup() can do kfree().
      
      Kill argv_cleanup() and change __orderly_poweroff() to call argv_free()
      unconditionally like do_coredump() does.  This info->cleanup() is not
      needed (and wrong) since 6c0c0d4d "fix bug in orderly_poweroff() which
      did the UMH_NO_WAIT => UMH_WAIT_EXEC change, we can rely on the fact
      that CLONE_VFORK can't return until do_execve() succeeds/fails.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarLucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: David Howells <dhowells@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: hongfeng <hongfeng@marvell.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7ff67640
    • Michel Lespinasse's avatar
      mm: use vm_unmapped_area() on frv architecture · e759a798
      Michel Lespinasse authored
      Update the frv arch_get_unmapped_area function to make use of
      vm_unmapped_area() instead of implementing a brute force search.
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e759a798
    • Xiaowei.Hu's avatar
      ocfs2: ac->ac_allow_chain_relink=0 won't disable group relink · 309a85b6
      Xiaowei.Hu authored
      ocfs2_block_group_alloc_discontig() disables chain relink by setting
      ac->ac_allow_chain_relink = 0 because it grabs clusters from multiple
      cluster groups.
      
      It doesn't keep the credits for all chain relink,but
      ocfs2_claim_suballoc_bits overrides this in this call trace:
      ocfs2_block_group_claim_bits()->ocfs2_claim_clusters()->
      __ocfs2_claim_clusters()->ocfs2_claim_suballoc_bits()
      ocfs2_claim_suballoc_bits set ac->ac_allow_chain_relink = 1; then call
      ocfs2_search_chain() one time and disable it again, and then we run out
      of credits.
      
      Fix is to allow relink by default and disable it in
      ocfs2_block_group_alloc_discontig.
      
      Without this patch, End-users will run into a crash due to run out of
      credits, backtrace like this:
      
        RIP: 0010:[<ffffffffa0808b14>]  [<ffffffffa0808b14>]
        jbd2_journal_dirty_metadata+0x164/0x170 [jbd2]
        RSP: 0018:ffff8801b919b5b8  EFLAGS: 00010246
        RAX: 0000000000000000 RBX: ffff88022139ddc0 RCX: ffff880159f652d0
        RDX: ffff880178aa3000 RSI: ffff880159f652d0 RDI: ffff880087f09bf8
        RBP: ffff8801b919b5e8 R08: 0000000000000000 R09: 0000000000000000
        R10: 0000000000001e00 R11: 00000000000150b0 R12: ffff880159f652d0
        R13: ffff8801a0cae908 R14: ffff880087f09bf8 R15: ffff88018d177800
        FS:  00007fc9b0b6b6e0(0000) GS:ffff88022fd40000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
        CR2: 000000000040819c CR3: 0000000184017000 CR4: 00000000000006e0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
        Process dd (pid: 9945, threadinfo ffff8801b919a000, task ffff880149a264c0)
        Call Trace:
          ocfs2_journal_dirty+0x2f/0x70 [ocfs2]
          ocfs2_relink_block_group+0x111/0x480 [ocfs2]
          ocfs2_search_chain+0x455/0x9a0 [ocfs2]
          ...
      Signed-off-by: default avatarXiaowei.Hu <xiaowei.hu@oracle.com>
      Reviewed-by: default avatarSrinivas Eeda <srinivas.eeda@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      309a85b6
    • Jeff Liu's avatar
      ocfs2: fix ocfs2_init_security_and_acl() to initialize acl correctly · 32918dd9
      Jeff Liu authored
      We need to re-initialize the security for a new reflinked inode with its
      parent dirs if it isn't specified to be preserved for ocfs2_reflink().
      However, the code logic is broken at ocfs2_init_security_and_acl()
      although ocfs2_init_security_get() succeed.  As a result,
      ocfs2_acl_init() does not involked and therefore the default ACL of
      parent dir was missing on the new inode.
      
      Note this was introduced by 9d8f13ba ("security: new
      security_inode_init_security API adds function callback")
      
      To reproduce:
      
          set default ACL for the parent dir(ocfs2 in this case):
          $ setfacl -m default:user:jeff:rwx ../ocfs2/
          $ getfacl ../ocfs2/
          # file: ../ocfs2/
          # owner: jeff
          # group: jeff
          user::rwx
          group::r-x
          other::r-x
          default:user::rwx
          default:user:jeff:rwx
          default:group::r-x
          default:mask::rwx
          default:other::r-x
      
          $ touch a
          $ getfacl a
          # file: a
          # owner: jeff
          # group: jeff
          user::rw-
          group::rw-
          other::r--
      
      Before patching, create reflink file b from a, the user
      default ACL entry(user:jeff:rwx)was missing:
      
          $ ./ocfs2_reflink a b
          $ getfacl b
          # file: b
          # owner: jeff
          # group: jeff
          user::rw-
          group::rw-
          other::r--
      
      In this case, the end user can also observed an error message at syslog:
      
        (ocfs2_reflink,3229,2):ocfs2_init_security_and_acl:7193 ERROR: status = 0
      
      After applying this patch, create reflink file c from a:
      
          $ ./ocfs2_reflink a c
          $ getfacl c
          # file: c
          # owner: jeff
          # group: jeff
          user::rw-
          user:jeff:rwx			#effective:rw-
          group::r-x			#effective:r--
          mask::rw-
          other::r--
      
      Test program:
      /* Usage: reflink <source> <dest> */
      #include <stdio.h>
      #include <stdint.h>
      #include <stdbool.h>
      #include <string.h>
      #include <errno.h>
      #include <sys/types.h>
      #include <sys/stat.h>
      #include <fcntl.h>
      #include <sys/ioctl.h>
      
      static int
      reflink_file(char const *src_name, char const *dst_name,
      	     bool preserve_attrs)
      {
      	int fd;
      
      #ifndef REFLINK_ATTR_NONE
      #  define REFLINK_ATTR_NONE 0
      #endif
      #ifndef REFLINK_ATTR_PRESERVE
      #  define REFLINK_ATTR_PRESERVE 1
      #endif
      #ifndef OCFS2_IOC_REFLINK
      	struct reflink_arguments {
      		uint64_t old_path;
      		uint64_t new_path;
      		uint64_t preserve;
      	};
      
      #  define OCFS2_IOC_REFLINK _IOW ('o', 4, struct reflink_arguments)
      #endif
      	struct reflink_arguments args = {
      		.old_path = (unsigned long) src_name,
      		.new_path = (unsigned long) dst_name,
      		.preserve = preserve_attrs ? REFLINK_ATTR_PRESERVE :
      					     REFLINK_ATTR_NONE,
      	};
      
      	fd = open(src_name, O_RDONLY);
      	if (fd < 0) {
      		fprintf(stderr, "Failed to open %s: %s\n",
      			src_name, strerror(errno));
      		return -1;
      	}
      
      	if (ioctl(fd, OCFS2_IOC_REFLINK, &args) < 0) {
      		fprintf(stderr, "Failed to reflink %s to %s: %s\n",
      			src_name, dst_name, strerror(errno));
      		return -1;
      	}
      }
      
      int
      main(int argc, char *argv[])
      {
      	if (argc != 3) {
      		fprintf(stdout, "Usage: %s source dest\n", argv[0]);
      		return 1;
      	}
      
      	return reflink_file(argv[1], argv[2], 0);
      }
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Reviewed-by: default avatarTao Ma <boyu.mt@taobao.com>
      Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      32918dd9
    • Nishanth Menon's avatar
      scripts/kernel-doc: handle struct member __aligned without numbers · 9dc30918
      Nishanth Menon authored
      Commit ef5da59f ("scripts/kernel-doc: handle struct member
      __aligned") permits "char something [123] __aligned(8);".
      
      However, by using \d we constraint ourselves with integers.  This is not
      always the case.  In fact, it might be better to do char something[123]
      __aligned(sizeof(u16));
      
      For example, With wireless_dev defining:
      
          u8 address[ETH_ALEN] __aligned(sizeof(u16));
      
      With \d, scripts/kernel-doc erroneously says:
      
          Warning(include/net/cfg80211.h:2618): Excess struct/union/enum/typedef member 'address' description in 'wireless_dev'
      
      This is because the regex __aligned\s*\(\d+\) fails match at \d as
      sizeof is used.
      
      So replace \d with .  to indicate "something" in kernel-doc to ignore
      __aligned(SOMETHING) in structs.  With this change, we can use integers
      OR sizeof() or macros as we please.
      Signed-off-by: default avatarNishanth Menon <nm@ti.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Cc: Johannes Berg <johannes.berg@intel.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9dc30918
    • Michel Lespinasse's avatar
      mm: accelerate munlock() treatment of THP pages · ff6a6da6
      Michel Lespinasse authored
      munlock_vma_pages_range() was always incrementing addresses by PAGE_SIZE
      at a time.  When munlocking THP pages (or the huge zero page), this
      resulted in taking the mm->page_table_lock 512 times in a row.
      
      We can do better by making use of the page_mask returned by
      follow_page_mask (for the huge zero page case), or the size of the page
      munlock_vma_page() operated on (for the true THP page case).
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ff6a6da6
    • Kim, Milo's avatar
      backlight: add new lp8788 backlight driver · c5a51053
      Kim, Milo authored
      TI LP8788 PMU supports regulators, battery charger, RTC, ADC, backlight
      dri= ver and current sinks.  This patch enables LP8788 backlight module.
      
      (Brightness mode)
      The brightness is controlled by PWM input or I2C register.
      All modes are supported in the driver.
      
      (Platform data)
      Configurable data can be defined in the platform side.
       name                  : backlight driver name. (default: "lcd-backlight")
       initial_brightness    : initial value of backlight brightness
       bl_mode               : brightness control by PWM or lp8788 register
       dim_mode              : dimming mode selection
       full_scale            : full scale current setting
       rise_time             : brightness ramp up step time
       fall_time             : brightness ramp down step time
       pwm_pol               : PWM polarity setting when bl_mode is PWM based
       period_ns             : platform specific PWM period value. unit is nano.
      
      The default values are set in case no platform data is defined.
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Thierry Reding <thierry.reding@avionic-design.de>
      Cc: "devendra.aaru" <devendra.aaru@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c5a51053
    • Jingoo Han's avatar
      lib/devres.c: fix misplaced #endif · 9ed8a30f
      Jingoo Han authored
      A misplaced #endif causes link errors related to pcim_*() functions.
      
      This is because pcim_*() functions are related to CONFIG_PCI option,
      however these are not related to CONFIG_HAS_IOPORT option.  Therefore,
      when CONFIG_PCI is enabled and CONFIG_HAS_IOPORT is not enabled, it makes
      link errors related to pcim_*() functions as below:
      
      drivers/ata/libata-sff.c:3233: undefined reference to `pcim_iomap_regions'
      drivers/ata/libata-sff.c:3238: undefined reference to `pcim_iomap_table'
      drivers/built-in.o: In function `ata_pci_sff_init_host':
      drivers/ata/libata-sff.c:2318: undefined reference to `pcim_iomap_regions'
      drivers/ata/libata-sff.c:2329: undefined reference to `pcim_iomap_table
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ed8a30f
    • Michel Lespinasse's avatar
      mm: use vm_unmapped_area() on parisc architecture · a0031197
      Michel Lespinasse authored
      Update the parisc arch_get_unmapped_area function to make use of
      vm_unmapped_area() instead of implementing a brute force search.
      
      [akpm@linux-foundation.org: remove now-unused DCACHE_ALIGN(), per James]
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Acked-by: default avatarHelge Deller <deller@gmx.de>
      Tested-by: default avatarHelge Deller <deller@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a0031197
    • Jingoo Han's avatar
      drivers/video/backlight/ams369fg06.c: make power_on() call optional · f7a3c997
      Jingoo Han authored
      This patch makes power_on() call optional.  The voltage source can be
      provided to some boards using ams369fg06 panel, thus in this case, power
      on/off sequence is not necessary.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f7a3c997
    • Joe Perches's avatar
      checkpatch: improve CamelCase test for Page · be987d9f
      Joe Perches authored
      Add the ClearPage/SetPage/TestClearPage/TestSetPage variants to the not
      reported Page CamelCase variables.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be987d9f
  2. 27 Feb, 2013 10 commits
    • Linus Torvalds's avatar
      sysrq: don't depend on weak undefined arrays to have an address that compares as NULL · adf96e6f
      Linus Torvalds authored
      When taking an address of an extern array, gcc quite naturally should be
      able to say "an address of an object can never be NULL" and just
      optimize away the test entirely.
      
      However, the new alternate sysrq reset code (commit 154b7a48:
      "Input: sysrq - allow specifying alternate reset sequence") did exactly
      that, and declared platform_sysrq_reset_seq[] as a weak array, and
      expecting that testing the address of the array would show whether it
      actually got linked against something or not.
      
      And that doesn't work with all gcc versions.  Clearly it works with
      *some* versions of gcc, and maybe it's even supposed to work, but it
      really is a very fragile concept.
      
      So instead of testing the address of the weak variable, just create a
      weak instance of that array that is empty.  If some platform then has a
      real platform_sysrq_reset_seq[] that overrides our weak one, the linker
      will switch to that one, and it all works without any run-time
      conditionals at all.
      Reported-by: default avatarDave Airlie <airlied@gmail.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      adf96e6f
    • Linus Torvalds's avatar
      mm: do not grow the stack vma just because of an overrun on preceding vma · 09884964
      Linus Torvalds authored
      The stack vma is designed to grow automatically (marked with VM_GROWSUP
      or VM_GROWSDOWN depending on architecture) when an access is made beyond
      the existing boundary.  However, particularly if you have not limited
      your stack at all ("ulimit -s unlimited"), this can cause the stack to
      grow even if the access was really just one past *another* segment.
      
      And that's wrong, especially since we first grow the segment, but then
      immediately later enforce the stack guard page on the last page of the
      segment.  So _despite_ first growing the stack segment as a result of
      the access, the kernel will then make the access cause a SIGSEGV anyway!
      
      So do the same logic as the guard page check does, and consider an
      access to within one page of the next segment to be a bad access, rather
      than growing the stack to abut the next segment.
      Reported-and-tested-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09884964
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d895cb1a
      Linus Torvalds authored
      Pull vfs pile (part one) from Al Viro:
       "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
        locking violations, etc.
      
        The most visible changes here are death of FS_REVAL_DOT (replaced with
        "has ->d_weak_revalidate()") and a new helper getting from struct file
        to inode.  Some bits of preparation to xattr method interface changes.
      
        Misc patches by various people sent this cycle *and* ocfs2 fixes from
        several cycles ago that should've been upstream right then.
      
        PS: the next vfs pile will be xattr stuff."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
        saner proc_get_inode() calling conventions
        proc: avoid extra pde_put() in proc_fill_super()
        fs: change return values from -EACCES to -EPERM
        fs/exec.c: make bprm_mm_init() static
        ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
        ocfs2: fix possible use-after-free with AIO
        ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
        get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
        target: writev() on single-element vector is pointless
        export kernel_write(), convert open-coded instances
        fs: encode_fh: return FILEID_INVALID if invalid fid_type
        kill f_vfsmnt
        vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
        nfsd: handle vfs_getattr errors in acl protocol
        switch vfs_getattr() to struct path
        default SET_PERSONALITY() in linux/elf.h
        ceph: prepopulate inodes only when request is aborted
        d_hash_and_lookup(): export, switch open-coded instances
        9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
        9p: split dropping the acls from v9fs_set_create_acl()
        ...
      d895cb1a
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20130225' of git://github.com/czankel/xtensa-linux · 96263573
      Linus Torvalds authored
      Pull xtensa update from Chris Zankel:
       "Added features:
         - add support for thread local storage (TLS)
      
         - add accept4 and finit_module syscalls
      
         - support medium-priority interrupts
      
         - add support for dc232c processor variant
      
         - support file-base simulated disk for ISS simulator
      
        Bug fixes:
      
         - fix return values returned by the str[n]cmp functions
      
         - avoid mmap cache aliasing
      
         - fix handling of 'windowed registers' in ptrace"
      
      * tag 'xtensa-next-20130225' of git://github.com/czankel/xtensa-linux:
        xtensa: add accept4 syscall
        xtensa: add support for TLS
        xtensa: add missing include asm/uaccess.h to checksum.h
        xtensa: do not enable GENERIC_GPIO by default
        xtensa: complete ptrace handling of register windows
        xtensa: add support for oprofile
        xtensa: move spill_registers to traps.h
        xtensa: ISS: add host file-based simulated disk
        xtensa: fix str[n]cmp return value
        xtensa: avoid mmap cache aliasing
        xtensa: add finit_module syscall
        xtensa: pull signal definitions from signal-defs.h
        xtensa: fix ipc_parse_version selection
        xtensa: dispatch medium-priority interrupts
        xtensa: Add config files for Diamond 233L - Rev C processor variant
        xtensa: use new common dtc rule
        xtensa: rename prom_update_property to of_update_property
      96263573
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 2b37e9a2
      Linus Torvalds authored
      Pull microblaze update from Michal Simek:
       "Microblaze changes.
      
        After my discussion with Arnd I have also added there asm-generic io
        patch which is Acked by him and Geert."
      
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        asm-generic: io: Fix ioread16/32be and iowrite16/32be
        microblaze: Do not use module.h in files which are not modules
        microblaze: Fix coding style issues
        microblaze: Add missing return from debugfs_tlb
        microblaze: Makefile clean
        microblaze: Add .gitignore entries for auto-generated files
        microblaze: Fix strncpy_from_user macro
      2b37e9a2
    • Linus Torvalds's avatar
      Merge branch 'for-upstream' of git://openrisc.net/jonas/linux · a9a07d40
      Linus Torvalds authored
      Pull OpenRISC updates from Jonas Bonn:
       "An equal number of bug fixes and trivial cleanups; no new features.
      
         - Two patches to fix errors thrown by the updated toolchain.
      
         - Three other bug fixes.
      
         - Four trivial cleanups."
      
      * 'for-upstream' of git://openrisc.net/jonas/linux:
        openrisc: add missing header inclusion
        openrisc: really pass correct arg to schedule_tail
        Add bitops include needed for ext2 filesystem
        openrisc: update DTLB-miss handler last
        openrisc: fix up vmalloc page table loading
        openrisc idle: delete pm_idle
        openrisc: remove CONFIG_SYMBOL_PREFIX
        openrisc: avoid using function parameter regs in reset vector
        openrisc: remove unused current_regs
      a9a07d40
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2003cd90
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pageattr: Prevent PSE and GLOABL leftovers to confuse pmd/pte_present and pmd_huge
        Revert "x86, mm: Make spurious_fault check explicitly check explicitly check the PRESENT bit"
        x86/mm/numa: Don't check if node is NUMA_NO_NODE
        x86, efi: Make "noefi" really disable EFI runtime serivces
        x86/apic: Fix parsing of the 'lapic' cmdline option
      2003cd90
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24e55910
      Linus Torvalds authored
      Pull timer fixes from Ingo Molnar.
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource : Nomadik-mtu : fix missing irq initialization
        posix-timer: Don't call idr_find() with out-of-range ID
      24e55910
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dcad0fce
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar.
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cputime: Use local_clock() for full dynticks cputime accounting
        cputime: Constify timeval_to_cputime(timeval) argument
        sched: Move RR_TIMESLICE from sysctl.h to rt.h
        sched: Fix /proc/sched_debug failure on very very large systems
        sched: Fix /proc/sched_stat failure on very very large systems
        sched/core: Remove the obsolete and unused nr_uninterruptible() function
      dcad0fce
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f8ef15d6
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Add Intel IvyBridge event scheduling constraints
        ftrace: Call ftrace cleanup module notifier after all other notifiers
        tracing/syscalls: Allow archs to ignore tracing compat syscalls
      f8ef15d6
  3. 26 Feb, 2013 9 commits
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 6515925b
      Linus Torvalds authored
      Pull ext4 updates from Theodore Ts'o:
       "The one new feature added in this patch series is the ability to use
        the "punch hole" functionality for inodes that are not using extent
        maps.
      
        In the bug fix category, we fixed some races in the AIO and fstrim
        code, and some potential NULL pointer dereferences and memory leaks in
        error handling code paths.
      
        In the optimization category, we fixed a performance regression in the
        jbd2 layer introduced by commit d9b01934 ("jbd: fix fsync() tid
        wraparound bug", introduced in v3.0) which shows up in the AIM7
        benchmark.  We also further optimized jbd2 by minimize the amount of
        time that transaction handles are held active.
      
        This patch series also features some additional enhancement of the
        extent status tree, which is now used to cache extent information in a
        more efficient/compact form than what we use on-disk."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (65 commits)
        ext4: fix free clusters calculation in bigalloc filesystem
        ext4: no need to remove extent if len is 0 in ext4_es_remove_extent()
        ext4: fix xattr block allocation/release with bigalloc
        ext4: reclaim extents from extent status tree
        ext4: adjust some functions for reclaiming extents from extent status tree
        ext4: remove single extent cache
        ext4: lookup block mapping in extent status tree
        ext4: track all extent status in extent status tree
        ext4: let ext4_ext_map_blocks return EXT4_MAP_UNWRITTEN flag
        ext4: rename and improbe ext4_es_find_extent()
        ext4: add physical block and status member into extent status tree
        ext4: refine extent status tree
        ext4: use ERR_PTR() abstraction for ext4_append()
        ext4: refactor code to read directory blocks into ext4_read_dirblock()
        ext4: add debugging context for warning in ext4_da_update_reserve_space()
        ext4: use KERN_WARNING for warning messages
        jbd2: use module parameters instead of debugfs for jbd_debug
        ext4: use module parameters instead of debugfs for mballoc_debug
        ext4: start handle at the last possible moment when creating inodes
        ext4: fix the number of credits needed for acl ops with inline data
        ...
      6515925b
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · bbbd27e6
      Linus Torvalds authored
      Pull ext2, ext3, udf updates from Jan Kara:
       "Several UDF fixes, a support for UDF extent cache, and couple of ext2
        and ext3 cleanups and minor fixes"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        Ext2: remove the static function release_blocks to optimize the kernel
        Ext2: mark inode dirty after the function dquot_free_block_nodirty is called
        Ext2: remove the overhead check about sb in the function ext2_new_blocks
        udf: Remove unused s_extLength from udf_bitmap
        udf: Make s_block_bitmap standard array
        udf: Fix bitmap overflow on large filesystems with small block size
        udf: add extent cache support in case of file reading
        udf: Write LVID to disk after opening / closing
        Ext3: return ENOMEM rather than EIO if sb_getblk fails
        Ext2: return ENOMEM rather than EIO if sb_getblk fails
        Ext3: use unlikely to improve the efficiency of the kernel
        Ext2: use unlikely to improve the efficiency of the kernel
        Ext3: add necessary check in case IO error happens
        Ext2: free memory allocated and forget buffer head when io error happens
        ext3: Fix memory leak when quota options are specified multiple times
        ext3, ext4, ocfs2: remove unused macro NAMEI_RA_INDEX
      bbbd27e6
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.9-rc1' of git://git.infradead.org/linux-ubifs · a6590b9f
      Linus Torvalds authored
      Pull ubifs updates from Artem Bityutskiy:
       "It's been quite silent and we have only a couple of bug-fixes for the
        orphans handling code plus one cosmetic change."
      
      * tag 'upstream-3.9-rc1' of git://git.infradead.org/linux-ubifs:
        UBIFS: fix double free of ubifs_orphan objects
        UBIFS: fix use of freed ubifs_orphan objects
        UBIFS: rename random32() to prandom_u32()
      a6590b9f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 1085db4a
      Linus Torvalds authored
      Pull f2fs update from Jaegeuk Kim:
       "[Major bug fixes]
         o Store device file information correctly
         o Fix -EIO handling with respect to power-off-recovery
         o Allocate blocks with global locks
         o Fix wrong calculation of the SSR cost
      
        [Cleanups]
         o Get rid of fake on-stack dentries
      
        [Enhancement]
         o Support (un)freeze_fs
         o Enhance the f2fs_gc flow
         o Support 32-bit binary execution on 64-bit kernel"
      
      * tag 'f2fs-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (29 commits)
        f2fs: avoid build warning
        f2fs: add compat_ioctl to provide backward compatability
        f2fs: fix calculation of max. gc cost in the SSR case
        f2fs: clarify and enhance the f2fs_gc flow
        f2fs: optimize the return condition for has_not_enough_free_secs
        f2fs: make an accessor to get sections for particular block type
        f2fs: mark gc_thread as NULL when thread creation is failed
        f2fs: name gc task as per the block device
        f2fs: remove unnecessary gc option check and balance_fs
        f2fs: remove repeated F2FS_SET_SB_DIRT call
        f2fs: when check superblock failed, try to check another superblock
        f2fs: use F2FS_BLKSIZE to judge bloksize and page_cache_size
        f2fs: add device name in debugfs
        f2fs: stop repeated checking if cp is needed
        f2fs: avoid balanc_fs during evict_inode
        f2fs: remove the use of page_cache_release
        f2fs: fix typo mistake for data_version description
        f2fs: reorganize code for ra_node_page
        f2fs: avoid redundant call to has_not_enough_free_secs in f2fs_gc
        f2fs: add un/freeze_fs into super_operations
        ...
      1085db4a
    • Linus Torvalds's avatar
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 3c834b6f
      Linus Torvalds authored
      Pull virtio updates from Rusty Russell:
       "All trivial, thanks to the stuff which didn't quite make it time"
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio_console: Initialize guest_connected=true for rproc_serial
        virtio: use module_virtio_driver.
        virtio: Add module driver macro for virtio drivers.
        virtio_console: Use virtio device index to generate port name
        virtio: make pci_device_id const
        virtio: make config_ops const
        virtio-mmio: fix wrong comment about register offset
        virtio_console: Let unconnected rproc device receive data.
      3c834b6f
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.9-rc1' of git://github.com/awilliam/linux-vfio · 515d01f7
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - Fixes PCIe v1 extended capability support
      
       - Cleans up read/write access functions
      
       - Fix Removal test to properly wait until devices are unused
      
       - Enable pcieport driver usage for non-accessible devices w/in groups
      
       - Extensions for PCI VGA support
      
      * tag 'vfio-v3.9-rc1' of git://github.com/awilliam/linux-vfio:
        drivers/vfio: remove depends on CONFIG_EXPERIMENTAL
        vfio-pci: Add support for VGA region access
        vfio-pci: Manage user power state transitions
        vfio: whitelist pcieport
        vfio: Protect vfio_dev_present against device_del
        vfio-pci: Cleanup BAR access
        vfio-pci: Cleanup read/write functions
        vfio-pci: Enable PCIe extended capabilities on v1
      515d01f7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 1cef9350
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) ping_err() ICMP error handler looks at wrong ICMP header, from Li
          Wei.
      
       2) TCP socket hash function on ipv6 is too weak, from Eric Dumazet.
      
       3) netif_set_xps_queue() forgets to drop mutex on errors, fix from
          Alexander Duyck.
      
       4) sum_frag_mem_limit() can deadlock due to lack of BH disabling, fix
          from Eric Dumazet.
      
       5) TCP SYN data is miscalculated in tcp_send_syn_data(), because the
          amount of TCP option space was not taken into account properly in
          this code path.  Fix from yuchung Cheng.
      
       6) MLX4 driver allocates device queues with the wrong size, from Kleber
          Sacilotto.
      
       7) sock_diag can access past the end of the sock_diag_handlers[] array,
          from Mathias Krause.
      
       8) vlan_set_encap_proto() makes incorrect assumptions about where
          skb->data points, rework the logic so that it works regardless of
          where skb->data happens to be.  From Jesse Gross.
      
       9) Fix gianfar build failure with NET_POLL enabled, from Paul
          Gortmaker.
      
      10) Fix Ipv4 ID setting and checksum calculations in GRE driver, from
         Pravin B Shelar.
      
      11) bgmac driver does:
      
              int i;
      
              for (i = 0; ...; ...) {
                      ...
                      for (i = 0; ...; ...) {
      
          effectively corrupting the outer loop index, use a seperate
          variable for the inner loops.  From Rafał Miłecki.
      
      12) Fix suspend bugs in smsc95xx driver, from Ming Lei.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
        usbnet: smsc95xx: rename FEATURE_AUTOSUSPEND
        usbnet: smsc95xx: fix broken runtime suspend
        usbnet: smsc95xx: fix suspend failure
        bgmac: fix indexing of 2nd level loops
        b43: Fix lockdep splat on module unload
        Revert "ip_gre: propogate target device GSO capability to the tunnel device"
        IP_GRE: Fix GRE_CSUM case.
        VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
        IP_GRE: Fix IP-Identification.
        net/pasemi: Fix missing coding style
        vmxnet3: fix ethtool ring buffer size setting
        vmxnet3: make local function static
        bnx2x: remove dead code and make local funcs static
        gianfar: fix compile fail for NET_POLL=y due to struct packing
        vlan: adjust vlan_set_encap_proto() for its callers
        sock_diag: Simplify sock_diag_handlers[] handling in __sock_diag_rcv_msg
        sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
        vxlan: remove depends on CONFIG_EXPERIMENTAL
        mlx4_en: fix allocation of CPU affinity reverse-map
        mlx4_en: fix allocation of device tx_cq
        ...
      1cef9350
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ecc88efb
      Linus Torvalds authored
      Pull scsi target updates from Nicholas Bellinger:
       "The highlights in this series include:
      
         - Improve sg_table lookup scalability in RAMDISK_MCP (martin)
      
         - Add device attribute to expose config name for INQUIRY model (tregaron)
      
         - Convert tcm_vhost to use lock-less list for cmd completion (asias)
      
         - Add tcm_vhost support for multiple target's per endpoint (asias)
      
         - Add tcm_vhost support for multiple queues per vhost (asias)
      
         - Add missing mapped_lun bounds checking during make_mappedlun setup
           in generic fabric configfs code (jan engelhardt + nab)
      
         - Enforce individual iscsi-target network portal export once per
           TargetName endpoint (grover + nab)
      
         - Add WRITE_SAME w/ UNMAP=0 emulation to FILEIO backend (nab)
      
        Things have been mostly quiet this round, with majority of the work
        being done on the iser-target WIP driver + associated iscsi-target
        refactoring patches currently in flight for v3.10 code.
      
        At this point there is one patch series left outstanding from Asias to
        add support for UNMAP + WRITE_SAME w/ UNMAP=1 to FILEIO awaiting
        feedback from hch & Co, that will likely be included in a post
        v3.9-rc1 PULL request if there are no objections.
      
        Also, there is a regression bug recently reported off-list that seems
        to be effecting v3.5 and v3.6 kernels with MSFT iSCSI initiators that
        is still being tracked down.  No word if this effects >= v3.7 just
        yet, but if so there will likely another PULL request coming your
        way.."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits)
        target: Rename spc_get_write_same_sectors -> sbc_get_write_same_sectors
        target/file: Add WRITE_SAME w/ UNMAP=0 emulation support
        iscsi-target: Enforce individual network portal export once per TargetName
        iscsi-target: Refactor iscsit_get_np sockaddr matching into iscsit_check_np_match
        target: Add missing mapped_lun bounds checking during make_mappedlun setup
        target: Fix lookup of dynamic NodeACLs during cached demo-mode operation
        target: Fix parameter list length checking in MODE SELECT
        target: Fix error checking for UNMAP commands
        target: Fix sense data for out-of-bounds IO operations
        target_core_rd: break out unterminated loop during copy
        tcm_vhost: Multi-queue support
        tcm_vhost: Multi-target support
        target: Add device attribute to expose config_item_name for INQUIRY model
        target: don't truncate the fail intr address
        target: don't always say "ipv6" as address type
        target/iblock: Use backend REQ_FLUSH hint for WriteCacheEnabled status
        iscsi-target: make some temporary buffers larger
        tcm_vhost: Optimize gup in vhost_scsi_map_to_sgl
        tcm_vhost: Use iov_num_pages to calculate sgl_count
        tcm_vhost: Introduce iov_num_pages
        ...
      ecc88efb
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 70a3a06d
      Linus Torvalds authored
      Pull infiniband update from Roland Dreier:
       "Main batch of InfiniBand/RDMA changes for 3.9:
      
         - SRP error handling fixes from Bart Van Assche
      
         - Implementation of memory windows for mlx4 from Shani Michaeli
      
         - Lots of cxgb4 HW driver fixes from Vipul Pandya
      
         - Make iSER work for virtual functions, other fixes from Or Gerlitz
      
         - Fix for bug in qib HW driver from Mike Marciniszyn
      
         - IPoIB fixes from me, Itai Garbi, Shlomo Pongratz, Yan Burman
      
         - Various cleanups and warning fixes from Julia Lawall, Paul Bolle,
           Wei Yongjun"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (41 commits)
        IB/mlx4: Advertise MW support
        IB/mlx4: Support memory window binding
        mlx4: Implement memory windows allocation and deallocation
        mlx4_core: Enable memory windows in {INIT, QUERY}_HCA
        mlx4_core: Disable memory windows for virtual functions
        IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
        IB/srp: Fail I/O requests if the transport is offline
        IB/srp: Avoid endless SCSI error handling loop
        IB/srp: Avoid sending a task management function needlessly
        IB/srp: Track connection state properly
        IB/mlx4: Remove redundant NULL check before kfree
        IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
        IB/mlx4: Convert is_xxx variables in build_mlx_header() to bool
        IB/iser: Enable iser when FMRs are not supported
        IB/iser: Avoid error prints on EAGAIN registration failures
        IB/iser: Use proper define for the commands per LUN value advertised to SCSI ML
        IB/uverbs: Implement memory windows support in uverbs
        IB/core: Add "type 2" memory windows support
        mlx4_core: Propagate MR deregistration failures to caller
        mlx4_core: Rename MPT-related functions to have mpt_ prefix
        ...
      70a3a06d