1. 18 Aug, 2017 3 commits
  2. 17 Aug, 2017 3 commits
  3. 16 Aug, 2017 8 commits
  4. 14 Aug, 2017 4 commits
  5. 08 Aug, 2017 4 commits
    • Bjorn Andersson's avatar
      soc: qcom: mdt_loader: Use request_firmware_into_buf() · 445c2410
      Bjorn Andersson authored
      By switching to the request_firmware_into_buf() we load the segment data
      straight into the preallocated buffers, reducing the need for allocating
      scratch buffers for these. In particular the modem firmware consists of
      multiple segments in the range 5-15MB, making this worth while.
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      445c2410
    • Srinivas Kandagatla's avatar
      soc: qcom: bring all qcom drivers into a submenu · 2a464815
      Srinivas Kandagatla authored
      As the number of qcom drivers increase, entries in SOC menu looks
      scattered with other SOC drivers. Make a submenu for Qcom drivers
      to make it visibly clear while selecting qcom SOC specific drivers.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      2a464815
    • Rob Clark's avatar
      soc: qcom: wcnss_ctrl: add missing MODULE_DEVICE_TABLE() · b8339909
      Rob Clark authored
      This fixes a problem of wifi module not loading on db410c.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      b8339909
    • Rob Clark's avatar
      soc: qcom: smsm: fix of_node refcnting problem · 3e8b5541
      Rob Clark authored
      of_find_node_with_property() drops the reference to the 'from' node,
      which eventually (after enough -EPROBE_DEFERs) drops the last reference
      to the node causing all sorts of fun problems, and this nice splat.
      
        BUG: sleeping function called from invalid context at ../kernel/locking/mutex.c:747
        in_atomic(): 1, irqs_disabled(): 128, pid: 33, name: kworker/0:1
        4 locks held by kworker/0:1/33:
         #0:  ("events"){.+.+.+}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
         #1:  (deferred_probe_work){+.+.+.}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
         #2:  (&dev->mutex){......}, at: [<ffff000008676078>] __device_attach+0x30/0x168
         #3:  (devtree_lock){......}, at: [<ffff000008828fd0>] of_find_node_with_property+0x30/0xe0
        irq event stamp: 18976
        hardirqs last  enabled at (18975): [<ffff00000815794c>] __down_trylock_console_sem+0x74/0xb8
        hardirqs last disabled at (18976): [<ffff0000089e26d4>] _raw_spin_lock_irqsave+0x2c/0x78
        softirqs last  enabled at (16880): [<ffff0000080e0f00>] __do_softirq+0x580/0x640
        softirqs last disabled at (16871): [<ffff0000080e13a4>] irq_exit+0xe4/0x138
        CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G            E   4.12.0-rc5+ #1455
        Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
        Workqueue: events deferred_probe_work_func
        Call trace:
        [<ffff000008089ee0>] dump_backtrace+0x0/0x230
        [<ffff00000808a134>] show_stack+0x24/0x30
        [<ffff0000084e1944>] dump_stack+0xac/0xe8
        [<ffff00000810d7e0>] ___might_sleep+0x150/0x230
        [<ffff00000810d918>] __might_sleep+0x58/0x90
        [<ffff0000089dde18>] __mutex_lock+0x50/0x870
        [<ffff0000089de674>] mutex_lock_nested+0x3c/0x50
        [<ffff000008388ae0>] kernfs_remove+0x30/0x50
        [<ffff00000838b720>] sysfs_remove_dir+0x58/0x70
        [<ffff0000084e393c>] kobject_del+0x1c/0x58
        [<ffff0000084e374c>] kobject_put+0xb4/0x208
        [<ffff00000882c364>] of_node_put+0x24/0x30
        [<ffff000008829018>] of_find_node_with_property+0x78/0xe0
        [<ffff000000aff5f4>] qcom_smsm_probe+0x194/0x720 [smsm]
        [<ffff0000086793b4>] platform_drv_probe+0x74/0x110
        [<ffff0000086765bc>] driver_probe_device+0x2b4/0x420
        [<ffff000008676920>] __device_attach_driver+0xd0/0x150
        [<ffff000008673e78>] bus_for_each_drv+0x68/0xa8
        [<ffff00000867611c>] __device_attach+0xd4/0x168
        [<ffff000008676a1c>] device_initial_probe+0x24/0x30
        [<ffff000008675380>] bus_probe_device+0xa0/0xa8
        [<ffff000008675948>] deferred_probe_work_func+0xb8/0xf8
        [<ffff0000080fa9d4>] process_one_work+0x25c/0x728
        [<ffff0000080faef4>] worker_thread+0x54/0x3d8
        [<ffff0000081031d8>] kthread+0x110/0x140
        [<ffff000008082d90>] ret_from_fork+0x10/0x40
        OF: ERROR: Bad of_node_put() on /smsm
        CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G        W   E   4.12.0-rc5+ #1455
        Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
        Workqueue: events deferred_probe_work_func
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      3e8b5541
  6. 07 Aug, 2017 1 commit
  7. 06 Aug, 2017 14 commits
  8. 05 Aug, 2017 3 commits
    • Andreas Dilger's avatar
      ext4: fix dir_nlink behaviour · c7414892
      Andreas Dilger authored
      The dir_nlink feature has been enabled by default for new ext4
      filesystems since e2fsprogs-1.41 in 2008, and was automatically
      enabled by the kernel for older ext4 filesystems since the
      dir_nlink feature was added with ext4 in kernel 2.6.28+ when
      the subdirectory count exceeded EXT4_LINK_MAX-1.
      
      Automatically adding the file system features such as dir_nlink is
      generally frowned upon, since it could cause the file system to not be
      mountable on older kernel, thus preventing the administrator from
      rolling back to an older kernel if necessary.
      
      In this case, the administrator might also want to disable the feature
      because glibc's fts_read() function does not correctly optimize
      directory traversal for directories that use st_nlinks field of 1 to
      indicate that the number of links in the directory are not tracked by
      the file system, and could fail to traverse the full directory
      hierarchy.  Fortunately, in the past ten years very few users have
      complained about incomplete file system traversal by glibc's
      fts_read().
      
      This commit also changes ext4_inc_count() to allow i_nlinks to reach
      the full EXT4_LINK_MAX links on the parent directory (including "."
      and "..") before changing i_links_count to be 1.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196405Signed-off-by: default avatarAndreas Dilger <adilger@dilger.ca>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      c7414892
    • Dan Carpenter's avatar
      ext4: silence array overflow warning · 381cebfe
      Dan Carpenter authored
      I get a static checker warning:
      
          fs/ext4/ext4.h:3091 ext4_set_de_type()
          error: buffer overflow 'ext4_type_by_mode' 15 <= 15
      
      It seems unlikely that we would hit this read overflow in real life, but
      it's also simple enough to make the array 16 bytes instead of 15.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      381cebfe
    • Jan Kara's avatar
      ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize · fcf5ea10
      Jan Kara authored
      ext4_find_unwritten_pgoff() does not properly handle a situation when
      starting index is in the middle of a page and blocksize < pagesize. The
      following command shows the bug on filesystem with 1k blocksize:
      
        xfs_io -f -c "falloc 0 4k" \
                  -c "pwrite 1k 1k" \
                  -c "pwrite 3k 1k" \
                  -c "seek -a -r 0" foo
      
      In this example, neither lseek(fd, 1024, SEEK_HOLE) nor lseek(fd, 2048,
      SEEK_DATA) will return the correct result.
      
      Fix the problem by neglecting buffers in a page before starting offset.
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      CC: stable@vger.kernel.org # 3.8+
      fcf5ea10