08 Jun, 2017

1 commit

  • Enable mxc ion driver. ion driver can allocate physical continuous
    memory and can convert to physical address from DMA FD and virtual
    address if the memory is physical continuous.

    Signed-off-by: Song Bing bing.song@nxp.com

    Song Bing
     

09 Feb, 2017

1 commit

  • commit b17c1bba9cec1727451b906d9a0c209774624873 upstream.

    When tearingdown timesync, and not in arche platform, the state platform
    callback is not initialized. That will trigger the following NULL
    dereferencing.
    CallTrace:

    ? gb_timesync_platform_unlock_bus+0x11/0x20 [greybus]
    gb_timesync_teardown+0x85/0xc0 [greybus]
    gb_timesync_svc_remove+0xab/0x190 [greybus]
    gb_svc_del+0x29/0x110 [greybus]
    gb_hd_del+0x14/0x20 [greybus]
    ap_disconnect+0x24/0x60 [gb_es2]
    usb_unbind_interface+0x7a/0x2c0
    __device_release_driver+0x96/0x150
    device_release_driver+0x1e/0x30
    bus_remove_device+0xe7/0x130
    device_del+0x116/0x230
    usb_disable_device+0x97/0x1f0
    usb_disconnect+0x80/0x260
    hub_event+0x5ca/0x10e0
    process_one_work+0x126/0x3b0
    worker_thread+0x55/0x4c0
    ? process_one_work+0x3b0/0x3b0
    kthread+0xc4/0xe0
    ? kthread_park+0xb0/0xb0
    ret_from_fork+0x22/0x30

    So, fix that by adding checks before use the callback.

    Fixes: 970dc85bd95d ("greybus: timesync: Add timesync core driver")
    Signed-off-by: Rui Miguel Silva
    Reviewed-by: Viresh Kumar
    Reviewed-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Rui Miguel Silva
     

26 Jan, 2017

1 commit

  • commit eadf081146ec327d6fbbb6aff28e3d9aac329dc6 upstream.

    A bugfix removed the two callers of s5p_cec_runtime_suspend
    and s5p_cec_runtime_resume, leading to the return of a harmless
    warning that I had previously fixed in commit aee8937089b1
    ("[media] s5p_cec: mark suspend/resume as __maybe_unused"):

    staging/media/s5p-cec/s5p_cec.c:234:12: error: ‘s5p_cec_runtime_suspend’ defined but not used [-Werror=unused-function]
    staging/media/s5p-cec/s5p_cec.c:242:12: error: ‘s5p_cec_runtime_resume’ defined but not used [-Werror=unused-function]

    This adds the __maybe_unused annotations to the function that
    were not removed and that are now unused when CONFIG_PM
    is disabled.

    Fixes: 57b978ada073 ("[media] s5p-cec: fix system and runtime PM integration")

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

12 Jan, 2017

3 commits

  • commit c4a407b91f4b644145492e28723f9f880efb1da0 upstream.

    We should unlock before returning this error code in vpfe_reqbufs().

    Fixes: 622897da67b3 ("[media] davinci: vpfe: add v4l2 video driver support")

    Signed-off-by: Dan Carpenter
    Signed-off-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • commit b321a38d2407c7e425c54bc09be909a34e49f740 upstream.

    The oversampling ratio is controlled using the oversampling pins,
    OS [2:0] with OS2 being the MSB control bit, and OS0 the LSB control
    bit.

    The gpio connected to the OS2 pin is not being set correctly, only OS0
    and OS1 pins are being set. Fix the typo to allow proper control of the
    oversampling pins.

    Signed-off-by: Eva Rachel Retuya
    Fixes: b9618c0 ("staging: IIO: ADC: New driver for AD7606/AD7606-6/AD7606-4")
    Acked-by: Lars-Peter Clausen
    Signed-off-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Eva Rachel Retuya
     
  • commit e7c9a3d9e432200fd4c17855c2c23ac784d6e833 upstream.

    The Octeon driver calls into PHYLIB which now checks for
    net_device->dev.parent, so make sure we do set it before calling into
    any MDIO/PHYLIB related function.

    Fixes: ec988ad78ed6 ("phy: Don't increment MDIO bus refcount unless it's a different owner")
    Reported-by: Aaro Koskinen
    Signed-off-by: Florian Fainelli
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     

09 Jan, 2017

4 commits

  • commit 857a661020a2de3a0304edf33ad656abee100891 upstream.

    Commit 0557344e2149 ("staging: comedi: ni_mio_common: fix local var for
    32-bit read") changed the type of local variable `d` from `unsigned
    short` to `unsigned int` to fix a bug introduced in
    commit 9c340ac934db ("staging: comedi: ni_stc.h: add read/write
    callbacks to struct ni_private") when reading AI data for NI PCI-6110
    and PCI-6111 cards. Unfortunately, other parts of the function rely on
    the variable being `unsigned short` when an offset value in local
    variable `signbits` is added to `d` before writing the value to the
    `data` array:

    d += signbits;
    data[n] = d;

    The `signbits` variable will be non-zero in bipolar mode, and is used to
    convert the hardware's 2's complement, 16-bit numbers to Comedi's
    straight binary sample format (with 0 representing the most negative
    voltage). This breaks because `d` is now 32 bits wide instead of 16
    bits wide, so after the addition of `signbits`, `data[n]` ends up being
    set to values above 65536 for negative voltages. This affects all
    supported "E series" cards except PCI-6143 (and PXI-6143). Fix it by
    ANDing the value written to the `data[n]` with the mask 0xffff.

    Fixes: 0557344e2149 ("staging: comedi: ni_mio_common: fix local var for 32-bit read")
    Signed-off-by: Ian Abbott
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     
  • commit 655c4d442d1213b617926cc6d54e2a9a793fb46b upstream.

    For NI M Series cards, the Comedi `insn_read` handler for the AI
    subdevice is broken due to ANDing the value read from the AI FIFO data
    register with an incorrect mask. The incorrect mask clears all but the
    most significant bit of the sample data. It should preserve all the
    sample data bits. Correct it.

    Fixes: 817144ae7fda ("staging: comedi: ni_mio_common: remove unnecessary use of 'board->adbits'")
    Signed-off-by: Ian Abbott
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     
  • commit b8cb86fd95bb461c3496e1f4b4083b198c963a9c upstream.

    James Simmons reports:
    > The ldlm_pool field pl_recalc_time is set to the current
    > monotonic clock value but the interval period is calculated
    > with the wall clock. This means the interval period will
    > always be far larger than the pl_recalc_period, which is
    > just a small interval time period. The correct thing to
    > do is to use monotomic clock current value instead of the
    > wall clocks value when calculating recalc_interval_sec.

    This broke when I converted the 32-bit get_seconds() into
    ktime_get_{real_,}seconds() inconsistently. Either
    one of those two would have worked, but mixing them
    does not.

    Staying with the original intention of the patch, this
    changes the ktime_get_seconds() calls into ktime_get_real_seconds(),
    using real time instead of mononic time.

    Fixes: 8f83409cf238 ("staging/lustre: use 64-bit time for pl_recalc")
    Reported-by: James Simmons
    Signed-off-by: Arnd Bergmann
    Reviewed-by: James Simmons
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • commit cd15dd6ef4ea11df87f717b8b1b83aaa738ec8af upstream.

    I have been having a lot of unexplainable crashes in osc_lru_shrink
    lately that I could not see a good explanation for and then I found
    this patch that slip under the radar somehow that incorrectly
    converted while loop for lru list iteration into
    list_for_each_entry_safe totally ignoring that in the body of
    the loop we drop spinlocks guarding this list and move list entries
    around.
    Not sure why it was not showing up right away, perhaps some of the
    more recent LRU changes committed caused some extra pressure on this
    code that finally highlighted the breakage.

    Reverts: 8adddc36b1fc ("staging: lustre: osc: Use list_for_each_entry_safe")
    CC: Bhaktipriya Shridhar
    Signed-off-by: Oleg Drokin
    Signed-off-by: Greg Kroah-Hartman

    Oleg Drokin
     

14 Nov, 2016

1 commit

  • Pull staging/IIO fixes from Grek KH:
    "Here are a few small staging and iio driver fixes for reported issues.

    The last one was cherry-picked from my -next branch to resolve a build
    warning that Arnd fixed, in his quest to be able to turn
    -Wmaybe-uninitialized back on again. That patch, and all of the
    others, have been in linux-next for a while with no reported issues"

    * tag 'staging-4.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    iio: maxim_thermocouple: detect invalid storage size in read()
    staging: nvec: remove managed resource from PS2 driver
    Revert "staging: nvec: ps2: change serio type to passthrough"
    drivers: staging: nvec: remove bogus reset command for PS/2 interface
    staging: greybus: arche-platform: fix device reference leak
    staging: comedi: ni_tio: fix buggy ni_tio_clock_period_ps() return value
    staging: sm750fb: Fix bugs introduced by early commits
    iio: hid-sensors: Increase the precision of scale to fix wrong reading interpretation.
    iio: orientation: hid-sensor-rotation: Add PM function (fix non working driver)
    iio: st_sensors: fix scale configuration for h3lis331dl
    staging: iio: ad5933: avoid uninitialized variable in error case

    Linus Torvalds
     

07 Nov, 2016

7 commits

  • This basicly reverts commit e534f3e9 (staging:nvec: Introduce the use of
    the managed version of kzalloc). Serio struct should never by managed
    because it is refcounted. Doing so will lead to a double free oops on module
    remove.

    Signed-off-by: Marc Dietrich
    Fixes: e534f3e9429f ("staging:nvec: Introduce the use of the managed version of kzalloc")
    Cc: stable # 3.15+
    Signed-off-by: Greg Kroah-Hartman

    Marc Dietrich
     
  • This reverts commit 36b30d6138f4677514aca35ab76c20c1604baaad.

    This is necessary to detect paz00 (ac100) touchpad properly as one
    speaking ETPS/2 protocol. Without it X.org's synaptics driver doesn't
    work as the touchpad is detected as an ImPS/2 mouse instead.

    Commit ec6184b1c717b8768122e25fe6d312f609cc1bb4 changed the way
    auto-detection is performed on ports marked as pass through and made the
    issue apparent.

    A pass through port is an additional PS/2 port used to connect a slave
    device to a master device that is using PS/2 to communicate with the
    host (so slave's PS/2 communication is tunneled over master's PS/2
    link). "Synaptics PS/2 TouchPad Interfacing Guide" describes such a
    setup (PS/2 PASS-THROUGH OPTION section).

    Since paz00's embedded controller is not connected to a PS/2 port
    itself, the PS/2 interface it exposes is not a pass-through one.

    Signed-off-by: Paul Fertser
    Acked-by: Marc Dietrich
    Fixes: 36b30d6138f4 ("staging: nvec: ps2: change serio type to passthrough")
    Cc: stable # 3.4+
    Signed-off-by: Greg Kroah-Hartman

    Paul Fertser
     
  • This command was sent behind serio's back and the answer to it was
    confusing atkbd probe function which lead to the elantech touchpad
    getting detected as a keyboard.

    To prevent this from happening just let every party do its part of the
    job.

    Signed-off-by: Paul Fertser
    Acked-by: Marc Dietrich
    Cc: stable # 3.4+
    Signed-off-by: Greg Kroah-Hartman

    Paul Fertser
     
  • Make sure to drop the device reference taken by of_find_device_by_node()
    before returning from arche_platform_change_state().

    Note that this code is expected to be removed, but let's fix up the leak
    nonetheless.

    Fixes: 886aba558b9e ("greybus: arche-platform: Export fn to allow...")
    Signed-off-by: Johan Hovold
    Acked-by: Viresh Kumar
    Reviewed-by: Vaibhav Hiremath
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • `ni_tio_clock_period_ps()` used to return the clock period in
    picoseconds, and had a `BUG()` call for invalid cases. It was changed
    to pass the clock period back via a pointer parameter and return an
    error for the invalid cases. Unfortunately the code to handle
    user-specified clock sources with user-specified clock period is still
    returning the clock period the old way, which can lead to the caller not
    getting the clock period, or seeing an unexpected error. Fix it by
    passing the clock period via the pointer parameter and returning `0`.

    Fixes: b42ca86ad605 ("staging: comedi: ni_tio: remove BUG() checks for ni_tio_get_clock_src()")
    Signed-off-by: Ian Abbott
    Cc: # 4.7+
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     
  • Early commit 30ca5cb63c56965 ("staging: sm750fb: change definition of
    PANEL_PLANE_TL fields") and 27b047bbe1ee9c0 ("staging: sm750fb: change
    definition of PANEL_PLANE_BR fields") modify the register bit fields
    definitions. But the modifications are wrong, because the bit mask of
    "bit field 10:0" is not 0xeff, but 0x7ff. The wrong definition bugs
    makes display very strange.

    Signed-off-by: Huacai Chen
    Cc: stable # 4.6+
    Signed-off-by: Greg Kroah-Hartman

    Huacai Chen
     
  • …jic23/iio into staging-linus

    Second set of IIO fixes for the 4.9 cycle.

    Interestingly scale related fixes for accelerometers at both ends of
    the range. Obviously more varied devices turning up than we've seen before!

    * ad5933
    - fix an uninitialized value in a return case that is winding up GCC.
    * hid sensors
    - missing pm function prevents hid rotations sensors from working on newer
    ISH hubs (works by luck on older ones)
    - increase of scale precision needed to fix a case where on a yoga 260
    the reported scale is 0 (presumably a high precision but very low g sensor).
    * st_sensors
    - fix an issue seen with the hs3lis331dl where the range is much greater
    than previous devices (100's of g) and hence the per bit scale is greater
    than 1.

    Greg Kroah-Hartman
     

06 Nov, 2016

1 commit

  • Pull media fixes from Mauro Carvalho Chehab:
    "A series of fixup patches meant to fix the usage of DMA on stack, plus
    one warning fixup"

    * tag 'media/v4.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (32 commits)
    [media] radio-bcm2048: don't ignore errors
    [media] pctv452e: fix semicolon.cocci warnings
    [media] flexcop-usb: don't use stack for DMA
    [media] stk-webcam: don't use stack for DMA
    [media] s2255drv: don't use stack for DMA
    [media] cpia2_usb: don't use stack for DMA
    [media] digitv: handle error code on RC query
    [media] dw2102: return error if su3000_power_ctrl() fails
    [media] nova-t-usb2: handle error code on RC query
    [media] technisat-usb2: use DMA buffers for I2C transfers
    [media] pctv452e: don't call BUG_ON() on non-fatal error
    [media] pctv452e: don't do DMA on stack
    [media] nova-t-usb2: don't do DMA on stack
    [media] gp8psk: don't go past the buffer size
    [media] gp8psk: don't do DMA on stack
    [media] dtv5100: don't do DMA on stack
    [media] dtt200u: handle USB control message errors
    [media] dtt200u: don't do DMA on stack
    [media] dtt200u-fe: handle errors on USB control messages
    [media] dtt200u-fe: don't do DMA on stack
    ...

    Linus Torvalds
     

30 Oct, 2016

1 commit

  • Pull staging and IIO driver fixes from Greg KH:
    "Here are some small staging and iio driver fixes for reported issues
    for 4.9-rc3. Nothing major, the "largest" being a lustre fix for a
    sysfs file that was obviously wrong, and had never been tested, so it
    was moved to debugfs as that is where it belongs. The others are small
    bug fixes for reported issues with various staging or iio drivers.

    All have been in linux-next for a while with no reported issues"

    * tag 'staging-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    greybus: fix a leak on error in gb_module_create()
    greybus: es2: fix error return code in ap_probe()
    greybus: arche-platform: Add missing of_node_put() in arche_platform_change_state()
    staging: android: ion: Fix error handling in ion_query_heaps()
    iio: accel: sca3000_core: avoid potentially uninitialized variable
    iio:chemical:atlas-ph-sensor: Fix use of 32 bit int to hold 16 bit big endian value
    staging/lustre/llite: Move unstable_stats from sysfs to debugfs
    Staging: wilc1000: Fix kernel Oops on opening the device
    staging: android/ion: testing the wrong variable
    Staging: greybus: uart: Use gbphy_dev->dev instead of bundle->dev
    Staging: greybus: gpio: Use gbphy_dev->dev instead of bundle->dev
    iio: adc: ti-adc081c: Select IIO_TRIGGERED_BUFFER to prevent build errors
    iio: maxim_thermocouple: Align 16 bit big endian value of raw reads

    Linus Torvalds
     

26 Oct, 2016

1 commit

  • The ad5933_i2c_read function returns an error code to indicate
    whether it could read data or not. However ad5933_work() ignores
    this return code and just accesses the data unconditionally,
    which gets detected by gcc as a possible bug:

    drivers/staging/iio/impedance-analyzer/ad5933.c: In function 'ad5933_work':
    drivers/staging/iio/impedance-analyzer/ad5933.c:649:16: warning: 'status' may be used uninitialized in this function [-Wmaybe-uninitialized]

    This adds minimal error handling so we only evaluate the
    data if it was correctly read.

    Link: https://patchwork.kernel.org/patch/8110281/
    Signed-off-by: Arnd Bergmann
    Acked-by: Lars-Peter Clausen
    Cc:
    Signed-off-by: Jonathan Cameron

    Arnd Bergmann
     

24 Oct, 2016

6 commits

  • We should release ->interfaces[0] as well.

    Fixes: b15d97d77017 ("greybus: core: add module abstraction")
    Signed-off-by: Dan Carpenter
    Acked-by: Viresh Kumar
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Fix to return a negative error code from the es2_arpc_in_enable() error
    handling case instead of 0, as done elsewhere in this function.

    Fixes: 9d9d3777a9db ("greybus: es2: Add a new bulk in endpoint for APBridgeA RPC")
    Signed-off-by: Wei Yongjun
    Acked-by: Viresh Kumar
    Reviewed-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Wei Yongjun
     
  • This node pointer is returned by of_find_compatible_node() with
    refcount incremented in this function. of_node_put() on it before
    exitting this function.

    This is detected by Coccinelle semantic patch.

    Signed-off-by: Wei Yongjun
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Wei Yongjun
     
  • If the copy_to_user() fails we should unlock and return directly without
    updating "cnt". Also the return value should be -EFAULT instead of the
    number of bytes remaining.

    Fixes: 02b23803c6af ("staging: android: ion: Add ioctl to query available heaps")
    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • …jic23/iio into staging-linus

    Jonathan writes:

    First set of IIO fixes for the 4.9 cycle.

    * atlas chemical
    - Fix alignment of big endian values in a larger storage (by using the right
    size storage)
    * maxim thermocouple
    - Fix alignment of big endian values in larger (by using the correct
    sized storage).
    * sca3000
    - Handle unexpected mode values.
    * ti-adc081
    - Select IIO_TRIGGERED_BUFFER to avoid build errors

    Greg Kroah-Hartman
     
  • The newly added __sca3000_get_base_freq function handles all valid
    modes of the SCA3000_REG_ADDR_MODE register, but gcc notices
    that any other value (i.e. 0x00) causes the base_freq variable to
    not get initialized:

    drivers/staging/iio/accel/sca3000_core.c: In function 'sca3000_write_raw':
    drivers/staging/iio/accel/sca3000_core.c:527:23: error: 'base_freq' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    This adds explicit error handling for unexpected register values,
    to ensure this cannot happen.

    Fixes: e0f3fc9b47e6 ("iio: accel: sca3000_core: implemented IIO_CHAN_INFO_SAMP_FREQ")
    Signed-off-by: Arnd Bergmann
    Cc: Ico Doornekamp
    Cc: Jonathan Cameron
    Signed-off-by: Jonathan Cameron

    Arnd Bergmann
     

19 Oct, 2016

1 commit

  • This removes the 'write' and 'force' from get_user_pages() and replaces
    them with 'gup_flags' to make the use of FOLL_FORCE explicit in callers
    as use of this flag can result in surprising behaviour (and hence bugs)
    within the mm subsystem.

    Signed-off-by: Lorenzo Stoakes
    Acked-by: Christian König
    Acked-by: Jesper Nilsson
    Acked-by: Michal Hocko
    Reviewed-by: Jan Kara
    Signed-off-by: Linus Torvalds

    Lorenzo Stoakes
     

17 Oct, 2016

6 commits

  • Remove this warning:

    drivers/staging/media/bcm2048/radio-bcm2048.c: In function 'bcm2048_set_rds_no_lock':
    drivers/staging/media/bcm2048/radio-bcm2048.c:467:6: warning: variable 'err' set but not used [-Wunused-but-set-variable]
    int err;
    ^~~

    By returning the error code.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • It's multiple values per file, so it has no business being in sysfs,
    besides it was assuming seqfile anyway.

    Fixes: d806f30e639b ("staging: lustre: osc: revise unstable pages accounting")
    Signed-off-by: Oleg Drokin
    Signed-off-by: Greg Kroah-Hartman

    Oleg Drokin
     
  • Commit 2518ac59eb27 ("staging: wilc1000: Replace kthread with workqueue
    for host interface") adds an unconditional destroy_workqueue() on the
    wilc's "hif_workqueue" soon after its creation thereby rendering
    it unusable. It then further attempts to queue work onto this
    non-existing hif_worqueue and results in:

    Unable to handle kernel NULL pointer dereference at virtual address 00000010
    pgd = de478000
    [00000010] *pgd=3eec0831, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#1] ARM
    Modules linked in: wilc1000_sdio(C) wilc1000(C)
    CPU: 0 PID: 825 Comm: ifconfig Tainted: G C 4.8.0-rc8+ #37
    Hardware name: Atmel SAMA5
    task: df56f800 task.stack: deeb0000
    PC is at __queue_work+0x90/0x284
    LR is at __queue_work+0x58/0x284
    pc : [] lr : [] psr: 600f0093
    sp : deeb1aa0 ip : def22d78 fp : deea6000
    r10: 00000000 r9 : c0a08150 r8 : c0a2f058
    r7 : 00000001 r6 : dee9b600 r5 : def22d74 r4 : 00000000
    r3 : 00000000 r2 : def22d74 r1 : 07ffffff r0 : 00000000
    Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
    ...
    [] (__queue_work) from [] (queue_work_on+0x34/0x40)
    [] (queue_work_on) from [] (wilc_enqueue_cmd+0x54/0x64 [wilc1000])
    [] (wilc_enqueue_cmd [wilc1000]) from [] (wilc_set_wfi_drv_handler+0x48/0x70 [wilc1000])
    [] (wilc_set_wfi_drv_handler [wilc1000]) from [] (wilc_mac_open+0x214/0x250 [wilc1000])
    [] (wilc_mac_open [wilc1000]) from [] (__dev_open+0xb8/0x11c)
    [] (__dev_open) from [] (__dev_change_flags+0x94/0x158)
    [] (__dev_change_flags) from [] (dev_change_flags+0x18/0x48)
    [] (dev_change_flags) from [] (devinet_ioctl+0x6b4/0x788)
    [] (devinet_ioctl) from [] (sock_ioctl+0x154/0x2cc)
    [] (sock_ioctl) from [] (do_vfs_ioctl+0x9c/0x878)
    [] (do_vfs_ioctl) from [] (SyS_ioctl+0x34/0x5c)
    [] (SyS_ioctl) from [] (ret_fast_syscall+0x0/0x3c)
    Code: e5932004 e1520006 01a04003 0affffff (e5943010)
    ---[ end trace b612328adaa6bf20 ]---

    This fix removes the unnecessary call to destroy_workqueue() while opening
    the device to avoid the above kernel panic. The deinit routine already
    does a good job of terminating the workqueue when no longer needed.

    Reported-by: Nicolas Ferre
    Fixes: 2518ac59eb27 ("staging: wilc1000: Replace kthread with workqueue for host interface")
    Cc: stable@vger.kernel.org # 4.8+
    Signed-off-by: Aditya Shankar
    Signed-off-by: Greg Kroah-Hartman

    Aditya Shankar
     
  • We're testing "pdev" but we intended to test "heap_pdev". This is a
    static checker fix and it's unlikely that anyone is affected by this
    bug.

    Fixes: 13439479c7de ('staging: ion: Add files for parsing the devicetree')
    Signed-off-by: Dan Carpenter
    Acked-by: Laura Abbott
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Some of the print messages are using the incorrect device pointer, fix
    them.

    Signed-off-by: Viresh Kumar
    Acked-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Viresh Kumar
     
  • Some of the print messages are using the incorrect device pointer, fix
    them.

    Signed-off-by: Viresh Kumar
    Acked-by: Johan Hovold
    Reviewed-by: Rui Miguel Silva
    Signed-off-by: Greg Kroah-Hartman

    Viresh Kumar
     

12 Oct, 2016

3 commits

  • Merge more updates from Andrew Morton:

    - a few block updates that fell in my lap

    - lib/ updates

    - checkpatch

    - autofs

    - ipc

    - a ton of misc other things

    * emailed patches from Andrew Morton : (100 commits)
    mm: split gfp_mask and mapping flags into separate fields
    fs: use mapping_set_error instead of opencoded set_bit
    treewide: remove redundant #include
    hung_task: allow hung_task_panic when hung_task_warnings is 0
    kthread: add kerneldoc for kthread_create()
    kthread: better support freezable kthread workers
    kthread: allow to modify delayed kthread work
    kthread: allow to cancel kthread work
    kthread: initial support for delayed kthread work
    kthread: detect when a kthread work is used by more workers
    kthread: add kthread_destroy_worker()
    kthread: add kthread_create_worker*()
    kthread: allow to call __kthread_create_on_node() with va_list args
    kthread/smpboot: do not park in kthread_create_on_cpu()
    kthread: kthread worker API cleanup
    kthread: rename probe_kthread_data() to kthread_probe_data()
    scripts/tags.sh: enable code completion in VIM
    mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
    kdump, vmcoreinfo: report memory sections virtual addresses
    ipc/sem.c: add cond_resched in exit_sme
    ...

    Linus Torvalds
     
  • The mapping_set_error() helper sets the correct AS_ flag for the mapping
    so there is no reason to open code it. Use the helper directly.

    [akpm@linux-foundation.org: be honest about conversion from -ENXIO to -EIO]
    Link: http://lkml.kernel.org/r/20160912111608.2588-2-mhocko@kernel.org
    Signed-off-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Pull media updates from Mauro Carvalho Chehab:

    - Documentation improvements: conversion of all non-DocBook documents
    to Sphinx and lots of fixes to the uAPI media book

    - New PCI driver for Techwell TW5864 media grabber boards

    - New SoC driver for ATMEL Image Sensor Controller

    - Removal of some obsolete SoC drivers (s5p-tv driver and soc_camera
    drivers)

    - Addition of ST CEC driver

    - Lots of drivers fixes, improvements and additions

    * tag 'media/v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (464 commits)
    [media] ttusb_dec: avoid the risk of go past buffer
    [media] cx23885: Fix some smatch warnings
    [media] si2165: switch to regmap
    [media] si2165: use i2c_client->dev instead of i2c_adapter->dev for logging
    [media] si2165: Remove legacy attach
    [media] cx231xx: attach si2165 driver via i2c_client
    [media] cx231xx: Prepare for attaching new style i2c_client DVB demod drivers
    [media] cx23885: attach si2165 driver via i2c_client
    [media] si2165: support i2c_client attach
    [media] si2165: avoid division by zero
    [media] rcar-vin: add R-Car gen2 fallback compatibility string
    [media] lgdt3306a: remove 20*50 msec unnecessary timeout
    [media] cx25821: Remove deprecated create_singlethread_workqueue
    [media] cx25821: Drop Freeing of Workqueue
    [media] cxd2841er: force 8MHz bandwidth for DVB-C if specified bw not supported
    [media] redrat3: hardware-specific parameters
    [media] redrat3: remove hw_timeout member
    [media] cxd2841er: BER and SNR reading for ISDB-T
    [media] dvb-usb: avoid link error with dib3000m{b,c|
    [media] dvb-usb: split out common parts of dibusb
    ...

    Linus Torvalds
     

11 Oct, 2016

3 commits

  • Pull more vfs updates from Al Viro:
    ">rename2() work from Miklos + current_time() from Deepa"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: Replace current_fs_time() with current_time()
    fs: Replace CURRENT_TIME_SEC with current_time() for inode timestamps
    fs: Replace CURRENT_TIME with current_time() for inode timestamps
    fs: proc: Delete inode time initializations in proc_alloc_inode()
    vfs: Add current_time() api
    vfs: add note about i_op->rename changes to porting
    fs: rename "rename2" i_op to "rename"
    vfs: remove unused i_op->rename
    fs: make remaining filesystems use .rename2
    libfs: support RENAME_NOREPLACE in simple_rename()
    fs: support RENAME_NOREPLACE for local filesystems
    ncpfs: fix unused variable warning

    Linus Torvalds
     
  • Pull vfs xattr updates from Al Viro:
    "xattr stuff from Andreas

    This completes the switch to xattr_handler ->get()/->set() from
    ->getxattr/->setxattr/->removexattr"

    * 'work.xattr' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    vfs: Remove {get,set,remove}xattr inode operations
    xattr: Stop calling {get,set,remove}xattr inode operations
    vfs: Check for the IOP_XATTR flag in listxattr
    xattr: Add __vfs_{get,set,remove}xattr helpers
    libfs: Use IOP_XATTR flag for empty directory handling
    vfs: Use IOP_XATTR flag for bad-inode handling
    vfs: Add IOP_XATTR inode operations flag
    vfs: Move xattr_resolve_name to the front of fs/xattr.c
    ecryptfs: Switch to generic xattr handlers
    sockfs: Get rid of getxattr iop
    sockfs: getxattr: Fail with -EOPNOTSUPP for invalid attribute names
    kernfs: Switch to generic xattr handlers
    hfs: Switch to generic xattr handlers
    jffs2: Remove jffs2_{get,set,remove}xattr macros
    xattr: Remove unnecessary NULL attribute name check

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "Assorted misc bits and pieces.

    There are several single-topic branches left after this (rename2
    series from Miklos, current_time series from Deepa Dinamani, xattr
    series from Andreas, uaccess stuff from from me) and I'd prefer to
    send those separately"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (39 commits)
    proc: switch auxv to use of __mem_open()
    hpfs: support FIEMAP
    cifs: get rid of unused arguments of CIFSSMBWrite()
    posix_acl: uapi header split
    posix_acl: xattr representation cleanups
    fs/aio.c: eliminate redundant loads in put_aio_ring_file
    fs/internal.h: add const to ns_dentry_operations declaration
    compat: remove compat_printk()
    fs/buffer.c: make __getblk_slow() static
    proc: unsigned file descriptors
    fs/file: more unsigned file descriptors
    fs: compat: remove redundant check of nr_segs
    cachefiles: Fix attempt to read i_blocks after deleting file [ver #2]
    cifs: don't use memcpy() to copy struct iov_iter
    get rid of separate multipage fault-in primitives
    fs: Avoid premature clearing of capabilities
    fs: Give dentry to inode_change_ok() instead of inode
    fuse: Propagate dentry down to inode_change_ok()
    ceph: Propagate dentry down to inode_change_ok()
    xfs: Propagate dentry down to inode_change_ok()
    ...

    Linus Torvalds